A Virtual Functional Bus (VFB) is a communication mechanism that enables a composition of interconnected Components to interact with each other. AUTOSAR helps you to model such mechanisms.
To create a Virtual Functional Bus (VFB) model, you start by creating the Components as instances (part-elements) of AUTOSAR Component classifier elements, in an AUTOSAR diagram. If no Component classifiers are available, first define Data Types using an AUTOSAR Type Definition diagram.
To create a new Component:
- Onto the diagram, either:
- Drag and drop an AUTOSAR Component icon from the 'AUTOSAR
Components and Ports' Toolbox page or
- and drop an AUTOSAR Component classifier from the
Browser window and, on the 'Paste <classifier name>' dialog, in the
'Drop as' field choose the 'Instance (AUTOSAR Component)' option
- On the 'Element' tab of the Properties window for the Component, type the element's name.
- Also on the 'Element' tab, expand the 'AUTOSAR Component' segment and set the component characteristic in the 'Characteristic' Tagged Value of the component. You can select from the component types defined by the AUTOSAR VFB specification.
- After creating the Component elements, go on to adding interfaces, as explained in the next section.
To add interfaces to Components, select from the various AUTOSAR Port elements available in the 'AUTOSAR Components and Ports' Toolbox page. Set the element name and property type in the Properties window for the Port. Use the element's Tagged Values to set the direction and whether the Port is a Service Port.
To connect two Ports, use the AUTOSAR Flow Connection connector. You can use the Enterprise Architect Quick Linker to connect the two Ports or to create a new Port and a connection in one step, by creating a connector between an existing Port and a Component. AUTOSAR will assist you by automatically setting the name, Port type and direction of the new Port when these are undefined.
Port Direction Determination
To be able to determine the Port direction correctly, you must add a UML Compose or a SysML Part Association connector (black diamond) to define the hierarchy of your Components. These will define the relationship 'this Component is a sub-element of that Component' and AUTOSAR can set the direction correctly. This diagram is an example of such a Component hierarchy specification (the Decomposition View):
This illustration is of an AUTOSAR diagram with Components, Interfaces and Interface Connections (the Architectural View). The option 'Show Element Stereotypes' is disabled for the diagram.
The behavior of AUTOSAR Components is modeled on an AUTOSAR Behavior diagram. After you have created an AUTOSAR Component on an AUTOSAR diagram, you can add an AUTOSAR Behavior element as a container for the behavior model.
- Drag an AUTOSAR Behavior element onto your AUTOSAR diagram.
- In the Properties window, name the element.
- Add a Part Association connector from the Behavior element to the AUTOSAR Component element, to express that the Behavior element is part of the Component.
- Right-click on the Behavior element and select the 'New Child Diagram > Add Diagram' option, and create the AUTOSAR Behavior sub-diagram.
- Model the internal behavior using Runnables and Inter-Runnable-Variables on the AUTOSAR Behavior diagram.
Each AUTOSAR Behavior element has a Tagged Value in which you set whether or not the element can be instantiated multiple times.
If a Runnable can be invoked concurrently, you can use another Tagged Value to set whether this happens or not. If a Runnable can be invoked concurrently, the arrow symbol in the top right corner of the element is filled blue; otherwise it is not filled.