Enhanced Function Flow Block Diagram (EFFBD)

 

A variant of the traditional FFBD representation, the EFFBD and its SysML cousin Activity diagram are the most complete representations of behavior. Part of the behavioral (logical architecture) representation set, they unambiguously represent the flow of control through sequencing of functions and constructs as well as the data interactions overlaid to present a more complete picture. EFFBDs also display resources - the third critical aspect of executable behavior.

 

The EFFBD is available for entities in the Function class (as well as any other subclasses of ProcessingUnit).

When drawn horizontally, the flow of control is left to right. When drawn vertically, the flow of control is top to bottom.

 

Rectangular nodes represent functions. Circular nodes and branching structures represent control constructs - the building blocks of behavior. As a function completes execution, flow of control proceeds along the branch lines to the next function or control construct. Each construct has a precise definition that prescribes how control will be passed within the construct and when the construct itself will end. This combination is fully executable by the simulator.

 

GENESYS supports the standard hierarchical features of logical architectures. When the decomposition of an entity has been specified, the icon representing that entity has a black box in the upper left corner as a visual cue.

 

The rounded rectangles on an EFFBD represent the items or the data interaction aspect of behavior. Whereas most behavioral representations focus on either the control or the data, the EFFBD and the activity diagram represent both to provide full context and understanding. The EFFBD clearly distinguishes between the two primary roles that items play:

 

 

Understanding whether an item is local in scope or used beyond the bounds of a given activity can provide valuable insight when engineering and assessing a system. To help visualize this, boundary items – those items which are input to, output from, or trigger a function beyond the scope of the current activity and its decomposition – can be optionally constrained to the diagram frame. When this option is selected in the diagram properties, the difference between local items (drawn in the interior of the diagram) and items used elsewhere in the system model (drawn on the diagram frame) is immediately evident. By default, this option is enabled for new activity diagrams, delivering the maximum insight from the item positioning.

 

     

 NOTE:

Trigger and Input?

It is not necessary to connect an item to a function as both a trigger and a data store. It is implicitly understood that a trigger is also an input to the function.

 

Resources are also optionally displayed on EFFBDs. Resources are drawn with a double border to help distinguish them. Resources can be related to functions in three different ways:

 

 

A function begins execution when it has received all of its triggers and its necessary resources have been acquired. If the flow of control has reached a function but either the triggers or resources are not available, the function is said to be enabled but waiting. Obviously, this has notable impacts in the sequencing and synchronization of behavior as well as the overall performance (how quickly the process completes) and whether or not it can complete at all due to live-locks and deadlocks.

 

A special aspect of GENESYS' FFBD and EFFBD representations are reference nodes. Reference nodes reflect the context immediately surrounding this behavior. The function shown in a gray box with a broken frame on the left edge represents the last function to complete before this decomposition begins (the source of control flow). The function shown in a gray box with a broken frame on the right edge represents the next function to enable when this decomposition completes (the sink of control flow). When there is no previous or next function, the boxes are simply labeled "Ref." When a function appears multiple times in a system model or when the previous / next construct is complex, reference nodes can begin to branch, showing all of the paths into and out of a given function's decomposition. These reference nodes are automatically computed and updated by GENESYS. In this way, the reference nodes provide very valuable context information.

 

     

NOTE:

When reference nodes branch, there are always an equal number of branches on the source and sink of the diagram. These branches correspond - if you enter the decomposition by the first branch on the left, you will exit by the first branch on the right, and so on.

 Toolbox Properties

In addition to the classic diagram options, the EFFBD diagram settings include:

 

 Toolbox Insert

The constructs and key entities tabs allow you to quickly develop your EFFBD diagram, while the all entities tab enables you to relate your diagram entities to the remainder of your system definition.

 

Constructs

Utilities

Key Entities

All Entities - all classes and entities in the system model, allowing you to drag any entity on top of a diagram node to establish relationships with the balance of your system model

Context Menu Commands

 

Depending on what is selected on the diagram, the following options may be available:

 

 

Tips and Tricks