Systems Engineering with
Papyrus
Presented by Charles Rivet
Senior Product Manager - Zeligsoft
Chairman of the Papyrus Industry Consortium Product Management Committee
charles@zeligsoft.com
WHO IS ZELIGSOFT?
• Initially founded in 2002 and restarted in 2009
• Developed SCA modeling tools
• Strategic partnership to provide design and
runtime for SCA and DDS development tools.
• Since 2009, Zeligsoft has expanded to develop
custom tools for companies that are sold
under their own branding
Zeligsoft
Zeligsoft: We Make DSMLs!
• Zeligsoft is in the business of making tools
implementing Domain-Specific Modeling
Languages based on Eclipse modeling tools,
e.g., Papyrus, to meet the tooling and process
demands of our customers
• Work closely with customers through the different
development/deployment phases to ensure successful
deployment and usage of the standard and tailored
solutions
• Provides industrial support and training for these
solutions
• Part of a network of experts to cover the different aspects
required to develop and deploy industrial MBE solutions
in different application domains
Zeligsoft Approach
TEAM CYPERUS AND CMIND
• Acquired by Cmind – June 2017
• Association of experts in MBE and Papyrus
– Provides the technological and methodological expertise required to cover all of the different
aspects needed for industrial Papyrus products
• Partners:
– EclipseSource
• Main expertise: Eclipse platform, Eclipse modeling, Papyrus, DSL, collaborative modeling
• Lead the technical work for the Collaborative Modeling aspect – includes integration with Git
and Model Diff/Merge (based on EMF Compare).
– Zeligsoft
• Main expertise: MBE (large-scale industrial deployment), Eclipse modeling, DSL, real-time
embedded systems
– Other partners/subcontractors will be added as needed
Team Cyperus
Recent Zeligsoft Work
• Recent tool development, in addition to
continuing work:
– Papyrus for Real Time
– API management tool
– Papyrus for SysML System Engineering
PAPYRUS-RT
Papyrus-RT Pedigree
 Telos (1987)
 ObjecTime Developer (1994)
 (IBM) Rational Rose RealTime (2000)
 IBM Rational Software Architect RealTime Edition (2006)
 Papyrus for Real Time (2017)
Papyrus-RT Team
• Zeligsoft: Product and project lead, code generation,
runtime, intermediate representation, CDT integration,
textual modeling
• CEA List: tooling, validation, import, CDT integration
• EclipseSource: model compare
• Ericsson: requirements, C++ generation, profile,
Intermediate representation
• Others
Papyrus-RT Overview
• Implements the UML-RT DSL
– UML-based language for real-time embedded systems
– An easier to master customized subset of UML
• Full code generation to CDT
– Currently C++, could be extended to Java and C
– Supported by a UML-RT runtime library
– Fully open source and extensible
The UML-RT Language
• Concurrent, Object-Oriented, Real-Time, Discrete-Event
systems
• UML with constraints and new concepts
• Composite Structures
• State Machine
UML-RT: capsules
UML-RT and SysML
SysML UML-RT
Block Capsule
Block Definition Diagram Class Diagram (implicit or explicit)
Internal Block Diagram Capsule Structure Diagram
State Machine State Machine
Activity Diagram Activity Diagram(*)
Sequence Diagram Sequence Diagram (*)
Package Diagram Package Diagram
Requirement Diagram
Parametric Diagram
UML-RT State Machines
• Simplified UML state machines
• Syntax
– Hierarchical (composite states)
– Group transitions
– No orthogonal regions
– No “boundary crossing”
– Deep history
• Semantics: run-to-completion
UML-RT: state machines
UML-RT execution semantics
• Runtime system
• Controllers
– Each capsule is associated to a controller
– A controller executes a “main” loop in its own OS thread
– Handles messages addressed to its capsules
– Manages the capsule’s lifetimes
– Event queue: per controller, not per capsule or port
Logical/physical threads
• Capsule instances -> “logical” threads
• Controllers -> “physical” threads
• Allocation:
– Static
– Dynamic
• Thread allocation may affect system behaviour
(not just performance)
UML-RT and SysML (cont.)
SysML UML-RT
Part property Capsule part (fixed or optional)
Reference property Capsule part (plugin)
Value property Attribute
Standard (full) port Port
Flow port (deprecated in 1.4) ~Port (typed by a Protocol)
Proxy port ~Relay port
Connector Connector
Connector that crosses boundaries Not allowed: use relay ports (delegation)
Nested ports Replicated ports
? Service ports (SAPs and SPPs)
PAPYRUS FOR SYSML
Papyrus for SysML
• First step to a Papyrus for System Engineering
tool family
• Focus on
– SysML 1.4
– Usability
PAPYRUS INDUSTRY CONSORTIUM
Goal: Define strategy to ensure the long-term
availability/evolution of Papyrus
Papyrus Industry Consortium
Hybrid
Textual/Graphical
Modeling
…
New UML-RT
Runtime
Model
Diff/Merge
Git
Integration
DSL and
Customization
Provides the flexibility we need to
develop key required capabilities
Industrial deployment requires
› Governance
› Industrial project/product
management
› Product roadmap
› Requirements management
› Long-term
availability/evolution
› Joint-development financing
› Commercial support
Open source projects by
themselves don’t provide the
required level of industrialness
› No industrial product
management
› No real product roadmap
› Difficult to achieve the required
level of quality, stability, and
usability – 80% is not good
enough!
› No long-term commitment
… but open source is not
sufficient!
Hybrid
Textual/Graphical
Modeling
…
New UML-RT
Runtime
 Industrial
project/product
management
 Commercial product
offerings
 Consulting services
Model
Diff/Merge
Git
Integration
DSL and
Customization
We also need a vibrant
community!
Communit
yCode
• End-user driven
– Need strong leadership from end-user companies
• Strong supplier ecosystem
– Need to ensure financial success of the suppliers
• Attract leaders from researcher community
• Establish Papyrus as main tool for MBE education/training
• Grow the number of contributors/committers
• Foster contributions from all participants
• Establish clear governance
Main Challenge:
Development of the community
Papyrus IC
• Eclipse Papyrus IC founded in Jan 2016
www.polarsys.org/papyrus-ic
• User Lead members
• Supplier Lead members
• Participant members Research/Academia members
PAPYRUS IC PRODUCT LINE
Papyrus IC Product Line
• Available:
– Papyrus for Archimate (enterprise architecture)
– Papyrus for Information Modeling
– Papyrus for Real Time
– Papyrus for SysML(*)
– Papyrus for UML (“Papyrus”)
Papyrus IC Product Line
• Under development:
– Papyrus for xtUML (“BridgePoint”)
• Future:
– Papyrus for Safety and Security Engineering
DEMOS
PAPYRUS FOR REAL TIME
DEMO
PAPYRUS FOR SYSML
DEMO
Questions?

Papyrus for System Engineering - Papyrus for Real Time v1.0

  • 1.
    Systems Engineering with Papyrus Presentedby Charles Rivet Senior Product Manager - Zeligsoft Chairman of the Papyrus Industry Consortium Product Management Committee [email protected]
  • 2.
  • 3.
    • Initially foundedin 2002 and restarted in 2009 • Developed SCA modeling tools • Strategic partnership to provide design and runtime for SCA and DDS development tools. • Since 2009, Zeligsoft has expanded to develop custom tools for companies that are sold under their own branding Zeligsoft
  • 4.
    Zeligsoft: We MakeDSMLs! • Zeligsoft is in the business of making tools implementing Domain-Specific Modeling Languages based on Eclipse modeling tools, e.g., Papyrus, to meet the tooling and process demands of our customers
  • 5.
    • Work closelywith customers through the different development/deployment phases to ensure successful deployment and usage of the standard and tailored solutions • Provides industrial support and training for these solutions • Part of a network of experts to cover the different aspects required to develop and deploy industrial MBE solutions in different application domains Zeligsoft Approach
  • 6.
  • 7.
    • Acquired byCmind – June 2017 • Association of experts in MBE and Papyrus – Provides the technological and methodological expertise required to cover all of the different aspects needed for industrial Papyrus products • Partners: – EclipseSource • Main expertise: Eclipse platform, Eclipse modeling, Papyrus, DSL, collaborative modeling • Lead the technical work for the Collaborative Modeling aspect – includes integration with Git and Model Diff/Merge (based on EMF Compare). – Zeligsoft • Main expertise: MBE (large-scale industrial deployment), Eclipse modeling, DSL, real-time embedded systems – Other partners/subcontractors will be added as needed Team Cyperus
  • 8.
    Recent Zeligsoft Work •Recent tool development, in addition to continuing work: – Papyrus for Real Time – API management tool – Papyrus for SysML System Engineering
  • 9.
  • 10.
    Papyrus-RT Pedigree  Telos(1987)  ObjecTime Developer (1994)  (IBM) Rational Rose RealTime (2000)  IBM Rational Software Architect RealTime Edition (2006)  Papyrus for Real Time (2017)
  • 11.
    Papyrus-RT Team • Zeligsoft:Product and project lead, code generation, runtime, intermediate representation, CDT integration, textual modeling • CEA List: tooling, validation, import, CDT integration • EclipseSource: model compare • Ericsson: requirements, C++ generation, profile, Intermediate representation • Others
  • 12.
    Papyrus-RT Overview • Implementsthe UML-RT DSL – UML-based language for real-time embedded systems – An easier to master customized subset of UML • Full code generation to CDT – Currently C++, could be extended to Java and C – Supported by a UML-RT runtime library – Fully open source and extensible
  • 13.
    The UML-RT Language •Concurrent, Object-Oriented, Real-Time, Discrete-Event systems • UML with constraints and new concepts • Composite Structures • State Machine
  • 14.
  • 15.
    UML-RT and SysML SysMLUML-RT Block Capsule Block Definition Diagram Class Diagram (implicit or explicit) Internal Block Diagram Capsule Structure Diagram State Machine State Machine Activity Diagram Activity Diagram(*) Sequence Diagram Sequence Diagram (*) Package Diagram Package Diagram Requirement Diagram Parametric Diagram
  • 16.
    UML-RT State Machines •Simplified UML state machines • Syntax – Hierarchical (composite states) – Group transitions – No orthogonal regions – No “boundary crossing” – Deep history • Semantics: run-to-completion
  • 17.
  • 18.
    UML-RT execution semantics •Runtime system • Controllers – Each capsule is associated to a controller – A controller executes a “main” loop in its own OS thread – Handles messages addressed to its capsules – Manages the capsule’s lifetimes – Event queue: per controller, not per capsule or port
  • 19.
    Logical/physical threads • Capsuleinstances -> “logical” threads • Controllers -> “physical” threads • Allocation: – Static – Dynamic • Thread allocation may affect system behaviour (not just performance)
  • 20.
    UML-RT and SysML(cont.) SysML UML-RT Part property Capsule part (fixed or optional) Reference property Capsule part (plugin) Value property Attribute Standard (full) port Port Flow port (deprecated in 1.4) ~Port (typed by a Protocol) Proxy port ~Relay port Connector Connector Connector that crosses boundaries Not allowed: use relay ports (delegation) Nested ports Replicated ports ? Service ports (SAPs and SPPs)
  • 21.
  • 22.
    Papyrus for SysML •First step to a Papyrus for System Engineering tool family • Focus on – SysML 1.4 – Usability
  • 23.
  • 24.
    Goal: Define strategyto ensure the long-term availability/evolution of Papyrus Papyrus Industry Consortium
  • 25.
  • 26.
    Industrial deployment requires ›Governance › Industrial project/product management › Product roadmap › Requirements management › Long-term availability/evolution › Joint-development financing › Commercial support Open source projects by themselves don’t provide the required level of industrialness › No industrial product management › No real product roadmap › Difficult to achieve the required level of quality, stability, and usability – 80% is not good enough! › No long-term commitment … but open source is not sufficient!
  • 27.
    Hybrid Textual/Graphical Modeling … New UML-RT Runtime  Industrial project/product management Commercial product offerings  Consulting services Model Diff/Merge Git Integration DSL and Customization We also need a vibrant community!
  • 28.
    Communit yCode • End-user driven –Need strong leadership from end-user companies • Strong supplier ecosystem – Need to ensure financial success of the suppliers • Attract leaders from researcher community • Establish Papyrus as main tool for MBE education/training • Grow the number of contributors/committers • Foster contributions from all participants • Establish clear governance Main Challenge: Development of the community
  • 29.
    Papyrus IC • EclipsePapyrus IC founded in Jan 2016 www.polarsys.org/papyrus-ic • User Lead members • Supplier Lead members • Participant members Research/Academia members
  • 30.
  • 31.
    Papyrus IC ProductLine • Available: – Papyrus for Archimate (enterprise architecture) – Papyrus for Information Modeling – Papyrus for Real Time – Papyrus for SysML(*) – Papyrus for UML (“Papyrus”)
  • 32.
    Papyrus IC ProductLine • Under development: – Papyrus for xtUML (“BridgePoint”) • Future: – Papyrus for Safety and Security Engineering
  • 33.
  • 34.
  • 35.
  • 36.

Editor's Notes

  • #11 Full information: 1987: Telos project at BNR 1992: ObjectTime 1994: ROOM (Selic, B., Gullekson, G. and Ward, P.) 1998: UML-RT (Selic, B., Rumbaugh, J.) 2000: Rational RoseRT 2006: IBM RSA Real Time Edition
  • #13 CEA List (tooling, validation, import, CDT int.) EclipseSource (model compare) Ericsson (requirements, C++ gen. profile, Intermediate representation) Zeligsoft (codegen, runtime, Intermediate representation, CDT int., textual, mixed) Others Dedicated to create software for reactive embedded systems with well defined semantics
  • #19 When we generate code we generate a main file that spawns these controllers.
  • #21 Capsules (Actors): Very similar to SysML Blocks Active classes Strong encapsulation and well defined interfaces (ports typed by Protocols) Behaviour: hierarchical state machines Structure: May contain parts (sub-capsules) Communication by message-passing (connectors)
  • #34 This is a highlight of the mission of the Papyrus Industry Consortium. More details are available in the consortium charter at