Book a Demo

Please note : This help page is not for the latest version of Enterprise Architect. The latest help can be found here.

Prev Next

Modeling Interaction Points

Blocks - and the Parts that are typed by Blocks - reside in an environment and will interact with this environment and the other elements it contains. In general terms the SysML provides a language construct called Interaction Points, which are locations on the boundary of an element that act as entry and exit points for communication with the owning element. Ports are a type of Interaction Point and provide a powerful mechanism for the Block to expose its behaviors - either those that it owns innately or those that are provided by its Parts. The Port is represented by a small rectangle (usually a square) mounted on the boundary of a Block or Part. SysML currently supports two types of Port that are intended to eventually replace the earlier concepts of Flow Port and Standard Port:

  • Proxy Port - Acts as a relay to expose the behavioral features provided by the owning Block and is typed by an Interface that describes these services
  • Full Port - Acts as a Part and is typed by a Block, which means that it can itself contain Parts

Enterprise Architect has full support for both these types of Port, and has backward compatibility to the earlier Standard and Flow Ports (which are still available for use but will be deprecated in later versions of the standard).

Once a Block Definition diagram has been created and a Block has been placed on the diagram, Ports can be created by either:

  • Drag-and-dropping the appropriate Port from the Toolbox onto the Block - this diagram shows the section of the Block Definition Toolbox that lists the Ports
  • Selecting the 'New Child Element' option from the Block's context menu and select the appropriate type of Port, as shown:

Whichever method you choose, the Port will then be automatically placed on the boundary of the Block and can be moved into the required position and named.  Note also that the Port can be added from the 'Element' panel of the 'Design' ribbon. This screen image is of a section of diagram showing two Ports with direction indicators inside the Port element. The Ports have been named 'in' and 'out' respectively, and have been typed by 'Fluid', which indicates the type of the item arriving at the Port.

Ports can contain Interfaces and also nested Ports; Enterprise Architect provides a useful feature that allows the engineer to customize the Port size, effectively changing the small squares into small rectangles.

Interfaces and Ports

An Interface is a useful way of encapsulating a group of services provided by a Block, providing a simple way of exposing those services to clients. The Interface has the same appearance as a Block and can have defined operations and Receptions, but no attributes (Properties).

An Interface can be created by simply dragging the 'Interface' icon from the Toolbox page. Behavioral features can be added by selecting the appropriate Feature from the Interface's context menu.

Another easy way to create an interface's operations is to select the Block in a diagram or in the Browser window and click on the ribbon item:

     Design > Element > Editor > Features > Operations

Operations are simply created by selecting the 'Operations' tab and adding the name and other details in a row of the window. Any number of operations can be created, and each operation can define any number of parameters that specify the inputs and outputs to the operation. Receptions - the other behavioral feature - can be added in a similar way using the 'Receptions' tab. Any of these items can be reordered using the <Ctrl>+ up- and down-arrow keyboard keys.

Interfaces can be added to Ports, which are a common mechanism in the Unified Modeling Language and provide a way of publishing the services that are available at a Port. The interfaces are of two fundamental types:

  • Provided - available for use
  • Required - required for use

With a Port selected on the boundary of a Block in a diagram, an Interface can be added as for any other structural element - from the Port's context menu items:

  • New Child Element | Provided
  • New Child Element | Required

Interfaces added in this way must be typed by an Interface proper (an element stereotyped as <<interface>>). This can be achieved by first selecting the Interface in the diagram and then selecting the Properties window from the Interface's context menu. You can then name the interface and use the [...] icon to navigate or search for the Interface element. This diagram demonstrates the step for a Signal Registration Interface.