Simplifying OMG MOF-Based Metamodeling
This paper advocates for a unification of modeling & programming from the perspective of normalized, implementation-neutral database schemas: representing programs and models in terms of irreducible and independent tables. This idea departs from the mainstream of modeling & programming, which typically revolves around Application Program Interface (API) ecosystems for operational needs and external serialization for interchange needs. Instead, this idea emphasizes an information-centric architecture to separate the structural aspects of language syntax via normalized schema tables from the operational aspects of language syntax and semantics via programs operating on normalized tables or derived table views. Such tables constitute the basis of a functional information architecture unifying modeling and programming as a radical departure from standardizing APIs in a programming fashion or standardizing serialization interchange in a modeling fashion. This paper focuses on the current API-less serialization-centric modeling paradigm because it is the farthest from a unified functional information architecture compared to functional programming languages where thinking about programs as pure functions and models as pure data is closest to this kind of unification. This paper first deconstructs the multi-level, reflective architecture for modeling languages defined at the Object Management Group (OMG) based on the Meta-Object Facility (MOF) and the Unified Modeling Language (UML) and subsequently reconstructs several normalized schema accounting for the information content and organization of different kinds of resources involved in modeling: libraries of datatypes, metamodels like UML, profiles like the Systems Modeling Language (SysML) that extend metamodels and models that conform to metamodels optionally extended with applied profiles.
KeywordsUnify Modeling Language Application Program Interface Object Constraint Language Abstract Syntax Object Management Group
This research was carried out at the Jet Propulsion Laboratory, California Institute of Technology, under a contract with the National Aeronautics and Space Administration.
Reference herein to any specific commercial product, process, or service by trade name, trademark, manufacturer, or otherwise, does not constitute or imply its endorsement by the United States Government or the Jet Propulsion Laboratory, California Institute of Technology.
The author expresses gratitude to many colleagues at the Jet Propulsion Laboratory’s Integrated Model-Centric Engineering project and the Laboratory for Reliable Software, in particular, M. Elaasar, K. Havelund, S. Herzig, S. Jenkins and R. Kumar, and to many current and past task force colleagues at the Object Management Group (OMG), in particular, Y. Bernard, C. Bock, R. Burkhart, S. Cook, S. Friedenthal, M. Elaasar, M. Koethe, P. Rivett, E. Seidewitz and B. Selic.
- 3.Pierce, B.C.: Types and Programming Languages (2002)Google Scholar
- 4.Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF Eclipse Modeling Framework, 2nd edn. Addison-Wesley, Boston (2008)Google Scholar
- 5.Object Management Group: Semantics of a Foundational Subset for Executable UML Models (fUML), version 1.2.1, formal/2016-01-05 (2016)Google Scholar
- 6.Object Management Group: Meta-Object Facility Core Specification, version 2.5, formal/2015-06-05 (2015)Google Scholar
- 7.Object Management Group: MOF Support for Semantic Structures, version 1.0 FTF beta 2, ptc/2011-08-22 (2011)Google Scholar
- 8.Object Management Group: Report of the UML version 2.4.1 Revision Task Force, ptc/2011-01-19 (2010)Google Scholar
- 9.Object Management Group: Unified Modeling Language version 2.5, formal/2015-03-01 (2015)Google Scholar
- 11.Procházka, J., Cyganiak, R., Inkster, T., Ferris, B.: The Property Reification Vocabulary 0.11. http://smiy.sourceforge.net/prv/spec/propertyreification.html
- 12.Biron, P.V., Malhotra, A.: XML Schema Part 2: Datatypes 2nd edn. W3C Recommendation, 28 October 2004. http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/
- 14.Armbrust, M., et al.: Spark SQL: Relational data processing in spark. In: SIGMOD 2015 (2015)Google Scholar
- 15.Gonzalez, J.E., et al.: GraphX: graph processing in a distributed dataflow framework. In: OSDI 2014 (2014)Google Scholar