1 / 21

Constraint-based Optimizations of Executable UML Models

Research in Progress Report. Constraint-based Optimizations of Executable UML Models. Andrey Karaulov, Alexander Strabykin Institute for System Programming Russian Academy of Sciences. SYRCoSE: Spring Young Researchers Colloquium on Software Engineering

mckennam
Download Presentation

Constraint-based Optimizations of Executable UML Models

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Research in Progress Report Constraint-based Optimizations of Executable UML Models 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

  2. Plan • Introduction • Model Driven Development • Unified Modeling Language • Optimizing transformations properties • Compiler optimization adaptation • Tool support features

  3. Model Driven Development Abstraction C MN M2 M1 … Details

  4. Motivation • 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

  5. Unified Modeling Language • 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

  6. Behavior Specification in UML • Sequence diagram • Activity diagrams • Text in target language • Statemachine diagrams

  7. UML Statemachine Diagram

  8. Optimizations Properties • Behavior preservation • Semantics is tool-dependant • Memory consumption decrease • UML standard does not provide memory managing means • Execution time reduction • Extracting information from constraints

  9. Existing Approaches • 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

  10. Statemachine Execution Time • Overheads • State selection • Update of Message queues • Interactions with Timers

  11. UML Optmizations • Loop related • Number of iteration • Body invariants • Redundancy removal • Dead code • Simplifying expressions • UML specific

  12. Causes for Optimization • Component reuse • Standard protocol implementations • Parameter checks • Generated state machines • User mistakes

  13. Extension Workflow Constraints Analyzer Model Solutions Transformer Constraints_2 Model_2 Transformation Descriptions

  14. Tool Support Features • Transformation description • Metalevel pattern • Constraints • Flexible set of transformation • Transformation history • Constraint resolution explanation

  15. Example (1)

  16. Example (2)

  17. Example (3)

  18. Conclusions • 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

  19. Future Work • Design of new UML-specific optimizations • Formalization of transformations • Implementation of transformations • Evaluation on industry-size projects

  20. Thank you sdt@ispras.ru

More Related