Download presentation
Presentation is loading. Please wait.
Published byLeon Bridges Modified over 9 years ago
1
Integrating Graphical and Textual Modelling Languages Luc Engelen and Mark van den Brand
2
Integrating Metamodel-based and Grammar-based Modelling Languages Luc Engelen and Mark van den Brand
3
/ Software Engineering and Technology PAGE 229-3-2009 Overview 1.Problem description 2.Two approaches 3.Two implementations 4.Case study 5.Advanced applications 6.Conclusions
4
/ Software Engineering and Technology PAGE 329-3-2009 Problem description
5
/ Software Engineering and Technology PAGE 429-3-2009 Extract (M2T)Convert and transform (T2M)Merge (M2M) Two approaches = XMI-representation of model = Metamodel-based model fragment = Metamodel-based model = Grammar-based model fragment Interpret as XMI Rewrite (T2T) Interpret as ‘model’
6
/ Software Engineering and Technology PAGE 529-3-2009 Embedding in a custom language SendSignal Statement: String Embedding a textual language Statement AssignmentMethodCall Textual Embedding the UML
7
/ Software Engineering and Technology PAGE 629-3-2009 Modelware approach Extracting textual fragments Merging models and fragments of models
8
/ Software Engineering and Technology PAGE 729-3-2009 Modelware approach Convert and transform LS ::= S { “;” S } S ::= “stat” LS SCF source target
9
/ Software Engineering and Technology PAGE 829-3-2009 Modelware approach Convert and transform LS ::= S { “;” S } S ::= “stat” LS SCF source target stat; stat; stat s: S list: LS f:CF
10
/ Software Engineering and Technology PAGE 929-3-2009 Modelware approach Convert and transform LS ::= S { “;” S } S ::= “stat” LS SCF source target stat; stat; stat s: S list: LS
11
/ Software Engineering and Technology PAGE 1029-3-2009 Modelware approach Convert and transform LS ::= S { “;” S } S ::= “stat” stat; stat; stat s: S list: LS s: S LS S s: S list: LS T2MM2M LS SCF source target
12
/ Software Engineering and Technology PAGE 1129-3-2009 Grammarware approach Rewriting behavior{ a := n(a) } Class2Id[(A, _id1), …] Attribute2Id[(A, a, _id2, _id3), …] Operation2Id[A, n, _id4), …] Textual fragments use names, XMI uses Identifiers
13
/ Software Engineering and Technology PAGE 1229-3-2009 Grammarware approach T( A “:=” B ) → T(B) T(A) T( “false” ) →
14
/ Software Engineering and Technology PAGE 1329-3-2009 Two implementations Modelware Xpand for T2M Xtext for M2T Xtend for M2M All from the openArchitectureWare platform for eclipse Grammarware SDF for the grammars −XMI grammar off the shelf −Custom grammars for the fragments ASF for the T2T transformation
15
/ Software Engineering and Technology PAGE 1429-3-2009 Case study
16
/ Software Engineering and Technology PAGE 1529-3-2009 Case study
17
/ Software Engineering and Technology PAGE 1629-3-2009 Observations Modelling in eclipse Diagrams Simple textual models Structure editing Our approaches add Embedding of textual fragments in metamodel based models Modelware Restricted to LL(*) grammar Straightforward mapping from grammar to metamodel Grammarware Forces switching between environments Deals with plain XMI −Tool-specific −Low level of abstraction
18
/ Software Engineering and Technology PAGE 1729-3-2009 Advanced applications behavior{ a := m(a) } Method “m” not found in class “A”
19
/ Software Engineering and Technology PAGE 1829-3-2009 Conclusions Embedding grammar-based languages in metamodel-based languages Two approaches −Modelware −Grammarware Two implementations Case study: textual alternative for UML activity diagrams
20
/ Software Engineering and Technology PAGE 1929-3-2009 Conclusions Grammarware approach and implementation Flexible grammar definitions Dealing with XMI Modelware approach and implementation Only one modelling environment Conversion and transformation in two steps
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.