• Aucun résultat trouvé

State of the Art: Methodologies

2.10 Semantic Anchoring

• at the level of the transformation definition language. A transformation is defined using basic transformations implying the compilation of the transformation definitions. This approach relies on the definition of a new transformation based upon an existing one;

• defining executable transformations as a composition of executable ele-mentary transformations. This approach is similar to component based engineering.

The key idea of compositional transformation is to decompose the system specification into properties that describe the behaviour of its subsystems. In (Caporuscio, Ruscio, Inverardi, Pelliccione, & Pierantonio, 2005), a technique and a tool are presented that allows decomposition of software applications checking the existence of mutual dependencies among components.

Since transformations are also models described in certain transformation languages, there are also benefits of defining transformation patterns. Some of these patterns include (Bezivin, Jouault, & Palies, 2005):

1. Transformation parameters- in many model transformations some attributes of the target metamodel are hard-coded. They have become parameters for the transformations as they have side effects on the result;

2. Multiple matching patterns when there has to be one rule that matches a collection of source elements.

2.10 Semantic Anchoring

In (K. Chen, Sztipanovits, Abdelwalhed, & Jackson, 2005), a technique is presented that allows to ’anchor’ semantics to a metamodel. This tech-nique is mainly based on the use of Abstract State Machines (ASM) and the Graph Rewriting and Transformation (GReAT) as instruments in the GME (Software Integrated Systems, 2005). Semantic units are defined by attaching a transformation to each metamodel in the GME.

The work presented in (K. Chen et al., 2005) proposes the use of a metamodeling process within GME for rapid and inexpensive development of DSMLs. However, in order to simplify the DSML semantics, this work discusses semantic anchoring which is based on the transformational speci-fication of semantics. It uses the mathematical model, ASM, as a common semantic framework. It shows a formal operational semantics for a set of basic models of computations called semantic units. Semantic anchoring of

DSMLs means the specification of model transformations between DSMLs and selected semantic units.

Although there are several conceptual similarities between the work pre-sented in this thesis and the work on Semantic Anchoring (both approaches use a model transformation language to provide semantics), we mostly con-centrate on the compositional and extension aspects of metamodels. In par-ticular, we focus on transformations modularization and re-use, while the work defined in the Semantic Anchoring approach concentrates mostly in attaching pieces of semantics to a metamodel.

2.11 Summary

This chapter confirms the diversity of methodologies and techniques available in Model-Driven Engineering (MDE) and, in particular, for Domain Specific Modelling Language (DSML) support. In such an heterogeneous environ-ment, it is often not easy to interface and to be able to use the ones one might need to provide a DSML specification. Albeit this fact, there is a clear path going in the direction for the standardisation1 of the processes for DSML development and a perspicuous concern in the language semantics.

2.11.1 Merging New and Old Ideas

The contents of this section act as a small comparison of the techniques against the work presented in this thesis. Therefore this section could also be titled Introduction to the Scientific Contribution of This Work.

The work described so far compares with the one on this thesis as:

Meta-Model Composition All the work available that presents ’techniques for metamodel composition’ only defines constructs for the syntax do-main of the language. All the techniques present and define a set of operators that allows to compose metamodels or, in other words, to compose the abstract syntax of the language. These techniques are very powerful and easy to use if we don’t need to manipulate seman-tic constructions. Compared with the work presented in this thesis, we can say that metamodel composition is a subset of the operations provided. We do not provide a set of composition operators explicitly but the parameterization mechanism available is powerful enough to be able to express any of these metamodel composition operators;

1For example, the evolution of UML from it first version with minimum definition, to UML2 with a comprehensive metamodel and a much more precise definition.

2.11. Summary 25 Package Merge: This method is an UML-specific operation that is difficult to express for other kinds of metamodels. The package merge operation has not been provided in a clearly defined conceptual framework and it only works at the metamodel level. It is also a very syntactical oper-ation that lacks precision since it is defined in a very informal fashion.

This type of composition is not supported in the work presented in this thesis. We argue that merging domain concepts is a very ambiguous operation. A merge operation implies that none or very small defini-tion on how elements of the domain concepts to be merged is provided.

Moreover, the semantics of package merge is perceived as complicated.

For instance, the UML manual describes it as complex and tricky;

Model Extension: Model extension is a technique for achieving some level of reusability. In the of context model engineering, model extension plays the same type of role as class inheritance in the object technol-ogy environments. It is a technique that, again, works at a syntactic level. In the syntactic domain this approach allows to extend models with new concepts. The methodology we propose in this thesis also supports this kind of composition. If we want to compare both ap-proaches we could say that Model Extension is a technique for simple model extension whereas the method in this thesis represents a generic approach for model extension. While Model Extension approach only allows to extend one element of the metamodel at a time, the ap-proach we propose allows to extend and parameterize a subset of the metamodel. However, in the approach presented in this document, the semantical aspects of the language are also considered;

Semantic Anchoring: It is fair to say that semantic anchoring is the closest technique to the work presented in this thesis. The work on semantic anchoring describes how to add semantics to a DSML (or a domain con-cept). What is not defined in the Semantic Anchoring technique is how to compose the semantic blocks. Semantic Anchoring allows to specify the semantics of a DSML by transforming it to another (more precise domain) but it is not possible to compose the transformations. Conse-quently, it is impossible to provide reusability of the defined semantic blocks. Compared with Semantic Anchoring this work also allows to

’anchor’ semantics to a domain concept. The methodology we present goes a step further and does not allow to have a metamodel without an associated transformation. In addition to Semantic Anchoring, we provide the necessary constructs for composing semantic blocks in a very abstract way.

Furthermore, the work presented describes a method that is not bound to a particular technology. Although we will also express an implementation in an integrated and full featured environment, the technique presented is general enough to allow other implementations. The work that we will start describing can be seen as a generic conceptual framework for:

a) generic metamodel composition;

b) automation of the correspondent model composition;

c) semantics definition based ontransformation composition.

Each one of these points allow a high level of reusability at all levels.

Chapter 3