specification of uml model transformations phd student : shekoufeh kolahdouz rahimi...
TRANSCRIPT
Specification of UML Model TransformationsPhD Student : Shekoufeh Kolahdouz [email protected]
Supervisors : Dr Kevin Lano, Dr Iman Hafiz [email protected] , [email protected]
Introduction to Model Transformation
Different Issues In Model Transformation
Specification Techniques for MT
Different styles for MT
Different approaches for MT
3
Case Studies
4
Slicing of State Machines
Quality of Service Requirements
S<syn C ^ S= sem
CUML+QoS
MDAtransforma
tion
MDAtransforma
tion
Code that adapts to meet
QoS
PIM
PSM
The UML-RSDS ApproachHybrid
UML+OCL
UML2WEB
Transformation Rules
http://www.dcs.kcl.ac.uk/staff/kcl/uml2web
6
IntroducePrimaryKey( c : UMLClass )
pre:
post:
c.stereotypeNames includes(“persistent") c.ownedAttribute.stereotypeNames excludes(“identity") c.feature.name excludes(c.name + “Id")
c.stereotypeNames includes(“persistent") c.ownedAttribute.stereotypeNames excludes(“identity") c.feature.name excludes(c.name + “Id")
a : Property a.oclIsNew() s : Stereotype s.oclIsNew() a.name = c.name + “Id“ s.name = “identity" a.stereotypeNames = Set { s } c.ownedAttribute = (c.ownedAttribute)@pre including( a ) a.type = IntegerType
a : Property a.oclIsNew() s : Stereotype s.oclIsNew() a.name = c.name + “Id“ s.name = “identity" a.stereotypeNames = Set { s } c.ownedAttribute = (c.ownedAttribute)@pre including( a ) a.type = IntegerType
Simple Transformation Rule
UMLClassProperty
Type
StereotypeElement
Name: String
feature
*ownedAttribute
*{subset feature}
classifier
*
stereotypes
*
TransformationRules
Introduceprimarykey(c:UMLClass)
1
type
*
StateMachine
7
Future Work
Approach Modularity Validation Verification Implementation
Pure relational
OCL checker Translation to BTransformation to Java(incomplete)
UML-RSDSclasses
Inspection/OCL checker
Translation to BCode synthesis(incomplete)
QVT rulesInspection/OCL checker
Translation to proof tool
Interpreter
Kermeta classes By execution Already executable
Graph Transformations
rules OCL checkerTranslation to proof tool
Produce Imperative version
9
Questions?