Semantic Anchoring of Domain Specific Modeling Languages Janos Sztipanovits Institute for Software Integrated Systems Vanderbilt University janos.sztipanovits@vanderbilt.edu; www.isis.vanderbilt.edu Extended Abstract Model-based software and system design is based on the end-to-end use of formal, composable and manipulable models in the product life-cycle. Model Integrated Computing (MIC) [1][2] developed at the Institute for Software Integrated Systems (ISIS) at Vanderbilt University is part of this new direction together with other well known approaches and initiatives, such as Microsoft’s Software Factories [3], OMG’s Model Driven Architecture (MDA), or the Eclipse Modeling Framework (EMF). An emerging common thread in model-based software and systems design is that modeling languages are domain-specific: they offer software developers concepts and notations that are tailored to characteristics of their application domain. Models represented in DomainSpecific Modeling Languages (DSML-s) express the structural and behavioral aspects of systems that define the design space. Semantics of DSMLs capture concurrency, communication abstractions, temporal and other physical properties as required by the application domain. For example, a DSML framework (i.e. a set of related modeling aspects) for embedded systems design might represent physical processes using ordinary differential equations, digital control systems using synchronous dataflow models, and resource management using synchronous concurrent state machines. DSML-s defined for the specification of component based software architecture might include modeling aspects for component behavior, interactions and resource mapping (scheduling). Model analysis and model-based code generation require the precise specification of DSMLs. This is partly achieved by metamodeling languages and metamodels describing the abstract syntax ( concepts, relationships and wellformedness rules) of DSMLs. The MIC tool suite of ISIS (developed under DARPA, NSF and industry funding during the past 15 years) is a metaprogrammable tool suite that includes the Generic Modeling Environment (GME), the Universal Data Modeling (UDM) tool for model data management, the Model Transformation Tool (GReAT), the Open Tool Integration Framework (OTIF) and the Design Space Exploration Tool (DESERT) [4]. The MIC tool suite has been tested in several industrial applications in strongly different domains, such as software architecture modeling and architecture exploration (Future Combat Systems program, Boeing); embedded software design (General Motors), signal processing (Raytheon), manufacturing execution systems (General Motors), avionics systems (Boeing) and many others. The MIC tool suite is accessible through a quality controlled repository [5] funded by GM, Boeing and Raytheon. While metamodeling and metaprogrammable tools have proved to be quite effective in software and systems engineering, it has become clear for us that the lack of formally specified semantics of DSML-s creates potential risk in a wide range of applications. For example, semantic mismatch between DSMLs used for architecture modeling and DSMLs used by safety analysis tools may result in ambiguities in the design flow that are unacceptable. We have started a research program to fix this problem by developing an infrastructure for semantic anchoring of DSML-s. The research program has the following agenda: 1. Development of precise specification for a set of “semantic units” that provides reference semantics of basic behavioral categories and models of computations. 2. Development of a metamodel interface (an abstract data model) for the semantic units. 3. Development of an infrastructure for the transformational specification of DSML semantics by defining the mapping between the metamodels of DSML-s and that of the semantic units. 4. Development of theories, methods and tools for the specification of “derived” semantics by composing semantic units. The agenda above requires a formal framework for the specification and composition of semantic units. We have evaluated several frameworks, such as TLA+, the Tagged Signal Models, Z and others, and finally selected Abstract State Machines (ASM) because of two reasons: (a) ASM-s provide excellent foundation for specifying operational semantics, and (b) availability of Microsoft’s AsmL tool suite. During the past two years we have built the experimental version of a semantic anchoring tool suite [6][7][8] that includes MIC tools and AsmL. A real-life use case for the tool suite is the following: 1. GM engineers have defined a complex DSML for modeling embedded software architecture with an intuitive semantics gained from synchronous languages. 2. We specified the precise operational semantics compositionally in the AsmL framework. The semantic units used in the specification were: Finite State Machine (FSM), Synchronous Event and Data Flow. 3. We anchored the DSML via specifying the transformation rules between the DSML metamodel and the abstract data model of the composed operational semantics. 4. The semantics was validated by building models (architecture specifications) in the DSML, autogenerating the AsmL specifications using the MIC model transformation tool suite and inspecting behavior traces determined by the reference semantics using the AsmL simulator. The unique advantage of the method is that the engineers do not have to build AsmL specifications for their systems; those are automatically generated from the architecture models via model transformation. We believe that completing this agenda will provide effective solution for the semantics problem of model-based software design and will be a key enabler for the general acceptance of the technology. Since AsmL plays a pivotal role in this undertaking, establishing a strong collaboration with MSR and a parallel MSR effort on extending AsmL capabilities would be extremely important. Listed below are initial ideas for AsmL extensions that we recommend for MSR to consider: 1. Development of support for modular and composition operators for specifications. 2. Extended support for simulations and for the component-based integration of simulations with other tools. 3. Extending the current framework to continuous time and hybrid systems. References (papers are available on-line on the ISIS web site): [1] Sztipanovits, J., Karsai, G.: “Model-Integrated Computing”, IEEE Computer,V.30. pp. 110112, April, 1997. [2] Karsai, G.; Sztipanovits, J.; Ledeczi, A.; Bapty, T.: Model-integrated development of embedded software,; Proceedings of the IEEE, Volume: 91, Issue: 1, Jan. 2003 Pages:145 – 164. [3] Jack Greenfield and Keith Short with Steve Cook and Stuart Kent: Software Factories, Wiley Publishing, 2004 [4] http://www.escherinstitute.org/Plone/tools/suites/mic [5] www.escherinstitute.org [6] Chen K., Sztipanovits J., Abdelwahed S.: A Semantic Unit for Timed Automata Based Modeling Languages, RTAS 06, San Diego, CA, April 4-7, 2006. [7] Chen K., Sztipanovits J., Abdelwahed S., Jackson E.: Semantic Anchoring with Model Transformations, European Conference on Model Driven Architecture -Foundations and Applications (ECMDA-FA), Nuremberg, Germany, November 7, 2005 [8] Chen K., Sztipanovits J., Neema S., Emerson M., Abdelwahed S.: Toward a Semantic Anchoring Infrastructure for Domain-Specific Modeling Languages, Proceedings of the Fifth ACM International Conference on Embedded Software (EMSOFT 05), pp. 35-44, Jersey City, New Jersey, September 19, 2005.