NORMA (software modeling tool)

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

NORMA (Natural ORM Architect for Visual Studio)[1] is a software based conceptual modeling tool based on object-role modeling (ORM), and 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. 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's latest book, Information Modeling and Relational Databases: From Conceptual Analysis to Logical Design[2] "...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).

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 (second-generation ORM) is a new incarnation of object-role modeling as well as a new modeling tool to support the new notation. Dr. Terry Halpin is leading the effort spearheaded by Neumont University and later continued through The ORM Foundation,[3] a UK-based non-profit organization dedicated to the promotion of the fact-oriented approach to information modeling

ORM 2 is both a metamodel that defines an ORM2 model and a tool (NORMA) for creating ORM2 models. The NORMA (Natural ORM Architect) tool is an open source project. ORM2 leverages the work done by the BSBR group.

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

  • 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)



As of March 2014 the NORMA project[6] continues to deliver frequent releases and is almost ready to encompass the entire life-cycle of databases. 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]