Object-role modeling (ORM) is used to model the
semantics
Semantics (from grc, σημαντικός ''sēmantikós'', "significant") is the study of reference, meaning, or truth. The term can be used to refer to subfields of several distinct disciplines, including philosophy
Philosophy (f ...
of a
universe of discourse
In the formal sciences, the domain of discourse, also called the universe of discourse, universal set, or simply universe, is the set of entities over which certain variables of interest in some formal treatment may range.
Overview
The doma ...
. ORM is often used for
data modeling
Data modeling in software engineering is the process of creating a data model for an information system by applying certain formal techniques.
Overview
Data modeling is a process used to define and analyze data requirements needed to suppo ...
and
software engineering
Software engineering is a systematic engineering approach to software development.
A software engineer is a person who applies the principles of software engineering to design, develop, maintain, test, and evaluate computer software. The term '' ...
.
An object-role model uses graphical symbols that are based on
first order predicate logic
First-order logic—also known as predicate logic, quantificational logic, and first-order predicate calculus—is a collection of formal systems used in mathematics, philosophy, linguistics, and computer science. First-order logic uses quantif ...
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
A graph database (GDB) is a database that uses graph structures for semantic queries with nodes, edges, and properties to represent and store data. A key concept of the system is the ''graph'' (or ''edge'' or ''relationship''). The graph relat ...
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
Data modeling in software engineering is the process of creating a data model for an information system by applying certain formal techniques.
Overview
Data modeling is a process used to define and analyze data requirements needed to suppo ...
. More recently ORM has been used to model
business rules A business rule defines or constrains some aspect of business. It may be expressed to specify an action to be taken when certain conditions are true or may be phrased so it can only resolve to either true or false. Business rules are intended to as ...
, XML-Schemas,
data warehouse
In computing, a data warehouse (DW or DWH), also known as an enterprise data warehouse (EDW), is a system used for Business reporting, reporting and data analysis and is considered a core component of business intelligence. DWs are central Repos ...
s, 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
Eckhard D. Falkenberg (born 1942) is a German scientist and Professor Emeritus of Information Systems at the Radboud University Nijmegen. He is known for his contributions in the fields of information modelling, especially object-role modeling,Ter ...
's doctoral thesis was published and in 1976 one of Falkenberg's papers mentions the term "object-role model".
G.M. Nijssen
Gerardus Maria "Sjir" Nijssen (born 18 October 1938, Schinnen) is a Dutch computer scientist, former professor of computer science at the University of Queensland,''Australian Computer Journal,'' Vol. 19-20, 1987, p. 75. consultant, and author. ...
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
Gerardus Maria "Sjir" Nijssen (born 18 October 1938, Schinnen) is a Dutch computer scientist, former professor of computer science at the University of Queensland,''Australian Computer Journal,'' Vol. 19-20, 1987, p. 75. consultant, and author. ...
in the Netherlands (
Europe
Europe is a large peninsula conventionally considered a continent in its own right because of its great physical size and the weight of its history and traditions. Europe is also considered a Continent#Subcontinents, subcontinent of Eurasia ...
) 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
Terry is a unisex given name, derived from French Thierry and Theodoric. It can also be used as a diminutive nickname for the names Teresa or Theresa (feminine) or Terence or Terrier (masculine).
People
Male
* Terry Albritton (1955–2005), A ...
completed his PhD thesis on ORM, providing the first full formalization of the approach and incorporating several extensions.
Also in 1989,
Terry Halpin
Terry is a unisex given name, derived from French Thierry and Theodoric. It can also be used as a diminutive nickname for the names Teresa or Theresa (feminine) or Terence or Terrier (masculine).
People
Male
* Terry Albritton (1955–2005), A ...
and
G.M. Nijssen
Gerardus Maria "Sjir" Nijssen (born 18 October 1938, Schinnen) is a Dutch computer scientist, former professor of computer science at the University of Queensland,''Australian Computer Journal,'' Vol. 19-20, 1987, p. 75. consultant, and author. ...
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
Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washing ...
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
Fully Communication Oriented Information Modeling (FCO-IM) is a method for building conceptual information models. Such models can then be automatically transformed into entity-relationship models (ERM), Unified Modeling Language (UML), relation ...
(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
Machine-readable dictionary (''MRD'') is a dictionary stored as machine (computer) data instead of being printed on paper. It is an electronic dictionary and lexical database.
A machine-readable dictionary is a dictionary in an electronic form th ...
and
taxonomy
Taxonomy is the practice and science of categorization or classification.
A taxonomy (or taxonomical classification) is a scheme of classification, especially a hierarchical classification, in which things are organized into groups or types. ...
of concepts as are provided in the
Gellish English
Gellish is an ontology language for data storage and communication, designed and developed by Andries van Renssen since mid-1990s. It started out as an engineering modeling language ("Generic Engineering Language", giving it the name, "Gellish") bu ...
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
diagram
A diagram is a symbolic representation of information using visualization techniques. Diagrams have been used since prehistoric times on walls of caves, but became more prevalent during the Enlightenment. Sometimes, the technique uses a three- ...
s that can be verbalised into natural language. A fact is a
proposition
In logic and linguistics, a proposition is the meaning of a declarative sentence. In philosophy, " meaning" is understood to be a non-linguistic entity which is shared by all sentences with the same meaning. Equivalently, a proposition is the no ...
such as "John Smith was hired on 5 January 1995" or "Mary Jones was hired on 3 March 2010".
With ORM,
proposition
In logic and linguistics, a proposition is the meaning of a declarative sentence. In philosophy, " meaning" is understood to be a non-linguistic entity which is shared by all sentences with the same meaning. Equivalently, a proposition is the no ...
s 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.
[http://www.orm.net/pdf/ORM2_TechReport1.pdf ]
Attribute-free
ORM is attribute-free: unlike models in the
entity–relationship (ER) and
Unified Modeling Language
The Unified Modeling Language (UML) is a general-purpose, developmental modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system.
The creation of UML was originally m ...
(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 modelling 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
The Object Constraint Language (OCL) is a declarative language describing rules applying to Unified Modeling Language (UML) models developed at IBM and is now part of the UML standard. Initially, OCL was merely a formal specification language ex ...
(OCL) and other graphical languages such as
UML
The Unified Modeling Language (UML) is a general-purpose, developmental modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system.
The creation of UML was originally m ...
class models.
Fact-based graphical notations are more expressive than those of ER and
UML
The Unified Modeling Language (UML) is a general-purpose, developmental modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system.
The creation of UML was originally m ...
. An object-role model can be automatically mapped to relational and deductive databases (such as
datalog
Datalog is a declarative logic programming language. While it is syntactically a subset of Prolog, Datalog generally uses a bottom-up rather than top-down evaluation model. This difference yields significantly different behavior and properties ...
).
ORM 2 graphical notation
ORM2 is the latest generation of object-role modeling . The main objectives for the ORM 2 graphical notation are:
[ Halpin, T. 2005, 'ORM 2', On the Move to Meaningful Internet Systems 2005: OTM 2005 Workshops, eds R. Meersman, Z. Tari, P. Herrero et al., Cyprus. Springer LNCS 3762, pp 676-87.]
* 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
System development typically involves several stages such as: feasibility study; requirements analysis; conceptual design of data and operations; logical design; external design; prototyping; internal design and implementation; testing and validation; and maintenance. The seven steps of the conceptual schema design procedure are:
[Terry Halpin (2001)]
"Object-Role Modeling: an overview"
/ref>
# Transform familiar information examples into elementary facts, and apply quality checks
# Draw the fact types, and apply a population check
# Check for entity types that should be combined, and note any arithmetic derivations
# Add uniqueness constraints, and check arity of fact types
# Add mandatory role constraints, and check for logical derivations
# Add value, set comparison and subtyping constraints
# Add other constraints and perform final checks
ORM's conceptual schema design procedure (CSDP) focuses on the analysis and design of data.
See also
* Concept map
A concept map or conceptual diagram is a diagram that depicts suggested relationships between concepts. Concept maps may be used by instructional designers, engineers, technical writers, and others to organize and structure knowledge.
A conce ...
* Conceptual schema
A conceptual schema is a high-level description of informational needs underlying the design of a database. It typically includes only the main concepts and the main relationships among them. Typically this is a first-cut model, with insufficient ...
* EER (Enhanced entity–relationship model)
* Information flow diagram
An information flow diagram (IFD) is a diagram that shows how information is communicated (or "flows") from a ''source'' to a ''receiver'' or ''target'' (e.g. A→C), through some medium. The medium acts as a bridge, a means of transmitting the i ...
* Ontology double articulation
* Ontology engineering
In computer science, information science and systems engineering, ontology engineering is a field which studies the methods and methodologies for building ontologies, which encompasses a representation, formal naming and definition of the categori ...
* Relational algebra
In database theory, relational algebra is a theory that uses algebraic structures with a well-founded semantics for modeling data, and defining queries on it. The theory was introduced by Edgar F. Codd.
The main application of relational algebra ...
* Three schema approach
The three-schema approach, or three-schema concept, in software engineering is an approach to building information systems and systems information management that originated in the 1970s. It proposes three different views in systems development, ...
References
Further reading
*
*
*
*
External links
The ORM foundation
Terry Halpin's ORM site
FactModeling.org dedicated to Fact-Based Modeling
{{DEFAULTSORT:Object Role Modeling
Data modeling
Data modeling languages
Modeling languages