Extended Abstract - Institute For Software Integrated Systems

advertisement
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.
Download