Activity Diagram (available in CORE Spectrum)

The activity diagram (and the EFFBD, its cousin in traditional representations) 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 activities and constructs as well as the data interactions overlaid to present a more complete picture.

 

The activity diagram is available for elements in the Function class (as well as any other subclasses of ProcessingUnit).

 

 

The similarities between activity diagrams and EFFBDs are not coincidental. Not only are they working to address the same fundamental need (a more comprehensive representation of behavior) but the EFFBD notation was used for both guidance and verification by the SysML team during the development of the activity diagram. The net result is closely coupled representations that you can select from to best meet your analytical and communication needs. Activity diagrams classically appeal to the software community given their representational similarity to UML. EFFBDs are often more understandable by customers, domain specialists, and end users.

 

When drawn horizontally, the flow of control is left to right. Rounded rectangles represent functions. Diamonds and bars represent control constructs - the building blocks of behavior. As an activity completes, flow of control proceeds along the branch lines to the next activity 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 (not just animated) by COREsim.

 

CORE supports the standard hierarchical features of logical architectures. When the decomposition of an element has been specified, the icon representing that element has a decomposition symbol in the upper-right corner as a visual cue.

 

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

 

 

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.

 

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 good reference for further information on activity diagrams is chapter 9 of A Practical Guide to SysML: The Systems Modeling Language by Sanford Friedenthal, Alan Moore, and Rick Steiner (2012).

Diagram Options

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

Diagram Palette

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

Diagram Menu Commands

Tips and Tricks