andrey karaulov, alexander strabykin institute for system programming russian academy of sciences...
DESCRIPTION
SYRCoSE 2009 Details Abstraction M1M1 MNMN C M2M2 …TRANSCRIPT
Andrey Karaulov, Alexander Strabykin
Institute for System ProgrammingRussian Academy of Sciences
SYRCoSE: Spring Young Researchers Colloquium on Software EngineeringMay 28-29, 2009, Higher School of Economics, Moscow, Russian Federation
Research in Progress Report
SYRCoSE 2009
Introduction◦ Model Driven Development◦ Unified Modeling Language
Optimizing transformations properties Compiler optimization adaptation Tool support features
SYRCoSE 2009
Details
Abstraction
M1 MN CM2 …
SYRCoSE 2009
Complex systems have complex models Models are the only artifacts to interact with Shift of activities to model level Problems with editing generated code
Need for optimization on model level
SYRCoSE 2009
Allows specification of the system from all the points related to software lifecycle
Most popular universal modeling language Widely supported by modeling tools
Contains Object Constraint Language (OCL)◦ Pre/post conditions◦ Invariants
SYRCoSE 2009
Sequence diagram
Activity diagrams
Text in target language
Statemachine diagrams
SYRCoSE 2009
statemachine Laptop :: initialize
State machine diagram1 {1/ 1}
Working
Battery_OK
[AC_Plugged == false][AC_Plugged == false]
Working
[true]/ ^DisplayMsg("AC Off");time = GetBatteryTime();DisplayTime(time);
[true]/ ^DisplayMsg("AC Off");time = GetBatteryTime();DisplayTime(time);
[false] / Beep();^DisplayMsg("I nsert battery!");[false] / Beep();^DisplayMsg("I nsert battery!");
Integer time;
SYRCoSE 2009
Behavior preservation◦ Semantics is tool-dependant
Memory consumption decrease◦ UML standard does not provide memory
managing means Execution time reduction
Extracting information from constraints
SYRCoSE 2009
Refactoring◦ Shift to model level◦ Different goal
Automata minimization◦ Complicated by UML semantics
General UML model transformation◦ Stronger tool support◦ Lack of constraint support
Compiler optimization◦ Visible to users
SYRCoSE 2009
oa TT totalT
Actionsa
a atT )(
Overheadso
o otT )(Overheads State selection Update of Message
queues Interactions with
Timers
SYRCoSE 2009
SYRCoSE 2009
Loop related◦ Number of iteration◦ Body invariants
Redundancy removal◦ Dead code◦ Simplifying expressions
UML specific
SYRCoSE 2009
Component reuse◦Standard protocol implementations◦Parameter checks
Generated state machines
User mistakes
SYRCoSE 2009
Analyzer
Solutions
Transformer
Model_2
Constraints_2
Transformation
Descriptions
SYRCoSE 2009
Transformation description◦ Metalevel pattern◦ Constraints
Flexible set of transformation Transformation history
Constraint resolution explanation
SYRCoSE 2009
package Computer_Model Class diagram1 {1/ 1}
LaptopBattery_OK : BooleanAC_Plugged : BooleanBeep()GetBatteryTime() : Integer
{}invariant:Battery_OK or AC_Plugged
<<signal>>DisplayMsg
msg :String
<<signal>>DisplayTimetime : Integer
SYRCoSE 2009
statemachine Laptop :: initialize
State machine diagram1 {1/ 1}
Working
Battery_OK
[AC_Plugged == false][AC_Plugged == false]
Working
[true]/ ^DisplayMsg("AC Off");time = GetBatteryTime();DisplayTime(time);
[true]/ ^DisplayMsg("AC Off");time = GetBatteryTime();DisplayTime(time);
[false] / Beep();^DisplayMsg("I nsert battery!");[false] / Beep();^DisplayMsg("I nsert battery!");
Integer time;
SYRCoSE 2009
statemachine Laptop :: initialize
State machine diagram1 {1/ 1}
Working
[AC_Plugged == false]/^DisplayMsg("AC Off");time = GetBatteryTime();DisplayTime(time);
[AC_Plugged == false]/^DisplayMsg("AC Off");time = GetBatteryTime();DisplayTime(time);
Working
Integer time;
SYRCoSE 2009
MDD support causes the need for optimizations of executable UML models
Existing tools and approaches cannot handle optimizations and constraint analysis
A part of compiler optimizations can be adapted to UML
New transformations should be created and implemented
SYRCoSE 2009
Design of new UML-specific optimizations
Formalization of transformations
Implementation of transformations
Evaluation on industry-size projects
SYRCoSE 2009
Thank youThank [email protected]