Papyrus-RT - Executable modeling on eclipse

19
© 2016 Zeligsoft Improving embedded software development productivity Papyrus for RealTime - Executable modeling on Eclipse Charles Rivet Senior Product Manager Zeligsoft [email protected]

Transcript of Papyrus-RT - Executable modeling on eclipse

© 2016 Zeligsoft

Improving embedded software development productivity

Papyrus for RealTime- Executable modeling on Eclipse

Charles RivetSenior Product [email protected]

Improving embedded software development productivity

© 2016 Zeligsoft Made available under EPL 1.0

What Is Papyrus-RT?

Modeling environment

Industrial-gradeComplete

Ecosystem

Complex

Software Intensive

Cyber-Physical Systems

ECFR 2016 - Papyrus for Real Time - Executable modeling on Eclipse

Papyrus Industry consortium

ECFR 2016 - Papyrus for Real Time - Executable modeling on Eclipse

RuntimeValidationCollaborativeModeling PLMDeploymentSimulationTestingTrace &

DebugModel

Checking Code Gen

DSML

Everybody focused on a common objectiveDevelopment of a complete MBE solution

Improving embedded software development productivity

© 2016 Zeligsoft Made available under EPL 1.0

What Else Is Papyrus-RT?

2.5

UnifyingxtUML – OneFacT * RT-UML ?

UML-RT• DSML• Code Generator• Runtime

RSARTERose RealTimeBased on ROOM: ObjecTime Developer

{

With an experienced

team!

ECFR 2016 - Papyrus for Real Time - Executable modeling on Eclipse

Improving embedded software development productivity

© 2016 Zeligsoft Made available under EPL 1.0

Who is Papyrus-RT?

Code generation, runtime, CDT integration

Tooling, validation, import, CDT integration

UML-RT Profile

Requirements, C++ profile, intermediate representation, testing

Intermediate representation

And more to come…

ECFR 2016 - Papyrus for Real Time - Executable modeling on Eclipse

Collaborative Modeling

Tooling

Improving embedded software development productivity

© 2016 Zeligsoft Made available under EPL 1.0

Papyrus-RT History and Plan

ECFR 2016 - Papyrus for Real Time - Executable modeling on EclipsePlans subject to change

Improving embedded software development productivity

© 2016 Zeligsoft Made available under EPL 1.0

Architecture - Overview

User Experience• Diagrams• DSML Support• Customizability• Extensibility• Integrations• ValidationRSA Model MigrationUML 2.5

And MUCH more

UML-RT DSML• User Experience

• Structure• Capsule, Protocol, etc.

• State machine• Restrictions, behavior

• Customizations• Toolbox, model explorer, etc.

• ValidationRSARTE Model Migration

Code Generation• Multi-step• Java/Xtext-based• ExtensibleRuntime Service Library• C++• Extensible• CompatibilityHybrid Modeling

ECFR 2016 - Papyrus for Real Time - Executable modeling on Eclipse

Improving embedded software development productivity

© 2016 Zeligsoft Made available under EPL 1.0

Architecture – Code Generation

• Implemented in Java and• Supports incremental generation• Targeting C++03 on Linux

ECFR 2016 - Papyrus for Real Time - Executable modeling on Eclipse

Improving embedded software development productivity

© 2016 Zeligsoft Made available under EPL 1.0

Architecture – Code Generation

ECFR 2016 - Papyrus for Real Time - Executable modeling on Eclipse

Improving embedded software development productivity

© 2016 Zeligsoft Made available under EPL 1.0

Architecture – Runtime+ rts + build + buildtools // Toolchain-specific makefile fragments + x86-gcc-4.6.3 + x86-gcc-4.6.3-debug + x86-VisualC++-12.0 + os // OS-specific makefile fragments + linux + windows + include // External-facing (API) include files + Makefile // Makefile to build the runtime + obj // Object and library files for the runtime + linux.x86-gcc-4.6.3 + os // OS-specific object + umlrt // Runtime objects + util // Runtime utilities objects + os // Source files for OS-specific functions (e.g., thread, mutex, time, etc.) + linux // Source files for linux-specific implementations + windows // Source files for Windows-specific implementations + umlrt // UML-RT Runtime sources (.cc) + util // Runtime internal utilities (low-level logging for debug)+ tests // Runtime tests

ECFR2016 - Papyrus for Real Time - Executable modeling on Eclipse

Improving embedded software development productivity

© 2016 Zeligsoft Made available under EPL 1.0

Hybrid textual-graphical ModelingGraphical Representation• Clearly show the relationship

between elements• Improves comprehension and

understanding in some cases, such as with state machines or with the structure of an application

Textual Representation• Faster model creation• Can be modified with standard light

weight editors or with a language aware editor

• Standard CM tools and diff/merge tools can be used. For graphical, the diff/merge must be language aware to provide reasonable performance

ECFR 2016 - Papyrus for Real Time - Executable modeling on Eclipse

Why not have both and allow the user to choose based on what is best for their needs at the time or task involved?

Improving embedded software development productivity

© 2016 Zeligsoft Made available under EPL 1.0

System overview – graphical only

ECNA 2016 - Papyrus for Real Time - Executable modeling on Eclipse

M2M transform

Graphical UML2 + profile ecore MM Textual ecore MM

Instance modelInstance model

Conforms Conforms

C++ code generationSerialize – UML and diagrams

Improving embedded software development productivity

© 2016 Zeligsoft Made available under EPL 1.0

System overview – hybrid textual-graphical

ECNA 2016 - Papyrus for Real Time - Executable modeling on Eclipse

M2M transform

Graphical UML2 + profile ecore MM Textual ecore MM

Instance model

Instance model

Conforms Conforms

C++ code generation

Serialize textual

Serialize – diagrams

Improving embedded software development productivity

© 2016 Zeligsoft Made available under EPL 1.0 ECNA 2016 - Papyrus for Real Time - Executable modeling on Eclipse

Improving embedded software development productivity

© 2016 Zeligsoft Made available under EPL 1.0

And now for the most dangerous part of any presentation…

DemoECFR 2016 - Papyrus for Real Time - Executable modeling on Eclipse

Improving embedded software development productivity

© 2016 Zeligsoft Made available under EPL 1.0 ECFR 2016 - Papyrus for Real Time - Executable modeling on Eclipse

Also look for Papyrus-RT code driving the PolarSys Rover!

Powered by Papyrus-RT

Improving embedded software development productivity

© 2016 Zeligsoft Made available under EPL 1.0

Papyrus-RT Links of InterestHome https://eclipse.org/papyrus-rt/ Project https://projects.eclipse.org/projects/modeling.papy

rus-rt

Wiki https://wiki.eclipse.org/Papyrus-RT (*)

Releases https://eclipse.org/papyrus-rt/content/download.php

Forum http://bit.ly/PapyrusRTCommunity Blog https://papyrusuml.wordpress.com/ Twitter https://twitter.com/papyrusuml Consortium https://www.polarsys.org/ic/papyrus

ECFR 2016 - Papyrus for Real Time - Executable modeling on Eclipse

Improving embedded software development productivity

© 2016 Zeligsoft Made available under EPL 1.0

Thank you!And don’t forget…

ECFR 2016 - Papyrus for Real Time - Executable modeling on Eclipse

Improving embedded software development productivity

© 2016 Zeligsoft Made available under EPL 1.0

Evaluate the Sessions

Sign in and vote at eclipsecon.org

-1 0 +1