To ensure that SMEs can fully express themselves and their design, they must be able to relate different Blocks and their Terminals in various ways.
In contrast to an Element, a relation does not hold a collection of attributes. A relation is visualized with a drawn line between different Elements. The IMF language defines four different relations: hasTerminal, connectedTo, partOf, and fulfilledBy.
Definition: hasTerminal relation (hT)– A hasTerminal relation hT is a specification of a connection between a Block B and a Terminal T.
We say that a Block B hasTerminal T, and hence the name of the relation and the direction indicated by the arrow in Figure .
Definition: The connectedTo relation – The connectedTo relation is a specification of a connection between two Terminals T1 and T2, and optionally, an Interface Point IP.
We say that an output terminal T1 is connectedTo an input terminal T2. If the condition of the output and input Terminals being connected are identical, there is no need for an Interface Point. If not, the conditions for connecting the Terminals must be specified through an Interface Point. Figure illustrates the options.
Definition: The partOf relation – The partOf relation pO is a specification of a connection between two Blocks B1 and B2 in the sense that B2 is a part of B1.
We say that a Block B2 is partOf B1, and hence the name of the relation and the direction indicated by the arrow in Figure . The partOf relation represents what is known as a parent-child relationship. We say that a Block B2 is child of a parent Block B1. The inverse relation of part of is hasPart. That means that if B2 is partOf B1, it is also true that B1 hasPart B2
Definition: The fulfilledBy relation – The fulfilledBy fB relation is a specification of a connection between two Blocks B1 and B2 in the sense that B2 fulfills a requirement(s) from B1.
We say that a Block B1 is fulfilledBy B2, and hence the name of the relation and the direction indicated by the arrow in Figure.