Andrey Karaulov, Alexander Strabykin Institute for System Programming Russian Academy of Sciences SYRCoSE: Spring Young Researchers Colloquium on Software Engineering May 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 M1M1 MNMN C M2M2 …
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
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 Overheads State selection Update of Message queues Interactions with Timers
SYRCoSE 2009 Compiler Optimizations (44) Applicable to UML models (32) Loop related (7) Not related to Loops (25) Redundancy removal (13) Replacement (12) Not applicable to UML (12)
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 Constraints Model 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
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 you