• Aucun résultat trouvé

Case Studies

9.2 Possibilities for Future Work

A list of possible followups regarding the research work we developed in the Software Language Engineering are include:

• Properties check. A functionality for providing specification of proper-ties to be guaranteed by a DSML is helpful in order to assure correct-ness of the language. This is a very interesting topic in the DSML and Model Checking communities;

• Semantics preservation. One of the problems we went across during the development of this work was to answer the following question: How can we be sure that the semantics of the domain is correctly mapped in the target formalism(s)? This question raises several others. In particular on the part concerning the specification of certain properties to be checked after and prior to transformation. To research and add functionalities for ’properties transformation’ is another aspect from which the current work would surely have something to gain;

9.3. Outcome 165

• Testing. Test case generation from domain specific aspects is a valu-able feature that is still not covered in the DSML development envi-ronments. A lot open issues makes this subject a very interesting one to pursuit.;

• Language Versioning and traceability. As language evolves find our-selves with a set of old versions of the language and of its models. New and old models should be able to coexist in the latest DSML environ-ment. Accordingly, old models should be able to access new language features and preserve its behaviour in the old environment;

• Integration with other DSML development environments;

• Graphical extensions. Several DSMLs have a very well defined and strong graphical syntax. To provide constructions for graphical com-position and re-utilisation is a crucial aspect for the success of LDE techniques.

9.3 Outcome

Among other indirect results that have been produced during the time of the development of this thesis, the following achievements can be highlighted.

Articles Published articles in Journals and refereed international Confer-ence Proceedings

1. (Pedro, Risoldi, Buchs, Barroca, & Amaral, 2009) Incremental Prototyping of Domain Specific Languages GUIs, in the Rapid User Interface Prototyping, Human-Computer Interaction (To be published in 2009);

2. (Pedro, Amaral, & Buchs, 2008) Foundations for a Domain Spe-cific Modeling Language Prototyping Environment: A composi-tional approachin Proceedings of the 8th OOPSLA ACM-SIGPLAN Workshop on Domain-Specific Modeling (DSM), October 2008;

3. (Pedro, Lucio, & Buchs, 2007) System Prototype and Verification Using Metamodel-Based Transformations, in IEEE Distributed Systems Online, 2007;

4. (Pedro, Buchs, & Lucio, 2007) Model and Metamodel Semantics Enrichment Using Transformations and Domain Composition, in Rapid Integration of Software Engineering techniques 2007 (to be published);

5. (Pedro, Lucio, & Buchs, 2006a) Principles for System Prototype and Verification Using Metamodel Based Transformations, in ceedings of IEEE International Workshop on Rapid System Pro-totyping, 2006;

6. (A. Chen, Buchs, Lucio, Pedro, & Risoldi, 2006) Modeling Dis-tributed Systems using Concurrent Object Oriented Petri Nets, in Proceedings of the Fourth International Workshop on Modelling of Objects, Components and Agents, 2006

7. (Pedro, Lucio, & Buchs, 2006b)Prototyping Domain Specific Lan-guages With CO-OPN, in Proceedings of Springer-Verlag Rapid Integration of Software Engineering techniques, 2005;

Technical Reports 1. (Pedro, 2008) Metamodeling with Eclipse, Centre Universitaire D’Informatique, Universit´e de Gen`eve, 2008;

2. (Pedro, 2006)UML2 to CO-OPN transformation: State Machines and Class Diagrams, Centre Universitaire D’Informatique, Univer-sit´e de Gen`eve, 2006;

CO-OPN Metamodel The goal of this task was to provide a metamodel for CO-OPN in a standard description . We have chosen to use the EMF framework for defining it. Selecting EMF allowed us to, out of the box, integrate with other tools without having to spend a lot of effort in the technical details. Due to CO-OPN structure’s complexity its metamodel definition implied several iterations over the time. The task was completed successfully and its accomplishment was very important in the context of providing a practical application of the work defined in this thesis. Moreover, having a well defined CO-OPN metamodel in a standard fashion allows other to be able to easily manipulate CO-OPN specifications. A manipulation that can be wither manual by using the generated CO-OPN pluggin for Eclipse, or manual semi-automatic by defining matamodel-based transformations. The availability of a CO-OPN metamodel allowed other elements of the Software Modelling and Verification group to use CO-OPN in an integrated framework that supports other MDA functionalities.

CO-OPN Serializer CO-OPN is much more than a language metamodel.

Its well defined semantics is what makes it interesting. In order to allow re-use of CO-OPN semantics we had to provide a small tool that in-terfaces the specifications described in conformity with the metamodel with the CO-OPN kernel. This CO-OPN serializer is a transformation that takes specifications in the new format and transforms them into

9.3. Outcome 167 the format that CO-OPN understands. With this transformation we can re-use all the functionalities of prototyping generation, validation and simulation.

CoPsy To provide a practical application of the methodology we described in this thesis we developed the Compositional Platform for Domain Specific Modelling Languages Prototyping (CoPsy) DSML. This lan-guage allows to specify model and transformation composition of other DSMLs. Its behaviour allows to execute composition specification.

Based on this specification, a new DSML will be generated.

Appendix A

Acronyms

ATL ATLAS Transformation Language ADT Algebraic Abstract Data Type APN Algebraic Petri Nets

ASM Abstract State Machines

CO-OPN Concurrent Object Oriented Petri Nets CPN Coloured Petri Nets

CS Control System

Cospel COntrol systems SPEcification Language COM Component Object Model

CoPsy Compositional Platform for Domain Specific Modelling Languages Prototyping

DSML Domain Specific Modelling Language DSL Domain Specific Language

EMF Eclipse Modeling Framework EMOF Essential MOF

GME Generic Modeling Environment GMF Graphical Modeling Framework 169

GOPPRR Graph-Object-Property-Port-Role-Relationship GP Generative Programing

GReAT Graph Rewriting and Transformation GT Graph Transformation

IDE Integrated Development Environment LDE Language Driven Engineering

LHS Left-Hand Side

MOF Meta-Object Facility MDA Model Driven Architecture M2M Model-to-Model

MDE Model-Driven Engineering OMG Object Management Group OCL Object Constraint Language OO Object-Oriented

PIM Platform Independent Model PSM Platform Specific Model

QVT Query / Views / Transformations RHS Right-Hand Side

SLE Software Language Engineering SQL Structured Query Language SVG Scalable Vector Graphics UML Unified Modeling Language

Appendix B