© 2016 Zeligsoft
Improving embedded software development productivity
Papyrus for RealTime
- Executable modeling on Eclipse
Charles Rivet
Senior Product Manager
Zeligsoft
charles@zeligsoft.com
Improving embedded software development productivity
© 2016 Zeligsoft Made available under EPL 1.0
What Is Papyrus-RT?
Modeling
environment
Industrial-grade
Complete
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
RuntimeValidation
Collaborative
Modeling
PLMDeploymentSimulationTesting
Trace &
Debug
Model
Checking
Code Gen
DSML
…
Everybody focused on a common objective
Development 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
Unifying
xtUML – OneFacT *
RT-UML ?
UML-RT
• DSML
• Code Generator
• Runtime
RSARTE
Rose RealTime
Based 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 Eclipse
Plans 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
• Validation
RSA Model Migration
UML 2.5
And MUCH more
UML-RT DSML
• User Experience
• Structure
• Capsule, Protocol, etc.
• State machine
• Restrictions, behavior
• Customizations
• Toolbox, model explorer, etc.
• Validation
RSARTE Model Migration
Code Generation
• Multi-step
• Java/Xtext-based
• Extensible
Runtime Service Library
• C++
• Extensible
• Compatibility
Hybrid 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 Modeling
Graphical 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 modelInstance 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…
ECFR 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 Interest
Home 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
Sign in and vote at eclipsecon.org
-1 0 +1

Papyrus-RT - Executable modeling on eclipse

  • 1.
    © 2016 Zeligsoft Improvingembedded software development productivity Papyrus for RealTime - Executable modeling on Eclipse Charles Rivet Senior Product Manager Zeligsoft charles@zeligsoft.com
  • 2.
    Improving embedded softwaredevelopment productivity © 2016 Zeligsoft Made available under EPL 1.0 What Is Papyrus-RT? Modeling environment Industrial-grade Complete Ecosystem Complex Software Intensive Cyber- Physical Systems ECFR 2016 - Papyrus for Real Time - Executable modeling on Eclipse
  • 3.
    Papyrus Industry consortium ECFR2016 - Papyrus for Real Time - Executable modeling on Eclipse RuntimeValidation Collaborative Modeling PLMDeploymentSimulationTesting Trace & Debug Model Checking Code Gen DSML … Everybody focused on a common objective Development of a complete MBE solution
  • 4.
    Improving embedded softwaredevelopment productivity © 2016 Zeligsoft Made available under EPL 1.0 What Else Is Papyrus-RT? 2.5 Unifying xtUML – OneFacT * RT-UML ? UML-RT • DSML • Code Generator • Runtime RSARTE Rose RealTime Based on ROOM: ObjecTime Developer { With an experienced team! ECFR 2016 - Papyrus for Real Time - Executable modeling on Eclipse
  • 5.
    Improving embedded softwaredevelopment 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
  • 6.
    Improving embedded softwaredevelopment productivity © 2016 Zeligsoft Made available under EPL 1.0 Papyrus-RT History and Plan ECFR 2016 - Papyrus for Real Time - Executable modeling on Eclipse Plans subject to change
  • 7.
    Improving embedded softwaredevelopment productivity © 2016 Zeligsoft Made available under EPL 1.0 Architecture - Overview User Experience • Diagrams • DSML Support • Customizability • Extensibility • Integrations • Validation RSA Model Migration UML 2.5 And MUCH more UML-RT DSML • User Experience • Structure • Capsule, Protocol, etc. • State machine • Restrictions, behavior • Customizations • Toolbox, model explorer, etc. • Validation RSARTE Model Migration Code Generation • Multi-step • Java/Xtext-based • Extensible Runtime Service Library • C++ • Extensible • Compatibility Hybrid Modeling ECFR 2016 - Papyrus for Real Time - Executable modeling on Eclipse
  • 8.
    Improving embedded softwaredevelopment 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
  • 9.
    Improving embedded softwaredevelopment productivity © 2016 Zeligsoft Made available under EPL 1.0 Architecture – Code Generation ECFR 2016 - Papyrus for Real Time - Executable modeling on Eclipse
  • 10.
    Improving embedded softwaredevelopment 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
  • 11.
    Improving embedded softwaredevelopment productivity © 2016 Zeligsoft Made available under EPL 1.0 Hybrid textual-graphical Modeling Graphical 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?
  • 12.
    Improving embedded softwaredevelopment 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
  • 13.
    Improving embedded softwaredevelopment 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 modelInstance model Conforms Conforms C++ code generation Serialize textual Serialize – diagrams
  • 14.
    Improving embedded softwaredevelopment productivity © 2016 Zeligsoft Made available under EPL 1.0 ECNA 2016 - Papyrus for Real Time - Executable modeling on Eclipse
  • 15.
    Improving embedded softwaredevelopment productivity © 2016 Zeligsoft Made available under EPL 1.0 And now for the most dangerous part of any presentation… ECFR 2016 - Papyrus for Real Time - Executable modeling on Eclipse
  • 16.
    Improving embedded softwaredevelopment 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
  • 17.
    Improving embedded softwaredevelopment productivity © 2016 Zeligsoft Made available under EPL 1.0 Papyrus-RT Links of Interest Home 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
  • 18.
    Improving embedded softwaredevelopment 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
  • 19.
    Improving embedded softwaredevelopment productivity © 2016 Zeligsoft Made available under EPL 1.0 Sign in and vote at eclipsecon.org -1 0 +1

Editor's Notes

  • #4 Dec 2015 v2.1
  • #5 * OneFact will be moving their Bridgepoint tool to Papyrus.