Categorize Models in a Hierarchy as Components or Units
When testing your model-based software architecture, there are different testing requirements for different levels of the architecture. The Model Testing Dashboard helps you to focus on the models that require unit testing so you can assess their testing quality. You can use labels to classify the models in your projects as units or components, then use the Model Testing Dashboard to see the hierarchy and analyze the testing requirements for the units. For more information, see Explore Status and Quality of Testing Activities Using the Model Testing Dashboard.
Units in the Model Testing Dashboard
A unit is a functional entity in your software architecture that you can execute and test independently or as part of larger system tests. Software development standards, such as ISO 26262-6, define objectives for unit testing. Unit tests typically must cover each of the requirements for the unit and must demonstrate traceability between the requirements, the test cases, and the unit. Unit tests must also meet certain coverage objectives for the unit, such as modified condition/decision coverage.
You can label models as units in the Model Testing Dashboard. The dashboard then provides metric results for each unit. If you do not specify the models that are considered units, then the dashboard considers a model to be a unit if it does not reference other models.
In the Model Testing Dashboard, in the Artifacts panel, the unit
dashboard icon indicates a unit. If a unit is referenced by a component,
it appears under the component. If a unit references one or more other models, those models
are part of the unit. The referenced models appear in the Design folder
under the unit and contribute to the metric results for the unit.
To specify which models are units, label them in your project and configure the dashboard to recognize the label, as shown in Specify Models as Components and Units.
Components in the Model Testing Dashboard
A component is an entity that integrates multiple testable units together. For example:
A model that references multiple unit models could be a component model.
A System Composer™ architecture model could be a component. Supported architectures include System Composer architecture models, System Composer software architecture models, and AUTOSAR architectures.
A component could also integrate other components.
The Model Testing Dashboard organizes components and units under the components that reference them in the Artifacts panel. The dashboard does not provide metric results for components because components typically must meet different testing objectives than units.
If you do not specify the models that are considered components, then the dashboard considers a model to be a component if it references one or more other models.
In the Model Testing Dashboard, in the Artifacts panel, the component
icon indicates a component. To see the units under a
component, expand the component node by clicking the arrow next to the component
icon.
To specify the models that are considered components, label them in your project and configure the dashboard to recognize the label, as shown in Specify Models as Components and Units.
Specify Models as Components and Units
You can control which models appear as units and components by labeling them in your project and configuring the Model Testing Dashboard to recognize the labels.
Open your project. For example, at the command line, type
dashboardCCProjectStart
. This example project already has component and unit models configured.In MATLAB®, at the bottom left of the Project window, right-click in the Labels pane and click Create New Category. Type a name for the category that will contain your testing architecture labels, for example,
Testing Interface
and then click Create.Create a label for the units. On the Labels pane, right-click the category that you created and click Create New Label. Type the label name
Software Unit
and click OK.Create another label for component models and name the label
Software Component
.The unit and component labels appear under the category in the Labels pane.
Label the models in the project as components and units. In the project pane, right-click a model and click Add label. In the dialog box, select the label and click OK. For this example, apply these labels:
db_Controller
— Software Componentdb_ControlMode
— Software Unitdb_DriverSwRequest
— Software Unitdb_LightControl
— Software Unitdb_TargetSpeedThrottle
— Software Unit
To open the Model Testing Dashboard, use one of these approaches:
On the Project tab, in the Tools section, click Model Testing Dashboard.
At the MATLAB command line, enter
modelTestingDashboard
.
In the Dashboard tab, click Options.
In the Project Options dialog box, in the Classification section, specify the category and labels that you created for the components and units. For the component interface, set Category to
Testing Interface
and Label toSoftware Component
. For the unit interface, set Category toTesting Interface
and Label toSoftware Unit
.Click Apply. The dashboard updates the traceability information in the Artifacts panel and organizes the models under the component models that reference them. If a model is not referenced by a component, it appears at the top level with the components.
For each unit, the dashboard shows the artifacts that trace to the unit. To view the metric results for a unit, click the unit name in the Artifacts panel. The dashboard shows the model testing metric results for the unit that you select.