NORMA (software modeling tool)

From Wikipedia, the free encyclopedia
Jump to: navigation, search

NORMA (Natural ORM Architect for Visual Studio)[1] is a conceptual modeling tool that implements the object-role modeling (ORM) method.

NORMA is a free and open source plug-in to Microsoft Visual Studio 2005, Visual Studio 2008, Visual Studio 2010, Visual Studio 2012, Visual Studio 2013 and Visual Studio 2015. NORMA supports ORM2 (second generation ORM), and can be used to map object-role models to a several implementation targets, including major database engines, object-oriented code, and XML schema.

Dr. Terry Halpin's 2008 book, Information Modeling and Relational Databases: From Conceptual Analysis to Logical Design[2] "...uses the ORM2 notation, as supported by the NORMA (Neumont ORM Architect) tool..." (page 10), and "(...)At the time of writing, the NORMA tool provides the most complete support for the ORM2 notation discussed in this book." (Preface, xxv).

He also states: "A modeling method as good as ORM deserves a good CASE tool. Since the early 1990's, talented staff at ServerWare, Asymetrix Corporation, InfoModelers Incorporated, Visio Corporation, Microsoft Corporation, Neumont University have worked to develop state of the art CASE tools to support the specific ORM method discussed in this book. The following talented individuals currently working as lead software engineers on the NORMA tool deserve special mention: Matt Curland and Kevin Owen." (Preface, xxvi)


ORM2 contains improvements to the original ORM1 specification. ORM2 is implemented in NORMA. Dr. Terry Halpin led the original NORMA effort whilst serving as a Professor at Neumont University and from 2007, continued via The ORM Foundation,[3] a UK-based non-profit organization dedicated to the promotion of the fact-based approach to information modeling

ORM2 is defined in an ORM2 metamodel that was created by using the NORMA tool.

The NORMA tool is an open source project that as at July 2017 has a number of unresolved issues that are the subject of a JIRA project that you can read about here. Evans 11:46, 19 July 2017 (UTC)

This link shows the unresolved issues in NORMA. Ken Evans 14:20, 18 July 2017 (UTC)

The main objectives for the ORM2 graphical notation are:[4]

  • More compact display of object-role 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 software has not been updated since January 2016. NORMA project[6].

A JIRA project has been established to document the code and to resolve current issues - volunteers needed![1].Ken Evans 14:37, 18 July 2017 (UTC)

Official CTPs are always posted to the ORM Foundation Library.

Generation targets[edit]

Database engines Microsoft Sql Server, Oracle, DB2, MySQL, PostgreSQL, etc.
Programming languages LINQ to SQL, PLiX (Programming Language in XML)[7] and PHP
Other XML schemas (XSD)

See also[edit]


  1. ^ Home page of The ORM Foundation
  2. ^ Halpin, Terry; Morgan, Tony (March 2008), Information Modeling and Relational Databases: From Conceptual Analysis to Logical Design (2nd ed.), Morgan Kaufmann, ISBN 978-0123735683 
  3. ^ The ORM Foundation home page
  4. ^ 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.
  5. ^ ORM Foundation, Library. "NORMA, the software". 
  6. ^ NORMA - The ORM project at Sourceforge (interim technical releases only)
  7. ^ The PLiX project at SourceForge

Further reading[edit]

External links[edit]