NextGenSysML Part 7 – Interface Requirements
This blog post presents the requirements for interface modeling with SysMLv2. It is part of a blog post series about the upcoming new SysML v2 and SysML API & Services standard. The blog posts present the requirements for the standard stated in the request for proposals (RFP) published by the OMG. See the end of this post for a list of all posts of this series including a link to the first post of the series that provides an overall introduction.
The interfaces specify the functional and physical interaction between structural elements. Due to the underlying UML, SysML v1 has a strong focus on functional interaction and is not very good at specifying physical interaction points.
SysML v2 fixes this and other known issues and provides better capabilities to model interfaces. These include support, of modeling different interface abstraction levels like logical, functional, and physical, and the modeling of interface layers, for example, mechanical, electrical, and software layers. The interface can define a software protocol, a geometry for physical interfaces, or other interaction controls. Interfaces can have substantial structures. So, SysML v2 also supports the modeling of nested interface definitions.
The SysML v2 interface concept consists of three elements: the interface ends, the connection between the ends, and the constraints of the interaction between the connected elements. The direction of items exchanged between interface ends can be reversed (conjugation).
SysML v2 interface definitions shall be reusable in different contexts. For example, you can provide model libraries with interface definitions. Like in SysML v1, SysML v2 shall provide separate concepts for the definition of interfaces and the usage of interfaces.
In SysML v1, for example, the interface block defines an interface (to be precise it only defines an interface end), and the proxy port is a usage of an interface block.
Interface control documents (ICD) are often important engineering artifacts. SysML v2 shall support the generation of ICD’s.
SysML v2 shall also provide capabilities to describe the items that can be exchanged between connected interface ends. These can be, for example, items with physical characteristics like size or mass, or information items. Also, you can constrain the item exchange between the interface ends by specifying the direction of the item exchange, allowable sequence, timing, and other characteristics.
You can also constrain the properties of the interface ends and a non-mandatory requirement for SysML v2 also asks for geometrical constraints, for example, to validate of a plug fits into a socket.
The items or in general the interaction between the interface ends happens through a medium. The medium can be abstract or physical like a communication network, a pipe, or the atmosphere. SysML v2 shall include a capability to represent an interface medium. It also includes the support of peer-to-peer, multicast, and broadcast communication.
Interfaces can have different layers of different kinds. For example, an application layer and a transport layer (the OSI model has 7 layers). With SysML v1, it is not straightforward to specify the layers of an interface. SysML v2 shall provide better capabilities for interface layers.
Similar to layers is the binding of the function inputs, and outputs to interface ends. In SysML v1, have you ever tried to link the parameters of activity to port properties? It is possible but tricky. SysML v2 will provide an explicit capability of this binding.
The next blog post covers the requirements about the capability of SysML v2 to model behaviors. Stay tuned!
Previous blog posts of this series:
- NextGenSysML Part 0 – Next Generation Modeling: SysML v2 and SysML API & Services – Introduction
- NextGenSysML Part 1 – Overview SysML v2 and SysML API & Services RFP’s
- NextGenSysML Part 2 – The General OMG Requirements
- NextGenSysML Part 3 – Language Architecture and Formalism Requirements
- NextGenSysML Part 4 – Cross-cutting Requirements
- NextGenSysML Part 5 – Properties, Values & Expressions Requirements
- NextGenSysML Part 6 – Structure Requirements
Planned future blogs posts:
- NextGenSysML Part 8 – Behavior Requirements
- NextGenSysML Part 9 – Requirements Requirements
- NextGenSysML Part 10 – Verification Requirements
- NextGenSysML Part 11 – Analysis Requirements
- NextGenSysML Part 12 – Example model and Conformance Requirements
- NextGenSysML Part 13 – SysML API & Services Overview
- NextGenSysML Part 14 – API & Services: Architecture Requirements
- NextGenSysML Part 15 – API & Services: Conformance Requirements
- NextGenSysML Part 16 – API & Services: Service Requirements