Papyrus is an industrial-grade open source Model-Based Engineering tool. It is based on standards and supports Model-Based Design in UML, SysML, MARTE, fUML, PSCS/SM, FMI 2.0 and many more. Papyrus has been used successfuly in industrial projects and is the base platform for several industrial modeling tools—read more about Papyrus Use Case Stories.
To address the robotics domain according to the RobMoSys methodology and structures, a set of Papyrus-based DSLs and tools are being collected under the Papyrus4Robotics umbrella.
It is important to emphasize that RobMoSys-compliant software baselines are not in competition. Indeed, RobMoSys aims, as one of its primary goals, at the realization of a virtual integration platform built upon existing tools and standards for the development of robotic systems.
Concretely, this means that the RobMoSys approach and structures can enable model exchange and collaborative development between, e.g., safety engineers and system integrators who use different RobMoSys-compliant software baselines. As an example, SmartSoft and its large set of software components can be used to define the system's functional architecture. Then, a safety module in Papyrus4Robotics can be used to perform dysfunctional analysis on the architecture's key components, including Hazard Analysis and Risk Assessment (HARA), Failure Mode and Effects Analysis (FMEA) and Fault Tree Analysis (FTA). Model-based safety analysis would be enabled by the following components. A dedicated modeling view; a DSL with the main safety concepts for robotics, e.g., various hazards and safety requirements as specified by ISO standards 10218-1/2 (industrial robots), 15066 (collaborative industrial robots) and 13482 (personal care robots); a set of analysis and report generation modules. Read the Aldebaran's use case story to find out more on this subject.
Papyrus4Robotics uses UML/SysML as underlying realization technology. The platform uses the UML profile mechanism to enable the implementation of Domain-Specific Languages (DSLs) that assist RobMoSys's ecosystem users in designing robotics systems.
RobotML is a DSL specifically oriented to modeling and design of mobile manipulation robotic systems. RobotML conforms to RobMoSys's foundational principles of separation of roles and concerns. It provides several view points, including (but not limited to) those for the definition of State Machines, Hardware and Software components , Controllers and Environment. RobotML domain models allow for the representation of the system's architecture, control and communication aspects and span across all 5C concerns of Computation, Coordination, Coordination, Configuration and Composition.
Further modeling views are provided by additional components of Papyrus4Robotics. For example, the performance view is featured by Papyrus Architect, a Papyrus4Robotics module dedicated to explore quality attributes of architectures, with a focus on timing properties in real-time applications of embedded (robotic) systems. It leverages the MARTE (Modeling and Analysis of Real-Time Embedded systems) DSL for the specification of system architecture (functional/physical) and of timing properties. The performance view addresses the problem of evaluating the performance of candidate architectures with respect to attributes like hardware resource utilization.
In addition to DSLs and modeling, Papyrus4Robotics also features code-generation capabilities. Papyrus Designer supports code generation from models of SW including embedded and real-time and DDS-based distributed systems as potential targets. In Designer, the generation starts from a model that includes the definition of software components, hardware nodes and deployment information. The latter consists of a definition of the instances of components and nodes and an allocation between these. Code generation is done by a sequence of transformations steps. The model transformation takes care of some platform specific aspects (e.g. communication mechanisms or thread allocation), based on non-functional properties.
Some modeling concepts in Papyrus4Robotics are already aligned with the RobMoSys definitions. However, further refinement and alignment of meta-models is in process and scheduled to be released and productively used by the end of 2017.
Papyrus4Robotics provides implementations for the individual levels listed in Separation of Levels and Separation of Concerns
|Level||Corresponding DSL or Tool in Papyrus4Robotics|
|Task Plot||RobotML State Machine|
|Service|| RobotML operation (defined in the Skill interface)
Software Component representation in Papyrus Designer
|Function||C++ library (e.g., libOpenRave, etc.)|
|Execution Container||Task and resource representation in Papyrus Designer|
|OS/Middleware||DRM::SRM in UML MARTE|
|Hardware||DRM::HRM in UML MARTE, RobotML’s sensors and actuators|
One major project's focus is on models, software and tools that are generically useful for all possible robotic systems and applications. This includes systems and applications that can, e.g., pass certification, monitor their resource usage at runtime, or form systems-of-systems with just a reconfiguration of the available models.
Building such systems and applications require multi-disciplinary competences (beyond robotics) and sets of platform tools that support best-practices established in near and mature engineering-centric domains, such as automotive or aerospace.
Possible modeling workbenches enabled by the RobMoSys's software baselines are for example SmartMDSD Toolchain, the Papyrus4Robotics set of modeling tools. There are many more existing modeling tools that can be made conformal to the RobMoSys's baseline. In a robotics ecosystem multiple users provide models by using these workbenches and these models are interfaced over the RobMoSys's baseline.
Some workbenches allow for many different kinds of analysis that are strongly related to good practices to employ during the development process—as recommended by experts in the complex and critical systems design domain (read Annex 1 of D5.1 to find out more). This includes (and is not limited to):
It is unrewarding to define one single modeling workbench that covers all aspects of design, analysis and synthesis (i.e. code-generation). Instead, because platform tools conform to the RobMoSys structures, models can be exchanged from one modleing workbench to another to cover all the design needs of the ecosystem users at all the phases of development.