NORMA (software modeling tool)
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, Visual Studio 2015. and Visual Studio 2017. NORMA supports ORM2 (second generation ORM), and can map object-role models to implementation targets, such as 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] "...explains 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 worked to develop state of the art CASE tools to support the specific ORM method discussed in this book." (Preface, xxvi)
ORM2
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 June 2018 has a few unresolved issues that are being addressed by the JIRA project that you can read about here. https://ormfoundation.atlassian.net/secure/Dashboard.jspa.Ken Evans 11:46, 19 July 2017 (UTC)
This link shows the current list of unresolved issues in NORMA. https://ormfoundation.atlassian.net/issues/?jql=issuetype%20%3D%20Bug%20AND%20status%20in%20(%22In%20Progress%22%2C%20%22To%20Do%22)
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)
- Simplified drawing rules to facilitate creation of a graphical editor
- Full support of textual annotations (e.g. footnoting of textual rules)
- Use of views for selectively displaying/suppressing detail
- Support for new features
Project
In September 2016, a JIRA project was established to document the code and to resolve current issues.[1].Ken Evans 14:37, 18 July 2017 (UTC)
Official CTPs are available at the ORM Foundation Library.
Generation targets
Database engines | Microsoft Sql Server, Oracle, DB2, MySQL, PostgreSQL, etc. |
Programming languages | LINQ to SQL, PLiX (Programming Language in XML)[6] and PHP |
Other | XML schemas (XSD) |
See also
References
- ^ Home page of The ORM Foundation
- ^ Halpin, Terry; Morgan, Tony (March 2008), Information Modeling and Relational Databases: From Conceptual Analysis to Logical Design (2nd ed.), Morgan Kaufmann, ISBN 978-0123735683
- ^ The ORM Foundation home page
- ^ 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.
- ^ ORM Foundation, Library. "NORMA, the software".
- ^ The PLiX project at SourceForge
Further reading
- Halpin, Terry; Morgan, Tony (March 2008), Information Modeling and Relational Databases: From Conceptual Analysis to Logical Design (2nd ed.), Morgan Kaufmann, ISBN 978-0123735683