1 “UML compilation” A more formal approach for SysML 2.0 OMG SE DSIG – SysML roadmap meeting Cambridge MA - Sep 24, 2015 Yves BERNARD.

Slides:



Advertisements
Similar presentations
Issue 134 Metamodel for OWL 2 Peter Haase, Elisa Kendall, Boris Motik, Evan Wallace.
Advertisements

Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
Design by Contract.
Model Driven Generative Programming Reza Azimi February 6, 2003 ECE1770: Trends in Middleware Systems.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
CS 355 – Programming Languages
Model-Based Programming: Executable UML with Sequence Diagrams By Ruben Campos Cal State L.A. Computer Science Thesis Work Spring 2007.
C. Varela; Adapted w/permission from S. Haridi and P. Van Roy1 Declarative Computation Model Defining practical programming languages Carlos Varela RPI.
Aalborg Media Lab 21-Jun-15 Software Design Lecture 1 “ Introduction to Java and OOP”
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
HAS. Patterns The use of patterns is essentially the reuse of well established good ideas. A pattern is a named well understood good solution to a common.
Describing Syntax and Semantics
Meaningful Modeling: What’s the Semantics of “Semantics”? David Harel, Weizmann Institute of Science Bernhard Rumpe, Technische Universität Braunschweig.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
BPM based robust e-business application development.
Romaric GUILLERM Hamid DEMMOU LAAS-CNRS Nabil SADOU SUPELEC/IETR.
OOPSLA 2003 DSM Workshop Diagram Definition Facilities Based on Metamodel Mappings Edgars Celms, Audris Kalnins, Lelde Lace University of Latvia, IMCS,
Ontology Development Kenneth Baclawski Northeastern University Harvard Medical School.
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
MDA and QVT  Tom Gullion, Director of Product Management, Together Products.
Alignment of ATL and QVT © 2006 ATLAS Nantes Alignment of ATL and QVT Ivan Kurtev ATLAS group, INRIA & University of Nantes, France
Design Pattern Interpreter By Swathi Polusani. What is an Interpreter? The Interpreter pattern describes how to define a grammar for simple languages,
Validated Model Transformation Tihamér Levendovszky Budapest University of Technology and Economics Department of Automation and Applied Informatics Applied.
SaveUML System design. System overview Possible...
RTAS 2003 Workshop on Model-Driven Embedded Systems Washington, D.C., May 27-30, 2003 Juan Pablo Zamora Zapata Francis Bordeleau Defining UML Profiles.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
ISBN Chapter 3 Describing Semantics -Attribute Grammars -Dynamic Semantics.
A language to describe software texture in abstract design models and implementation.
On the Role of Abstract Platform in Model Driven Development* Marten van Sinderen Centre for Telematics and Information Technology, University of Twente,
Dr. Darius Silingas | No Magic, Inc. Domain-Specific Profiles for Your UML Tool Building DSL Environments with MagicDraw UML.
Verification of behavioural elements of UML models using B Truong, Ninh-Thuan and Souquieres, Jeanine In Proceedings of the 2005 ACM Symposium on.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.
Week III  Recap from Last Week Review Classes Review Domain Model for EU-Bid & EU-Lease Aggregation Example (Reservation) Attribute Properties.
3.2 Semantics. 2 Semantics Attribute Grammars The Meanings of Programs: Semantics Sebesta Chapter 3.
Semantics In Text: Chapter 3.
Future Work  Formal specification of modeling language semantic is key issue  Reliance on well-established formal models of computation (i.e. finite.
1 / 48 Formal a Language Theory and Describing Semantics Principles of Programming Languages 4.
® A Proposed UML Profile For EXPRESS David Price Seattle ISO STEP Meeting October 2004.
The Interpreter Pattern (Behavioral) ©SoftMoore ConsultingSlide 1.
XASTRO-2 Presentation CCSDS SAWG th November 2004.
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.
® IBM Software Group A Metamodeling Approach to Pattern Specification Maged Elaasar 1,2, Dr. Lionel Briand 1, Dr. Yvan Labiche 1 1 Carleton University,
Yu, et al.’s “A Model-Driven Development Framework for Enterprise Web Services” In proceedings of the 10 th IEEE Intl Enterprise Distributed Object Computing.
CSC3315 (Spring 2009)1 CSC 3315 Languages & Compilers Hamid Harroud School of Science and Engineering, Akhawayn University
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.
AUTOMATIC GENERATION OF MODEL TRAVERSALS FROM METAMODEL DEFINITIONS Authors: Tomaž Lukman, Marjan Mernik, Zekai Demirezen, Barrett Bryant, Jeff Gray ACM.
Design Pattern Support based on principles of model driven development Zihao Zhao.
System Modeling Assessment & Roadmap WG Meeting Boston, MA June 17, 2014 Eldad Palachi Sandy Friedenthal.
Systems Engineering Concept Model (SECM) Status 03/17/2016 John Watson.
ESA UNCLASSIFIED – Releasable to the Public Hans Peter de Koning European Space Agency European Space Research and Technology Centre (ESTEC) Noordwijk,
SysML and Modelica Integration Working Group Meeting 3/11/09 Peter Fritzson Wladimir Schamai.
Page 1 Hitachi Ltd. – FhI FOKUS TTCN-3 User Conference, June 2005 MDA based approach for generation of TTCN-3 test specifications Hideto Ogawa, Hitachi.
Modeling Formalism Modeling Language Foundations System Modeling & Assessment Roadmap WG SE DSIG Working Group Orlando – June 2016.
1 Modeling Formalism (Modeling Language Foundations) System Modeling Assessment & Roadmap Working Group Meeting – SE DSIG Reston – March, 2016 Yves BERNARD.
SysML v2 Formalism Requirements Formalism WG September 15, 2016.
Language = Syntax + Semantics + Vocabulary
Modeling Formalism Modeling Language Foundations
Systems Engineering Concept Model (SECM) Update
SysML 2.0 Formalism Requirements and Potential Language Architectures
SysML 2.0 Formalism: Requirement Benefits, Use Cases, and Potential Language Architectures Formalism WG December 6, 2016.
SysML v2 Formalism: Requirements & Benefits
State Digrams in UML: A Formal Senmatics using Graph Transformations
Presentation by Julie Betlach 7/02/2009
Introduction to SysML v.2.0 Metamodel (KerML)
Copyright © 2015, 2012, 2009 Elsevier Inc. All rights reserved.
COMPILER CONSTRUCTION
Software Architecture & Design
Presentation transcript:

1 “UML compilation” A more formal approach for SysML 2.0 OMG SE DSIG – SysML roadmap meeting Cambridge MA - Sep 24, 2015 Yves BERNARD

Motivations  Potentially conflicting expectations on SysML 2.0. We would like the language to be –“Precise” (i.e. having formal semantics) –“Usable” (i.e. easy to learn, to operate, …) –“Efficient” (i.e. telling more with less)  Issue already solved by the software scientists: languages of the 3rd and 4th generation have the qualities listed above. They: –provide “high level” software concepts (from a software development point of view) –can be “compiled” (i.e. precisely translatable in machine language)  Approach suggested by fUML (cf. clause 7.1)  Could be an alternative to the usage of profiles which – as defined today - raise many practical problem. 2

Basic principle  Language definition –Abstract syntax definition in a true metamodel based on UML or fUML (TBD)  Semantics –The semantics of each SysML metaclass is constrained so that it can be fully defined as a construct of (f)UML metaclasses –Those constructs can be represented by UML::Collaborations and used as building blocks –A SysML model is then a high-level view of a model of which the semantics is fully defined by (f)UML  Notation –No constraint implies by the approach 3

Illustration with the “Allocation” concept  Concept definition Directed cross-association (mapping) of items from various structures or hierarchies of a user model.  Conceptual model 4 Allocate * 1..* from Constraint /allocatedFrom:AllocatedItem[*] /allocatedTo:AllocatedItem[*] Item to 1..1 * 0..1 impliedConstraint 0..1 > context Item::allocatedFrom : Set(Item) derive: Allocate.allInstances()->select(to = self).from->flatten() context Item::allocatedTo : Set(Item) derive: Allocate.allInstances()->select(from = self).to->flatten()

Allocate: as a design pattern 5 Allocate ConstraintItem from to impliedConstraint

Allocation: UML equivalent construct (transformation rule) 6 from:Dependency impliedConstraint:Constraint fromItem:NamedElement toItem:NamedElement to:Dependency supplier client UML_Allocate Allocate from to impliedConstraint

Pattern application  SysML  UML equivalent 7 ItemAItemB > ItemAItemB {true} to from traceability

Traceabilty  Possible solution: using a (single) UML stereotype 8 reference:SysMLElement[1] role: RoleKind[1] SysML > ItemAItemB > Allocate from to impliedConstraint ItemAItemB {true} tofrom > reference=“myAllocation” role=“impliedConstraint” > reference=“myAllocation” role=“to” > reference=“myAllocation” role=“from”

Illustration with the “Interruptible region” concept  Concept definition An Interruptible region is a group of ActivityNodes that supports termination of a portion of an Activity. It identifies as certain ActivityEdges as “interrupting” that have their source within the region and their target outside the region. When a token offered along one of those edge is accepted and traverses that edge, then the execution of all actions of the region is terminated.  Conceptual model 9 InterruptibleReg * 1..* ActivityEdgeActivityNode member * interrupting * source target 1 1 * *

Interruptible Region example UML/SysMLfUML A1 A2 A4 A3 A1 Call IntReg A4 A3 A2 A5 IntReg > P: IntRegInterrupt A3’ A2’ IntRegInterrupt > A2_Int A3_Int >

Interruptible region: view as a design pattern 11 InterruptibleReg ActivityNodeActivityEdge interrupting member * 1..*

Interruptible region: fUML equivalent construct (Simplified) 12 end:ActivityFinal interrupted:ActivityEdge intN:ActivityNode source target fUML_InterruptibleReg InterruptibleReg members interrupting activating:ActivityNode intE:ActivityEdge source target 1..* * IntReg:Activity call:CallBehaviorAction

Conclusions  Advantages of the “compilation” approach –The constraints applicable to UML profile are loosened –All the semantics already defined for UML can be reused –A SysML model can always be interpreted as a UML model –Provides both high-level concepts and precise semantics  Drawbacks –Significant refactoring of the specification –Vague or imprecise concept definitions are not supported Approach with clear benefits but also constraints which have to be understood and accepted. 13