Process Flow Diagram
Purpose
Each Process Flow Diagram (PFD) shows a particular task or process that the system can perform, known as a flow. A system will provide many process flows, and indeed may perform many process flows simultaneously. Each process flow connects functions in the system model along a timeline, any manual operations performed by users, and operations performed by external systems.
Example
Here is an example Process Flow Diagram.
Description
The operation is the basic unit of a process flow, and is therefore the principal symbol used on a PFD. Remaining PFD symbols are used to describe the timeline that links the operations.
PFDs provide three types of operation:
System operations correpond to functions in the system functional model shown in any of the following diagram types:
These system functions are described by a PSpec. The primary role of a PFD is to link to these existing functions.
System operations have their own PSpecs to describe the role that the system function fulfils in the context of the process flow, and a reference to a function in the main system model. This reference is held in the Source Label field of the system operation symbol. Two or more PFD system operations can reference the same function (shown in a DFD, BD, or FFBD) in the main system model.
When the PFD is in Definitions mode the names of the referenced system functions' PSpecs are shown next to the number in the top of the System Operation symbol. If the symbol is wide enough, then all of the specification's name is shown, otherwise as much of the name as will fit is shown, with the truncation shown by a trailing ... ellipses.
If the PFD is project-owned, then the function name shown is taken from the project-owned specification in the most recently closed baseline, and if there is no such specification, then the highest version and draft of all non-project-owned instances of the specification is used.
If the PFD is not owned by the project, then the function name is taken from the highest version and draft of all non-project-owned instances of the specification, and if there are none, the name is taken from the highest version in a project baseline.
These specification names only appear in the Graphics Reporter output if the SYMBOLS DEFINITIONS option is set to Yes in Graphics Print Options , and will only appear in documents if the diagram is printed with the @DG_GRAPH include directive, including the DEFNS option.
User operations describe user involvement in process flows. In many approaches, the user is either not shown (BDs), superficial (DFD terminators), or is mixed with descriptions of required system behaviour (UML use cases). User operations overcome these problems.
Agent operations describe external systems or equipments for which the system:
- Expects stimuli
- Requires data
- Delivers responses
- Supplies data
The operations in a PFD are connected along a timeline by nodes, similar to those in BDs. The data required or produced by operations can be shown with the same data item symbols found on BDs.
Cradle's other modelling notations (Functional, Dynamic, Data, Architecture, Behavioural and Object Oriented) concentrate on the system being developed, rather than on the use of the system. That is, a system will perform many tasks simultaneously, but the functionality that performs an individual task may be distributed throughout the main system model.
Strengths
PFDs are similar to Behaviour Diagrams (BDs) in that they show the passage of time with a timeline. However, unlike BDs and DFDs, they show operations not functions. PFDs concentrate on what the system and its users and interfaces are actually doing, rather than on the system's functionality.
Weaknesses
Linkage is provided to system functionality, but functional notation is not provided on the timelines (just operations).
Recommended Uses
- When focus of modelling is concentrating on the use(s) of the system, particularly on those with highly interactive processes
- Where interest is in performing timeline analyses with impact assessments on user input, control and involvement
Characteristics
APPEARS IN MODELS |
Essential and Implementation |
NUMBERING |
Each PFD has a name and an identifying number whose value is the same as the name. This numbering system emphasises the distinction between PFDs, with process-oriented names and numbers, from the main system functional model, where all diagrams and functions have a structured numbering system that ties them together into a single hierarchy. |
HIERARCHICAL |
None |
Linkage
None.
Symbols
 |
Comment |
Makes a note anywhere in the diagram. Always surrounded by * characters. |
None |
None |
 |
Discrete item |
An item at the lowest level of detail of interest. |
DD Entry |
None |
 |
Time line start |
The start of a time sequence. |
None |
None |
 |
Time line end |
The end of a time sequence. |
None |
None |
 |
Parallel node |
Acts as the starting point for a set of concurrent operations. Has two or more outgoing branches, none with a label. The set of operations distributed along each branch are, collectively, considered to occur in parallel with the operations along all other branches. Within a branch, the processing of individual operations is sequential, unless that branch itself contains other nodes. All branches converge at a matching Parallel Node . The processing along all branches is considered to be synchronised by this node, so that the processing along some branches may be held until the processing along other branches has completed. |
None |
None |
 |
Selection node |
Acts as an exclusive-OR operation. Has two or more outgoing Time Line branches, each with a label. The node effectively routes the flow of control along one of these outgoing branches, depending on the exit condition of the upstream operation. All the Time Line branches must subsequently converge at a matching destination Selection Node . As an alternative, an operation may have multiple, labelled, outgoing branches, which converge at a Selection Node . This effectively subsumes the first Selection Node within the operation. |
None |
None |
 |
Iteration node |
Causes its outgoing branch to be processed iteratively. At the end of the iterative processing section of Time Line , there is another Iteration Node which may or may not have a label; if it does, this label must match that of the Iteration Node at the start of the loop. From this second Iteration Node , a Time Line Loop branches back to the first Iteration Node . This Time Line Loop contains the iteration condition, either at its start or at its end, depending on the type of loop that is required. |
None |
None |
 |
Replicate node |
Creates a set of replicants of those of its outgoing branches that have a label. The number of these replicants is specified in the Replicate Node's label. There must be one unlabelled outgoing branch containing operations that control the replicants. All the outgoing branches converge into a second Replicate Node that marks the end of the replication. |
None |
None |
 |
End loop node |
Causes a jump in the sequence of control to the outgoing branch of the loop node with the specified label, such that control continues after the specified loop. |
None |
None |
 |
Goto node |
Causes a jump in the sequence of control along the Time Line to the Label Node in the same PFD that has the matching label. There may be many Goto Nodes with the same label. |
None |
None |
 |
Label node |
Marks the destination of a Goto Node with a matching label. There may not be more than one Label Node with the same label. |
None |
None |
 |
Validation node |
Serves simply as a means of reporting timing statistics from the Time Line (when timing information is available for PFDs) where the information reported is identified by the node's label. |
None |
None |
 |
Join node |
Rejoins two or more Time Lines that have been created by either an AND, OR or multiple exit node earlier in the processing. |
None |
None |
 |
Terminator |
Represents an external system or environment to the system being modelled. |
None |
None |
 |
System operation |
Used to describe the particular role that the system function is fulfilling in the context of the process flow, and to provide a reference to a function (and its PSpec) in the main system model. It will therefore be possible for two or more System Operations to reference the same function (shown in a DFD, BD, or FBD) in the main system model. |
DD Entry |
None |
 |
User operation |
Used to describe user (human) intervention in process flows. In many modelling approaches, the involvement of the user is either not shown (e.g. BDs), is superficial (terminators in DFDs), or is intermingled with descriptions of required system behaviour (UML use cases in UCDs). |
DD Entry |
None |
 |
Agent operation |
Similar to User Operation , except that an agent is not a user (human), but an external system or equipment. This is intended to show the involvement of other systems or equipments in the process flow, and to allow a description of the interaction that is expected or required with the other system or equipment. This overcomes the similar problem to that solved by User Operation for user interaction. |
DD Entry |
None |
 |
Picture |
Allows you to choose the location of a GIF or JPEG image to be displayed as a diagram symbol or to be embedded in an existing diagram symbol. |
None |
None |
 |
Time line |
Represents the flow of time from object to object. |
None |
None |
 |
Time line loop |
Used in a loop or iteration structure to return to a Loop or Iteration Node and begin another repetition. |
None |
None |
 |
Data link |
Represents the flow of data both into and out of an operation. |
None |
None |
 |
Trigger data link |
Represents the flow of data into an operation, which triggers the operation to execute. |
None |
None |
|