In earlier parts of this series, we introduced some ideas about Model-Based Systems Engineering (MBSE) approaches to the development of Autonomous Vehicles (AVs). Our specific interest in this series is the modeling of requirements in combination with functional architecture, software configuration repositories and project management. Part 2 focused on requirements; now we will add functions. We will continue to use Syndeia, our MBSE platform, to provide connections between software tools to create a consistent Total System Model (TSM).
MBSE methodologies frequently mandate generating a functional architecture early in the development cycle, especially for cyber-physical systems where software is a major component. For the purposes of this example, we have generated a set of twelve AV functions to illustrate a way in which these functions can be mapped to requirements, software files, and project management. These are modeled as blocks in MagicDraw, as shown in Figure 1.
Figure 1 AV Functional Architecture
Connecting the SysML function blocks to JIRA issues was done in the same way as described for SysML requirements in the previous section. The top-level block, Autonomous_Vehicle_Functions, was dragged into a JIRA project and thirteen JIRA New Feature Issues were created, each linked by a Reference Connection back to the SysML function. The JIRA issue can be opened from that function directly to view issue status, etc.
Figure 2 Syndeia Connection Manager for connecting Functions (left) to GitHub software files and commits (right)
In our example, the software modules under development are configuration managed in a GitHub repository. Assuming that both software files in GitHub and function blocks in SysML are developed independently, we can link the pre-existing elements using Syndeia by creating Reference connections using the dashboard shown in Figure 2. Alternatively, the function blocks can connect to GitHub commits, specific versions of the software file at some point in the development process.
At this stage, we have connected each SysML function block to both a JIRA issue and one or more GitHub files. To create the connection between the requirements and functions, we use the SysML Satisfy dependency in MagicDraw, as shown for three elements in Figure 3. These relationships are stored within the SysML modeling tool; Syndeia is not involved at this stage. Note that one requirement in the set does not have a Satisfy relationship. Good MBSE practices should track and highlight these deficits for engineering attention.
Figure 3 Mapping Functions to Requirements in SysML Requirements Diagram
Now, the entire connection architecture shown in Part 1 of this series has been implemented. In addition to using these connections to keep the separate models consistent, we can use them to provide traceability across the TSM. Visualization and search of the resulting connection network or graph are considered in Part 4, the final section (at least for the moment) of this series. The SysML model, in MagicDraw and IBM Rational Rhapsody, will be made available for download with that publication.
- Model-Based Systems Engineering for Autonomous Vehicles | Part 1
- Model-Based Systems Engineering for Autonomous Vehicles | Part 2
- Model-Based Systems Engineering for Autonomous Vehicles | Part 3 (this post)
- Model-Based Systems Engineering for Autonomous Vehicles | Part 4