A Representative Application of a Layered Interface Modeling Pattern
Model based systems engineering (MBSE) is intended to improve how systems engineering is performed compared with a more traditional document based approach by effectively using models to analyze, specify, design, and verify systems. The OMG Systems Modeling Language (OMG SysMLTM) enables the practice of MBSE by providing a robust and expressive language for representing systems. Several MBSE methods are available [3] and have continued to mature over the last several years which include model based practices for requirements flow down, architecture design, trade off analysis, verification planning, and others. One of the critical systems engineering practices is interface modeling. This paper describes a layered interface pattern for modeling data and communications interfaces using SysML. The pattern spans logical to physical interface definition, and includes software and electrical interfaces. Each layer in a stack describes a portion of the interface functionality. The concept of a layered interface is borrowed from computer networking [8] [10] The layered interface pattern described in this paper enables the specification and design of connections and behavior between interfacing systems at a given layer, and between the adjacent layers of a single system. This pattern may also be applied recursively. That is, communication within a single layer may itself be realized by a multi layer stack. The level of detail of the model to describe a layered interface should be adapted to the need, and can vary from highly abstract logical flows across a system to highly detailed protocol specifications and message structures. This paper builds on work that was documented in a previous paper entitled "A modeling pattern for layered system interfaces" [5] Aspects of this pattern have been demonstrated in various project applications including Exploration Flight Test 1 (EFT 1) Space Communication and Navigation (SCaN) Trade Studies, and the SCaN Network Integration Project (SNIP) Introduction This paper is organized into six sections. The Introduction, section 1, describes some of the challenges associated with interface specification and design. This section then introduces some basic definitions and concepts that the layered interface pattern uses and provides a simple example. It concludes with a brief overview of SysML. The System Example, section 2, uses a spacecraft example to describe a logical data flow through a system, and how data interface requirements can be specified and allocated to various parts of a system. The Interface Realization, section 3, describes how a particular interface from the spacecraft example can be realized by a layered protocol stack that converts the data contained in communication packets to electrical signals on a physical connector, which are exchanged through a physical medium. The modeling pattern defines each vertical layer of the stack, the data structure that is transformed from one vertical layer to the next, the behavior specification for an example layer, and the interaction between peer layers at each side of the interface. The sections ends with an example of how to show compliance with a standard that defines a protocol. Related Work, section 4, discusses some related work. Applications, section 5, then discusses how this pattern can be applied more generally to other types of interfaces, and finishes with the Summary, section 6. This pattern is capable of representing multi layer interfaces at varying levels of detail. The level of detail should be adapted to the need. Sometimes, only abstract end to end flows may be appropriate to describe the interfaces. In other cases, the level of detail may include some combination of detailed message structure, pin to pin connection, and protocol behavior specification. This is often dependent on the phase of development, and whether the interface is using well understood interface standards or new or modified interfaces are being developed. The Interface Challenge Well defined interfaces are essential to specify how a system can interact with the external world, and how the system elements can interact to achieve the objectives of the whole system. Specifying and designing interfaces is a critical and challenging aspect of systems engineering due to the number of interfaces, diversity of interfaces, and the inherent complexity of individual interfaces. For example, electrical harnesses can contain thousands of wires and connectors and perhaps millions of messages. Many system failures have been attributed to inadequate interface specification and design. [20] A typical system, subsystem, and component interface is often specified in an interface requirements document (IRD) or similar document. An example of a partial table of contents from a NASA interface control document for a C 9B aircraft in support of the Reduced Gravity Program [4] is included in Figure 1. This interface control document includes many different types of interfaces including electrical power, high pressure gas, cabin environment, display interfaces, physical dimensions, and others. These interfaces are realized by many different engineering disciplines using many different technologies. A systems engineer must be able to specify, analyze, and verify interfaces that span the various engineering disciplines and technologies to ensure the elements of the system can work together to achieve the system requirements. Interface specification and design is not only complex because of the number of interfaces and the many different kinds of interfaces, but any given interface can be complex in its own right. For example, the interface for a "simple" USB device is defined by the Universal Serial Bus revision 2 (USB 2) specification [6] that is 650 pages long, and includes specification of the data flow model, mechanical and electrical interface, and protocol layer. A model based approach provides an opportunity to address the challenges of specifying, analyzing, designing, and verifying interfaces over a more traditional document based approach by enhancing consistency, precision, traceability, conformance to standards, reuse, and managing the inherent complexity of interfaces. Definitions and Concepts The following definition of interface is from the Glossary of Terms in the Guide to the Systems Engineering Body of Knowledge [7] Interface: 1. A shared boundary between two functional units, defined by various characteristics pertaining to the functions, physical signal exchanges, and other characteristics. (ISO/IEC 1993) 2. A hardware or software component that connects two or more other components for the purpose of passing information from one to the other. (ISO/IEC 1993) 3. To connect two or more components for the purpose of passing information from one to the other. (ISO/IEC/IEEE 2009) The first definition is the most general of the three definitions above because it does not limit interface to the exchange of information. An interface provides the means for systems and system elements to interact, which may include the exchange of information, material, forces, and energy. To specify an interface, one must specify the connection points on the components (i.e. ports) on either side of the interface, the items that are exchanged, the constraints and/or rules that govern the exchange, and the medium for the exchange (i.e. link) An interface definition sometimes refers to one side of an exchange, but more generally refers to both sides of the exchange and the exchange medium. The system, subsystem or other system element (e.g. component) behaviors realize the interface to achieve the exchange. These interface concepts are illustrated in Figure 2. This paper also uses the term protocol, where a protocol at layer (N) can be defined as a set of rules and formats (semantic and syntactic) which determines the communication behavior 1.0 INTRODUCTION 1.1 Purpose 1.2 Scope 2.0 FACILITIES PROVIDED 2.1 Aircraft 2.1.1 Cabin Environment 2.1.2 Cabin Dimensions 2.1.3 Cabin Provisions 2.1.4 Electrical Power and Interface 2.1.5 Aircraft Lighting 2.1.6 High Pressure Gas System 2.1.7 Overboard Vent System 2.1.8 Aircraft G Load Display 2.1.9 Accelerometer Signal 2.1.10 On Board Tools 2.1.11 On Board Storage Containers Figure 1. Partial Table of