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.
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 four types of operation:
An operation is a general, decomposable, operation in a process flow. It can contain a process sub-flow in a lower-level PFD, in which it will be allocated to either the system (as a system operation) or the user (as a user operation) or to another system that the system links to (as an agent operation). Operations are described by operation specifications.
It is usual for higher level PFDs to contain only operations. As these operations are decomposed into lower-level PFDs, the other types of operation appear. The bottom-level operations will all be system operations, user operations or agent operations, to reflect the allocation of parts of the process flow.
System operations correspond to functions in the system functional model shown in any of the following diagram types:
The primary role of a PFD is to define system operations that link to functions in other diagrams, so the PFD combines references to these functions into its process flow.
System operations have their own operation specifications 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, eFFBD, or IDEF0) in the main system model.
When the PFD is in Definitions mode the names of the referenced system functions’ function specifications 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 referenced specification, and if there are none, the name is taken from the highest version in a project baseline.
User operations describe user involvement in process flows. In many approaches, the user is either not shown (eFFBDs), superficial (DFD Environments), 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:
PFDs provide environment symbols that can contain user operations or agent operations. This allows the PFD to explicitly show which part of the environment, or which external system, is performing the specific user or agent operations in the process flow.
The operations in a PFD are connected along a timeline by nodes, similar to those in eFFBDs. The data required or produced by operations can be shown with the same data item symbols found on eFFBDs.
Cradle’s other modelling notations 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.
PFDs are not hierarchical and they are available in both the Essential and Implementation Domain.
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.
An example PFD is:
The symbols available in PFDs are: