• The MicroGuide to Process and Decision Modeling in BPMN/DMN: Building More Effective Processes by Integrating Process Modeling with Decision Modeling
    The MicroGuide to Process and Decision Modeling in BPMN/DMN: Building More Effective Processes by Integrating Process Modeling with Decision Modeling

Entries in business process management (8)


Advanced Business Rules Capabilities Address Complex Challenges

At Software Innovations, we have added some interesting new customers including Green Charge Networks and Prosper Software. In addition to other projects that we cannot mention, these development shows how Visual Rules, modeling approach can solve complex challenges in our Big Data, highly dimensional, customer-focused social ecosystem.


The Juila set is a highly recognizable symbol for complexity as develops in the study of fractals and chaos.

From our discussions on the internet of things ( and here) and other developments, we know that today’s world of mobile-networked-social media presents new opportunities for business models and customer engagement. Example models include freemium where a service is provided free of charge, but a premium is charged for advanced features. Another style is gamificationwhere game thinking is applied to non-game applications to encourage people to adopt them. These seemingly simple, yet powerful concepts often require deep layers of implementation business logic.

This ecosystem is also being extended by sensors and edge devices in the IOT. For instance; heart monitors provide data to doctors, or fitness appliances through ordinary smart phones. Sensors on bicycles provide detailed data. These products are a visible outgrowth of the internet of things and services (IoTS); yet, to create applications one must leverage the extreme granularity of this.

In addition to the exotic, new world of the IoTS, traditional data sources have exploded in granularity and accuracy. Most of the decisions of the inputs into the operational decision include time based vectors of:

  • Location, derived GIS stored locations, and proximities
  • Awareness of proximal individuals and groups of individuals,
  • Edge device feeds, heart rate, temperatures, video, weather

Emerging business models use applications: mobile, cloud and on-prem, to operationalize decisions. The decisions will tell customers what to do or make decisions- this is critical.  This means that companies must make effective use of this highly dimensional and time dependent data, often in nearly real-time. To achieve their objectives in this new world, these business require perception of environmental elements with respect to time and/or space or situational awareness.

The complexity arises in problems areas when ordinary, yet challenging business rules areas such as consumer retail and end-use applications, security command and control, complex financial transactions, and products with highly hierarchical catalogs, are combined with real time motions of people, vehicles or traceable financial instruments. The characteristics of this might include large, time dependent vectors of business objects. In this highly dimensional area, each data point exists in the time-location space defined by its attributes and by its relative relationship to all other time-location data points. That relationship is the domain of business rules and the pivot points for the decisions that we are describing.  In this realm, the goal of the decisioning and operational decision algorithms is to assign the data point to membership in the most appropriate cluster—even as the subject is in flight. Business Object Data Collections can be linearly separable or non-linearly separable. We have found, particularly these data are often arranged in a vector that must be efficiently traversed.

The company building applications in this complex, operational world faces the dilemma of hand codding solutions or using visual modeling paradigms. These problem often entail an huge number of logic steps with the need to make subtle changes at deep levers. At Bosch Software we believe that only the latter is sustainable.

In our experience, visual metaphors are mandatory for solutions in this ultra-complex, highly evolving world. The business analyst must be able to use their intense focus on business aspects while the technical teams provide a mastery of the technical aspects for a seamless transfer of logic changes. As a demonstration of this, visual rules, business modeling has recently solved problems in these domains:

  • An athletic consumer products company seeking to operationalize decisions about fitness equipment
  • A company with an innovative financial model built a multi-dimensional, dynamic pricing engine
  • A financial institution created dozens of credit score cards, each with over 90 equations and 190 dimensions.

In solving these problems for many customers we have learned the following:

  • Complex dimensional decisions can only be understood when they are ‘chunked’ into simple visual metaphors, otherwise business analysts get lost in code or simply give up.
  • Visual paradigms including decision graphs, decision tables, state-transition diagrams and composites of these are the only way to quickly solve these challenges.
  • Because they cannot traverse and filter vectors of business objects, Decision table-only approaches tightly constrain the type of problem that can be modeled and miss important dimensional aspects of these classes of problems.

In Summary, business operating in this new realm should expect change and build methods that create the proper agility.


Messages and Sequences in a ‘Requesting Feedback’ Process

In a linked-in question on the BPMN group, Lotfi Al-Hussami posed a basic modeling problem in BPMN. Quoting here:

“As an example, we have the following process that we will call "Get feedback":
- A company X "Send forms" to people by e-mails
- People fill forms, so every person receiving  the message "Fills form"
- Company X "Process forms"

At first glance this looks like a pretty simple problem to solve, as shown in the process below. If the process merely prepares the correspondence then our process, ‘get feedback’ will handle the messages as shown below: 


So the location of the intermediate event is dependent on what level the process is responsible for the messaging. Strictly reading the name of the first subprocess in our example the first example is probably most correct. Also, we are using the external black-box pool to denote the customer.

The Survey Pattern

In many cases, organizations want to aggregate feedback. Sometimes a process gathers data from an unknown number of participants. The process requirement wording might be:

  • Request feedback from at least %20 of the customers.
  • A minimum of 20 participants are required for the class to be scheduled.

The process does not know the number of instances of an activity at run-time. We can use a survey pattern when we don’t know how many responses or instances of an activity happen. Here the process must wait until all instances are completed. Then other activities start. Often, while some activities execute or are completed, new ones might be created- your process might ask for more responses. This

A Survey Process

The figure below presents a model of the survey, marketing or feedback scenario. In the example an email form invites a response from customers in the process. The loop awaits a satisfactory response, as determined by a decision. Here is a short description of the process:

  1. An incoming message starts a survey. The ‘email Recipients’ task send email to a mailing list.
  2. The survey process loops for incoming email. The results of the survey are tallied by the ‘survey decision’ activity, which calls business rules that decide the adequacy of the survey.
  3. A gateway decides if the survey results are satisfactory. Usually the gateway is optional. BPM tools specify the looping conditions.


The black box pool shows a notation, verticle bars, for multiple customer participants.

Other examples of the usages for this pattern include:

  • Getting bids for work from multiple trading partners,
  • Awaiting the delivery of multiple shipments from vendors to a facility before completing a process.

The multi-participant pools should be displayed in this case. You assign this pattern when the process must respond to multiple unknown quantities of events.

The elements of the pattern are:

  • A request from multiple sources by email, messaging, html or other sources
  • A loop that awaits the arrival of information from these sources
  • A decision to approve the survey and business rules for this decision: a call to the rules engine to decide when the survey response is satisfactory.

A process that receives the request and loops between the approver and requestor until the approver is happy with the request.

Cardinality is the Key

Returning to Mr. Al-Hussami example, process-oriented thinking should focus the requirements on a single instance of an interaction. So, a single survey form should be met by a single process response. We can compose a working, single-person survey into a more powerful pattern, such as the pattern that we have described here. When you are working with process requirements in BPMN, verify that you are thinking in terms of the singular entity, and then build your requirements from there.



Build Survivable, Hardened Cloud Processes with BPMN

Integrating the cloud into your error processing strategy can be challenging. Fortunately, BPMN provides a powerful approach to managing failures, in the form of exceptions and compensations. Adding resources and services into the ‘Cloud’ adds error points that must be managed. The designer of these processes should strive to make their processes ‘survivable’ and hardened. The exception shapes and compensations allow continuous operation throughout intermittent error conditions such as those encounter in integrating cloud services and resources. Without a hardened process your participants might need to use a manual process for the exception flow. This can be an outcome of overfocus on “happy day” paths. Manual processes promote staff improvisations and undocumented “work arounds” and obviously should be avoided.

Figure 1 presents an example of BPMN’s modeling of survivable processes in a survey pattern. If an error occurs in the email-reading process, it can be posted to a log and systems administrators can respond. The survey can continue. Finally, the process can loop back or complete.

Figure 1:  BPMN for an exception in the survey process.

The aim of BPMN is to support “long-running” transactions so it is especially suited to the cloud scenario. For instance, a process-oriented car rental agency might create one process for each vehicle, each using a cloud-based machine health service. In this case, the process could run for years, with thousands of calls to the cloud-based service.

Three Error Types

There are three types of exceptions that may affect process execution:

  • Technical exceptions—the process server has failed
  • Transient exceptions—a needed resource (for instance a cloud service) for the process is unavailable
  • Business exceptions—the condition of the process is in error. Data is incomplete or has errors.

Unfortunately, there is no cure or notation for the technical exception. When the server halts, recovering processes are dependent on the technical nature of the process server.

Decisions, supported by business rules, can create named business exceptions. If the process is transactional, it should compensate for transactions that fail to complete. In compensation, the process cleans up or backs out records from ERP’s, operational data stores, or data warehouses – perhaps these can be cloud based.

Processes often must be completed within a specific time period, so there could be time-out actions noted on the diagram. Business processes usually receive a message and translate that message into yet another message for consumption by the next part of the process. BPMN is powerful for developing time-outs, exceptions, and compensations. In building a basic process in BPMN, you can attach time-outs, exceptions, and compensations directly to a subprocess task list. When time-outs and exceptions occur within the process tasks, the process server traps these at the point of the subprocess.

Figure 2 presents a process server “architecture”, including a cloud services, for understanding the three types of errors. If the process server fails, then it obviously cannot run and a technical error occurs. If the ‘on-premise’ database service fails, then the process cannot get the data it needs to complete. This is a transient error. You should be able to restart the process instance and complete it once the database is restored. However cloud services are more complex, you might not have the same level of control that you would have for the database.

Users send data for the process in application servers. If users send incorrect data, then a business exception has occurred. Finally, you use process steps to resolve the error. If the users have used a cloud-bases SAS system to create a request or order, then more complexity is added.


Figure 2:  Architecture for a process environment in a cloud-based ecosystem.

You can model business processes with advanced abilities that suspend processing, or communicate with disconnected, cloud-based processes. They can add new services and capabilities such as payments processing. These powers yield opportunities and fulfill the need for the enterprise to reduce the cost of their most complicated practices. Yet, to develop these cloud-based capabilities, you should understand how BPM tools use the three types of exceptions and what you must plan for when developing the production version of the process diagram.

Cloud-based- Error Handling Example

A process diagram should use exception handlers to redirect the process flow when a cloud based exception happens. So, if the subprocess in the figure below raises an error, then steps can be taken to accommodate the error.

Figure 3: using subprocess for exceptional flow

In BMPN, handling errors arising from a subprocess is known as ‘Exceptional flow’ and, for errors, this is always interrupting: the subprocess that generated the error will terminate, and the alternate “exceptional flow” is followed instead. Later, the process can merge exceptional flow with the main flow. The exceptional flow merge does not need to immediately return to the subprocess that generated the error. If required, a process model can merge several steps downstream.

Finally, cloud process integration diagrams in BPMN should include error handling, compensation, and transactions. All services have the potential for error conditions, understanding how to use BPMN to automate error handling and recover, or be survivable, is critical. 


Do you have a process for business process management?

During business process modeling, a BPM technical/management team creates or tunes a business process model that supports the project’s objectives.  What are the mental processes of the team members modeling and developing business processes and connecting business events and rules? They use workshops and communication. They interview the best-performing and the worst-performing actors in the processes. They review financial reports, documentation and the notes of the managers of the current process. They identify triggering events, business rules and the process needs for policies. They design the proper flow control. They create pictorial representations.

There are institutional or traditional ways of gathering information about a process. However, few organizations know when it is time to add process thinking and business process management to formalize activities—there is no process to create new topics.

Legacy efforts create reams of paper, cabinets full of files, and databases overflowing with useful information—from management directives to marketing papers to MIS memorandums. Much important information exists here. Yet, business process modeling is different from knowledge management, quality reviews or even data modeling. The purpose of data modeling is to develop a model of what is. The purpose of business process modeling is to develop a model of what should be. Yet, how does an organization decide it is time to gather ad-hoc and undocumented activities and add the structure of business process management?

It is self-apparent to look at a factory production line and know that there is a process present; how do we discover the need for a process? Symptoms of missing process needs include:

  • Poor business or financial performance in a rapid, surprised way
  • Low morale and high employee turnover
  • Management overwhelm, (many decisions, little data)
  • Poor communications

There are other symptoms; however, deciding and clarifying when to create a process can liberate these conditions and improve business results. A well designed process has these characteristics

  • Clear goals
  • Well defined roles
  • Improved clarity
  • Increased visibility

We have identified a series of steps to deciding and delineating a ‘green fields’ or occult process in the enterprise business process framework.


Process, Rules & Events: Critical Business Modeling Methods

Business process modeling, decisions, and business events describe the business, not the technical details. These are evolving, strategic management methods that meet today’s challenges. They work together to make it simple for an organization to update underlying rules or processes activities without complicated redeployments of production systems.


Figure for business rule pattern 3, the sequence or path of the process is controlled by the decision graph.

Over the last 5 years, BPM/BR represented a change in the language and symbols that we use to describe business models systems—these methods have become more business-centered and less tied to the technical details of systems. In the past, the IT industry has moved first from information engineering (IE), to object-oriented software engineering (OOSE), to use case analysis. Along the way, commercial off-the-shelf ERP software such as SAP and Oracle Financials became an important part of commonly used technology. The latest methods changed the focus from mathematical theories of data and functions into graphical notations of what the business does. For instance, IE uses an entity relationship diagram (ERD). The ERD depicts relational calculus formulas. A business process diagram, in BPMN, looks and acts like a white board, and business rules have similar graphical descriptions such as decision graphs and decision tables for the rules.

With older methods, data modeling and use case analysis created an immediately outdated technical snapshot of how the organization does business. Businesses always need to change their events, processes and rules to remain competitive. Data modeling and use case analysis do not easily help with these changes in applications. So, in some ways, software based on the metaphors of Process, Event and Decisions is the next step in modern software. Instead of writing programs in Java or C#, these organizations model what the business does in words and diagrams. To update the process or rule, you update the diagrams.