Main Content

Define Port Interfaces Between Components

A systems engineering solution in System Composer™ includes a formal definition of the interfaces between components. A connection shows that two components have an output-to-input relationship, and an interface defines the type, dimensions, units, and structure of the data.

A data interface defines the kind of information that flows through a port. The same interface can be assigned to multiple ports. A data interface can be composite, meaning that it can include data elements that describe the properties of an interface signal.

Data interfaces represent the information that is shared through a connector and enters or exits a component through a port. Use the Interface Editor to create and manage data interfaces and data elements and store them in an interface data dictionary for reuse between models.

A data element describes a portion of an interface, such as a communication message, a calculated or measured parameter, or other decomposition of that interface.

Data interfaces are decomposed into data elements:

  • Pins or wires in a connector or harness.

  • Messages transmitted across a bus.

  • Data structures shared between components.

A value type can be used as a port interface to define the atomic piece of data that flows through that port and has a top-level type, dimension, unit, complexity, minimum, maximum, and description.

You can also assign the type of data elements in data interfaces to value types. Add value types to data dictionaries using the Interface Editor so that you can reuse the value types as interfaces or data elements.

Use interfaces to describe information transmitted across connections through ports between components.

  • Create Interfaces: Design interfaces and nested interfaces in the Interface Editor with data interfaces, data elements, and value types.

  • Assign Interfaces to Ports: Assign data interfaces and data elements to ports. Define owned interfaces local to ports.

  • Manage Interfaces with Data Dictionaries: Save external interface data dictionaries to reuse between different models, link data dictionaries to architecture models, and delete data interfaces from data dictionaries.

  • Reference Data Dictionaries: Reference data dictionaries so you can selectively share interface definitions among models. Manage referenced data dictionaries in the Model Explorer.

  • Interface Adapter: Use an Adapter block to help connect two components with incompatible port interfaces by mapping between the two interfaces. Use the Interface Adapter dialog by double-clicking the Adapter block to map between interfaces, apply an interface conversion that breaks algebraic loops with unit delays, insert a rate transition for different sample time rates, or use the Adapter block as a Merge block to merge message lines for architecture models or both message and signal lines for software architecture models. When output interfaces are undefined, you can use input interfaces in bus creation mode of the Interface Adapter to author owned output interfaces as you work.

The architecture model below represents an adapter, an interface data dictionary, a data interface, a data element, and a value type.

Architecture model with Interface Editor open


System Composer interfaces mirror Simulink® interfaces that use buses and value types. For more information, see Simplify Subsystem and Model Interfaces with Bus Element Ports, Specify Application-Specific Signal Properties, and Implement Component Behavior Using Simulink.

Related Topics