Section: New Results
Keywords : Metamodeling, Generic Modeling Environment, SIGNAL, Model transformation.
A meta-model of Polychrony
Participants : Christian Brunette, Thierry Gautier, Jean-Pierre Talpin.
InĀ [19] , we present the meta-model of Polychrony in the GME. The aim of this work is to generalize the use of formal methods implemented in Polychrony by making them accessible in more popular framework, such as Eclipse. However, in a world of rapid technology obsolescence, model engineering must be platform independent. To achieve this independence, the higher their abstraction expression level is, the more adaptable to various operational environments they will be. Model Driven Software Development is based on a number of common principles such as like XMI, OCL and UML, that can be mapped to different standards and different environments. Thus, we choose to express the SIGNAL language as a metamodel, called Signal-Meta, using these technologies.
To develop our metamodeling approach, we choose the Generic Modeling Environment (GME) developed by the ISIS institute at Vanderbilt University. GME is a configurable UML-based toolkit that supports the creation of domain-specific modeling and program synthesis environments [38] . Metamodels are proposed in the environment to describe modeling paradigms for specific domains. Such a paradigm includes, for a given domain, the necessary basic concepts to represent models from a syntactical viewpoint to a semantical one.
Describing a metamodel in GME consists in modeling all paradigm concepts as classes through usual UML class diagrams using some predefined UML-stereotypes. In these class diagrams, GME provides a means to express the visibility of components within a model through the notion of Aspect (i.e. one can decide which parts of the descriptions are visible depending on their associated aspects). Signal-Meta comprises three main Aspects: Interface , Computation part and Clock and Dependence Relations . The first Aspect manages all input/output signals and static parameters. The two other reflects respectively data-flow relations and clock relations between signals. Figure 14 represents the description of a modem using Signal-Meta in GME. At the bottom of the windows, the left frame contains all concepts that can be manipulated in the upper frame by drag&drop.
The graphical description constitutes a good front-end for SIGNAL specifications. To complete this front-end, we need a mean to transform the graphical Signal-Meta specifications in the SIGNAL language. GME offers a means to develop and plug components into the GME environment. The role of such a component consists of interacting with the graphical designs. GME distinguishes different families of components that can be plugged to its environment depending of their role. We developed an Interpreter whose role is to check information, such as the correctness of a model, and/or produce a result, such as a description file. This interpreter, outlined Figure 15 , is developed in C++ using the Builder Object Network (BON2) API provided with GME.