Presentation is loading. Please wait.

Presentation is loading. Please wait.

©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente From Principles to Implementation: Some Lessons Learned in the Building of.

Similar presentations


Presentation on theme: "©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente From Principles to Implementation: Some Lessons Learned in the Building of."— Presentation transcript:

1 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente From Principles to Implementation: Some Lessons Learned in the Building of the AMMA Model Engineering Platform Jean Bézivin Jean.Bezivin{noSpamAt}univ-nantes.fr Jean.Bezivin{noSpamAt}univ-nantes.fr ATLAS Group (INRIA & LINA), University of Nantes, France

2 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente Model Driven Engineering ScheduleSchedule –Scope & Applicability –Principles –Deployment (AMMA) CreditsCredits –Modelware –Microsoft –IBM –TNI –Sodifrance

3 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente Technical Space Basic entities System Model repOf System: a group of interacting, interrelated, or interdependent elements forming a complex whole. Model: an abstract representation of a system created for a specific purpose. Technical Space: a representation system for models and a set of technical solutions to handle them.

4 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente The playground sNets, 1990 UML, 1995 today, AMMA MOF, 2000 tomorrow

5 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente Principles, standards and tools Model-Driven Engineering (MDE) MDA™ Model-Driven Architecture (OMG) Eclipse EMF GMF MIC Model Integrated Computing GME Software Factories (MS) Microsoft Visual Studio Team system DSL Tools Other Standards Other Tools Principles Standards Tools

6 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente IBM on MDA : Three complementary ideas 1.Direct representation 2.Automation 3.Standards Direct representation => multiple languages Danger of fragmentation Need coordination How to coordinate? Short answer: metametamodel But what is a metametamodel?

7 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente Agenda Scope

8 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente Introduction The industrial evolution (OMG MDA™, IBM EMF, Microsoft Software Factories) and the MDE trend The need for sound principles (models as first class entities) Technical spaces or why MDE is not sufficient. Multiple Technical Spaces inside MDE EMF?

9 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente The initial move: from Middleware to Modelware

10 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente Latest tentative to define MDA

11 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente Steve Cook (OOPSLA 2004 panel) Suggests that MDA proponents fall into the following three camps: 1.The UML PIM camp: MDA involves the use of UML to build Platform Independent Models (PIMs) which are transformed into Platform Specific Models (PSMs) from which code is generated. 2.The MOF camp: MDA does not involve the use of UML, but instead the crucial technology is MOF, and the definition of modelling languages and language transformations using MOF. 3.The Executable UML camp: MDA involves building a UML compiler, making it a first class programming language. Ref: Steve Cook

12 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente MDA in a nutshell : PSM = f(PIM) - One unique Metametamodel (the MOF) - An important library of compatible Metamodels, each defining a DSL - Each of the models is defined in the language of its unique metamodel M1M1 M2M2 M3M3

13 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente The initial MDA conjecture : PSM = f(PIM) PIMs (Platform Independent Models) PSMs (Platform Specific Models) M Merging phase PDMs (Platform Description Models) ? weaving PSM branch PDM branch PIM branch

14 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente Two missing links in the OMG architecture PSM = f(PIM, PDM) or after currying: PSM = f PDM (PIM) PIM PDMPDM PSMPSM “numeric” values: PDM = DotNet PDM = EJB

15 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente Microsoft Software Factories SDK (Team System) released in late 2004 –First presentation at OOPSLA, Vancouver, Oct –See S. Cook, S. Kent, J. Greenfield and K. Short Blogs Aims to be closer to a metaCASE tool than Eclipse –(however follow GMF Borland) Not UML-based (nor MOF, nor XMI) Models strongly tied to code –Reverse engineering/synchronization –Reliance on Microsoft’s platforms (Visual studio) … Modeling is the future … Bill Gates

16 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente Microsoft is releasing a suite of tools to make it easy to construct graphical designers hosted in Visual Studio for editing domain specific languages (DSL).

17 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente Creating a Petri net DSL Metamodel: a couple of logical and visual definitions

18 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente Creating a Petri net DSL  Mapping on DotNet standard tools (C#, CLS, CLR, etc.)  We are far from the initial OMG PIM/PSM naive separation  However this is really MDE in 2005

19 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente A first attempt to reverse engineer the DSL Metametamodel

20 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente Microsoft DSI (Dynamic System Initiative) March 2005 A system model captures an entire system's composition in terms of all interrelated software and hardware components. A system model captures knowledge as prescriptive configurations and best practices, allowing the effects of changes to the system to be tested before the changes are implemented. Administrators do not need to operate directly on real-world systems but rather can model changes before committing to them. In this way, “what if” scenarios can be tried without impact to a business. A system model becomes the point of coordination and consistency across administrators who have separate but interdependent responsibilities. System Definition Model is a language, or a meta-model, that is used to create models of distributed systems. A distributed system is a set of related software or software and hardware resources running on one or more computers that are working together to accomplish a common function

21 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente The notion of TS (Technology Space) as a tool for collaboration A Technology Space corresponds to: –A uniform representation system Syntactic trees XML trees Sowa graphs UML graphs MOF graphs Categories Graph Grammars –A working context –A set of concepts –A shared knowledge and know how –etc. It is usually related to a given community with an established expertise, know-how and research problems It has a set of associated tools and practices, etc. –Protégé, Rational Rose, … Corba C++ WWW XML documentware etc. RDBMSCorba Ontologies Java Graph Theory MDA Modelware OOBMS Linux Description logic Prolog Semantic WEB Grammarware

22 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente Abstract Syntax Systems Compared MOF The UML meta-Model A Specific UML Model A Specific phenomenon corresponding to a UML Model EBNF Pascal Language Grammar A specific Pascal Program A specific execution of a Pascal program Technology #2 (MOF + OCL) M3M3 M2M2 M1M1 Technology #1 (formal grammars attribute grammars, etc.) etc.

23 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente A technical space is organized around a set of concepts TSpaces may be connected via bridges TSpaces are often similarly organized Program Grammar Data Schema Model Meta-Model Document Schema Ontology Top Level O. Syntax XML MDA DBMS Ontology engineering File FileFormat Drawing Stencil Model Meta-Model ToolFormat Tool Content Form FSMngt XML MDA Visio InfoPath But also…

24 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente Technical Spaces and Working Contexts Technical Spaces –Examples: MDE, MDA, MS/SF, EBNF, XML, DBMS, ontologies, etc. –Conjecture: Each TS is represented by a metametamodel Each TS is organized in a 3 metalevel architecture Working contexts –Local MM specific –Global TS specific, MM independent –Universal Across several TSs (extended MIME notation) –Mof1.4/UML/mymodel –MicrosoftDSL/PetriNet/MyNet –ECORE/PetriNet/MyNet –EBNF/Pascal/MyProg –XML/MusicML/MyMusic –M3/M2/M1

25 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente Models revisited Everything is a model –A -model – meaning any specific TSpace –An XML document is an XML-model –A Java source program is a Java-model –An UML model is a MDA-model –etc. Each TSpace is rooted in a metametamodel (M3) defining a representation scheme and basic type system. Distinguish between intra-space and inter-space operations

26 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente Model transformation across Technical Spaces There is a need for inter-TS model transformation. A TSB TS C TSD TS

27 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente Agenda Applicability

28 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente Some examples of transformations Classical –UML2Java –UML2RDBMS But also tool to tool (more important) –UML Activity Diagrams to MS Project

29 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente The KM3 metamodel (simplified)

30 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente KM3 definition of the KM3 metamodel package KM3 { abstract class ModelElement extends LocatedElement { attribute name : String; reference "package" : Package oppositeOf contents; } class Package extends ModelElement { reference contents[*] ordered container : ModelElement oppositeOf "package"; } class Classifier extends ModelElement {} class DataType extends Classifier {} class Class extends Classifier { attribute isAbstract : Boolean; reference supertypes[*] : Class; reference structuralFeatures[*] ordered container : StructuralFeature oppositeOf owner; } -- continued on next slide NOT XMI (Emfatic-like)

31 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente Java to Excel Transformation (call graph) FirstClass.javaSecondClasss.java public class FirstClass { public void fc_m1(){ } public void fc_m2(){ this.fc_m1(); } public class SecondClass { public void sc_m1(){ FirstClass a = new FirstClass(); a.fc_m1(); } public void sc_m2(){ this.sc_m1(); }

32 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente Java and Table Metamodels

33 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente UMLDI2SVG

34 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente Tool Interoperability Tool interoperability Build a metamodel of each tool Write a transformation Two kinds of Metamodels Data stream oriented Event oriented AMMA ATL AMW AM3 ATP Tool X Tool Y

35 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente Agenda Principles

36 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente What about the stability of MDA? Missing foundations may cause big problems ahead

37 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente Just an academic issue anyway?

38 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente Enter the "metamuddle"

39 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente Model of a model

40 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente The MDA metamuddle A very rapidly growing industrial application field since november 2000, … but … We badly need a unifying theory of models

41 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente Credits and MDA compliance Language engineering Ontology engineering MDE

42 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente The "representation" relation repOf System and System elements Model and Model elements Simple set interpretation of the repOf relation is probably as correct as simple set interpretation of the instanceOf relation in object technology. ?

43 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente the UML MetaModel ClassAttribute * 1 a UML Model Client Name : String The "conformance" relation M2M2 M1M1 the MOF Class Association source destination M3M3 c2 meta metamodel model "the real world" meta-meta model The MOF The UML metamodel Some UML Models Various usages of these models M0M0 M1M1 M2M2 M3M3 meta

44 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente Summary: a Petri Net model Metametamodel Metamodel Model Node Place P1 Place P2 Node Trans Node Link arcPT Link arcTP Trans T1 arcPT arcTP Link inCom Link outGo inCom Link meta outGo inCom outGo inCom conformsTo meta repOf System P2 P1 T1 Classical representation M1 M2 M3

45 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente Metametamodel: XML Schema for XML Schema Metamodel: a Petri Net XML Schema Model: an XML document conformsTo meta repOf System … … … conformsTo P2 P1 T1 Classical representation M1 M2 M3

46 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente Agenda Deployment

47 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente AMMA: A Lightweight Architectural Style for for Generic Model Management Platforms ATLAS Model Management Architecture Build around a minimal set of sound principles Defines the conventions for the various connected tools to interoperate Lightweight : Not reinventing CORBA (Model-based interoperability and not Middelware-based interoperability) Four basic blocks: AMMA ATL AMW AM3 ATP M. Transformation M. Composition M. Global Management Inter TSpaces Bridge

48 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente Atlas Model Management Architecture Modeling in the small –Working at the level of model and metamodel elements Modeling in the large –Working with models and metamodels as global entities, for what they represent, and their mutual relations, independently of their content –A megamodel is a model which elements represents models, metamodels and other global entities (ako model registry with metadata on models and metamodels). A megamodel has a metamodel.

49 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente ATL: a model transformation language, engine and IDE ATL: a MOF/QVT like model transformation language For more info see: nantes.fr/lina/atl/

50 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente G 2 P Rule R 2 B Rule Model Transformation with ATL MaMb MMa Green Node Red Node MMb Blue Node Pink Node Metametamodel Node ATL Rule Node MMa2MMb.atl conformsTo

51 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente ATL editor (part of ATL Integrated Development Environment)

52 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente ATL Development Tools: source-level debugger

53 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente The standard OMG model transformation language ATL is a QVT-like language If QVT is the solution, then what was the problem?

54 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente The Model Weaver: principles OperationPortmapsToOperationType Left MM Weaving MMRight MM Stub MM Weaving model extends c2 - Fixed mapping metamodels are not sufficient - We need support for extensible variable metamodels

55 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente Model –set of elements and associations Associations (intra model relationships) –Model Composition (inter model relationships) Models E1 hasA references E2 E3 Model E1 E2 E3 Model 1 E1 E2 Model 2 isA E3 E4 isA E4 inherits Semantic defined in the metamodel Undefined line semantics

56 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente Metamodel extensions Several possible mapping DSLs (Domain Specific Languages) Adding extra semantics –Concatenation, foreign keys, nested, ordered, equals, containment, supplier/consumer, etc. E1 E2 Model 1 E1 E2 Model 2 E3 E4 Equals Concat String

57 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente AMW example: RDBMS to XML Semantics SQL schema represented in Ecore XML schema represented in Ecore

58 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente Weaving metamodel Visualization (DSL tools and EMF)

59 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente Weaving metamodel Minimal weaving metamodel –links and correspondences –extended to be used in different applications

60 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente AM3: ATLAS MegaModel Management Tool Megamodel: a model with elements corresponding to models, metamodels, services, tools and more generally to any global resource available in the scope of an AMMA session. A registry for model engineering resources as well as a metadata repository Megamodel with different metamodels Megamodels beyond typing systems MM M typeOf MM’ versionOf MM’ extensionOf Tool Service implements Parameter typeOf input output T M intput etc.

61 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente Representing zones with Megamodels ZoneA Megamodel MgA repOf Megamodel Metamodel c2 ZoneB Megamodel MgB repOf c2 Fred ATL Nantes Ivan Mistral Enschede

62 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente Representing zones with Megamodels ZoneA Megamodel MgA repOf ZoneB Megamodel MgB  MgC repOf ZoneC Megamodel Metamodel c2 ZoneBC

63 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente Initial Metamodel Proposal for AMMA Megamodel Components

64 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente Megamodel Resource Navigator for model components Technology Preview

65 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente ATP: TS and projectors TSpace #1 MDA TSpace #2 EBNF TSpace #3 XML TSpace #4 SQL π1π1 π3π3 π2π2 Java Corba SVG NLP, etc. XMI JMI CMI etc. modelmmodelgrammarprogramdocumentXMLschemadataSchemadata ATLAS Technical Projectors MS/Office Simulink Matlab etc.

66 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente Examples of projections from ME to XML and EBNF TSs XML TS ME TS EBNF TS MOF MMa Ma EBNF KM3.g MMa.km3 XSD MMa.xsd Ma.xmi XMI KM3 M3 M2 M1

67 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente Conclusions Transformations are models Weavings (correspondences) are models Megamodels are models (meta-)Models everywhere –A file format –A tool internal data –A Visio stencil –An Infopath Form –An API –etc. Pragmatics of model transformation are important EMF and MS/DSL may be considered as two TSpaces, based on different M3

68 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente Conclusions: AMMA on top of Eclipse and MS/DSL tools Eclipse EMF AMMA Visual Studio Team System AMMA ATL MTF KM3 Emfatic etc.

69 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente How adaptable is MDA? MDA™ already evolved a lot in the last five years. MDA will have to evolve much more rapidly in the near future if OMG wants to meet the real needs of the user community. Strong competition will be coming from other technical spaces like XML, Microsoft DSLs, EMF, etc. End users are no more accepting huge, approximatively defined and committee-driven standards; they are asking for an available, adapted and agile set of small standards similar to XML. If MDA does not evolve rapidly, it will become one small niche in the MDE landscape; it will be quoted as the first historical one; many competing families of model engineering technologies will emerge and develop. What is important is assessing the basic principles of MDE; The decisions of OMG, W3C, OASIS, Microsoft, IBM and others on how to map these principles on implementation frameworks (e.g. Java, C#, XML, etc.) or on paper recommendations is only the responsibility of these organizations; the end user will be the final judge.

70 ©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente Thanks  Questions?  Comments?


Download ppt "©2005 ATLAS Nantes How Adaptable is MDA? CTIT Symposium, University of Twente From Principles to Implementation: Some Lessons Learned in the Building of."

Similar presentations


Ads by Google