ArticleslgStudy

science

Object–role modeling

Object–role modeling is a science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Object–role modeling rather than just read about it. In short: Object–role modeling (ORM) is used to model the semantics of a universe of discourse. ORM is often used for data modeling and software engineering.

Object–role modeling — main illustration
Object–role modeling — illustration

Key takeaways

  • Object–role modeling belongs to science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Object–role modeling to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Object–role modeling from memory before moving on to harder problems.

Reference excerpt

Object–role modeling (ORM) is used to model the semantics of a universe of discourse. ORM is often used for data modeling and software engineering. An object–role model uses graphical symbols that are based on first order predicate logic and set theory to enable the modeler to create an unambiguous definition of an arbitrary universe of discourse. Attribute free, the predicates of an ORM Model lend themselves to the analysis and design of graph database models in as much as ORM was originally conceived to benefit relational database design. The term "object–role model" was coined in the 1970s and ORM based tools have been used for more than 30 years – principally for data modeling. More recently ORM has been used to model business rules, XML-Schemas, data warehouses, requirements engineering and web forms.

History The roots of ORM can be traced to research into semantic modeling for information systems in Europe during the 1970s. There were many pioneers and this short summary does not by any means mention them all. An early contribution came in 1973 when Michael Senko wrote about "data structuring" in the IBM Systems Journal. In 1974 Jean-Raymond Abrial contributed an article about "Data Semantics". In June 1975, Eckhard Falkenberg's doctoral thesis was published and in 1976 one of Falkenberg's papers mentions the term "object–role model". G.M. Nijssen made fundamental contributions by introducing the "circle-box" notation for object types and roles, and by formulating the first version of the conceptual schema design procedure. Robert Meersman extended the approach by adding subtyping, and introducing the first truly conceptual query language. Object role modeling also evolved from the Natural language Information Analysis Method, a methodology that was initially developed by the academic researcher, G.M. Nijssen in the Netherlands (Europe) in the mid-1970s and his research team at the Control Data Corporation Research Laboratory in Belgium, and later at the University of Queensland, Australia in the 1980s. The acronym NIAM originally stood for "Nijssen's Information Analysis Methodology", and later generalised to "Natural language Information Analysis Methodology" and Binary Relationship Modeling since G. M. Nijssen was only one of many people involved in the development of the method. In 1989, Terry Halpin completed his PhD thesis on ORM, providing the first full formalization of the approach and incorporating several extensions. Also in 1989, Terry Halpin and G.M. Nijssen co-authored the book "Conceptual Schema and Relational Database Design" and several joint papers, providing the first formalization of object–role modeling. A graphical NIAM design tool which included the ability to generate database-creation scripts for Oracle, DB2 and DBQ was developed in the early 1990s in Paris. It was originally named Genesys and was marketed successfully in France and later Canada. It could also handle ER diagram design. It was ported to SCO Unix, SunOs, DEC 3151's and Windows 3.0 platforms, and was later migrated to succeeding Microsoft operating systems, utilising XVT for cross operating system graphical portability. The tool was renamed OORIANE and is currently being used for large data warehouse and SOA projects. Also evolving from NIAM is "Fully Communication Oriented Information Modeling" FCO-IM (1992). It distinguishes itself from traditional ORM in that it takes a strict communication-oriented perspective. Rather than attempting to model the domain and its essential concepts, it models the communication in this domain (universe of discourse). Another important difference is that it does this on instance level, deriving type level and object/fact level during analysis. Another recent development is the use of ORM in combination with standardised relation types with associated roles and a standard machine-readable dictionary and taxonomy of concepts as are provided in the Gellish English dictionary. Standardisation of relation types (fact types), roles and concepts enables increased possibilities for model integration and model reuse.

Concepts

Facts Object–role models are based on elementary facts, and expressed in diagrams that can be verbalised into natural language. A fact is a proposition such as "John Smith was hired on 5 January 1995" or "Mary Jones was hired on 3 March 2010". With ORM, propositions such as these, are abstracted into "fact types" for example "Person was hired on Date" and the individual propositions are regarded as sample data. The difference between a "fact" and an "elementary fact" is that an elementary fact cannot be simplified without loss of meaning. This "fact-based" approach facilitates modeling, transforming, and querying information from any domain.

Attribute-free ORM is attribute-free: unlike models in the entity–relationship (ER) and Unified Modeling Language (UML) methods, ORM treats all elementary facts as relationships and so treats decisions for grouping facts into structures (e.g. attribute-based entity types, classes, relation schemes, XML schemas) as implementation concerns irrelevant to semantics. By avoiding attributes, ORM improves semantic stability and enables verbalization into natural language.

Fact-based modeling Fact-based modeling includes procedures for mapping facts to attribute-based structures, such as those of ER or UML. Fact-based textual representations are based on formal subsets of native languages. ORM proponents argue that ORM models are easier to understand by people without a technical education. For example, proponents argue that object–role models are easier to understand than declarative languages such as Object Constraint Language (OCL) and other graphical languages such as UML class models. Fact-based graphical notations are more expressive than those of ER and UML. An object–role model can be automatically mapped to relational and deductive databases (such as datalog).

ORM 2 graphical notation ORM2 is the latest generation of object–role modeling. The main objectives for the ORM 2 graphical notation are:

More compact display of ORM models without compromising clarity Improved internationalization (e.g. avoid English language symbols) Simplified drawing rules to facilitate creation of a graphical editor Extended use of views for selectively displaying/suppressing detail Support for new features (e.g. role path delineation, closure aspects, modalities)

Design procedure

… excerpt ends here. Continue reading the full article.

Illustrations

Object–role modeling: Example of an ORM2 diagram
Example of an ORM2 diagram
Object–role modeling: Overview of object–role model notation, Stephen M. Richard (1999).[3]
Overview of object–role model notation, Stephen M. Richard (1999).[3]
Object–role modeling: Example of the application of Object Role Modeling in a "Schema for Geologic Surface", Stephen M. Richard (1999).[3]
Example of the application of Object Role Modeling in a "Schema for Geologic Surface", Stephen M. Richard (1999).[3]

Worked examples

Example 1 — a first encounter with Object–role modeling

Start with the simplest possible case. Write down what Object–role modeling claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Object–role modeling before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Object–role modeling ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Object–role modeling

In research
Object–role modeling appears in science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Object–role modeling in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Object–role modeling is common in secondary-school and first-year university syllabi. It links to neighbouring topics Data modeling, Data modeling languages, Modeling languages, so understanding it makes those chapters shorter.
In everyday life
Look for Object–role modeling outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Object–role modeling in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Object–role modeling means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Object–role modeling out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Object–role modeling in simple terms?

Object–role modeling (ORM) is used to model the semantics of a universe of discourse. ORM is often used for data modeling and software engineering.

Why does Object–role modeling matter?

Because it connects several science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Object–role modeling?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Object–role modeling.

Tags

  • Data modeling
  • Data modeling languages
  • Modeling languages

Keep exploring