Upload
charles-rivet
View
287
Download
7
Embed Size (px)
Citation preview
© 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