Introduction
The RXF for AUTOSAR Classic Platform (ARXF-CP) from SodiusWillert SAS is the interface between a UML
model and an AUTOSAR™ Classic Platform environment.
The ARXF-CP is implemented as an RTOS adapter of the standard RXF-C. The RXF is maintained by SodiusWillert in the form of a Rhapsody model,
which has multiple RTOS adapters of which one is 'AUTOSAR'. Although this documentation is dedicated for the ARXF-CP,
this is the reason you will see (generic) RXF details too when using the product.
The ARXF-CP facilitates the use of UML in
connection with code generation for AUTOSAR Classic Platform. A UML model which uses the ARXF-CP™ for code generation, is named an ArUML™ model.
Product ARXF_CP_V8.0.1
The ARXF-CP must be configured for your specific AUTOSAR environment,
but this product comes with examples which you can use in two environments:
- an AUTOSAR environment including Basic SoftWare and RunTime Environment.
You must configure the BSW and RTE to support the Blinky examples: this shows how to model three SW-Cs which run on
several OS tasks and use a blinking LED on for example an evaluation board.
- Microsoft Visual Studio for Windows™ and a mini-RTE which matches the Blinky examples:
the Blinky models used are the same, but use printf() statements to show toggling the LEDs. This
simulation uses Windows threads and can be used to verify the logic but not the exact timing.
You can even generate a mini-RTE which matches your model to use it when debugging or testing.
The product allows you to implement Internal Behavior of SW-Cs and generate C code. The generated code plus sources of the ARXF-CP and are
deployed to an environment where they must be build. This product does not support importing ArXML or
exporting ArXML: this is done in an AUTOSAR model.
You need the Model2Model or M2M tool to transform between an AUTOSAR model and an ArUML model.
This Use Case can be illustrated as follows:
- ArXML is exported from an AUTOSAR authoring tool and imported in a Rhapsody project, based on the IBM
AUTOSAR profile. The resulting UML model shows you the name of the SW-Cs, runnables and other artifacts like
exclusive areas and inter-runnable variables.
The AUTOSAR model shows many details which are typically not modelled in Rhapsody but configured in BSW and/or RTE instead.
The model is not suitable for code generation.
- an ArUML model based on the SodiusWillert AUTOSAR profiles allow you to model the internal behavior of your SW-Cs,
based on the names of the SW-Cs, runnables and other artifacts you need to use in your model to generate C code from.
You can use M2M to transform an AUTOSAR model into an ArUML model.
The AUTOSAR model can be the result of M2M transforming a SysML model or an AUTOSAR model in which you imported ARXML.
One of the diagrams in the examples shows an overview including the BSW module IoHwAb and ports; we distuinguish between
- AUTOSAR ports for which one must use the RTE generated API implementation specified in the SW-C contract, generated by the RTE.
The ARXF-CP offers sample calls. When adding an AUTOSAR port, you can use a Helper to add required AUTOSAR artifacts.
- UML ports for which Rhapsody can generate code.
An SW-C is represented by a structured class. The product supports sequential classes which run together in a
single task versus active classes where per class a dedicated OS task context is used. Each task uses its own
UML event dispatcher which operates on the UML event queue of a task. Any class or object can send an event to any other class.
- during modelling, the user can use Rhapsody in C to generate C code. The generated code plus sources of the ARXF-CP
are deployed to an AUTOSAR environment where everything can be build.
You can use a generated mini-RTE and UML Target Debugger to inspect the Internal Behavior on your PC.
The IBM Rational Rhapsody Add On TestConductor by BTC Embedded Systems AG lets you test the UML behavior of an SWC using tests which are generated from your model.
How to Get Started
It is recommended to get familiar with this product
by reading the Usage section of the help. At least you should take
the time to read the Installation section and then go through the Getting Started examples tutorial.