PAPYRUS TOOL SUPPORT FOR FMI

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

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)

Execution of UML models Present and Future of Research and Practice

FOUR INDEPENDENT TOOLS TO MANAGE COMPLEXITY INHERENT TO DEVELOPING STATE OF THE ART SYSTEMS. DEVELOPER SPECIFIER TESTER

Technical Overview for

SysML and FMI in INTO-CPS

Automated System Analysis using Executable SysML Modeling Pa8erns

The etrice Eclipse Project Proposal

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

1 Executive Overview The Benefits and Objectives of BPDM

AADL : about code generation

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

Investigation of System Timing Concerns in Embedded Systems: Tool-based Analysis of AADL Models

Capella to SysML Bridge: A Tooled-up Methodology for MBSE Interoperability

An MDD Process for IEC based Industrial Automation Systems

Software Architecture in Action. Flavio Oquendo, Jair C Leite, Thais Batista

ATESST2 D4.2.1 Grant Agreement

Textual, executable, translatable UML

DIOGENE (Digital I/O GENerator Engine) Project Requirements

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

Unified Modeling Language (UML)

PragmaDev. change request. Emmanuel Gaudin. PragmaDev ITU-T SG17 change request Grimstad June 24,

Deliverable D5.1.1 MAENAD Modeling Workbench

Extending the IPG CarMaker by FMI Compliant Units

Concept Presentation. MAENAD Analysis Workbench

ModelicaML: Getting Started Issue April 2012

MAENAD Modeling Workbench

MAEANAD Modeling Workbench

Christian Doppler Laboratory

INTEGRATING SYSTEM AND SOFTWARE ENGINEERING FOR CERTIFIABLE AVIONICS APPLICATIONS

TERRA support for architecture modeling. K.J. (Karim) Kok. MSc Report. C e Dr.ir. J.F. Broenink Z. Lu, MSc Prof.dr.ir. A. Rensink.

Trace-Directed Modelling Mid-Project Meeting Report

Modeling pilot project at Ericsson Expert Analytics

Getting the Most from Eclipse

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

... SysML version SNAPSHOT User Guide.... Eclipse

Role of Executable UML in MDA. Presented by Shahid Alam

3rd Lecture Languages for information modeling

UML for Real-Time Overview

Towards the integration of Overture and TASTE

Multi-Physics RecurDyn Style Interoperability

MDSE USE CASES. Chapter #3

Software Communications Architecture (SCA) and Rapid Application Development

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

Object Oriented Analysis and Design - Part2(Design)

Toolchain for Network Synthesis. Alex Malfatti, Davide Quaglia

IBM Rational Software Architect

PAPYRUS FUTURE. CEA Papyrus Team

MDA Driven xuml Plug-in for JAVA

DiverSE s Seminar about Software Language Engineering

Introducing MBT to Standardization. ETSI All rights reserved

Applying UML Modeling and MDA to Real-Time Software Development

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

Update on AADL Requirements Annex

10262A VB: Developing Windows Applications with Microsoft Visual Studio 2010

An Information Model for High-Integrity Real Time Systems

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

Ingegneria del Software Corso di Laurea in Informatica per il Management

Shift Left Testing: are you ready? Live Webinar, Sept 19

Software Architecture Patterns

CAMEO SIMULATION TOOLKIT. version 1.0. user guide

SESE Tour 2018 Toulouse May 22

The 60-Minute Guide to Development Tools for IBM Lotus Domino, IBM WebSphere Portal, and IBM Workplace Applications

Novel architecture for executable UML tooling

SEMATECH Computer Integrated Manufacturing (CIM) Framework Architecture Concepts, Principles, and Guidelines, version 0.7

Prodeling with the Action Language for Foundational UML

DO WE NEED TEST SPECIFICATION LANGUAGES?!

A Model-Driven fuml Execution Engine for C++

Unified Modeling Language 2

CHESS Toolset User Guide

THE ETSI TEST DESCRIPTION LANGUAGE (TDL)

Integration With the Business Modeler

Introduction to software architecture Revision : 732

Model Driven Data Interoperability (MDMI)

Model Driven Development Unified Modeling Language (UML)

Architecture-driven development of Climate Control Software LMS Imagine.Lab Embedded Software Designer Siemens DF PL

MAENAD Analysis Workbench

Introduction to AADL analysis and modeling with FACE Units of Conformance

SCADE. SCADE Display Graphical Prototyping and Design. Tailored for Critical Embedded HMIs EMBEDDED SOFTWARE

Wide Area Situation Awareness (WASA) Demonstration System Utilizing the CIM in Japan

6. The Document Engineering Approach

Developing Microsoft.NET Applications for Windows (Visual Basic.NET)

V&V: Model-based testing

Architectural Blueprint

CHAPTER 7 JAVA AGENT DEVELOPMENT ENVIRONMENT

Custom Code Rules Deep Dive

AADL committee, Valencia October 2 nd, Pierre Dissaux (Ellidiss) Maxime Perrotin (ESA)

A2A EAI. Overview and recommendations Data Transport. Jerome CAPIROSSI. people are keen to argue since they find themselves to be affected.

ADT: Eclipse development tools for ATL

Model Driven Engineering (MDE)

Using SCADE System for the Design and Integration of Critical Systems

System Modeling Environment

UML MODELLING OF DESIGN PATTERNS FOR WIRELESS SENSOR NETWORKS

EATOP: An EAST-ADL Tool Platform for Eclipse

SCADE. SCADE Suite Tailored for Critical Applications EMBEDDED SOFTWARE

Model Driven Development with xtuml and BridgePoint

Portal Application Deployment Scripting

CIS 1.5 Course Objectives. a. Understand the concept of a program (i.e., a computer following a series of instructions)

Transcription:

PAPYRUS TOOL SUPPORT FOR FMI Ericsson Modeling Days 2016 Kista, Sweden, September 13-14, 2016 Sahar GUERMAZI, Sébastien REVOL, Arnaud CUCCURU, Saadia DHOUIB, Jérémie TATIBOUET, Sébastien GERARD CEA LIST / DILS / LISE

FMI FOR PAPYRUS / PAPYRUS FOR FMI FMI (Functional Mockup Interface) Emerging standard for co-simulation Enables multiple compliant modeling and simulation tools to interoperate Particularly interesting for designing CPS (Cyber Physical Systems) Heterogeneous systems => many different skills and paradigms, each one being addressed using specific modeling and simulation tools. UML in the FMI eco-system UML (and its variants) can be used to design parts of CPS (E.g., the high-level control logic of an embedded software) Would be nice to have the possibility to assess the relevance of the UML-based parts with respect to their (simulated) environment Early consideration of environmental aspects in the design => Early detection of possible flaws in the design => Save time, save money, and make more robust designs. Encompasses two complementary aspects: 1. the ability to import / assemble FMUs, and co-simulate them (master tool) 2. the ability to export FMUs from executable UML models. Papyrus now provides FMI tool support Based on Moka, the Papyrus module for model execution Encompasses both a master and an export functionality

OUTLINE Reminder on OMG standards for Executable Modeling Overview of Moka, the Papyrus module for model execution Papyrus tool support for FMI Video demo Perspectives

PART I REMINDER ON OMG STANDARDS FOR EXECUTABLE UML MODELING

EXECUTABLE UML OMG SPECIFICATIONS Syntax Semantics UML fuml PSSM PSCS PSSM Execution Model PSCS Execution Model fuml Execution Model Semantic mapping Alf (Action Language for fuml): - Textual surface notation for the fuml subset

KEY SEMANTIC ASPECTS Instantiation of a composite structure implies instantiation of its constituents Structure 2. Composite structure diagram (~ IBD) Instantiation of an active class implies starting of its behavior Behavior 1. Class diagram (~ BDD) SendSignalAction enable to specify asynchronous communications, which will flow through ports and connectors AcceptEventActions enable to specify reactive behaviors 3. Activity diagrams Event dispatching occurs at Run To Completion (RTC) steps

PART II OVERVIEW OF MOKA, THE PAPYRUS MODULE FOR MODEL EXECUTION

MOKA: OVERVIEW Papyrus module for model execution Help designers to understand/orient their design choices Basis for a straightforward, simulation-driven design process: (Model / Execute / Observe / Refine)+ Front-end for integration of simulation tools and techniques Model Debugging capabilities Control (start/stop, suspend/resume, breakpoints) Observation (diagram animation, variables, threads) Complies with standard OMG semantics of UML Implements the fuml and PSCS execution models (PSSM coming) (Tool support for Alf, the standard textual notation of fuml) Flexible/extendible New execution engines can be plugged (to support multiple semantics and UML profiles) Extension points to inject control/execution model libraries (to trigger the execution of external functions and procedures directly from a UML model)

CONNECTION WITH THE ECLIPSE DEBUG FRAMEWORK Controlling and Observing executions

CONNECTION WITH THE ECLIPSE DEBUG FRAMEWORK Multiple execution engines can be registered

MOKA: OVERVIEW Papyrus plug-in for model execution Help designers to understand/orient their design choices Basis for a straightforward, simulation-driven design process: (Model / Execute / Observe / Refine)+ Front-end for integration of simulation tools and techniques Model Debugging capabilities Control (start/stop, suspend/resume, breakpoints) Observation (diagram animation, variables, threads) Complies with standard OMG semantics of UML Implements the fuml and PSCS execution models (PSSM coming) (Tool support for Alf, the standard textual notation of fuml) Flexible/extendible New execution engines can be plugged (to support multiple semantics and UML profiles) Extension points to inject control/execution model libraries (to trigger the execution of external functions and procedures directly from a UML model) NEW : Support for FMI Co-Simulation standard Export of FMUs from executable UML models Ability to import and assemble FMUs, co-simulate them with the built-in Moka master, and visualize simulation traces on XY charts.

PART III PAPYRUS TOOL SUPPORT FOR FMI

FUNCTIONAL MOCK-UP INTERFACE (FMI) Allows to export each executable model as a standalone unit (FMU) An FMU as to provide a standard binary interface as shared library ( dll/.so) Set Inputs Co-simula*on Environment Get outputs Do Step (stepsize) FMU Model Solver FMU Model Solver Master Algorithm The simulation Master synchronizes and orchestrates the FMUs Step sizes hc1 hci tcn=tstop tc0=tstart tc1 tc2 tci tci+1 Communication points - get outputs Y(tci) - set inputs U(tci) - dostep hci (tci -> tci+1) - advance time to tci+1

OVERVIEW OF PAPYRUS TOOL SUPPORT FOR FMI FMU (model + solver) exported from Simula:on outputs. Can be opened in new XY diagram kind provided by Papyrus import export Moka Moka FMU: Moka RCP (minimal Moka + execu:on engine) + UML model Composite structures assembly Master algorithm

THE FMU EXPORT FUNCTIONNALITY Architecture of exported FMUs Models are made following some guidelines: Based on a minimal UML profile for FMI FMUs modeled with active classes, and corresponding classifier behavior as an activity Timing aspects handled with «TimeEvents» (requires some extensions to fuml) Reactive aspects (i.e., changes on inputs of the FMU) handled with «ChangeEvents» (extensions to fuml)

THE FMU EXPORT FUNCTIONNALITY MODELING AND SIMULATION OF REACTIVE ASPECTS Accept Change Event on x ReadStructuralFeature ValueAction on x CallOperationAction on compare AddStructuralFeature ValueAction on y

THE FMI MASTER FUNCTIONNALITY Key features: Ability to import FMUs from FMI 2.0 compliant tools Definition of the co-simulation graphs (i.e., assembly of FMUs + configuration of simulation runs) Master algorithm specified by an executable UML models, along with a dedicated model library Fixed step size, no usage of rollbacks, but we have some plans to go further Visualization of co-simulation results with XY charts

DEMO

PART IV PERSPECTIVES

PERSPECTIVES (SHORT / MID TERM) - FMU modeling and export: - Support of rollback - Support of state machines - Master tool: - Native cosimulation of fuml and FMI - Architecture to ease the integration of new master algorithms (might be based on models on those masters, but raises performance issues) - Tooling: - Papyrus customization for modeling of FMUs and configuration of simulation runs - Consolidate integration of the XY visualisation tool - Debug capabilities at the master level (similar to those available on unitary FMUs. Cf. video demo)

PERSPECTIVES (LONGER TERM) - Focus so far: Simulation engineering, with technological bricks getting maturity on: - Execution and debugging of UML models (and their variants) - Ergonomy of the modeling environement - Support for cosimulation aspects - Visualisation capabilities - Next steps: Leverage the simulation engineering capabilities in a more global Model-Based System Engineering approach, relying on other technological bricks of the Papyrus ecosystem: - Requirement engineering (Links between simulation models and requirement coverage / satisfaction) - Testing engineering (Links between simulation models/runs and test case generation/verdict computation provided by model-based testing techniques) - Software engineering (Refinement of executable models into deployable software artifacts) - Etc.

Acknowledgments to the LISE team for their direct and indirect contributions to this presentation. GETTING STARTED WITH MOKA: HTTPS://WIKI.ECLIPSE.ORG/PAPYRUS/ USERGUIDE/MODELEXECUTION VIDEO TUTORIAL AVAILABLE SOON

BACKUP

CONNECTION WITH THE ECLIPSE DEBUG FRAMEWORK Managing launch configurations

CONNECTION WITH THE ECLIPSE DEBUG FRAMEWORK Managing breakpoints

MODELING AND SIMULATION OF TIMING ASPECTS THE FMU EXPORT FUNCTIONNALITY