# Port Definition¶

## Description¶

The structure of components and their interactions with the environment are defined by component ports. Ports hereby represent a generic concept, i.e. a port may (among others) represent an electrical connection, the components mounting location or a connector to exchange any type of material. The port concept in MPFO-XML was inspired by the port concept in SysML [SysML]. This makes it easier in the future to derive a MPFO-XML representation from a SysML model. However, due to its limited application space the MPFO-XML port concept only supports static ports and flow ports. A port may have an unlimited number nested sub-ports. Several ports can be combined to port sets.

The consideration of components in MPFO-XML assumes that a component is a black box, i.e., the content of a component is unknown. The implementation details of a component are therefore not definable. While component ports are independent from each other, ports may have an indirect relationship that is defined via load references.

All functional and environmental loads defined in the element Load Definition are assigned to either ports or to port sets in the element Action Definition.

## Definition of ‘PortDefinition’ Element¶

The PortDefinition element is formally defined here: PortDefinition

The contents of the PortDefinition element can be encrypted using the W3C XML-encryption mechanism [XML-SEC].

## Definition of ‘Port’ Element¶

The Port element is formally defined here: Port

The port type definition is mandatory.

## Definition of ‘PortSet’ Element¶

The Port element is formally defined here: PortSet

Several ports can be combined into port sets. An individual port may be referenced in more than one port set. Port sets can be used to assign commonly shared loads to several ports at once. Port sets have their own ID and can therefore be referenced via an IDREF.

Note

The Action element Action Definition may also be used to define action specific port sets.

## Examples¶

Example 1: Minimal port definition

<!-- Component definition as MPFO-XML mission profile document. -->
<MPFo Id="ID.COMPONENT.0">
...
<!-- Definition of components port structure. -->
<PortDefinition>
<!-- Minimal port definition -->
<Ports>
<Port Id="ID.PORT.00"/>
<!-- Port definition with all attributes defined -->
<Port Id="ID.PORT.01" Name="P1" Type="static" ShortDescription="Test port 1"/>
<!-- Port definition with some attributes defined -->
<Port Id="ID.PORT.02" Type="input" ShortDescription="Test port 2"/>
<!-- Port definition with nested sub-ports and various attributes defined -->
<Port Id="ID.PORT.03" Name="P3" Type="output" >
<NestedPort Id="ID.PORT.03.1" Name="P3_1" ShortDescription="Test port 3, sub-port 1">
<NestedPort Id="ID.PORT.03.2" ShortDescription="Test port 3, sub-port 2">
</Port>
</Ports>
</PortDefinition>
...
</MPFo>


Example 2: Component port definition with 2 electrical resistor ports

<!-- Component definition as MPFO-XML mission profile document. -->
<MPFo Id="ID.COMPONENT.0">
...
<!-- Component port definition: 2 electrical resistor ports (N1, N2) -->
<PortDefinition>
<Ports>
<Port Id="ID.Port.N1" Name="N1" ShortDescription="Electrical device instance terminal N1" Type="inout"/>
<Port Id="ID.Port.N2" Name="N2" ShortDescription="Electrical device instance terminal N2" Type="inout"/>
</Ports>
</PortDefinition>
...
</MPFo>