Irina Rychkova. 9/20061 Systemic approach towards model definition Model transformation semantics.

Slides:



Advertisements
Similar presentations
Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
Advertisements

Component Oriented Programming 1 Chapter 2 Theory of Components.
ICE1341 Programming Languages Spring 2005 Lecture #6 Lecture #6 In-Young Ko iko.AT. icu.ac.kr iko.AT. icu.ac.kr Information and Communications University.
Abstraction and Modular Reasoning for the Verification of Software Corina Pasareanu NASA Ames Research Center.
Translator Architecture Code Generator ParserTokenizer string of characters (source code) string of tokens abstract program string of integers (object.
A survey of techniques for precise program slicing Komondoor V. Raghavan Indian Institute of Science, Bangalore.
Background information Formal verification methods based on theorem proving techniques and model­checking –to prove the absence of errors (in the formal.
ISBN Chapter 3 Describing Syntax and Semantics.
1 Semantic Description of Programming languages. 2 Static versus Dynamic Semantics n Static Semantics represents legal forms of programs that cannot be.
CS 355 – Programming Languages
Feb 2003 R McFadyen1 Contracts (Ch 13) Used to help understand requirements more completely based on assertions; assertions are applicable to any.
Formal Methods of Systems Specification Logical Specification of Hard- and Software Prof. Dr. Holger Schlingloff Institut für Informatik der.
Communication Notation Part V Chapter 15, 16, 18 and 19.
NJIT Use Case Model Operation Contracts Prepared By: Sumit Sharma.
CS 330 Programming Languages 09 / 18 / 2007 Instructor: Michael Eckmann.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
A Formal Foundation Supporting MDD --- ZOOM Approach Hongming Liu Lizhang Qin 11/08/2003.
PSUCS322 HM 1 Languages and Compiler Design II Formal Semantics Material provided by Prof. Jingke Li Stolen with pride and modified by Herb Mayer PSU Spring.
CS 290C: Formal Models for Web Software Lecture 6: Model Driven Development for Web Software with WebML Instructor: Tevfik Bultan.
1 Irina Rychkova Alain Wegmann Laboratory of Systemic Modeling Ecole Polytechnique Fédérale de Lausanne A method for functional alignment verification.
Describing Syntax and Semantics
Mining Metamodels From Instance Models: The MARS System Faizan Javed Department of Computer & Information Sciences, University of Alabama at Birmingham.
C++ fundamentals.
CSC 8310 Programming Languages Meeting 2 September 2/3, 2014.
Romaric GUILLERM Hamid DEMMOU LAAS-CNRS Nabil SADOU SUPELEC/IETR.
Ranga Rodrigo. Class is central to object oriented programming.
OOPSLA 2003 DSM Workshop Diagram Definition Facilities Based on Metamodel Mappings Edgars Celms, Audris Kalnins, Lelde Lace University of Latvia, IMCS,
MDA and QVT  Tom Gullion, Director of Product Management, Together Products.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 9, Object Design: Specifying Interfaces.
Introduction to MDA (Model Driven Architecture) CYT.
Analyzing the Requirements with Formal Specifications Vienna Development Method Specification Language (VDM-SL) Book: Formal Software Development From.
Chapter 5 Class Design. The Deliverables of the Class Design Process Class diagrams are further refined in this phase of development Object diagrams are.
Agenda 1. Introduction 2. Overview of SU-MoVal 3. OCL-based Model Validation 4. QVT-based Transformations 5. Demo of SU-MoVal 6. Conclusion and Future.
Formalizing the Asynchronous Evolution of Architecture Patterns Workshop on Self-Organizing Software Architectures (SOAR’09) September 14 th 2009 – Cambrige.
SOEN 343 Software Design Section H Fall 2006 Dr Greg Butler
Validated Model Transformation Tihamér Levendovszky Budapest University of Technology and Economics Department of Automation and Applied Informatics Applied.
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
Conceptual Modelling – Behaviour
ISBN Chapter 3 Describing Semantics -Attribute Grammars -Dynamic Semantics.
1 Introduction to Software Engineering Lecture 1.
1 OCL The Role of OCL in UML. 2 רשימת הנושאים  מבוא  מרכיבי השפה  דוגמאות  מקורות.
Designing Classes Prelude © 2015 Pearson Education, Inc., Upper Saddle River, NJ. All rights reserved. Data Structures and Abstractions with Java, 4e Frank.
Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
ISBN Chapter 3 Describing Semantics.
Chapter 3 Part II Describing Syntax and Semantics.
Programming Languages and Design Lecture 3 Semantic Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
COMP 6471 Software Design Methodologies Winter 2006 Dr Greg Butler
Ch- 8. Class Diagrams Class diagrams are the most common diagram found in modeling object- oriented systems. Class diagrams are important not only for.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Chapter 10: Classes and Data Abstraction. Objectives In this chapter, you will: Learn about classes Learn about private, protected, and public members.
MDA & RM-ODP. Why? Warehouses, factories, and supply chains are examples of distributed systems that can be thought of in terms of objects They are all.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Object-Oriented Parsing and Transformation Kenneth Baclawski Northeastern University Scott A. DeLoach Air Force Institute of Technology Mieczyslaw Kokar.
PROGRAMMING PRE- AND POSTCONDITIONS, INVARIANTS AND METHOD CONTRACTS B MODULE 2: SOFTWARE SYSTEMS 13 NOVEMBER 2013.
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.
Chapter 10: Classes and Data Abstraction. Classes Object-oriented design (OOD): a problem solving methodology Objects: components of a solution Class:
72 4/11/98 CSE 143 Abstract Data Types [Sections , ]
CEN th Lecture Advance Software Engineering (CEN-5011) Instructor: Masoud Sadjadi Object Design: Specifying.
JavaScript Introduction and Background. 2 Web languages Three formal languages HTML JavaScript CSS Three different tasks Document description Client-side.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Object Design More Design Patterns Object Constraint Language Object Design Specifying Interfaces Review Exam 2 CEN 4010 Class 18 – 11/03.
1 Model Driven Health Tools Design and Implementation of CDA Templates Dave Carlson Contractor to CHIO
© 2009 Artisan Software Tools. All rights reserved. Testing Solutions with UML/SysML Andrew Stuart, Matthew Hause.
Comparison of ZOOM with other Formal Methodologies Hsiu-Chien Jing SE690 Initial Presentation School of CTI, DePaul University Supervised by Dr. Jia October,
Used to help understand requirements more completely
Business Process Measures
Chapter 10: Process Implementation with Executable Models
Slides by Steve Armstrong LeTourneau University Longview, TX
Software Architecture & Design
Presentation transcript:

Irina Rychkova. 9/20061 Systemic approach towards model definition Model transformation semantics

Irina Rychkova. 9/20062 Motivation 2 ways of model representation:  Action centric (UML activity diagrams, BPMN..)  Data centric (UML class diagrams) Our observation:  Data structure and behavior are loosely-coupled  Model of data structure is not related to the model of behavior  Model of behavior implicitly related with the model of data structure via constraints  Semantic of model transformation is not clear  Example: Within one model of the workflow information about objects is hidden inside the actions… Systemic approach  System thinking puts emphasis to the integration of 2 aspects within one model  Definition of behavior as a state change  Re-definition of property explicitly affects behavior  Re-definition of behavior explicitly affects property

Irina Rychkova. 9/20063 Solution Part I  Relation semantics Behavior-Property relations Property-Property relations  Semantics of Model transformation Refinement Composition Part II  Types vs. instances: Instance information embedded to relations  AsmL operational semantics Automated model translation to AsmL Simulation On-going:  Automated model verification using asmlt

Irina Rychkova. 9/20064 Cinema WebSite Example Cinema X develops a web site to provide clients with new services: A Booking tickets service enables tickets reservation via internet. To book tickets a client has to log in on the web site. If logged in, the client can add reservations for a movie of his/her choice to a virtual cart. The movie can be chosen from an agenda - the movie list. The web site has to control a number of places (seats) available for every movie. Booking tickets finishes when the client commits and logs out.

Irina Rychkova. 9/20065 “Rectangular” vs. “Circular” community Action - centric view Data - centric view

Irina Rychkova. 9/20066 Systemic approach 1/3 Integration of structural and behavioral aspects within a model

Irina Rychkova. 9/20067 Systemic approach 2/3 1. Environment and Boundary 2. Context 3. Behavior-Property* relations 4. Stateless and Statefull properties *Here we use the term “property” to reason about information objects presented in the system rather then a commonly used term “structure”. The latter can be used to define both “data structure” and “structure of behavior” and need to be specified.

Irina Rychkova. 9/20068 Systemic approach 3/3 Boundary: A border between the system (a “Hollon”) and its environment. Environment (of an object): The part of the model which is not the part of that object. [RM-ODP] Context (modeling context): A scope of interests for a given model. Model elements (properties, behaviors, relations) can be specified as relevant or irrelevant to a given context. LifeCycle context is a global context for any system. Context can be defined by the hollon and its behavior of interest.

Irina Rychkova. 9/20069 Property Statefull property: a property who’s instance state can be directly obtained and interpreted as a value of one of the standard operational types*. Stateless property: a property who’s instance state is not defined and can be expressed only indirectly, via states of related properties (attributes). * Standard operational type: here, Integer, String, Char, Long, Double, Boolean.

Irina Rychkova. 9/ Part I: Semantic definition for relations

Irina Rychkova. 9/ Relating Behavior to Data Structure UML: OCL constraints SEAM:  Property-Property relations;  Behavior-Property relations;  Action-Action relations

Irina Rychkova. 9/ Property-Property relations Exhibit relation: relation between a stateless property (the owner) seen as atomic and its attribute (in general also can be a stateless property) that characterizes the property at a given abstraction level. Composition relation Association relation: |

Irina Rychkova. 9/ Behavior- Property relations Behavior-property relation: 1. A model element that expresses a semantic relation between action and property; specifies behavior effect in terms of state change 2. The way to define a) a precondition, b) an emergent property or c) a postcondition for an action.

Irina Rychkova. 9/ Behavior- Property relations: Precondition System preconditions (PreS) define predicates in terms of system variables obtained as a result of a previous system activity. Environment preconditions (PreEnv) define predicates in terms of parameters, provided by the environment via events.

Irina Rychkova. 9/ Behavior- Property relations: Emergent property A predicate that specifies the action termination. (true- false, ok-error, etc). Based on the Emergent property, action effect can be chosen. In general case an emergent property might have more then 2 values. |

Irina Rychkova. 9/ Behavior- Property relations: Postcondition System postcondition (PostS) specifies the action effect hidden from the environment. Environment postcondition (PostEnv) specifies the action effect and the way to make it visible and/or accessible for the environment (events declaration etc). | [ ] This =

Irina Rychkova. 9/ Action-Action relations UML BPMN

Irina Rychkova. 9/ Model transformation Semantics for model transformations:  Refinement  Composition

Irina Rychkova. 9/ Refinement 1/3 ? Class redefinition: ClientAccountList How it affects the definition of BookingTicket action?

Irina Rychkova. 9/ Refinement 2/3 ClientAccountList redefined → BookingTickets must : 1. choose the ONE client out of the list 2. modify the reservation list of this client 3. Accept corresponding parameters from environment

Irina Rychkova. 9/ Refinement 3/3 BookingTickets redefined → 1. Relations to properties must be redistributed between component actions 2. Emergent property required 3. Communication with environment needs revision

Irina Rychkova. 9/ Semantically safe transformations Binding expressions: cList.nClients = cList’.size()

Irina Rychkova. 9/ Benefits Semantically rich models Explicit Behavior-changes-state notation Simulation possible

Irina Rychkova. 9/ Part II Application

Irina Rychkova. 9/ Types vs. Instances Instance information is embedded into the model:  Property-Property relation links instances (ordered sets of instances in case of * cardinality)  Behavior-Property relation defines an operation via instances  Binding using instance names Values:  For every statefull property its initial state predefined

Irina Rychkova. 9/ SEAM – AsmL translator AsmL – abstract model specification language with environment for simulation and testing

Irina Rychkova. 9/ Tool for automated code generation AsmL model (Code asml) SEAM meta-model ASML meta-model SEAM model Translator Java Transformation

Irina Rychkova. 9/ Translation/Transformation Transformation 1:  From Graphical SEAM (XML) to SEAM abstract syntax tree (AST). Specification of the Model_Of_Interest  Hollon  Behavior of Interest  Level of Details Transformation 2:  From SEAM AST to AsmL AST Printing out AsmL AST to the file, executable by AsmL tool.

Irina Rychkova. 9/ Benefits Verification of refinement “on the fly” Correct by construction models

Irina Rychkova. 9/ Future work Refinement verification using Asmlt. Expressions in SEAM likely to be written in some platform-neutral language (currently written in AsmL) with the possibility to parse and translate to many platforms (asml, ocl, java, scala..) for further verification and/or simulation Semantic bindings for model refinement are detected by the translation tool however cannot be defined automatically  Automated analysis of Expression refinement together with Property ans Behavior refinement is required  QVT?

Irina Rychkova. 9/ Presentation structure Theoretical problem:  There are 2 ways to look at the world – rectangular and circular.  In modeling 2 semantics exist: Actions within activity and processes Objects within data structure  Structure and Behavior are loosely-coupled. Practical problem:  Within one model of the workflow information about objects is hidden inside the actions… Theoretical Solution:  System thinking puts emphasis to the integration of these 2 aspects within one model.  If both aspects are visible on the same model -> Definition of behavior as a state change Re-definition of property explicitly affects behavior Re-definition of behavior explicitly affects property Practical solution:  Semantic relations between behavior and structure. Impact:  Semantic of model transformation  Verification