Professional Documents
Culture Documents
Sibley Of the many approaches to relational database design, the Object Modeling
Panel Editor
Technique (OMT) is particularly effective. A comprehensive explanation and
two applications show the semantic improvement of OMT over other
approaches.
Object-oriented concepts provide a useful abstraction 3. understandability: How coherent is the structure of
for relational database design. In this article, we present the database to end users, other database a.rchitects,
a design technique that has been used for several proj- and the original designers after a period of time?;
ects at General Electric. The methodology is intuitive, and
expressive, and extensible. Object modeling promotes 4. extensibility: How easily can the database be ex-
adherence to normal forms and improves integration tended to new applications without disrupting ongo-
between databases and applications. ing work?.
Data’basedesign or data modeling is one aspect of We have developed a new approach to relational da-
software engineering. A data model is the first design tabase design that has been effective in meeting these
step towards using a database in an application. It de- goals. This approach is based on the work of Loomis,
fines the structure of a database. For a relational Data- Shah, and Rumbaugh [5]. We only focus on relational
base Management System (DBMS), this structure in- database design. Relational DBMS have a better theo-
cludes details like defining attributes and tables and retical foundation than network and hierarchical sys-
specifying rules to guarantee the integrity of tables. Ap- tems and are the focus of intense commercial activity.
plicatians populate the database structure and make
the information accessible to the user. RELATED WORK
The goal of database modeling is to design a better There are many approaches to database design.
database. The merit of a database design can be mea- Wiederhold, for instance, lists eleven categories of data-
sured in a variety of ways. Some important criteria are: base models in his study [lo]. Although a thorough
1. performance: Does the structure of the database pro- review of data modeling techniques is beyond the scope
mote the availability of the data?; can users quickly of this article, some of Wiederhold’s comments are apt.
retrieve and update relevant data?; “We believe that having a wide variety of [database]
2. integrity: To what extent does the database guaran- models is valid, since an equally wide variety of objec-
tee that correct data is stored? (the definition of “cor- tives is being served . . . . Choosing a good way to repre-
rect” depends on the application); sent a problem is a major step toward its solution” [lo,
p. 115, 1161. The model presented here is particularly
01988 ACM OOOl-0782/88/0400-0414 $1.50 effective for large, complex database problems: often
found in science and engineering. We will limit our The Object Modeling Technique (OMT)
discussion to the best alternatives to our methodology. The Smalltalk- programming language [3] demon-
strates many object oriented concepts. An object-ori-
Simples Tables (SQL Language) ented program encapsulates data with procedures that
The first question that arises is why should a data mod- act upon the data. Each package of data and operations
eling technique be used in the first place? Why not just is called an object. Objects cleanly separate external
directly express the database structure in a DBMS lan- specification from internal implementation. An object
guage like SQL? Software engineering addresses this affects other objects only through its external protocol.
question. Objects are grouped to facilitate reuse of similar code.
SQL has undergone extensive human factors studies Object technology is most appropriate for complex,
and is one of the better DBMS languages in the com- deeply structured problems.
mercial marketplace, just as LISP, Ada, and C are some Object-oriented data models share many of the char-
of the better programming languages. Just as one would acteristics and benefits of object-oriented programs. A
quickly dismiss the idea of immediately writing ‘C’ database stores the passive component of objects-that
code, however, one must dismiss the temptation to be- is, their private data or internal state. Applications
gin with SQL code. The up-front planning, analysis, and combine this data with an active component-the pro-
design are an integral part of an effective data model. cedures or operations.
The Object Modeling Technique (OMT) improves
upon the ER and LRDM approaches. One advantage of
Chen’s Entity-Relationship Model (ER)
object-oriented data models is the straightforward inte-
The entity-relationship (ER) approach [l] is the most gration with object-oriented programs. In general, it is
widely accepted technique for logical data modeling.
difficult to meld database interaction with procedural
The ER model supports entities and relationships. An
code. The use of a common object metaphor and the
entity is something that exists and is distinguishable. A
same design notation for data models and programs
group of similar entities form an entity set. A relation-
helps this situation.
ship is a logical binding between entities. Entities and
relationships are described by attributes.
APPLICATION OF THE OMT TO RELATIONAL
ER diagrams are more expressive than mere tables.
DATABASE DESIGN
Relational tables are attractive vehicles for implement-
Three Levels of Representation
ing a data model because they are simple, theoretically
Figure 1 summarizes our database design methodology.
sound, understood, and supported by commercial
This methodology uses three levels of representation.
DBMS. Nevertheless, the simplicity of relational tables
We will refer to them as the high, middle, and low lev-
interferes with designing a data model. Higher levels of
els. All three levels describe the same problem at dif-
abstraction, such as ER diagrams, are conducive to cre-
ferent levels of abstraction. The initial, logical data
ative thinking and effective communication.
Despite its usefulness, the ER method fails to fully
capture the data modeler’s intent, especially for large,
High level (abstraction)
complex applications. ER lacks a substructure for enti- Logical data model
+
ties and relationships. An even more powerful model-
ing tool is necessary. This claim is evident from re-
search that supports extension or replacement of the Mapping of object structures to tables
I
ER method [lo]. So far, however, none of these tech- Candidate keys
No-null attributes
niques has matched the popularity of the ER method.
Domains
Apparently, the other techniques do not satisfy the Frequently accessed attributes
need for power beyond ER.
+
(LRDM)
Scores of papers have been written on variations of the
ER method. We have selected Teorey’s approach as rep- Placement of tables within files
I
resentative of state-of-the-art. Teorey and coworkers Length of names
extend the ER approach with their Logical Relational Domain definitions
Primary keys
Design Methodology (LRDM) [9]. LRDM, similar to ER,
Secondary indexes
is a graphical data modeling technique that supports
four basic concepts: entities, generalization, aggrega-
tion, and association. These terms will be defined later. Low level (reality)
For now, it suffices to say that the additional concepts Actual DBMS data definition commands
improve the expressive power of LRDM. ER is a vast
improvement over simple tables. Similarly, LRDM is
more powerful than ER. FIGURE 1. Three levels of Representation
model is successively converted into ideal relational of data types, and choice of performance tuning mecha-
tables and then into DBMS data definition commands. nisms. It also deals with the arbitrary restrictions such
Multiple levels are a useful construct for encouraging as size limitations.
logical database design while still addressing imple- The mapping between levels is mechanical except for
mentation realities. that presented in the two boxes in Figure 1. These
The high level focuses on the fundamental data struc- boxes contain decisions that the data modeler must
ture. The high level is a subset of a graphical notation make during the mapping process. We perfor:med most
th.at was developed by Loomis, Shah, and Rumbaugh of the conversion manually, but an automatic conver-
[5] for object-oriented programming. They call their no- sion is possible.
tation the Object Modeling Technique (OMT). The au-
thors of this paper do not take credit for developing the High-Level Representation
OMT. We have taken the OMT and extended it into the Objects
realm of databases. An object-oriented database design An object is a thing that exists and has identity. Exam-
presents a simple and concise logical abstraction of data ples of objects are items such as the chair in the corner,
that is straightforward to implement with a commercial room 101, and George Washington. A group of similar
DBMS. We found that non-DBMS application experts objects form an object class. Chair, room, and people are
were able to read OMT diagrams after a few hours of examples of object classes. An object is an instance of an
explanation. object class described by attributes or fields. The notion
The middle level contains generic, DBMS-independent of an object is synonymous with entity in the ER and
tables. The motivation for the middle level is to decou- LRDM methods.
ple the general problem of mapping objects to tables The boxes in Figure 2 denote object classes. The
from the idiosyncrasies of each DBMS. The middle equipment class has equipment name, cost, and weight
level is wordier and less effective at conveying the fields. Pump has suction pressure, discharge pressure,
overall structure of the model than the high level but and flow rate fields.
documents more details. The middle level addresses
issues such as the mapping of object structures to ta- Relationships
bles, domains, and keys. A relationship is a logical binding between objects.
The low-level is the data definition language of the There are three types of relationships: generalization,
target DBMS. This level contains the actual DBMS com- aggregation, and association. We indicate a relationship
mands that create tables, attributes, and indexes. The with a line or lines between objects.
low-level considers DBMS-specific details such as Special symbols at the ends of a relationship line
placement of tables within database files, a limited set indicate how many objects of one class relate to each
A Pump type
Plunger . . .
Diaphragm
pump pump
Car
Name
Year
Color
CAR-DOOR CAR-ROOF
Number of
windows
WORKS-FOR
Company 3
object of another class. We call this the multiplicity of butes are inherited from the top level down. Each cen-
the relationship. For instance, a small solid circle trifugal pump has an equipment name, cost, weight,
means many. Many, in this context, is zero or more. A suction pressure, discharge pressure, flow rate, impeller
small hollow circle means zero or one. A straight line diameter, number of blades, and axis of rotation.
ending without a symbol denotes exactly one. Note that the OMT supports multiple inheritance.
The ER method uses the term relationship in a differ- Each object may participate in more than one generali-
ent and much narrower sense than LRDM and OMT. zation hierarchy.
The ER relationship is equivalent to the association re-
Aggregation Relationship
lationship of the LRDM and OMT. The ER method has
no construct that corresponds to generalization and Aggregation is an assembly-component or a-part-of rela-
aggregation. tionship. One well known example of this relationship
is the “bill-of-materials” or “parts explosion” problem.
Aggregation combines low level objects into composite
Generalization Relationship
objects. Aggregation may be multilevel and recursive.
A generalization or is-a relationship partitions a class For example, a data structure may recursively refer to
into mutually exclusive subclasses. Generalization may itself.
have an arbitrary number of levels. The heavy triangles As shown in Figure 3, a roof is a part of a car; many
in Figure 2 symbolize generalization. A piece of equip- doors are part of a car. The same type of door and roof
ment can be a pump, heat exchanger, tank, or some- can be used for a variety of cars. In this case, car is an
thing else. Pumps subdivide into centrifugal, dia- assembly and door and roof are components. Note that
phragm, plunger, and other. For the top generalization, the arrows point towards the composite object. Aggre-
equipment is the superclass; pump, heat exchanger, gations often exhibit existence dependency.
and tank are subclasses. The superclass stores general
data like name, cost, and weight. The subclasses store Association Relationship
data particular to each type of equipment. Similarly, for An association relates two or more independent objects.
the lower generalization, pump is the superclass while Associations do not exhibit existence dependency. Fig-
centrifugal pump, diaphragm pump, and plunger pump ure 4 shows that many employees work for a company
are subclasses. and an employee manages other employees. We arbi-
Each box in Figure 2 corresponds to an object class. trarily restricted an employee to working for one com-
Each box does not correspond to an object. The same pany. In some contexts, multiple companies may be
object is being represented at each level of the generali- more appropriate. The precise choice of objects, rela-
zation. Existence dependency holds; a pump cannot be tionships, and multiplicity of relationships depends on
entered into the centrifugal pump table unless entries the problem domain. Associations may have one or
are also made in the pump and equipment tables. Attri- more properties. These are circled in the diagram.
I Plant I Plant
Not qualified
q Plant name
Supervised by
Equipment name
Qualified
Middle level
High level
I Attribute name 1 Nulls? 1 Domain
I
High level
! Attribute name Nulls? Domain
I
Equipmeni Equipment ID N ID
Equipment i Equipment name N Long name
Equipment type N Equip type
Equipment name cost Y Dollars
cost I Weight Y Weight
Weight
I
I
Candidate keys: (Equipment
Frequently accessed:
ID)
(Equipment ID)
I
Plant
I Plant I
I Plant name
Supervised by
1 Equipment na&T
1 !
/
Candidatekeys: (Plant
Frequently accessed:
ID)
(Plant
(Plant name)
ID) (Plant name)
Equipment Equipment ID N ID
Equipment Plant ID N ID
Equipment name N Long name
cost cost Y Dollars
Weight Weight Y Weight
I
Car
i
High level I
CAR-ROOF
~1
Car-Roof
plex and difficult for the unassisted user to navigate. indexes cannot enforce the uniqueness of multiattri-
Furthermore, commercial DBMS lack proper support bute candidate keys. Only primary keys may be mul-
for integrity (specifically referential integrity [2]). Thus, tiattribute. To compensate for this anomaly, we were
complex applications must mediate user access with forced to compromise some choices of primary key.
custom programs. If we are going to restrict database An example may clarify this point. In Figure 8 for the
access through a program, we might as well do our equipment table, we wanted to make “Equipment ID”
access through IDS. IDS never change and they have a the primary key. “Plant ID” + “Equipment name” be-
small fixed size (that can be implemented as an integer) comes a unique secondary index. This satisfies our de-
that speeds selects and joins. sire for object identity and meets candidate key and
performance specifications. Since MIMER does not sup-
Secondary Indexes port a unique secondary index, we were forced to com-
MIMER is deficient in its support for secondary in- promise. Our ultimate decision was to make “Plant ID”
dexes. Secondary indexes in most relational DBMS + “Equipment name” the primary key and “Equipment
serve a dual role. They improve the performance of ID” a unique secondary index.
some queries by quickly finding the rows with a certain This example illustrates some of the value of our
attribute value. Secondary indexes can also enforce the multilevel modeling approach. The middle level en-
uniqueness of candidate keys. ables us to clearly indicate our intent. The low-level
The problem is that MIMER restricts secondary in- generates executable code. A future software port to
dexes to a single attribute. This provides adequate per- another DBMS with different features and problems
formance but it damages integrity. MIMER secondary will be more likely to honor our original intent.
Site
Location name
Plant name
a Plant version
Creation time
Last update time
Comment
Section name
I
I
I
Heat exchanger
Equipment type
I
. . .
Generalization reduces the semantic gap between sign programs, simulation programs, and cost programs.
the data modeler and the database design language. Most of these programs already exist. Current practice
Similarly, it reduces the semantic gap between the data at best relies on converting and passing files. This is
model and applications. The addition of generalization awkward, since n x n interfaces are required for n
to ER is a substantial step forward, in the same way programs. Current practice often degenerates into man-
that ER was from database languages. ER also lacks a ual data reentry.
substructure for relationships. Whereas ER only offers The solution is to exchange data with a database
association, newer approaches support aggregation and rather than more data between each pair of programs.
association. Then for n programs, one requires 2n interfaces. Most of
For many database problems, the ER approach is suf- these programs are mature, carefully debugged code
ficient. For many database problems, it would be the and to tamper with them is undesirable. Thus, these
method of choice. Many design productivity products programs must use database services in batch mode.
are available in the commercial marketplace to assist A preprocessor extracts information from the database
the ER data modeler. The ER approach has had the and generates an input file. The application program
benefit of close scrutiny and much research. For large, runs. Then a postprocessor digests the output file(s)
complex problems, however, ER lacks power. Scientific and updates the database. The application remains un-
applications are pushing the frontier of database re- changed and runs as before, unaware that it is receiv-
search, and this requires all the help that is available. ing database services.
The two applications in the next section required The first application is dominated by four aggregation
about 20 dense pages of OMT diagrams and six months hierarchies: equipment, piping, graphics, and mathe-
of database design work. It is not difficult to envision matical simulation. The bulk of the data model refines
several hundred pages of OMT diagrams taking several these hierarchies and forms associations between the
years for more complex projects. A more effective tool levels of the hierarchies.
directly affects the quality of the resulting design and Figure 10 shows the equipment aggregation hier-
the effort expended. archy. A site name uniquely identifies a site. For that
site, a plant name identifies a plant. The plant has mul-
Comparison of OMT with Teorey’s LRDM tiple versions. Selecting a plant version and a section
In their article, Teorey [9] and coworkers claim that name locates a particular section. A section combined
their LRDM approach improves upon the ER method. with an equipment name finds a piece of equipment.
We agree. LRDM has generalization and it has aggrega- A piece of equipment may be a pump, heat exchanger,
tion. Our OMT-based approach builds upon LRDM as tank, or some other object.
follows:
1. Qualification further refines the structure of rela- Description of the Second Application
tionships; The second application focuses on electrical engineer-
2. the OMT directly extends into the realm of program- ing. The goal was to develop an interactive graphical
ming. (The OMT supports methods.) The OMT pro- editor for electric power diagrams. Typical operations
vides a consistent notation for database models and include creating, deleting, moving, copying, cutting,
application programs; and pasting of buses, circuits, and devices. This pro-
3. the OMT graphical syntax appears to be cleaner gram must run fast despite frequent interaction with a
than that of LRDM; and database during its course of execution. The database
4. an intermediate level between high level database provides a neutral format for interfacing to other appli-
design and a DBMS language is provided. This is cations, crash recovery, and multiuser concurrency. As
more flexible than Teorey’s direct mapping between of this writing, we have designed the database. We are
graphical diagrams and a DBMS language. preparing to implement the procedural code. We will
Our work emanates from an industrial environment be using an in-house object-oriented language called
and has been refined by use on real problems. Our DSM [?‘I that is built on top of C.
experience with database design cannot match that of This application decomposes a diagram into a series
the ER approach, but it is still significant. About 12 of sheets. Each sheet corresponds to one piece of paper
people have influenced the evolution of the OMT. More upon output. Nearly all information can be assigned to
than one hundred have been trained in its use. a single sheet.
This application runs in real time. It cannot pause for
APPLICATION OF THE METHODOLOGY a database operation. We plan to boost performance by
These OMT applications were performed by two differ- shadowing the database in memory. The user selects
ent people. The intent is to convey some measure of the some sheets for study and the system reads them into
size and complexity of these applications. memory. All read requests are satisfied through RAM
data structures-a quick response. Update operations
Description of the First Application are accumulated in memory and posted to the database
The first application is a chemical engineering problem. upon an explicit save request. This save request spawns
The objective was to integrate the data from many free- an asynchronous process with a series of database
standing programs that include drawing programs, de- commands.
There are three major components of the second ap- on. So instead of storing material name, we store an ID
plication data model: a geometry aggregation hierarchy, or pointer into a table of material names. For 100 types
a simulation model, and user interface. The bulk of the of equipment there would be approximately 100 differ-
data model fleshes out the geometry and simulation ent references into a material list. This would skew the
subsections and relates the two. statistics. We felt that these references into a~material
Figure 11 is a fragment of the geometry aggregation list were not of the same stature as associations be-
model. Buses and circuits have two ends. A device has tween independent and freestanding objects.
an arbitrary number of pins. These possible points of We should also comment on the multiplicity num-
contact generalize into a pin. We improve integrity and bers. This issue arises for qualified aggregations and
performance by associating pin with a connection qualified associations. We counted the qualified aggre-
rather than with other pins. This model can quickly gation between site and plant as one-to-many rather
answer the following types of questions: than the one-to-one shown in Figure 10. The ER ap-
I.. What connects to the following electrical object?; proach, the traditional way of viewing data :models,
2. What connects to a particular pin on an electrical does not qualify relationships. We felt that multiplicity
object?; and statistics would have the most meaning if placed within
3. What electrical objects connect at a screen location?. the ER context. So, to summarize, we counted the mul-
Connection Pin
-7
tiplicity for qualified relationships as if the qualification 4. expert knowledge. How do we merge implicit
was not there. A site has many plants. knowledge with an explicit database? Knowledge
Note the usefulness of qualified aggregation. The low based system are one answer, but they only handle
count for generalization may be misleading. The large small amounts of data.
maximum fan-out is a better indicator of the impor-
tance of generalization.
CONCLUSION
FUTURE DIRECTIONS Our OMT-based approach to database design has many
Automate OMT-Based Database Design advantages. It is:
Currently, the transformation between levels is a com- 1. intuitive, easy to use, and easy to understand. Non-
bination of ad hoc tools and much manual effort. In the DBMS application experts were able to read OMT
future we envision a fully automatic process. The data diagrams after a few hours of explanation;
modeler draws OMT diagrams on the screen. The 2. expressive. It provides a richer set of constructs for
drawing software captures objects and relationships modeling data than alternative approaches.
while actively supporting the semantics. Data flows for- 3. extensible. It accommodates changes in the scope of
ward to the middle and low-levels. the data model and ports to other DBMS.
In this scenario, the data modeler has an efficient, 4. a useful level of abstraction. It matches real world
integrated data modeling tool. Tight control of redun- problems well and maps naturally to a relational
dant data enhances model integrity. A meta-data model DBMS.
and a DBMS lie at the core of such a system. 5. good performance. It is easy to visualize patterns of
access to the data when using the OMT.
Further Enrich the Semantic Support 6. promotes database integrity. Object-derived tables
The OMT improves upon the ER and LRDM methods tend to be in third normal form.
and provides richer semantic support. We see many 7. improves integration. The object paradigm helps
opportunities for further improvements beyond that of bridge the semantic gap between databases and ap-
the OMT: plications.
1. versioning. Current databases are a snapshot of time. 8. has been tested. The OMT has been applied to real
We also need the history of the data. We have made problems. It has suffered critical review and several
some crude attempts at capturing versions in our iterations of refinement.
applications, but an elegant solution has been The OMT is evolving and maturing. This methodol-
elusive; ogy is an improved version of that used for our past
2. accountability. Who provided the data? Who ap- applications. Object modeling has improved the clarity
proved the data?; of our thought and ability to communicate during the
3. data quality. How much confidence do we have in design process. At the same time, our application work
the data? This area becomes particularly murky as has generated feedback to fine tune the methodology.
we combine data; and This cycle continues.
Appendix A. Textural format for object models class objecf, the ultimate ancestor of all classes since no
A graphical model permits the designer to see the over- superclass has been specified. Each field has a name
all structure of an application at a glance and to easily and a data type. The name must be unique within the
trace out the relationships among various objects. class. The type declarations establish the domain of a
Nevertheless, there are times when a linear textual for- data field. It is possible to declare a type as being objecf,
mat is useful, particularly when object classes have in which case it can hold any kind of object. A type can
many fields or methods. It is also necessary to have a specify a particular object class, in which case the
textual format if the object model is to be compiled for object must be an instance of the class pr one of its
use with an object-oriented language or automatically descendent classes. A type need not be an object; for
converted into a database schema. The following exam- example, integer, boolean,or text are pure values, not
ples are taken from the object-oriented language DSM objects. In this case, money and weight are user defined
(Appendix B). The authors and colleagues have imple- value types.
mented a graphical editor for the OMT which generates Generalization relationships specify a superclass as
DSM declaration text as an output. part of a class declaration:
A typical object class is declared with the format: define task subclass of equipment
define equipment class fields
fields diameter:length
equipment-name:text height:length
cost:money Class tank inherits all the fields of class equipmenf plus
weight:weight two new ones of its own.
A one-to-many aggregation is declared with the
This class is implicitly a subclass of the predefined format:
fields
Acknowledgments. We would like to thank Esin Oriented Programming Systems, Languages, and Applications. (Orlando,
Fla., Oct.). SIGPLAN Not. 22, 12 (1987).
Ulug, Ashwin Shah, Mary Loomis, and the referees for 9. Teorey, T.J., Yang, D.. and Fry. J.P. A logical design methodology for
their careful and constructive review of this document. relational databases using the extended entity-relationship model.
ACM Comput. Sure. IS,2 (June 1966).
10. Wiederhold. G. Modeling databases. Inform. Sci. 29, 2 (1983).
REFERENCES
1. Chen, P.P. The entity-relationship model: Toward a unified view of
CR Categories and Subject Descriptors: D.2.2 [Software Engineer-
data. ACM TODS I, 1 (Mar. 1976).
ing]: Tools and Techniques; D.2.10 [Sonware Engineering]: Design-
2. Date, CJ. Relational Database: Selected Writings. Addison-Wesley,
methodologies; H.2.1 [Database Management]: Logical Design: H.2.6 [Da-
Reading, Mass., 1966.
tabase Management]: Database Applications; J.2 [Physical Sciences and
3. Goldberg, A., and Robson. D. Smalltalk-80: The Language and Its Im-
Engineering]: J.6 [Computer-Aided Engineering]:-computer-aided design
plementation. Addison-Wesley, Reading, Mass., 1964.
General Terms: Design, Documentation
4. Khoshafian, S.N., and Copeland. G.P. Object identity. In Proceedings
Additional Key Words and Phrases: Entity-relationship method. nor-
of the ACM Conference on Object-Oriented Programming Systems, Lan-
mal forms. object, object-oriented, relational database
guages, and Applications. (Portland, Oregon). SIGPLAN Not. 21,ll
(1966).
5. Loomis, M.E.S.. Shah, A.V.S., and Rumbaugh, J.E. An object model- Authors’ present Address: Michael R. Blaha, William J. Premerlani,
ing technique for conceptual design. In Proceedings of the European and James E. Rumba@, GE, Corporate Research and Development,
Conference on Object-Oriented Programming. (Paris, France, June 15- Schenectady, NY.
17). Lecture Notes in Computer Science, 276. Springer-Verlag, New
York, 1967. Permission to copy without fee all or part of this material is granted
6. MIMER Information Systems AB. Uppsala, Sweden. provided that the copies are not made or distributed for direct commer-
7. Rumbaugh, J.E. Data Structure Manager Reference Manual. GE in- cial advantage, the ACM copyright notice and the title of the publication
ternal document. Schenectady, New York, 1967. and its date appear, and notice is given that copying is by permission of
8. Rumbaugh, J.E. Relations as semantic constructs in an object- the Association for Computing Machinery. To copy otherwise, or to
oriented language. In Proceedings of the ACM Conference on Object- republish, requires a fee and/or specific permission.
l Distributed computing
$W.OO/year
Subscriptions l Formal languages
for ACM members; l Computational models
$i%OO/year for nonmembers. l Numerical analysis Catherine Yunqye,
(Members please include 9 Operating systems and research ACM,
member #) l Programming languages & 11 West 42nd Street.
related methodology New York, NY 10036
l Computational theory