Cradle from 3SL, the complete Model Based Systems Engineering Toolsuite, specialising in requirements management, requirements capture, model based systems engineering and for systems engineering software, support and consultancy, the logical choice: Cradle from 3SL.
login Register forgot password or username?

Welcome to 3SL Reference Section

Process Flow Diagram Process Flow Diagram (PFD)

Process Flow Diagram (PFD)

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:

  • Operation
  • System
  • User
  • Agent


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

System operations correspond to functions in the system functional model shown in any of the following diagram types:

  • DFDs
  • eFFBDs
  • IDEF0

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

User operations describe user involvement in process flows. In many approaches, the user is either not shown (eFFBDs), superficial (DFD Terminators), or is mixed with descriptions of required system behaviour (UML Use Cases). User operations overcome these problems.

Agent Operations

Agent operations describe external systems or equipments for which the system:

  • Expects stimuli
  • Requires data
  • Delivers responses
  • Supplies data

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.

Numbering of PFDs

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:

Screenshot of a Process Flow Diagram

The symbols available in PFDs are:

Symbol Name Description Definition Expansion


Comment Makes a note anywhere in the diagram. Are always surrounded by * characters. None None

Discrete Item

Discrete Item An item at the lowest level of detail of interest. Data

Time Line Start

Time Line Start The start of a time sequence. None None

Time Line End

Time Line End The end of a time sequence. None None

Parallel Node

Parallel Node Acts as the starting point for a set of concurrent operations. Has two or more outgoing branches, that may or may not have 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

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

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

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

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

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

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

Exit Diagram Node

Exit Diagram Node Causes all processing in the diagram to stop, and returns the flow of control to the exit of the PFDs’ parent function with the same name as the node’s incoming branch. None None

Event (Run Diag) Node

Event (Run Diag) Node Causes the flow of control to begin at the start of the Time Line in the eFFBD specified in the node’s label. None None

Validation Node

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

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


Environment Represents an external system or environment to the system being modelled. Environment None


Environment Allows user or agent operations to be enclosed inside it. This allows the PFD to show explicitly which user or agent in the environment is to be responsible for performing each of the user and agent operations. Environment None


Operation Is the means to create a PFD hierarchy. Operation

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 specification) 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 or eFFBD) in the main system model. Operation

User Operation

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. eFFBDs), is superficial (terminators in DFDs), or is intermingled with descriptions of required system behaviour (UML use cases in UCDs). Operation

Agent Operation

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. Operation

Time Line

Time Line Represents the flow of time from object to object. None None

Time Line Loop

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

Data Link Represents the flow of data both into and out of an operation. Data

Trigger Data Link

Trigger Data Link Represents the flow of data into an operation, which triggers the operation to execute. Data


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