Defining Allocations

The allocation model is used to define mappings between the following architectural viewpoints of AutoFOCUS3.

In a modern HW/SW architecture, the mapping of software to the platform is performed in several steps. In AutoFOCUS3, such mappings are defined by means of allocation tables. Each of these allocation tables defines a set of relations (1:1, 1:n, n:1) between entities of a source and target view. Multiple allocation tables are grouped in an Allocations model that can be added using the context menu of the project.

An allocation tables of a particular type can only be added in case both the source and the target view exist in the project, e.g., in order to define a Component-To-Task allocation table, both a Component Architecture and a Task Architecture must be present.

Some allocation tables subsume others. In order enforce an unambiguous definition, it will not be possible to define either of the sub-subsumed tables within the same Allocations (but certainly, it is possible to define an alternative mapping in another Allocations model. For example, if a Component-To-Hardware allocation table is contained a given Allocations model, neither a Component-To-Task nor a Task-To-Hardware model can be added. AutoFOCUS3 comes with the following allocation tables:

AutoFOCUS3 provides a generic editor to view and work with allocation tables. It can be opened by double-clicking an allocation table in the model navigator. The editor allows to select the underlying source and target view. Note that this will clear any previously defined allocation entries (if you confirm in the respective dialog).

An allocation from a source entity represented by one of the rows to a target entity (represented by one of the columns) is established by checking the respective checkbox. The editor will enforce the underlying type of the allocation (1:1, 1:n, n:1) by disabling the respective checkboxes.

Allocations may depend on each other, e.g., the ports of a component C can only be mapped to the ports of task T if C is mapped to T. In order to simplify the mapping for secondary entities such as ports, the generic allocation table editor allows to filter the view by either a source or a target parent entities (see figure below).