Object role modeling
Encyclopedia
Object Role Modeling is a method for conceptual modeling, and can be used as a tool for information and rules analysis, ontological analysis, and data modeling
Data modeling
Data modeling in software engineering is the process of creating a data model for an information system by applying formal data modeling techniques.- Overview :...

 in the field of software engineering
Software engineering
Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software...

.

Overview

Object Role Modeling is a fact-oriented method for performing systems analysis
Systems analysis
Systems analysis is the study of sets of interacting entities, including computer systems analysis. This field is closely related to requirements analysis or operations research...

 at the conceptual level. The quality of a database application depends critically on its design. To help ensure correctness, clarity, adaptability and productivity, information systems are best specified first at the conceptual level, using concepts and language that people can readily understand. The conceptual design may include data, process and behavioral perspectives, and the actual DBMS used to implement the design might be based on one of many logical data models (relational, hierarchic, network, object-oriented etc.).

The designer of a database
Database
A database is an organized collection of data for one or more purposes, usually in digital form. The data are typically organized to model relevant aspects of reality , in a way that supports processes requiring this information...

 builds a formal model of the application area or Universe of Discourse (UoD). The model requires a good understanding of the UoD and a means of specifying this understanding in a clear, unambiguous way. Object-Role Modeling (ORM) simplifies the design process by using natural language, as well as intuitive diagram
Diagram
A diagram is a two-dimensional geometric symbolic representation of information according to some visualization technique. Sometimes, the technique uses a three-dimensional visualization which is then projected onto the two-dimensional surface...

s which can be populated with examples, and by examining the information in terms of simple or elementary facts. By expressing the model in terms of natural concepts, like objects and roles, it provides a conceptual approach to modeling. Its attribute-free approach promotes semantic stability.

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
G.M. Nijssen
Sjir Nijssen is a Dutch computer scientist, who was fulltime professor at the University of Queensland. Nijssen is considered the founder of verbalization in computer science, and one of the founders of business modeling and information analysis based on natural language.- Biography :Sjir 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
G.M. Nijssen
Sjir Nijssen is a Dutch computer scientist, who was fulltime professor at the University of Queensland. Nijssen is considered the founder of verbalization in computer science, and one of the founders of business modeling and information analysis based on natural language.- Biography :Sjir Nijssen...

 in the Netherlands (Europe
Europe
Europe is, by convention, one of the world's seven continents. Comprising the westernmost peninsula of Eurasia, Europe is generally 'divided' from Asia to its east by the watershed divides of the Ural and Caucasus Mountains, the Ural River, the Caspian and Black Seas, and the waterways connecting...

) 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 Halpin
Terence Aidan Halpin is an Australian computer scientist who is known for his formalization of the object role modeling notation.- Biography :...

 completed his PhD thesis on ORM, providing the first full formalization of the approach and incorporating several extensions.

Also in 1989, Terry Halpin
Terry Halpin
Terence Aidan Halpin is an Australian computer scientist who is known for his formalization of the object role modeling notation.- Biography :...

 and G.M. Nijssen
G.M. Nijssen
Sjir Nijssen is a Dutch computer scientist, who was fulltime professor at the University of Queensland. Nijssen is considered the founder of verbalization in computer science, and one of the founders of business modeling and information analysis based on natural language.- Biography :Sjir Nijssen...

 co-authored the book "Conceptual Schema and Relational Database Design" and several joint papers, providing the first formalization of Object-Role Modeling. Since then Dr. Terry Halpin
Terry Halpin
Terence Aidan Halpin is an Australian computer scientist who is known for his formalization of the object role modeling notation.- Biography :...

 has authored six books and over 160 technical papers.

A recent variation of ORM is referred to as FCO-IM
FCO-IM
Fully Communication Oriented Information Modeling is a technique for building conceptual information models. Such models can be automatically transformed into ERM, UML, Relational or Dimensional models with the FCO-IM Bridge toolset, and it is possible to generate complete end-user applications...

. It distinguishes itself from traditional ORM in that it takes a strict communication-oriented perspective. Rather than modeling the domain and its essential concepts, it purely models the grammar used to discourse about the domain. 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
Machine-readable dictionary is a dictionary stored as machine data instead of being printed on paper. It is an electronic dictionary and lexical database....

 and taxonomy
Taxonomy
Taxonomy is the science of identifying and naming species, and arranging them into a classification. The field of taxonomy, sometimes referred to as "biological taxonomy", revolves around the description and use of taxonomic units, known as taxa...

 of concepts as are provided in the Gellish English
Gellish English
Gellish English is a variant of Gellish and is a formal language, which means that it is structured and formalised subset of natural English that is computer interpretable. Its definition includes an English dictionary of concepts that is arranged in a taxonomy and that is extended into an ontology...

 dictionary. Standardisation of relation types (fact types), roles and concepts enables increased possibilities for model integration and model reuse.

ORM2

ORM2 (second-generation ORM) is a new incarnation of Object-Role Modeling, supported by various modeling tools to support the new notation. Dr. Terry Halpin
Terry Halpin
Terence Aidan Halpin is an Australian computer scientist who is known for his formalization of the object role modeling notation.- Biography :...

 lead the effort of the NORMA
NORMA
NORMA is a software based conceptual modeling tool based on Object Role Modeling , and is a free and open source plug-in to Microsoft Visual Studio 2005 and Visual Studio 2008...

 ORM modeling tool spearheaded by Neumont University
Neumont University
Neumont University was founded in 2003 by Graham Doxey, Scott McKinley, and Marlow Einelund. It is headquartered in South Jordan, Utah. Neumont's South Jordan campus is located in what has been labeled Utah's s between other technology-oriented companies like Ibahn, eBay, Oracle, and...

 and currently through The ORM Foundation, a UK-based non-profit organization dedicated to the promotion of the fact-oriented approach to information modeling

ORM2 leverages the work done by the BSBR group.

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)
  • Notation changes acceptable to a short-list of key ORM users
  • Simplified drawing rules to facilitate creation of a graphical editor
  • Full support of textual annotations (e.g. footnoting of textual rules)
  • Extended use of views for selectively displaying/suppressing detail
  • Support for new features (e.g. role path delineation, closure aspects, modalities)


The NORMA (Natural ORM Architect) tool is an open source project incorporating the ORM2 syntax.

Graphic notation

ORM's rich graphic notation is capable of capturing many business rules that are typically unsupported as graphic primitives in other popular data modeling notations.

Various software tools exist to enter ORM schemas, and generate relational database schema
Database schema
A database schema of a database system is its structure described in a formal language supported by the database management system and refers to the organization of data to create a blueprint of how a database will be constructed...

s. These include Microsoft Visio for Enterprise Architects, OORIANE, CaseTalk, Infagon, and NORMA.

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
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...

 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.

The conceptual schema design procedure

The information system's life cycle typically involves several stages: feasibility study; requirements analysis; conceptual design of data and operations; logical design; external design; prototyping; internal design and implementation; testing and validation; and maintenance. ORM's conceptual schema design procedure (CSDP) focuses on the analysis and design of data. The seven steps of the conceptual schema design procedure:
  1. Transform familiar information examples into elementary facts, and apply quality checks
  2. Draw the fact types, and apply a population check
  3. Check for entity types that should be combined, and note any arithmetic derivations
  4. Add uniqueness constraints, and check arity of fact types
  5. Add mandatory role constraints, and check for logical derivations
  6. Add value, set comparison and subtyping constraints
  7. Add other constraints and perform final checks

Tools

The growth of ORM has followed the availability of a series of steadily improving ORM tools.

The early ORM tools such as IAST (Control Data) and RIDL* were followed by InfoDesigner, InfoModeler and VisioModeler.

When Microsoft bought the Visio Corporation, Microsoft extended VisioModeler and made it a component of Microsoft Visual Studio. This was Microsoft's first ORM implementation and it was published in the 2003 Enterprise Architects release of Visual Studio as a component of the tool called "Microsoft Visio for Enterprise Architects (VEA)".

In the same year, a companion "how to" book was published by Morgan Kaufmann entitled "Database Modeling with Microsoft Visio for Enterprise Architects"
. Microsoft has retained the ORM functionality in the high-end version of Visual Studio 2005 and the Morgan Kaufmann book remains a suitable user guide for both versions.

The next "in the works" ORM tool is an open source tool called NORMA (Natural ORM Architect for Visual Studio).

DogmaModeler

DogmaModeler
DogmaModeler
DogmaModeler is a free and open source, ontology modeling tool based on ORM. The philosophy of DogmaModeler is to enable non-IT experts to model ontologies with a little or no involvement of an ontology engineer. This challenge is tackled in DogmaModeler through well-defined methodological...

 is a free ontology
Ontology (computer science)
In computer science and information science, an ontology formally represents knowledge as a set of concepts within a domain, and the relationships between those concepts. It can be used to reason about the entities within that domain and may be used to describe the domain.In theory, an ontology is...

 modeling tool based on Object role modeling. The philosophy of DogmaModeler is to enable non-IT experts to model ontologies with a little or no involvement of an ontology engineer.

This challenge is tackled in DogmaModeler
DogmaModeler
DogmaModeler is a free and open source, ontology modeling tool based on ORM. The philosophy of DogmaModeler is to enable non-IT experts to model ontologies with a little or no involvement of an ontology engineer. This challenge is tackled in DogmaModeler through well-defined methodological...

 through well-defined methodological principles. The first version of DogmaModeler was developed at the Vrije Universiteit Brussel
Vrije Universiteit Brussel
The Vrije Universiteit Brussel is a Flemish university located in Brussels, Belgium. It has two campuses referred to as Etterbeek and Jette.The university's name is sometimes abbreviated by "VUB" or translated to "Free University of Brussels"...

.

DogmaModeler open source status

The DogmaModeler Project shows no activity since its creation in 2006, and the source code for the project is not available through that site. The latest version of the program, available at the http://jarrar.info/Dogmamodeler website is dated on October 27, 2006.

Since then the project seems to have been continued and expanded into several other tools at the Vrije Universiteit Brussel
Vrije Universiteit Brussel
The Vrije Universiteit Brussel is a Flemish university located in Brussels, Belgium. It has two campuses referred to as Etterbeek and Jette.The university's name is sometimes abbreviated by "VUB" or translated to "Free University of Brussels"...

's Semantics Technology and Applications Research Laboratory (VUB STARLab). A note on that site states "Users who only use DOGMAModeler for their own researches can contact (author's email) for the free download."

VisioModeler

The former ORM tool known as VisioModeler is freely available as an unsupported product from Microsoft Corporation (as a 25 MB download). Models developed in VisioModeler may be exported to Microsoft's current and future ORM solutions. To obtain the free VisioModeler download, go to http://download.microsoft.com, search by selecting Keyword Search, enter the keyword "VisioModeler", select your operating system (e.g. Windows XP—Note: VisioModeler does NOT work under Windows Vista), change the setting for "Show Results for" to "All Downloads", and hit the "Find It!" button. This should bring up a download page that includes the title "VisioModeler (Unsupported Product Edition)". Clicking on this will take you to the link for the download file MSVM31.exe. Click on this to do the download.

Visio for Enterprise Architects (VEA)

Microsoft included a powerful ORM and logical database modeling solution within its Visio for Enterprise Architects (VEA) product. The 2005 release of VEA also included some minor upgrades (e.g. a driver for SQL Server 2005 was included).

CaseTalk

A modeling tool called CaseTalk based on the ORM-dialect known as Fully Communication Oriented Information Modeling (FCO-IM
FCO-IM
Fully Communication Oriented Information Modeling is a technique for building conceptual information models. Such models can be automatically transformed into ERM, UML, Relational or Dimensional models with the FCO-IM Bridge toolset, and it is possible to generate complete end-user applications...

) is available from Bommeljé Crompvoets en partners b.v., headquartered in Utrecht, The Netherlands. To find out more about this tool, check the CaseTalk website.

Infagon

A freeware ORM tool known as Infagon is available from Mattic software. Infagon is also based on the FCO-IM
FCO-IM
Fully Communication Oriented Information Modeling is a technique for building conceptual information models. Such models can be automatically transformed into ERM, UML, Relational or Dimensional models with the FCO-IM Bridge toolset, and it is possible to generate complete end-user applications...

 dialect. To download or obtain more details about this tool, click the Infagon home page.

Other tools

  • Doctool and CogNIAM (CogNIAM tools).
  • ActiveFacts (ORM 2 tools),.
  • DogmaStudio (ORM Ontology tool),.
  • Orthogonal Toolbox (free XML add-on to database modeling COM API for Microsoft's ORM solution).

NORMA

NORMA (Natural ORM Architect for Visual Studio)
NORMA
NORMA is a software based conceptual modeling tool based on Object Role Modeling , and is a free and open source plug-in to Microsoft Visual Studio 2005 and Visual Studio 2008...

 is a free and open source plug-in to Microsoft Visual Studio 2005, Visual Studio 2008 and Visual Studio 2010. It supports ORM 2 (second generation ORM), and maps ORM models to a variety of implementation targets, including major database engines, object-oriented code, and XML schema.

Dr. Terry Halpin
Terry Halpin
Terence Aidan Halpin is an Australian computer scientist who is known for his formalization of the object role modeling notation.- Biography :...

's latest book, Information Modeling and Relational Databases, Second Edition
"...uses the notation of ORM 2 (second generation ORM), as supported by the NORMA (Neumont ORM Architect) tool..." (page 10), and "(...)At the time of writing, the Neumont ORM Architect (NORMA) tool provides the most complete support for the ORM 2 notation discussed in this book." (Preface, xxv).

NORMA Project status

, the NORMA project delivers frequent releases and is almost ready to encompass the entire life-cycle of databases.

NORMA supports multiple generation targets including:
Database engines Microsoft Sql Server
Microsoft SQL Server
Microsoft SQL Server is a relational database server, developed by Microsoft: It is a software product whose primary function is to store and retrieve data as requested by other software applications, be it those on the same computer or those running on another computer across a network...

, Oracle
Oracle database
The Oracle Database is an object-relational database management system produced and marketed by Oracle Corporation....

, DB2
IBM DB2
The IBM DB2 Enterprise Server Edition is a relational model database server developed by IBM. It primarily runs on Unix , Linux, IBM i , z/OS and Windows servers. DB2 also powers the different IBM InfoSphere Warehouse editions...

, MySQL
MySQL
MySQL officially, but also commonly "My Sequel") is a relational database management system that runs as a server providing multi-user access to a number of databases. It is named after developer Michael Widenius' daughter, My...

, PostgreSQL
PostgreSQL
PostgreSQL, often simply Postgres, is an object-relational database management system available for many platforms including Linux, FreeBSD, Solaris, MS Windows and Mac OS X. It is released under the PostgreSQL License, which is an MIT-style license, and is thus free and open source software...

, etc.
Programming languages LINQ to SQL
Language Integrated Query
Language Integrated Query is a Microsoft .NET Framework component that adds native data querying capabilities to .NET languages, although ports exist for Java, PHP and JavaScript....

, PLiX (Programming Language in XML) and PHP
PHP
PHP is a general-purpose server-side scripting language originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document...

Other XML schemas (XSD)


Advantages of NORMA are these:
  • Accepts typed input and automatically generates graphics
  • Validates common constraints and completeness as the model is entered
  • Provides simultaneous narrative and graphic versions of all models
  • Can provide E-R as well as ORM views of the model
  • Automatic navigation from error message to graphic view of the error
  • The three views (ORM, E-R, and narrative) provide comfortable access for most viewers. (Not everyone is comfortable with graphics, and the narrative view of the model is more quickly read by those who are comfortable with graphics.)
  • Can reverse-engineer a physical database (up to a point)
  • Narrative view uses hyperlinks for full cross-referencing
  • Graphic model has no fixed bounds
  • Automatic navigation from error message to graphic view of the error

See also

  • Concept map
    Concept map
    For concept maps in generic programming, see Concept .A concept map is a diagram showing the relationships among concepts. It is a graphical tool for organizing and representing knowledge....

  • Conceptual schema
    Conceptual schema
    A conceptual schema or conceptual data model is a map of concepts and their relationships. This describes the semantics of an organization and represents a series of assertions about its nature...

  • Ontology double articulation
    Ontology double articulation
    The notion of Ontology Double Articulation refers to a methodological principle in ontology engineering.The idea is that an ontology should be built as separate domain axiomatizations and application axiomatization. In other words an application axiomatization should be built in terms of a domain...

  • Ontology engineering
    Ontology engineering
    Ontology engineering in computer science and information science is a new field, which studies the methods and methodologies for building ontologies: formal representations of a set of concepts within a domain and the relationships between those concepts....

  • Relational algebra
    Relational algebra
    Relational algebra, an offshoot of first-order logic , deals with a set of finitary relations that is closed under certain operators. These operators operate on one or more relations to yield a relation...

  • Three schema approach
    Three schema approach
    The three-schema approach, or the Three Schema Concept, in software engineering is an approach to building information systems and systems information management from the 1970s...


Further reading

  • Terry Halpin (2001), Object-Role Modeling: an overview
  • Terry Halpin (2005), ORM2 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.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK