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. 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, and others, such as Model-Driven Development, Model-Driven Engineering, etc.) by providing three core elements:
  • the technology for the specification and use of domain-specific modeling languages (DSML),
  • the fully integrated metaprogrammable MIC tool suite ,and
  • an open integration framework to support 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 the designer's assumption about the "outside world" of the system. These models act as a repository of information that is needed for analyzing and generating the system.
 Software and systems development in the MIC framework includes three technology components:
  1. technology for building, analyzing, and managing models,
  2. technology for transforming models into executable programs and/or analyzable for system engineering tools, and
  3. technology for integrating applications on heterogeneous parallel/distributed computing platforms.
The MIC Software and System Development process is comprised of three levels as described below. 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). The Model-Integrated Program Synthesis 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. Design Space Exploration tool suite (DESERT).  
The Meta-Level of MIC provides metamodeling languages, metamodels, metamodeling environments and metagenerators for creating domain specific tool chains on the MIPS level.
  • 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).