Andrey Karaulov, Alexander Strabykin Institute for System Programming Russian Academy of Sciences SYRCoSE: Spring Young Researchers Colloquium on Software.

Slides:



Advertisements
Similar presentations
Chapter 2: Software Process
Advertisements

Model Driven Generative Programming Reza Azimi February 6, 2003 ECE1770: Trends in Middleware Systems.
8. Code Generation. Generate executable code for a target machine that is a faithful representation of the semantics of the source code Depends not only.
Multi-Mode Survey Management An Approach to Addressing its Challenges
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Chapter 22 UML Tooks and UML as Blueprint Model-Driven Architecture (MDA) Object-Constraint Language (OCL)
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Automated creation of verification models for C-programs Yury Yusupov Saint-Petersburg State Polytechnic University The Second Spring Young Researchers.
Formal Methods of Systems Specification Logical Specification of Hard- and Software Prof. Dr. Holger Schlingloff Institut für Informatik der.
Uml and Use Cases CS 414, Software Engineering I Mark Ardis Rose-Hulman Institute January 9, 2003.
NJIT Use Case Model Operation Contracts Prepared By: Sumit Sharma.
Describing Syntax and Semantics
1 Scenario-based Analysis of UML Design Class Models Lijun Yu October 4th, 2010 Oslo, Norway.
Generative Programming. Generic vs Generative Generic Programming focuses on representing families of domain concepts Generic Programming focuses on representing.
© 2008 IBM Corporation Behavioral Models for Software Development Andrei Kirshin, Dolev Dotan, Alan Hartman January 2008.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
SCHOOL OF COMPUTING QUEEN’S UNIVERSITY 08/03/2013 Andrew Forward, Omar Badreddin, Timothy C. Lethbridge, and Julian Solano School of Electrical Engineering.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Principles of Object Technology Module 1: Principles of Modeling.
UML - Development Process 1 Software Development Process Using UML (2)
ICT Management page 1MBA BORM - BORM © - Business Object Relation Modeling Know-How Fund of British Council, ČVUT v Praze, ČZU Praha,
An Introduction to MBT  what, why and when 张 坚
Parser-Driven Games Tool programming © Allan C. Milne Abertay University v
1 5/18/2007ã 2007, Spencer Rugaber Software Architecture (Informal Definition) The organization of a system into component subsystems or modules Box and.
Verification and Test Automation of UML Projects Nikita Voinov, Vsevolod Kotlyarov (Saint-Petersburg State Polytechnic University) The Third Spring Young.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Information System Development Courses Figure: ISD Course Structure.
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Composition of UML Described Refactoring Rules Presented by Chin-Yi Tsai.
Systems Analysis and Design in a Changing World, 3rd Edition
Correctness of Software Models Mira Balaban, Azzam Maraee Computer Science Department Ben-Gurion University Model correctnessFall
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
Verification of behavioural elements of UML models using B Truong, Ninh-Thuan and Souquieres, Jeanine In Proceedings of the 2005 ACM Symposium on.
Chapter 5: Software Re-Engineering Omar Meqdadi SE 3860 Lecture 5 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Compiler Construction (CS-636)
Compiler Introduction 1 Kavita Patel. Outlines 2  1.1 What Do Compilers Do?  1.2 The Structure of a Compiler  1.3 Compilation Process  1.4 Phases.
Chapter 1: Introduction 1 Compiler Designs and Constructions Chapter 1: Introduction Objectives: Course Objectives Introduction Dr. Mohsen Chitsaz.
ISP RAS Java Specification Extension for Automated Test Development Igor B. Bourdonov, Alexei V. Demakov, Andrei A. Jarov, Alexander S. Kossatchev, Victor.
UniTesK Test Suite Architecture Igor Bourdonov Alexander Kossatchev Victor Kuliamin Alexander Petrenko.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 Extracting Sequence.
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
Formal Methods in Software Engineering1 Today’s Agenda  Mailing list  Syllabus  Introduction.
UML Profile BY RAEF MOUSHEIMISH. Background Model is a description of system or part of a system using well- defined language. Model is a description.
CASE Tools CSC 532 : Advance Topics CSC 532 : Advance Topics Software Engineering Software Engineering Dr. box Dr. box Moayad Almohaishi Moayad Almohaishi.
CS223: Software Engineering
Class Diagrams. Terms and Concepts A class diagram is a diagram that shows a set of classes, interfaces, and collaborations and their relationships.
UniTesK Test Suite Architecture Igor Bourdonov Alexander Kossatchev Victor Kuliamin Alexander Petrenko.
Object-Oriented Software Engineering Practical Software Development using UML and Java Modelling with Classes.
Design and implementation Chapter 7 – Lecture 1. Design and implementation Software design and implementation is the stage in the software engineering.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Parallelizing Functional Tests for Computer Systems Using Distributed Graph Exploration Alexey Demakov, Alexander Kamkin, and Alexander Sortov
ARCH-06 Redesign & Harvest Mike Ormerod - Architect Christian Stiller - Senior Consultant Applied Technology Group.
ECE 750 Topic 8 Meta-programming languages, systems, and applications Automatic Program Specialization for J ava – U. P. Schultz, J. L. Lawall, C. Consel.
Object Oriented Analysis & Design By Rashid Mahmood.
Introduction to UML.
Advanced Computer Systems
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Unified Modeling Language
Introduction to UML: Unified Modeling Language
Behavioral Models for Software Development
Systems Analysis Overview.
Introduction to UML.
Chapter 20 Object-Oriented Analysis and Design
Engineering design is the process of devising a system, component, or process to meet desired needs. It is a decision-making process in which the basic.
Department of Computer Science Abdul Wali Khan University Mardan
Presentation transcript:

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