Object–role modeling: Difference between revisions

Content deleted Content added
m add words to improve readability
clean up, remove excessive and redundant ELs, fix caps (common noun), WP:CAPSACRS, remove links for downloading software
Line 3:
[[File:ORM-diagram-tkz-orm.png|406px|thumb|example of an ORM2 diagram]]
 
'''Object-Rolerole Modelingmodeling''' (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.
Line 19:
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 Objectobject-Rolerole Modelingmodeling. Since then Dr. [[Terry Halpin]] has authored six books and over 160 technical papers.
 
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.
Line 27:
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 (general)|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 ==
== Object-Role Modeling concepts ==
[[File:Object-Role Model Overview.jpg|thumb|240px|right|Overview of the Objectobject-Rolerole Modelmodel notation, Stephen M. Richard (1999).<ref name="SMR99"/>]]
 
=== Facts ===
Line 37:
=== Attribute-free ===
ORM is attribute-free : unlike models in the [[Entity-relationship model|
Entityentity Relationshiprelationship]] (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 in the base model, ORM
improves semantic stability and enables verbalization into natural language.
Line 44:
Fact-based modeling includes procedures for mapping facts to attribute-based structures, such as those of ER or UML.<ref name="orm.net"/>
 
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 Objectobject-Rolerole Modelsmodels are easier to understand than declarative languages such as [[Object Constraint Language]] (OCL) and other graphical languages such as [[Unified Modeling Language|UML]] class models.<ref name="orm.net"/> Fact-based graphical notations are more expressive than those of ER and [[Unified Modeling Language|UML]]. An object-role model can be automatically mapped to relational and deductive databases (such as [[datalog]]).<ref>http://www.ormfoundation.org/files/folders/orm_2010/entry2360.aspx</ref>
 
=== ORM 2 graphical notation ===
ORM2 is the latest generation of Objectobject-Rolerole Modelingmodeling . The main objectives for the ORM 2 graphical notation are:<ref>http://www.orm.net/pdf/ORM2.pdf 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.</ref>
* More compact display of ORM models without compromising clarity
* Improved internationalization (e.g. avoid English language symbols)
Line 73:
=== ORMLite ===
ORMLite is a free, open-source modeling tool that supports ORM 2 notation. It was created as a self-learning environment to help popularize ORM. It can verbalize facts and generate relational models. It is written in Python and so it is multi-platform. Version 0.13b was released in November 2012.
.<ref name= "ORMLite">ORM Lite.[http://www.ormfoundation.org/files/folders/orm_lite/entry3147.aspx]"ORM Lite 13b download"</ref>
 
=== NORMA ===
Dr. [[Terry Halpin]] led the initial development of the [[NORMA (software modeling tool)|NORMA]] ORM modeling tool whilst he was a Professor at [[Neumont University]]. This is now supported via The ORM Foundation,<ref name="ORMF">The ORM Foundation [http://www.ormfoundation.org/] home page</ref> a UK-based non-profit organization dedicated to the promotion of the object-role modeling.
 
[[NORMA (software modeling tool)|NORMA]] (Natural ORM Architect for Visual Studio)<ref name="ORMF"/> is a free and open source plug-in to Microsoft [[Visual Studio#Visual Studio 2005|Visual Studio 2005]], [[Visual Studio#Visual Studio 2008|Visual Studio 2008]], [[Visual Studio#Visual Studio 2010|Visual Studio 2010]] and [[Visual Studio#Visual Studio 2012|Visual Studio 2012]]. NORMA supports second generation ORM(ORM 2), and can be used to generate code from and object-role model to several implementation targets, such as major [[Database management systems|database engines]], object-oriented code, and XML schema. Examples include:
 
{| class="wikitable" border="1" margin
Line 115 ⟶ 114:
{{As of|2009|4}}, the NORMA project<ref name="SFORM">NORMA - [http://sourceforge.net/projects/orm The ORM Project at Sourceforge]</ref> delivers frequent releases.
 
Each new NORMA Community Technical Preview (CTP) is published in the library of The ORM Foundation website.<ref>[https://www.ormfoundation.org/files/folders/norma_the_software/default.aspx library of The ORM Foundation website].</ref>
 
=== DogmaModeler ===
[[File:DogmaModeler1.jpg|thumb|320px|DogmaModeler Screenshotscreenshot.<ref>[http://www.jarrar.info/Dogmamodeler/index.htm DogmaModeler website]</ref>]]
[[DogmaModeler]] is a free [[Ontology (computer science)|ontology]] 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]] through well-defined methodological principles. The first version of DogmaModeler was developed at the [[Vrije Universiteit Brussel]].
 
The DogmaModeler Project<ref>[http://sourceforge.net/projects/dogmamodeler/ The DogmaModeler project at SourceForge]</ref> 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/DogmamodelerDogmaModeler website is dated on October 27, 2006.<ref>[http://jarrar.info/Dogmamodeler DogmaModeler web site]</ref>
'''DogmaModeler open source status'''
 
Since then the project seems to have been continued and expanded into several other tools at the [[Vrije Universiteit Brussel]]'s Semantics Technology and Applications Research Laboratory (VUB STARLab).<ref>http://www.starlab.vub.ac.be/website/research</ref> A note on that site states "Users who only use DOGMAModeler for their own researches can contact (author's email) for the free download."<ref>http://www.starlab.vub.ac.be/website/tools</ref>
The DogmaModeler Project<ref>[http://sourceforge.net/projects/dogmamodeler/ The DogmaModeler project at SourceForge]</ref> 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]]'s Semantics Technology and Applications Research Laboratory (VUB STARLab).<ref>http://www.starlab.vub.ac.be/website/research</ref> A note on that site states "Users who only use DOGMAModeler for their own researches can contact (author's email) for the free download."<ref>http://www.starlab.vub.ac.be/website/tools</ref>
 
=== 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.
 
The early ORM tools such as IAST (Control Data) and RIDL* were followed by InfoDesigner, InfoModeler and [[#VisioModeler|VisioModeler]].
Line 152 ⟶ 149:
 
=== CaseTalk ===
A modeling tool called CaseTalk<ref>http://www.casetalk.com/ The CaseTalk website</ref> based on the ORM-dialect known as Fully Communication Oriented Information Modeling ([[FCO-IM]]) is developed and maintained by Oelan in 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]] dialect. To download or obtain more details about this tool, click the Infagon home page.<ref>http://www.infagon.com</ref>
 
=== Other tools ===
Line 176 ⟶ 173:
== Further reading ==
* FCO-IM Publications, [http://fco-im.nl fco-im.nl]
* Terry Halpin (2001), [http://www.orm.net/pdf/ORMwhitePaper.pdf Object-Role Modeling: an overview]
* Terry Halpin (2005), [http://www.orm.net/pdf/ORM2.pdf 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.
* {{Citation
| last = Halpin | first = Terry
Line 218 ⟶ 213:
* [http://www.ormfoundation.org/ The ORM Foundation]
* [http://www.orm.net Terry Halpin's ORM site]
* [http://deleenheer.wordpress.com/ Pieter De Leenheer's blog on fact-based ontology modelling]
* [http://www.pna-group.com PNA Group: Dutch consultancy for fact-based modeling]
* [http://www.collibra.com Collibra: Information Governance software based on fact-oriented ontologies (using OMG SBVR)]
* [http://www.erikproper.eu/publications/ Erik Proper's publications site]
* [http://www.starlab.vub.ac.be/website/ STARLab group at Free University of Brussels]
* [http://essentialstrategies.com/publications/modeling/niam.htm NIAM/ORM]
* [http://www.ormfoundation.org/files/folders/norma_the_software/default.aspx NORMA - Natural Object Role Modeling Architect]
* [http://sourceforge.net/projects/orm NORMA - The ORM Project at SourceForge]
* [http://www.starlab.vub.ac.be/website/dogmastudio DOGMA Studio, an Eclipse plugin-based fact-oriented ontology engineering tool suite]
* [http://www.casetalk.com CaseTalk, The FCO-IM casetool]
* [http://www.jarrar.info/Dogmamodeler/ DogmaModeler, an ontology Engineering tool based on ORM]
* ORM Workshops: [http://www.cs.rmit.edu.au/fedconf/2005/orm2005cfp.html ORM-2005], [http://www.cs.rmit.edu.au/fedconf/2006/orm2006cfp.html ORM-2006], [http://www.cs.rmit.edu.au/fedconf/2007/orm2007cfp.html ORM2007], [http://www.cs.rmit.edu.au/fedconf/index.html?page=orm2008cfp ORM-2008]
* [http://www.onthemove-conferences.org/index.php/orm2010 ORM 2010 Workshop] (held on 27–29 October 2010 in Hersonissou, Crete, Greece)
* [http://www.factbasedmodeling.org The website of the Fact-Based Modeling working group.]
 
{{DEFAULTSORT:Object Role Modeling}}