Not logged in - Login
View History

DCRGraph.net

Graphs

A graph consists of an organised pattern of activities and their dependencies, as well as separate processes. In other words a graph is a visualisation of a set of numbers and their relation to one another in the form of e.g. curves and lines.

DCR Graphs are created in the DCR tool using the Graph Editor.

Roles and Groups

Roles and groups are created in DCR Graph and can be assigned to the activities in order to delegate responsibility for an activity to a specific role. The groups are used to group activities together under a common term. There could be a group called "Automatic" that are applied to all activities that are done automatically. The roles are assigned to the one responsible for the completion of that activity. This could be an HR Manager, the whole HR department or an third option. It is possible to assign multiple roles to one activity thus indicating that the activity has multiple participants or can be completed by multiple roles.

Activity

An activity is a task that needs to be accomplished within a defined period of time or by a deadline to work towards work-related goals. Activities can be linked together using connections to create dependencies. An activity is a process or a task in a workflow that describes something that a person must do in order for the activity to be fulfilled. An activity can represent:

  • The invocation of an operation.
  • A step in a business process.
  • An entire business process.

Activities can be decomposed into sub activities if necessary and does not have to be atomic.

Attributes

An activity holds several different attributes. Each attribute has three state-values, It can have relations to other activities, It can have a name, role(s) assigned to it, a description, and be part of groups and a level.

State-Values

The three Boolean states that every activity has are:
  • Included
  • Pending
  • Executed

All the relationary conditions are based on these values.

Creating Activities

Activity in the Graph Editor

  1. We can create new activities in graph by clicking on the + Add Activity button in the activities/process panel (placed on left by default)
  2. We can also click on insert in main menu on the top and then click on + New Activity
  3. Another way is to right click on the canvas anywhere (gray area), a menu will be shown click on Add Activity and a new Activity will be created there
  4. We can also create a new Activity by dragging the + Add Activity button found in the activities/process panel to the canvas and after drag a new Activity will be created there.

Nesting

activity0, activity1 and activity2, nested under activity3
Activities can be nested under other activities.

When activties are nested, relations can be made to the whole "nest"

Connection

A Connection describes the relationship between one activity and another.

Creating Connection

To create a connection from one element to another follow these steps:
  1. Select an Activity by left click on it, it’s border will turn to blue this indicates as a source element from which connection will be made
  2. Now right click on other Activity or Process and a menu will be shown, click on required connection or available connection option and a connection will be made from the selected item to this item

Connection Types

  1. Condition
  2. Response
  3. Include
  4. Exclude
  5. Milestone
  6. Spawn

1. Condition

Fig 1: Condition connection on the DCR-portal

The Condition creates a relation between an activity A and an activity B such that B can only occur if first A has occured. Activity B could for instance be "Prescribe medicin". For that to happen a medical examination has to take place, which could be activity A.

2. Response

Fig 1: Response connection on the DCR-portal

The Response connection creates a relation between an activity A and an activity B such that B has to occur, at least once, at some point after, if A occurs. B can occur even if A never occurs. But if A, then B. If activity A is a broken leg then an examination (Activity B) must take place at least once.

3. Include

Fig 1: Include connection on the DCR-portal

The Include connection creates a relation between an activity A and an activity B such that the occurrence of activity A makes possible the occurrence of activity B if it wasn't previously included in the workflow. Activity B could be a "Perform medical procedure" which has been previously rejected by a physician. Activity A could be an approval from a physician with more seniority than the one that first rejected the medical procedure.

4. Exclude

Fig 1: Exclude connection on the DCR-portal

The Exclude connection creates a relation between an activity A and an activity B such that B cannot occur if first A has occured. Activity A could for instance be "Reject medical procedure" and B "Perform medical procedure". The exclusion can be cancelled out if an activity with an include connection to B occurs.

5. Milestone

Fig 1: Milestone connection on the DCR-portal

The Milestone connection creates a relation between an activity A and an activity B such that B can occur initially. But if A becomes pending for a response connection by another activity C, then B cannot occur until A has ocurred.

Activity B could for instance be "Prescribe medicine" which normally happens after activity D, "Medical examination". But C, "further examination needed" becomes activated in stead, then A, "2nd medical examination" has to happen before any medicin can be perscribed (activity B).

Fig 2: Milestone example

6. Spawn

Fig. 1: Spawn connection in the DCR Graph
The Spawn connection creates a relation between an activity A and a subactivity B such that, when A occurs, a new instance of B is created. Activity B could for instance be "Meeting" and A be "Create meeting" as is depicted in Fig. 2.

Fig. 2: an example of the spawn condition

Guards

Time

Read more about time in DCR 2.0.

Processes

Every graph can be considered a process, but a graph can contain sub-processes. A sub-process can be either
  • single-instance sub-process - meaning it is just a process embedded inside the parent graph
  • multi-instance sub-process - which can be spawned to run separately of the parent graph

Sub-processes can either be created within the parent graph or created as it's own graph and linked into the parent graph using the import graph capabilities.

Simulations

DCR graphs can be simulated, either by one person playing all the roles or by several people each playing some of the roles found in the graph. This enables users to obtain a better understanding of how the graph works, simply by playing the graph as a computer game. The portal even offers "friends" that can be used to play certain roles, at the moment two friends are offered.
  • Aggressive user - the aggressive user executes all activities that are enabled
  • Lazy user - the lazy user only executes activities that are enabled and pending

Details of simulations can be found here.

Costs

There is also a cost function in the DCR Graph tool that allows to track the cost of the various simulations.

Collaboration

You can collaborate with co-workers and other connections directly in DCRGraphs.net. Doing so you don't have to send emails to friends.

Graphs can easily be shared with connections and you can write to the directly in the built-in activity stream with is a natural part of the portal.

Analysis tools

One of the major benefits of DCR Graphs is the ability to analyze graph behavior in various ways. DCRGraphs.net include a list of analysis APP's as outlined below:
  • Path Analyzer - the Path Analyzer makes it possible to search for paths through the graph including and excluding various activities, similar to using your GPS or Google Map to find a path.
  • Dead-end Analyzer - this application analyse a graph in order to find potential paths that can lead to a state where the goal can never be reached. Live/deadlock detection.

DCR Forms

In DCR Forms we use the rules of DCR graphs to control the rules between fields on a form avoiding the need for customer programming to hide or show a field etc.

APP store

It is possible to extend DCR Graphs with new APP's. Please refer to the APP Store documentation. Examples can be found here too.

The APP store currently hosts three applications

  • Path Analyzer - the Path Analyzer makes it possible to search for paths through the graph including and excluding various activities, similar to using your GPS or Google Map to find a path.
  • Dead-end Analyzer - this application analyse a graph in order to find potential paths that can lead to a state where the goal can never be reached. Live/deadlock detection.
  • Document Generator Render your process as a Microsoft Word or PDF document. The document contains details about all roles, activities, and relations, and contains all representative swimlanes saved in simulations