Model-based DSL frameworks

More than five years ago, the OMG proposed the Model Driven Architecture (MDA™) approach to deal with the separation of platform dependent and independent aspects in information systems. Since then, the initial idea of MDA evolved and Model Driven Engineering (MDE) is being increasingly promoted to handle separation and combination of various kinds of concerns in software or data engineering. MDE is more general than the set of standards and practices recommended by the OMG's MDA proposal. In MDE the concept of model designates not only OMG models but a lot of other artifacts like XML documents, Java programs, RDBMS data, etc. Today we observe another evolutionary step. A convergence between MDE and DSL (Domain Specific Language) engineering is rapidly appearing. In the same way as MDE is a generalization of MDA, the DSL engineering may be viewed as a generalization of MDE. One of the goals of this paper is to explore the potential of this important evolution of engineering practices. In order to anchor the discussion on practical grounds, we present a set of typical problems that could be solved by classical (object-oriented and others), MDE, or DSL-based techniques. Solutions to these problems will be based on current platforms (EMF, AMMA, GME, etc.). This paper illustrates how powerful model-based frameworks, allowing to use and build a variety of DSLs, may help to solve complex problems in a more efficient way.

[1]  Jean Bézivin,et al.  On the Need for Megamodels , 2004, OOPSLA 2004.

[2]  Thomas R. Gruber,et al.  Toward principles for the design of ontologies used for knowledge sharing? , 1995, Int. J. Hum. Comput. Stud..

[3]  Gabor Karsai,et al.  The design of a simple language for graph transformations , 2005 .

[4]  William G. Griswold,et al.  An Overview of AspectJ , 2001, ECOOP.

[5]  Jean Bézivin,et al.  KM3: A DSL for Metamodel Specification , 2006, FMOODS.

[6]  Dániel Varró,et al.  Designing the automatic transformation of visual languages , 2002, Sci. Comput. Program..

[7]  Tong Zhou,et al.  Software design for reliability and reuse: a proof-of-concept demonstration , 1994, TRI-Ada '94.

[8]  Emden R. Gansner,et al.  An open graph visualization system and its applications to software engineering , 2000 .

[9]  Frank Budinsky,et al.  Eclipse Modeling Framework , 2003 .

[10]  Marvin Minsky,et al.  Semantic Information Processing , 1968 .

[11]  Gabor Karsai,et al.  The design of a language for model transformations , 2006, Software & Systems Modeling.

[12]  Hartmut Ehrig,et al.  Fundamental Theory for Typed Attributed Graph Transformation , 2004, ICGT.

[13]  Jean Bézivin,et al.  Modeling in the Large and Modeling in the Small , 2003, MDAFA.

[14]  Elnar Hajiyev,et al.  codeQuest: Scalable Source Code Queries with Datalog , 2006, ECOOP.

[15]  Jean Bézivin,et al.  A Practical Experiment to Give Dynamic Semantics to a DSL for Telephony Services Development , 2006 .

[16]  Margaret Morrison,et al.  Models as Mediators , 1999 .

[17]  Jean Bézivin,et al.  Applying Generic Model Management to Data Mapping , 2005, BDA.

[18]  Gabor Karsai,et al.  Component generation technology for semantic tool integration , 2000, 2000 IEEE Aerospace Conference. Proceedings (Cat. No.00TH8484).

[19]  J. Molenaar,et al.  Mathematical modeling and dimensional analysis , 1992 .

[20]  Matti Husu Software Factories , 2006 .

[21]  Rajkumar Buyya,et al.  SensorGrid: Integrating Sensor Networks and Grid Computing , 2005 .

[22]  Egon Börger,et al.  High Level System Design and Analysis Using Abstract State Machines , 1998, FM-Trends.

[23]  Leo Apostel,et al.  Towards the formal study of models in the non-formal sciences , 1960, Synthese.

[24]  Jean Bézivin,et al.  Model-based Technology Integration with the Technical Space Concept , 2006 .

[25]  Jean Bézivin,et al.  On the unification power of models , 2005, Software & Systems Modeling.

[26]  R. Hughes Models as Mediators: The Ising model, computer simulation, and universal physics , 1999 .

[27]  Henning Schulzrinne,et al.  Call Processing Language (CPL): A Language for User Control of Internet Telephony Services , 2004, RFC.

[28]  Emden R. Gansner,et al.  An open graph visualization system and its applications to software engineering , 2000, Softw. Pract. Exp..

[29]  Julia L. Lawall,et al.  Language Technology for Internet-Telephony Service Creation , 2006, 2006 IEEE International Conference on Communications.

[30]  Frédéric Jouault Loosely Coupled Traceability for ATL , 2005 .

[31]  R Ridgway,et al.  International Physicians for the Prevention of Nuclear War , 1983, The Lancet.

[32]  Frédéric Jouault,et al.  On the architectural alignment of ATL and QVT , 2006, SAC '06.

[33]  Jean Bézivin,et al.  Bridging the Generic Modeling Environment ( GME ) and the Eclipse Modeling Framework ( EMF ) , 2005 .

[34]  Frédéric Jouault,et al.  Transforming Models with ATL , 2005, MoDELS.

[35]  Jean Bézivin,et al.  sNets: A First Generation Model Engineering Platform , 2005, MoDELS.

[36]  Juriaan Simonis,et al.  Topics in Engineering Mathematics , 1992 .

[37]  H. Freudenthal,et al.  The Concept and the Role of the Model in Mathematics and Natural and Social Sciences , 1961 .

[38]  L. Apostel Towards the formal study of models in the non-formal sciences , 1960, Synthese.