Not logged in - Login
View History

DCR Graphs

Dynamic Condition Response graphs (DCR graphs) is a constraint-based graphical process notation for Adaptive Case Management. The notation enables end-users and domain experts to capture and continuously adapt the constraints of their workflows and business processes supported by immediate simulation and enactment in case management tools. Unlike traditional workflow and business process modelling notations, which are typically based on flow-graphs describing transitions between states triggered by events and actions, DCR graphs instead focus on capturing the business and compliance rules constraining the order of activities and events. Thereby DCR graphs capture the logic behind the process instead of just a few possible paths that in practice rarely match reality. The video below explains the difference by example:

DCR graphs has been developed in collaboration between the Process and System Models research group lead by Thomas Hildebrandt at the IT University of Denmark and Exformatics A/S.

Please refer to https://www.tele-task.de/archive/lecture/overview/8751/ for a recent presentation of DCR Graphs at Hasso-Plattner Institute.

History

For the last quarter of a century businesses have tried to model their business processes in order to increase productivity and increase quality. Many techniques and notations exists, but the Business Process Management Notation (BPMN) is today the industrial standard and at the center of most initiatives. Processes are visualized using BPMN, Swim lane diagrams, flow charts etc. However, while the BPMN is good at describing possible routes, it is very poor at capturing the compliance rules and business constraints on which the routes are based. This means that the descriptions are supplemented with textual descriptions typically found in a Word document, with no formal relationship. As a consequence, the notation offer no support for maintaining compliance rules and business constraints and no support for updating the routes when rules and constraints inevitably changes.

Consequently, updating such descriptions is both a tedious, error prone and, because companies and regulations change all the time, costly operation. Another issue with this approach is engaging end-users in the process dialogue. The flow graph notation often is too rigid, and thus do not support the variation the end-user knows is needed, and also hard to understand because it describes the process as how a machine would execute it. Many initiatives within the field of process research has been trying to simplify the notation and methods and make it able to express more flexible processes, but with little or no luck. This continues to pose a problem for modern businesses today as lack of end-user engagement often leads to process implementations which doesn't support the real business needs and in the end, productivity suffers.

In order to counter these issues and achieve the overall business goals, increased productivity, higher quality and employee enthusiasm, DCR has been proposed as a new model for collaborative process design, simulation and enactment. To ensure employee engagement DCR enables playing the processes like a game among co-workers. The team of co-workers can define the business constraints and compliance rules using a constraint based process notation and immediately start process simulation to create powerful models that compactly represents the logic of real world workflows.

DCR Graphs has been selected as a finalist for BPM Awards 2016 for its work with Danish Dreyers Fond.

DCR Portal

The DCR portal is a site for businesses and academia to create and simulate DCR graphs collaboratively. The portal is purely cloud based, which means that it runs out of the box directly in a browser, with no installation or operating system requirements. The DCR-portal adds a social aspect to the DCR-technology: Here, users can invite friends to the portal, send friendship requests to existing users, comment on graphs, browse graphs, use the activity stream for discussing graph design which supports ongoing interdepartmental collaboration and a high degree of model/real world resemblance. If you are a university student, signing up is free.

A link to the portal can be found here:

http://www.dcrgraphs.net

Major features of the editor are as follows (video-tutorials in the links):

Users of the DCR Graphs portal must register and sign in on the portal from the sign in page. 3rd party logins like Facebook and LinkedIN are supported.

Frontpage

Fig 1: DCR Front page example
The frontpage of the DCR portal gives the user an overview of their own graphs, graphs that are shared with the user as well as public graphs shared by the community owner. Friends can be invited into the portal. Finally, an activity stream enables discussions about specific graphs within the communities.

Graph Contents

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.

Activities

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. Activities can be linked together by connections to create dependencies. 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.

Connections

The connections available in DCR Graph are:

Condition
A condition between two activities ensures that the second activity cannot be executed unless the first is excluded or has been executed at least once.
Response
A response, or goal, ensures that once the first activity has been executed the other activity becomes a goal, that must eventually be executed or excluded
Include
The include relation includes other activities upon execution
Exclude
The exclude relation excludes other activities upon execution
Milestone
The milestone relations blocks the second activity if the first is currently a goal (response) and included
Spawn
The spawn relation spawns a new sub-process

Nesting

Activities can be nested under other activities.

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.

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

Frequently Asked Questions

Find Frequently Asked Questions here.

Releases

Find Release history of DCRGraphs.net here.

Certification, Courses & Credentials on LinkedIn

Receive DCR certifications by completing various training courses offered by DCRGraphs.net partners. Get recognized for your knowledge about DCR Graphs by adding your Certification and Skills to your LinkedIn Profile.

Partners

DCRGraphs.net works with several partners in various countries.

Adaptive Case Management

Exformatics has extended their Enterprise Content Management (ECM) system with DCR Graphs thereby providing an Adaptive Case Management System.

DCRGraphs.net now provides a DCR Repository enabling third party applications to use DCR Graphs as repository for storing graphs thereby simplifying using DCR Graphs for handling business processes.

Articles

Please refer to Articles for reference to articles about DCR Graphs.

Process Engine

DCRgraphs.net are working to release an open source version of the process engine supporting the DCR semantics, as well as a service where the engine can be tested without having to understands the details of DCR.