Papyrus is an open source model-based engineering environment for the Eclipse® platform. It is well known for its complete support for both UML® and SysML® modeling. It is also fully extensible to support domain-specific modeling with custom profiles, notations, methodologies and UI. In fact, Papyrus has been extended to develop several industrial modeling tools today.
Moka is an extensible framework for model execution in Papyrus. It supports the fUML specification allowing it to execute UML activity diagrams. It also supports the PSCS and PSSM specifications allowing it to execute UML composite structure and state machine diagrams. Moka also supports a debugging framework, where breakpoints can be placed and contextual state can be inspected. It also supports an animation framework to visualize the execution. In addition to the graphical notation, Moka also supports the ALF textual notation for the fUML specification with syntax highlight, completion and content assist. Moka can also be programmed for other semantics of (ex: in connection with UML profiles’ use) in order to propose a user experiment adapted to targeted fields of application.
Diversity is a multi-purpose customizable platform based on symbolic execution that is used to perform model based testing (MBT). Diversity comes with UML profiles that can be applied to a Papyrus sequence or state machine diagram to describe the expected behavior of a system. From there, it can generate test cases to support many possible analyses (e.g., coverage criteria). The test case generation involves calculating possible sequences of consecutive transitions and their required parameters and constraints. A generated test case analyzes the observed behavior of the system under test against the expected behavior represented by the model to provide verdict about correctness.
Sophia is a Papyrus extension dedicated to functional security analysis and monitoring based on system description given in a Papyrus SySML (or another DSL) model. It performs fault tree analysis, identifies minimal cut sets, and identifies failure modes and their effects on qualitative aspects of the system (FMEA). Sophia can also help with monitoring probabilistic studies of quantitative aspects. By using the same model for both design and security analysis, it avoids interpretation mistakes and reduces time and cost. Applications of Sophia includes safety and reliability studies in various domains (automotive, railway, robotics, health industrial, etc.). It can also be extended to other security domains (like harmlessness, confidentiality, etc.) associated with cyber physical systems.
Papyrus for Requirements
Papyrus for Requirements is an extension of Papyrus for comprehensive requirements engineering. It supports modeling business requirements (goals) using the Business Motivation Model (BMM) notation, and systems requirements using SysML (requirements diagram or table). It also supports tracing between both. Furthermore, it supports requirements analysis and reporting, including metrics reports using a standard called Structured Metrics Metamodel (SMM), and validation reports. Finally, It supports several interfaces (CSV, XLS, ReqIF) to interchange requirements with other tools.