Take control of your SAP testing with UiPath Test Suite
Challenges for advanced domain-specific frameworks
1. Challenges for advanced
g
domain-specific modeling
frameworks
István Ráth
Dániel Varró
Department of Measurement and Information Systems
Budapest University of Technology and Economics
2. Aspects of language
p g g
engineering
Concrete Modeling
syntax
Abstract
Constraints
syntax
Dynamic Trans- Model
semantics formations transformation
3. ViatraDSM
Vi t DSM
• Integrated modeling and simulation framework
– integrated: learn one approach for all aspects
– modeling: graphical domain-specific editors
domain specific
– simulation: editing-time interactive model simulation
• B d on VIATRA2 and Eclipse
Based d E li
– Using the Graphical Editing Framework (GEF)
5. Domain integration:
g
Multi-domain modeling
Domain A Domain B
<<A>>
<<A,B>> <<B>>
Multi-domain models
6. Multi-domain modeling
M lti d i d li g
• How to do it? DSM Core
metamodel
– Light-weight approaches
• Model-level tagging
• M t
Metamodel-levell
d ll Domain A Domain B
stereotyping metamodel metamodel
– „Heavyweight” approach
„Heavyweight
• Model transformation {explicit}
Domain A Domain B
models models
Mapped
models Transformation
7. Multi-domain editors
M lti d i dit
• How to do it?
– Light-weight approaches
• Model-level tagging
• M t
Metamodel-levell
d ll
stereotyping
– „Heavyweight” approach
„Heavyweight
Show only relevant
attributesModel transformation
•
Problem: differences
in structure
Solution:
transformations!
9. Separating abstract and
p g
concrete syntax
• What?
Abstract Concrete
– concrete syntax ≈ di
t t diagrams syntax syntax
– abstract syntax ≈ logical model
• Why? Test : Class Test
– reduce complexity (for the user…) ID : Attribute
– more possibilities
ID: id0
(for the language engineer) “id0” :String
10. Objectives
Obj ti
• Arbitrary mapping
– abstraction – di
diagram-specific elements
ifi l t
– aggregation – decorators
Logical model Diagram
h0
p0 : Place
:token :token :token 3
t0:Token t1:Token t2:Token
11. Architecture
A hit t
Diagram editing Model editing
Eclipse/GEF Tree view
Plugin
g
View classes
Bi-directional
Diagram model Logical model
mapping
VIATRA2 modelspace Transformations
12. Proposal
P l
• Bi-directional mapping
– goal: arbitrary mapping
– means: metamodeling + model transformations
Logical model Diagram model Diagram
:model
p0 : Place _p0 : PlaceFigure h0
:token :token :token :property
3
t0:Token t1:Token t2:Token tokenCount
:Property
13. Separating abstract and
p g
concrete syntax
• Implementation
– on the model level
• the user decides what to show
• most tools support it
– on the metamodel level
• the language engineer defines diagrams
– uses a separate modeling layer for graphical representation
• new approach!
17. Integrated
I t g t d model simulation
d l i l ti
• Why?
– constructing new languages: no existing tool support
– existing languages: insufficient tool support
– ”model generate test” see changes
instantly
• faster development
• Wh t to simulate?
What t i l t ?
– Translator: execute generated code
g
– Interpreter: direct model manipulation
18. Integrated
I t g t d model simulation
d l i l ti
• Definition of model simulators
– VIATRA2 transformations
• Guided (interactive) simulation
( )
• Automatic simulation
– declarative semantics: graph patterns
– imperative semantics: abstract state machines
– VTCL Viatra Textuall Controll Language
VTCL: Vi t T t C t L
• high abstraction level DSL
19. Integrated
I t g t d model simulation
d l i l ti
• Graph patterns
Definition of model simulators
– precondition
VIATRA2 transformations
• Guided (interactive) simulation
( )
P Tr P
P’
• Automatic simulation
p
postcondition
– declarative semantics: graph patterns
Tk P Tr P’
– imperative semantics: abstract state machines
– VTCL Viatra Textuall Controll Language
VTCL: Vi t T t C t L
• high abstraction level DSL
Tk
22. Summary
• ViatraDSM
– integated language engineering environment
• Separation of abstract and concrete syntax
• Integrated interactive model simulation
http://eclipse.org/GMT
http://eclipse org/GMT
(
(VIATRA2 feature)
ea u e)