M2M

The Model2Model transformation tool allows to design a model to model transformation which is executed in Rhapsody by the M2M Engine. The workflows below show you can use M2M to transform SysML into an AUTOSAR (UML) model, based on the IBM AUTOSAR profile. The AUTOSAR model can be transformed by M2M into an ArUML model, based on the SodiusWillert AUTOSAR profiles. The ARXF-CP allows you to implement Internal Behavior for your SWCs.

Extensive M2M Documentation can be found online. M2M comes with sample rulesets which you can use to transform:

Architecture

When designing Architecture, we can use Rhapsody to model in SysML, UML or both. With M2M one can transform a SysML model into a UML model or vice versa.
The design does not need to know about AUTOSAR: we can use M2M to transform a model into an AUTOSAR model. The AUTOSAR model will be based on the IBM AUTOSAR profile.

Development

When developing, we can use Rhapsody to model in ArUML and use code generation. For code generation we use Rhapsody and the SodiusWillert AUTOSAR profiles. The input and output must be AUTOSAR compliant: The model used for code generation can be based on:

AUTOSAR model from the Architecture phase

The code which is generated from the Rhapsody UML model based on the SodiusWillert profiles must be build within an AUTOSAR build environment

Project based on IBM AUTOSAR Profile

New Project
Although you can also update a project, we will show how to start a new project based on the IBM Autosar Profile.
Create a new project based on the AUTOSAR version which matches the ArXML you need to import later:


ArXML Import
Now we can import the ArXML.


Reduce the scope of the IBM AUTOSAR Profile

AUTOSAR is huge and sometimes it is necessary to reduce the scope of the profile for a specific designer role. In Rhapsody, it is possible to enable a specific list of metaclass which can created in a specific project, and disable others. For that, you need to use the property AUTOSAR_Authoring_UserRole, and choose a specific User Role. By default you have: To introduce a new User Role, follow instructions below: