Graph grammars and transformations (GGT) have been a field of theoretical study for over two decades. However, it has produced only a handful of practical implementations. GGT needs a widely used practical application to exploit its potential. On the other hand Model Integrated Computing (MIC) has grown from the practical standpoint and is widely used and recognized in both industry and practice today. In the MIC approach, developing model-interpreters is time consuming and costly, proving to be a bottleneck. This reduces MIC's reach and impact on the programming community.In this paper I propose to use GGT methodologies to solve MIC's bottleneck problem. The solution should place the MIC technology such that it can play a defining role in the next generation of high-level programming languages.
Model Integrated Computing (MIC)MIC is a philosophy that advocates the use of domain specific concepts to represent system design. The models capturing the design are then used to synthesize executable systems, perform analysis or drive simulations. The advantage of this methodology is that it speeds up the design process, facilitates evolution, helps in system maintenance and reduces the cost of the development cycle [1].The MIC development cycle starts with the specification of a new domain (for example, a hierarchical concurrent state machine domain). This specification of the domain is called metamodeling; it defines the syntax, semantics and visualization rules of the domain. Once the domain has been defined, the specification of the domain is used to generate a Domain Specific Design Environment (DSDE). The DSDE can then be used to create domain specific designs/models; for example, a particular state machine is a domain specific design that conforms to the rules specified in the metamodel of the state machine domain. However, to do something useful with these models such as synthesize executable, perform analysis or drive simulators, we have to convert the models into another format like executable code, input format of some analysis tool or configuration files for simulators. This mapping of models to a more useful form is called model interpretation and is performed by model interpreters. Model interpreters are programs that convert models of a given domain into another format. Thus, for each domain to output format there will be one model interpreter. This output could be considered as another model that conforms to a different metamodel and thus these model interpreters can be considered to be mappings between models [1].The premier MIC implementation is a metaprogrammable toolkit called Generic Modeling Environment (GME) developed at the Institute for Software Integrated Systems (ISIS), Vanderbilt University. It provides an environment for creating domain-specific modeling environments [2]. The metamodeling environment of GME is based on UML class diagrams [3]. Metamodeling is used to describe a domain specific modeling environment by capturing the syntax, semantics and visualization rules of the environment....