loading...
 This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
A Flexible Infrastructure for Multilevel Language Engineering
RapidPost
ISSN: 0098-5589
Colin Atkinson, University of Mannheim, Mannheim
Matthias Gutheil, itemis AG, Bonn
Bastian Kennel, University of Mannheim, Mannheim
Although domain-specific modeling tools have come a long way since the modern era of model-driven development started in the early 1990s and now offer an impressive range of features, there is still significant room for enhancing the flexibility they offer to end users and for combining the advantages of domain-specific and general-purpose languages. To do this, however, it is necessary to enhance the way in which the current generation of tools view metamodeling and support the representation of the multiple, “ontological” classification levels that often exist in subject domains. State-of-the-art tools essentially allow users to describe the abstract and concrete syntaxes of a language in the form of metamodels and to make statements in that language in the form of models. These statements typically convey information in terms of types and instances in the domain (e.g., the classes and objects of UML), but not in terms of types of types (i.e., domain metaclasses), and types of types of types, and so on, across multiple classification levels. In essence, therefore, while they provide rich support for “linguistic” metamodeling, the current generation of tools provides little if any built-in support for modeling “ontological” classification across more than one type/instance level in the subject domain. In this paper, we describe a prototype implementation of a new kind of modeling infrastructure that, by providing built-in support for multiple ontological as well as linguistic classification levels, offers various advantages over existing language engineering approaches and tools. These include the ability to view a single model from the perspective of both a general-purpose and a domain-specific modeling language, the ability to define constraints across multiple ontological classification levels, and the ability to tie the rendering of model elements to ontological as well as linguistic types over multiple classification levels. After first outlining the key conceptual ingredients of this new infrastructure and presenting the main elements of our current realization, we show these benefits through two small examples.

[1] OMG Unified Modeling Language (OMG UML), Infrastructure, V2.1.2, OMG Document Number: Formal/2007-11-03, 2007.[2] OMG Unified Modeling Language (OMG UML), Superstructure, V2.1.2, OMG Document Number: Formal/2007-11-01, 2007.[3] Proc. First Int'l Conf. Software Language Eng., Sept. 2008.[4] Proc. Eighth OOPSLA Workshop Domain-Specific Modeling, Oct. 2008.[5] Graphical Modeling Framework, http://www.eclipse.org/ modeling/gmf/, 2009.[6] J. Greenfield, K. Short, S. Cook, S. Kent, and J. Crupi, Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools. John Wiley and Sons, 2004.[7] J. Tolvanen, “MetaEdit+: Domain-Specific Modeling for Full Code Generation Demonstrated,” Proc. 19th Ann. ACM SIGPLAN Conf. Object-Oriented Programming Systems, Languages, and Applications, Oct. 2004.[8] A. Lédeczi, A. Bakay, M. Maroti, P. Volgyesi, G. Nordstrom, J. Sprinkle, and G. Karsai, “Composing Domain-Specific Design Environments,” Computer, vol. 34, no. 11, pp. 44-51, Nov. 2001.[9] R. Johnson and B. Woolf, “Type Object Pattern,” Pattern Languages of Program Design 3. Addison-Wesley, 1997.[10] C. Atkinson and T. Kühne, “The Essence of Multilevel Metamodeling,” Proc. Fourth Int'l Conf. Unified Modeling Language, Modeling Languages, Concepts, and Tools, Oct. 2001.[11] C. Atkinson and T. Kühne, “Rearchitecting the UML Infrastructure,” ACM Trans. Modeling and Computer Simulation, vol. 12, no. 4, pp. 290-321, 2002.[12] M. Gogolla, J.-M. Favre, and F. Büttner, “On Squeezing M0, M1, M2, and M3 into a Single Object Diagram,” Proc. Model Driven Eng. Languages and Systems Workshop Tool Support for OCL and Related Formalisms, 2005.[13] C. Gonzales-Perez and B. Henderson-Sellers, Metamodelling for Software Engineering. John Wiley and Sons, 2008.[14] D. Gašević, N. Kaviani, and M. Hatala, “On Metamodeling in Megamodels,” Proc. ACM/IEEE 10th Int'l Conf. Model Driven Eng. Languages and Systems, 2007.[15] T. Kühne and D. Schreiber, “Can Programming Be Liberated from the Two-Level Style?—Multi-Level Programming with DeepJava,” Proc. ACM SIGPLAN Int'l Conf. Object-Oriented Programming, Systems, Languages and Applications, Oct. 2007.[16] UML 2.0 OCL Specification, OMG Adopted Specification ptc/03-10-14, 2003.[17] C. Atkinson, “Metamodeling for Distributed Object Environments,” Proc. First Int'l Workshop Enterprise Distributed Object Systems, 1997.[18] R. Geisler, M. Klar, and C. Pons, “Dimensions and Dichotomy in Metamodeling,” Proc. Third BCS-FACS Northern Formal Methods Workshop, Sept. 1998.[19] J. Bezevan and O. Gerbe, “Towards a Precise Definition of the OMG/MDA Framework,” Proc. Ann. Int'l Conf. Automated Software Eng., Nov. 2001.[20] D. Riehle, S. Fraleigh, D. Bucka-Lassen, and N. Omorogbe, “The Architecture of a UML Virtual Machine,” Proc. Conf. Object-Oriented Programming Systems, Languages, and Applications, 2001.[21] C. Gonzalez-Perez and B. Henderson-Sellers, “A Powertype-Based Metamodeling Framework,” Software and System Modeling, vol. 5, no. 1, pp. 72-90, 2006.[22] R. Gitzel and M. Schwind, “Using Non-Linear Metamodel Hierarchies for the Rapid Development of Domain-Specific MDD Tools,” Proc. 10th IASTED Int'l Conf. Software Eng. Applications, 2006.[23] J. Odell, “Power Types,” J. Object-Oriented Programming, vol. 7, no. 2, pp. 8-12, 1994.[24] A. Pirotte, E. Zimányi, D. Massart, and T. Yakusheva, “Materialization: A Powerful and Ubiquitous Abstraction Pattern,” Proc. 20th Int'l Conf. Very Large Data Bases, Sept. 1994.[25] T. Kühne and F. Steimann, “Tiefe Charakterisierung,” Proc. Modellierung '04, Mar. 2004.[26] M. Gutheil, B. Kennel, and C. Atkinson, “A Systematic Approach to Connectors in a Multi-Level Modeling Environment,” Proc. 11th Int'l Conf. Model Driven Eng. Languages and Systems, 2008.[27] Meta Object Facility (MOF) Core Specification Version 2.0, OMG Document Number: Formal/06-01-01, 2006.[28] M. Jarke, R. Gallersdörfer, M.A. Jeusfeld, M. Staudt, and S. Eherer, “ConceptBase—A Deductive Object Base for Meta Data Management,” J. Intelligent Information Systems, vol. 4, no. 2, pp. 167-192, 1995.[29] J. Mylopoulos, A. Borgida, M. Jarke, and M. Koubarakis, “M.: Telos—A Language for Representing Knowledge about Information Systems,” ACM Trans. Information Systems, vol. 8, no. 4, pp.325-362, 1990.[30] J. Eker, J.W. Janneck, E.A. Lee, J. Liu, X. Liu, J. Ludvig, S. Neuendorffer, S. Sachs, and Y. Xiong, “Taming Heterogeneity—The Ptolemy Approach,” Proc. IEEE, vol. 91, no. 2, pp. 127- 144, Jan. 2003.[31] OWL, http://www.w3.org/2004/OWL, 2004.[32] Protégé Tool, http://protege.stanford.edu, 2008.[33] K. Kiko, “Towards a Unified Knowledge Representation Framework,” master's thesis, Univ. of Mannheim, 2005.[34] C. Atkinson and T. Kühne, “Concepts for Comparing Modeling Tool Architectures,” Proc. Eighth Int'l Conf. Model Driven Eng. Languages and Systems, 2005.[35] C. Atkinson and T. Kühne, “Reducing Accidental Complexity in Domain Models,” Software and Systems Modeling, vol. 7, no. 3, pp.345-359, 2008.[36] Eclipse Modeling Framework (EMF), http://www.eclipse.org/modeling/emf/, 2009.[37] A.R. Hevner, S.T. March, J. Park, and S. Ram, “Design Science in Information Systems Research,” MIS Quarterly, vol. 28, no. 1, pp.75-105, 2004.

Index Terms:
Language engineering, metamodeling, multilevel modeling.
Citation:
Colin Atkinson, Matthias Gutheil, Bastian Kennel, "A Flexible Infrastructure for Multilevel Language Engineering," IEEE Transactions on Software Engineering, 23 Apr. 2009. IEEE computer Society Digital Library. IEEE Computer Society, <http://doi.ieeecomputersociety.org/10.1109/TSE.2009.31>
Usage of this product signifies your acceptance of the Terms of Use.