A division of Data Access Technologies, Inc. Combining Alf and UML in Modeling Tools Ed Seidewitz, Model Driven Solutions Jérémie Tatibouet, CEA 28 September.

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

1 CIS224 Software Projects: Software Engineering and Research Methods Lecture 11 Brief introduction to the UML Specification (Based on UML Superstructure.
Architecture Representation
Copyright © 2013 Ivar Jacobson International SA. All rights reserved UML: Once More with Meaning University of Maryland Model-Based System Engineering.
Modeling SPARK Systems with UML Xavier Sautejeau SigAda’05 © Sodius.
Model-Based Programming: Executable UML with Sequence Diagrams By Ruben Campos Cal State L.A. Computer Science Thesis Work Spring 2007.
Formal Methods of Systems Specification Logical Specification of Hard- and Software Prof. Dr. Holger Schlingloff Institut für Informatik der.
Irina Rychkova. 9/20061 Systemic approach towards model definition Model transformation semantics.
CS 425/625 Software Engineering System Models
Whole Platform Tesi di Dottorato di: RICCARDO SOLMI Università degli Studi di Bologna Facoltà di scienze matematiche, fisiche e naturali Corso di Dottorato.
ACM/JETT Workshop - August 4-5, 2005 UML Modeling using MagicDraw UML for Java Programmers.
2005/05/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
Session 24 Modeling the Development Environment Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 27, 2011 Presented by Hyewon Lim.
A Generative and Model Driven Framework for Automated Software Product Generation Wei Zhao Advisor: Dr. Barrett Bryant Computer and Information Sciences.
A Development Process Lecture Oo13 Objectory based method.
Java Class Syntax CSIS 3701: Advanced Object Oriented Programming.
MDA and QVT  Tom Gullion, Director of Product Management, Together Products.
Parser-Driven Games Tool programming © Allan C. Milne Abertay University v
A Z Approach in Validating ORA-SS Data Models Scott Uk-Jin Lee Jing Sun Gillian Dobbie Yuan Fang Li.
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.
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.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
OCL Tool Support Sagar A. Tamhane CSE 6323 – FMSE.
Model Driven Development An introduction. Overview Using Models Using Models in Software Feasibility of MDA MDA Technologies The Unified Modeling Language.
Systems Analysis and Design in a Changing World, 3rd Edition
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
DSL Classification October 21-22, 2007 Benoît Langlois / Thales-EPM Consuela-Elena Jitia / Eric Jouenne, Thales Research & Technology The 7th OOPSLA Workshop.
1 Introduction to Classes and Objects Chapter 3 Introduction to Classes and Objects Chapter 3.
Verification of behavioural elements of UML models using B Truong, Ninh-Thuan and Souquieres, Jeanine In Proceedings of the 2005 ACM Symposium on.
1 System Analysis and Design Using UML INSTRUCTOR: Jesmin Akhter Lecturer, IIT, JU.
16 September 2009 Copyright © 2009 Data Access Technologies, Inc. Model Driven Solutions Action Language for Foundational UML (Alf) Joint submission of.
Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.
Ch- 8. Class Diagrams Class diagrams are the most common diagram found in modeling object- oriented systems. Class diagrams are important not only for.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
October 1st 2015 Alexis Fouché 1, Florian Noyrit 1, Sébastien Gérard 1, Maged Elaasar 2 SYSTEMATIC GENERATION OF STANDARD COMPLIANT TOOL SUPPORT OF DIAGRAMMATIC.
Object-Oriented Parsing and Transformation Kenneth Baclawski Northeastern University Scott A. DeLoach Air Force Institute of Technology Mieczyslaw Kokar.
Oct Interchangability in Software Design Notation - Timothy C. Lethbridge Interchangability in software design notation: programs models visual.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
Class Diagrams. Terms and Concepts A class diagram is a diagram that shows a set of classes, interfaces, and collaborations and their relationships.
Session 1 What Is the UML? Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 5, 2011 Presented by Kang-Pyo Lee.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Kyung Hee University Class Diagramming Notation OOSD 담당조교 석사과정 이정환.
Unified Modeling Language (UML)
1 Budapest University of Technology and Economics Department of Measurement and Information Systems Budapest University of Technology and Economics Fault.
Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool Teaching material for the book Model-Driven.
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
SysML 2.0 Requirements for Visualization
UNIT-IV Designing Classes – Access Layer ‐ Object Storage ‐ Object Interoperability.
SysML 2.0 Requirements for Visualization
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
Syntactic Requirements
Proposed SysML v2 Submission Plan
Introduction to UML: Unified Modeling Language
SysML/UML Interoperability
SysML 2.0 Concept and Needs for Visualization
JavaScript an introduction.
Introduction to UML.
Chapter 20 Object-Oriented Analysis and Design
TDL: The ETSI Test Description Language
Chapter 6: Programming Languages
Copyright 2007 Oxford Consulting, Ltd
Protocols CS 4311 Wirfs Brock et al., Designing Object-Oriented Software, Prentice Hall, (Chapter 8) Meyer, B., Applying design by contract, Computer,
Software Architecture & Design
Presentation transcript:

A division of Data Access Technologies, Inc. Combining Alf and UML in Modeling Tools Ed Seidewitz, Model Driven Solutions Jérémie Tatibouet, CEA 28 September 2015

Page 2 Foundational UML (fUML) Foundational UML (fUML) is an executable subset of standard UML that can be used to define, in an operational style, the structural and behavioral semantics of systems – Action Semantics for the UML RFP 2003 – UML 1.5 with action semantics formalized 2003 – UML 2.0 adopted 2005 – Semantics of a Foundational Subset for Executable UML Models RFP 2008 – fUML 1.0 Beta (based on UML 2.2) 2010 – fUML 1.0 Formal (based on UML 2.3) 2012 – fUML 1.1 Formal (based on UML 2.4.1) 2015 – fUML 1.2 Beta (also based on UML 2.4.1) 28 September 2015

Page 3 28 September 2015 Composite Structure Semantics Complete Activity Model Semantics State Machine Semantics fUML Scope Non- Executable Model Semantics The semantics of fUML provide the foundation for formally specifying the (execution) semantics of the rest of UML. Some areas of UML (e.g., use case and requirements models) may not be best formalized based on an executable semantics foundation. Interaction Model Semantics Foundational Semantics fUML operational semantics are specified as an execution model written in fUML itself. Base Semantics The base semantics of the subset of fUML used in the execution model are specified using formal logic.

Page 4 Action Language for fUML (Alf) The Action Language for Foundational UML (Alf) is a textual surface representation for UML modeling elements with the primary purpose of acting as the surface notation for specifying executable (fUML) behaviors within an overall graphical UML model, but which also provides textual notation for structural modeling constructs – Concrete Syntax for a UML Action Language RFP 2010 – Alf 1.0 Beta (based on UML 2.4 and fUML 1.0) 2013 – Alf Formal (based on UML and fUML 1.1) 28 September 2015

Page 5 Textual Modeling in Alf package CustomerAccounts { public class Customer { public name : String; } public class Account { public balance : Integer; } public assoc CustomerAccount { public customer : Customer; public accounts : Account[*]; } package CustomerAccounts { public class Customer { public name : String; } public class Account { public balance : Integer; } public assoc CustomerAccount { public customer : Customer; public accounts : Account[*]; } 28 September 2015 private import CustomerAccounts; private import Alf::Library::PrimitiveBehaviors::IntegerFunctions::’+’; activity SumBalances(in customer : Customer) : Integer { return customer.accounts.balance->reduce ’+’; } private import CustomerAccounts; private import Alf::Library::PrimitiveBehaviors::IntegerFunctions::’+’; activity SumBalances(in customer : Customer) : Integer { return customer.accounts.balance->reduce ’+’; } myCustomer = Customer->select c (c. == myCustomer ); total = SumBalances(myCustomer); myCustomer = Customer->select c (c. == myCustomer ); total = SumBalances(myCustomer);

Page 6 Integrated Graphical and Textual Modeling Specify the behavior of operations textually using Alf Specify the structural model graphically in UML. Add additional elements textually. 28 September 2015

Page 7 Alf Implementation in Eclipse/Papyrus 28 September 2015 Validation using OCLInEcore constraints. Alf2UML and UML2Alf transformations using QVT. Parsing Serialization

Page 8 Demo Example: Ordering 28 September 2015

Page 9 OrderLineItem – Textual View 28 September 2015

Page 10 OrderLineItem – getAmount operation 28 September 2015

Page 11 OrderLineItem – After compilation 28 September 2015

Page 12 OrderLineItem - Constructor 28 September 2015

Page 13 Order – Textual representation 28 September 2015

Page 14 Order – getAmount operation 28 September 2015

Page 15 testOrder – Simple test driver 28 September 2015

Page 16 Current Limitations and Future Work Alf source editing –Auto-completion –Cross-linking –Refactoring Alf source-level debugging Persistence of Alf in the model 28 September 2015