|

How NASA models interfaces with SysML

Rocket Science: How NASA models interfaces with SysML

Interfaces have a central function in systems engineering: after all, they specify central aspects of a (sub)system. Interfaces help to master complexity and can be precisely captured in SysML.

The following case study describes the Multi Mission Operations System (MMOS), which is the interface between the ground station and flying systems. It is based on the work of Elyse Fosse and Christopher Delp from NASA's Jet Propulsion Laboratory.

The corresponding publication Systems Engineering Interfaces: A Model Based Approach is already 10 years old, but it shows very good practice in modeling interfaces with SysML.

The importance of interfaces

Interfaces have always played an important role in systems engineering. However, these have traditionally been described using documents and diagrams. However, this approach does not scale particularly well.

An alternative is to model interfaces with SysML. On the one hand, this is more precise, and on the other, the modeling can be supplemented with domain-specific semantics.

With the methodically correct use of interfaces, we have cleanly decoupled subsystems, which makes the overall system more robust and enables scaling.

Patterns for interface modeling

Before the authors turn to modeling in SysML, they first examine relevant patterns. After all, SysML is "only" a notation, we must also use it correctly and purposefully. In particular, they identify four interface components that must be taken into account when modeling interfaces. In addition to the actual interface, these include the interface specification (properties and behavior), the interaction and the interaction specification.

For the actual work with interfaces, the authors identify a total of seven views for understanding and processing certain aspects of interfaces. These are independent of SysML and are so important that I am listing them here (Table 2 in the paper):

ViewPurposeRelevance
Part InterfaceIdentify interfaces for a specific part.What are the interfaces for a specific part?
Layered Part InterfaceSpecify the layers of the interfaces, e.g. application, protocol, data layer.What is the structure of the various information aspects of the interface?
Interface SpecificationSpecifying a particular interface in the form of
Functions and features.
What are the detailed functions and
Properties of a specific interface?
Interface ConnectionSpecify the integration of 2 or more parts through their respective interfaces in terms of the specific conditions and occurrence of functions that define the integration according to the interface specification.Which parts are connected to each other?
Interface Object FlowTime as objects (materials, information) flow through an integration of interfaces for a set of parts.What are the flows between the parts of the system?
Interface Function OccurrenceSpecification for behavioral interaction across interfaces.How do the functions between the parts of the
of the system?
Performance and Limitations on InterfacesSpecification of restrictions for interfaces such as guidelines, agreements and performance restrictions.What are the expectations and limits of the given integration?
Views for working with interfaces. Source: Systems Engineering Interfaces: A Model Based ApproachTable 2

Modeling interfaces with SysML

Let us now turn to SysML. The notation provides various model elements for modeling interfaces. These are operations, signals and flow ports.

The model elements described in this research paper refer to SysML 1.3. With regard to the current SysML 1.6, some things have changed, especially with regard to ports.

Using MMOS as a case study, the authors now show how we can use SysML to realize the patterns described. They introduce a domain-specific adaptation at an early stage by introducing the stereotypes relevant for MMOS.

As is usual in SysML, the "vocabulary" is modeled first in this phase. Specification, inputs and outputs are all blocks.

Layers upon layers

Things get interesting when modeling layers. The flow ports of an interface specification represent logical layers that we want to adhere to in the role of the systems engineer. The authors use nested ports for this purpose. These ports can in turn have ports, whereby the different layers are mapped cleanly. The top layer consists of the flow of objects, as shown in the following diagram:

Interaction of SysML interfaces across multiple levels. Source: Systems Engineering Interfaces: A Model Based Approach, Figure 7

This approach enables us to achieve a high degree of reuse on the one hand and to easily synchronize the interfaces on the other.

Not shown in the image is the use of constraints to model restrictions. To do this, we again use a SysML block with the "Constraint" stereotype and connect it to the corresponding interfaces.

Interface engineering with SysML

In Chapter 4, the authors describe how they used this framework for systematic interface engineering. The implementation proved to be reusable, both in generic terms and in terms of its applicability to the development of the Multi Mission Operations System (MMOS) interfaces. The efficiency of the approach in terms of view generation and model checking gave the team more time to focus on the development of the interfaces and interactions.

Especially for interfaces, SysML is a powerful notation for separating concerns in order to provide both descriptions of the interfaces and interactions and to decouple their specifications. This is a suitable approach for more and more systems.

Image source: NASA

Similar Posts

Leave a Reply