EXECUTABLE MODELING WITH FUML AND ALF IN PAPYRUS: TOOLING AND EXPERIMENTS

Similar documents
PAPYRUS TOOL SUPPORT FOR FMI

Report on How to Use ALF Action Language and fuml execution/debugging with Moka

Tool Paper: Combining Alf and UML in Modeling Tools An Example with Papyrus

OMG SPECIFICATION DEVELOPMENT USING PAPYRUS (AND OTHER ECLIPSE TOOLING)

Model-based Development of Modular Complex Systems for Accomplishing System Integration for Industry 4.0

Prodeling with the Action Language for Foundational UML

PAPYRUS FUTURE. CEA Papyrus Team

UML 2.5: Specification Simplification

USING PAPYRUS IN A DESIGN SPACE EXPLORATION TOOLCHAIN CURRENT DEVELOPMENTS AT FLANDERS MAKE

Automated System Analysis using Executable SysML Modeling Pa8erns

Execution of UML models Present and Future of Research and Practice

Enterprise Architect Training Courses

Semantics-Based Integration of Embedded Systems Models

Papyrus: Advent of an Open Source IME at Eclipse (Redux)

Christian Doppler Laboratory

3rd Lecture Languages for information modeling

A Model-Driven fuml Execution Engine for C++

Model Transformations for Embedded System Design and Virtual Platforms

Experimental Comparison between AutoFOCUS3 and Papyrus-RT. Tatiana Chuprina, Florian Hölzl, Vincent Aravantinos

Textual, executable, translatable UML

challenges in domain-specific modeling raphaël mannadiar august 27, 2009

DiverSE s Seminar about Software Language Engineering

An Approach for Execution of MARTE-based Application Models

1 Executive Overview The Benefits and Objectives of BPDM

Modeling pilot project at Ericsson Expert Analytics

Outline. SLD challenges Platform Based Design (PBD) Leveraging state of the art CAD Metropolis. Case study: Wireless Sensor Network

Agent-Oriented Software Engineering

An Overview of the SysML-Modelica Transformation Specification

OMG Systems Modeling Language Tutorial May, 2012

From Test Legacy to Model- Based Testing How to refactor an existing test repository into an MBT model?

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages

MDSE USE CASES. Chapter #3

Modeling Requirements

Compositional Model Based Software Development

COSC 3351 Software Design. An Introduction to UML (I)

Foundations of a New Software Engineering Method for Real-time Systems

Existing Model Metrics and Relations to Model Quality

Course 1 October, 9, Adrian Iftene

Small is Beautiful Building a flexible software factory using small DSLs and Small Models

Model-Driven Systems Engineering for Netcentric System of Systems With DEVS Unified Process

Model Driven Engineering (MDE)

Model driven Engineering & Model driven Architecture

Enterprise Architect. User Guide Series. Domain Models

On Open Source Tools for Behavioral Modeling and Analysis with fuml and Alf

Model Driven Development Unified Modeling Language (UML)

Modelling in Enterprise Architecture. MSc Business Information Systems

Metamodeling with Metamodels. Using. UML/MOF including OCL

Chapter 8: Enhanced ER Model

MDD with OMG Standards MOF, OCL, QVT & Graph Transformations

Chapter 7. Modular Refactoring. 7.1 Introduction to Modular Refactoring

Novel architecture for executable UML tooling

Introduction to Dependable Systems: Meta-modeling and modeldriven

UMLEmb: UML for Embedded Systems. I. Introduction. Ludovic Apvrille Eurecom, office 470

Towards the integration of security patterns in UML Component-based Applications

CISC836: Models in Software Development: Methods, Techniques and Tools

Raising the Level of Development: Models, Architectures, Programs

Object-Oriented Design

ModelicaML: Getting Started Issue April 2012

SysML, It s Coming Are You Prepared?

INTEGRATING SYSTEM AND SOFTWARE ENGINEERING FOR CERTIFIABLE AVIONICS APPLICATIONS

Introduction to Model Driven Engineering using Eclipse. Frameworks

UML for RTES: develop a UML-based proposal for modelling and analysing of RTES

SysML and FMI in INTO-CPS

Technical Overview for

Horizontal transformations for models reuse and tool chaining

Semantic Information Modeling for Federation (SIMF)

Pattern-Oriented Development with Rational Rose

Unified Modeling Language (UML)

Whole Platform Foundation. The Long Way Toward Language Oriented Programming

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM):

Introduction to EGF. Benoît Langlois / Thales Global Services.

Applying Model Driven Technologies in the Creation. of Domain Specific Modeling Languages

Architecting System-of-Systems

DEVELOPING WEB APPLICATIONS WITH MICROSOFT VISUAL STUDIO Course: 10264A; Duration: 5 Days; Instructor-led

Industrial Strength Test Case

Composable Framework Support for Software-FMEA through Model Execution

An Introduction to MDE

A MDD Methodology for Specification of Embedded Systems and Automatic Generation of Fast Configurable and Executable Performance Models

Process and data flow modeling

Static analysis and testing of executable DSL specification

Model-based System Engineering for Fault Tree Generation and Analysis

Process-Integrated Refinement Patterns in UML

Start Up Benoît Langlois / Thales Global Services Eclipse (EMFT) EGF 2011 by Thales; made available under the EPL v1.

Hippo Software BPMN and UML Training

Spemmet - A Tool for Modeling Software Processes with SPEM

UML, SysML and MARTE in Use, a High Level Methodology for Real-time and Embedded Systems

INF5120 Modellbasert Systemutvikling Modelbased System development

On the link between Architectural Description Models and Modelica Analyses Models

09. Component-Level Design

Integrity 10. Curriculum Guide

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML

An Introduction to Model Driven Engineering (MDE) Bahman Zamani, Ph.D. bahmanzamani.com

Future Directions for SysML v2 INCOSE IW MBSE Workshop January 28, 2017

A Framework for the Implementation of Industrial Automation Systems Based on PLCs

Heterogeneous systems co-simulation: a model-driven approach based on SysML State Machines and Simulink

SCADE System, a comprehensive toolset for smooth transition from Model-Based System Engineering to certified embedded control and display software

SysML Past, Present, and Future. J.D. Baker Sparx Systems Ambassador Sparx Systems Pty Ltd

UML Profile for MARTE: Time Model and CCSL

Computer Science for Engineers

SYLLABUS CHAPTER - 1 [SOFTWARE REUSE SUCCESS FACTORS] Reuse Driven Software Engineering is a Business

Transcription:

EXECUTABLE MODELING WITH FUML AND ALF IN PAPYRUS: TOOLING AND EXPERIMENTS Sahar Guermazi*, Jérémie Tatibouet*, Arnaud Cuccuru*, Ed Seidewitz +, Saadia Dhouib*, Sébastien Gérard* * CEA LIST - LISE lab + Model Driven Solutions Models 2015 EXE Workshop

OUTLINE. REMINDER ON FUML / ALF, AND PAPYRUS ECOSYSTEM. DESIGNING FUML-BASED EXECUTION ENGINES. COMBINING ALF AND UML (AND ITS PROFILES). CONCLUSIONS AND FUTURE WORKS

REMINDER ON OMG STANDARDS: FUML, PSCS AND ALF Syntax Semantics UML Composite Structures fuml (Classes + Activities) fuml extended with composite structures modeling Extensions for subsets of: MARTE HLAM SysML Ports and Flows PSCS Execution Model fuml Execution Model Semantic mapping Alf (Action Language for fuml): - Textual surface notation for the fuml subset 3

MDE TOOLS OF THE LISE LAB Safety/Security Product Line Analysis-driven Architecturing Model-based Monitoring Requirements Engineering Model-based Simulation Model-based formal-analysis 4

DESIGNING FUML-BASED EXECUTION ENGINES

INTRODUCTION Moka s main goal: Provide a generic execution envt. for Papyrus Should be reusable for any user or domain-specific use of the tool Moka is based on the fuml execution model: A domain specific flavor of Papyrus/Moka comes down to a specialization of the execution model for that domain Object-oriented execution model => Specialization based on inheritance and polymorphism 4 key challenges to address: Extensibility Control and observation Time support Connectivity with external tools 6

EXTENSIBILITY Problem statement A DSL implemented as a UML profile may require abstract syntax elements that are out of the scope of the fuml subset. It may also introduce stereotypes specializing fuml syntax and semantics. Key fuml aspects: Execution model designed with the Visitor and Factory patterns Proposed solution: Extend the fuml visitors and factories! 7

EXTENSIBILITY Experiments PSCS Execution Model Limitations: Factory pattern not used everywhere in the fuml execution model No mechanisms so far to elegantly deal with multiple profile applications 8

CONTROL AND OBSERVABILITY Problem statement Modern execution / simulation tools should provide users with facilities to control (start/stop, suspend/resume, step by step, etc.) and observe (diagram animation, tracing) executions Key fuml aspects: These are tooling concerns: Out of the scope of fuml The fuml execution model simply enforces partial execution orders through token propagation rules (semantics of activities) Proposed solution: Reroute the token propagation flow through explicit control and observation entities (Control delegation) Can be done using Extensibility mechanisms 9

CONTROL AND OBSERVABILITY Experiments Connection with the Eclipse Debug Framework Tracing Limitations: Currently lacks a systematic methodology for identifying the points where control needs to be extracted 10

TIME SUPPORT Problem statement The fuml is a good basis for a simple simulation process (model, execute, observe, and refine) OK for checking logical correctness KO for timing aspects Key fuml aspects: The fuml execution model is time-agnostic Proposed solution: In widespread simulation tools, time is usually managed by an explicit control entity (scheduler-like) => Rely on Control delegation 11

TIME SUPPORT Experiments Integration of a Discrete Event Scheduler Application to the timed simulation of BPMN processes (demo video https://www.youtube.com/watch?v=ddogjactebe ) Limitations: We only experimented on the integration of the discrete event time model. Other experiments are required to determine if the approach is valid for other time models. 12

CONNECTIVITY WITH EXTERNAL TOOLS Problem statement Complex systems involve multiple engineering disciplines (mechanical, electrical, computer science). Require multiple simulation tools, and co-simulation facilities Key fuml aspects: The fuml subset includes Classes and Opaque Behaviors Class instances are represented by Objects Opaque Behaviors are bound to tool-specific implementations (socalled Opaque Behavior Executions) Proposed solution: Wrap the connection with external simulations in specific Objects and Opaque Behavior Executions 13

CONNECTIVITY WITH EXTERNAL TOOLS Experiments Support for FMI 2.0 standard (Import of FMUs, Master algorithm) «model» Time properties (LTL) «model» Physics (SysML) «model» Control (fuml) «export» «export» «export» «fmu» FMU Artimon «fmu» FMU Diversity «fmu» FMU Moka «fmi master» Moka MA Assembly Orchestration Tracing Limitations: This is a work in progress. 14

COMBINING ALF AND UML (AND ITS PROFILES )

USE CASES AND EXPERIMENTS (CF. ARTICLE FOR MORE DETAILS AND REFERENCES, AND DEMO BY ED SEIDEWITZ AT THE OCLTM WORKSHOP) Mixing graphical and textual notations: Combining at the Unit Level (Classes, Activities, Packages) Key challenge: Synchronization of both views Combining at the Expression and Statement Level Key challenge: Modularity of the grammar implementation Combining with profiles: Experiment: Refactoring of MARTE s Value Specification Language as an extension of Alf Extending the Alf grammar is a complex task 16

CONCLUSION

CONCLUSION The Papyrus team develops open-source tools for executale modeling and simulation, based on OMG standards fuml* and Alf Moka: an extendible framework for the execution of UML(-based) models Alf integration: coupling textual with graphical notations for efficient executale modeling Two kinds of challenges and limitations have been identified Tooling issues To be adressed as part of the Papyrus development roadmap Specification issues To be considered by the OMG s Executable UML WG 18