This section defines the building blocks of an 'Activity Diagram' in Innoslate. The 'Activity Diagram' supports six (6) unique diagram constructs: an 'Entity', a 'Fork/Join (Parallel)', a 'Decision (Or)', a 'Decision (Loop)', an 'Object Node', and a 'Branch Actor'. Each diagram construct is described in more detail below:
This construct is used to represent either an 'Action' or an 'Activity'. Where an 'Action' is a sub-part of an 'Activity'.
In the system model, an Action entity is used to represent both 'Action' and 'Activity' with a decomposes/decomposed by relationship to the diagram's root Activity. The Activity label is used to specify an Action as an 'Activity'. Other default database schema labels include: Capability, Function, Mission, Process, Program, Project, Task and/or Use Case.
In the diagram, this construct is represented as a rounded block containing the number and the name of the 'Entity' as shown below:
This construct allows two or more 'Entity' constructs to perform simultaneously. Each thread of control is unique and they execute at the same time during simulation. No changes are made to the system model in the database. In the diagram, the point where the arrow lines diverge from a vertical bar is the 'Fork' and the point where the arrow lines converge into a vertical bar is the 'Join'.
This construct is used to represent a Decision Node followed by a Merge Node which has two or more potential control flow paths connecting the two, allowing an 'Entity' to be performed only under certain conditions. These two nodes have been combined into this single construct to ensure the model will execute. Each control flow path is unique and only one (1) of the control flow paths will execute during simulation.
In the system model, an Action entity is used to represent a 'Decision (Or)' construct with a decomposes/decomposed by relationship to the diagram's root Activity.
In the diagram, the 'Decision' is represented by a diamond shaped block with arrow lines diverging from it, the Merge is represented by a diamond shaped block with arrow lines converging into it.
This construct allows an 'Entity' construct or set of 'Entity' constructs to be repeated multiple times. During simulation the number of iterations can be automated or you can be prompted for the number.
In the system model, an Action entity is used to represent a 'Decision (Loop)' construct with a decomposes/decomposed by relationship to the diagram's root Activity.
In the diagram, this construct is represented as a diamond with two (2) control flow outputs. The control flow to the right is repeated during simulation, while the control flow out of the bottom is the exit control flow.
This construct is a functional representation of an object (data, resource, other) that is passed between 'Entity' constructs.
In the system model, an Input/Output entity is used to represent an 'Object Node' construct with at least one generated by/generates relationship to an Action entity ('Entity' construct) and at least one received by/receives relationship to another Action entity ('Entity' construct).
The received by/receives relationship has an attribute named 'Trigger' which is used to specify whether an 'Object Node' is required before the next 'Entity' can be performed or if it is optional.
In the diagram, this construct is represented as either a bright green or muted grey rectangle with dashed arrow lines between itself and the 'Entity' constructs which have relationships to the 'Object Node'. If the 'Trigger' attribute is set to true on the received by/receives relationship, the 'Object Node' will display as bright green, otherwise if the 'Trigger' attribute is set to false, it will display as a muted grey in the diagram.
This construct provides a way to visualize swim lanes by specifying who performs the actions on a particular 'Fork/Join (Parallel)' construct's control flow path.
In the system model, an Asset entity is used to represent a 'Branch Actor' construct with a performs/performed by relationship to each of the Action entities ('Entity' constructs) on the 'Fork/Join (Parallel)' control flow path.