|
Model-Integrated Computing
Model-Integrated Computing (MIC) has been developed over two decades at ISIS, Vanderbilt University for building a wide range of software systems. Model-Integrated Computing (MIC) focuses on the formal representation, composition, analysis and manipulation of models during the design process. It places models in the center of the entire life-cycle of systems, including specification, design, development, verification, integration, and maintenance. MIC refines and facilitates “model-based development” (advocated in efforts like the Model-Driven Architecture (MDA) of the Object Management Group, see www.omg.org/mda, and others, such as MDD/MDC/MDE etc.) by providing three core elements:
• support for the specification and use of domain-specific modeling languages (DSML),
• the fully integrated metaprogrammable MIC tool suite and
• an open integration framework for formal analysis tools, verification techniques and model transformations in the development process..
Using MIC technology one can capture the requirements, actual architecture, and the environment of a system in the form of high-level models. The requirement models allow the explicit representation of desired functionalities and/or non-functional properties. The architecture models represent the actual structure of the system to be built, while the environment models capture what the "outside world" of the system looks like. These models act as a repository of information that is needed for analyzing and generating the system.
MIC Software and Systems Development Levels
Software and systems development in the MIC framework include three technology components: (1) building, analyzing, and managing models, (2) transforming models into executable programs and/or analyzable for system engineering tools, and (3) integrating applications on heterogeneous parallel/distributed computing platforms. The MIC Software and System Development process is comprised of three levels as described below.
Application Level
The Application Level represents the synthesized, adaptable software applications. The executable programs are specified in terms of a Composition Platform (e.g. CORBA, Multigraph Computational Model (MCM) and others).
Domain Modeling and Model-Integrated Program Synthesis (MIPS) Level
The MIPS Level comprises domain specific modeling languages (DSML) and tool chains for model building, model analysis, and application synthesis. The generic components of the MIC tool architecture are: (1) a Graphical Model Editor (GME), (2) a Model Management tool suit, (3) Model Transformation tool suite, and (4) a Design Space Exploration tool suite.
The Meta-Level
The Meta-Level of MIC provides metamodeling languages, metamodels, metamodeling environments and metagenerators for creating domain specific tool chans on the MIPS level.
Impact
• metaprogramming tools significantly decrease the required effort to create integrated domain specific modeling environments,
• metaprogramming tools decrease the development time of generators,
• MIPS environments enable the rapid modification/adaptation of applications by simply modifying domain specific models, and
• metaprogramming toolset supports environment evolution (i.e., changing the modeling paradigm).
|