Bruce Silver

Standardizing BPMN Labels

In my BPMN Method and Style training, I show the following BPMN and ask students, "What does this diagram say?" You really cannot tell. It says something happens and then either the process ends or something else happens. Not very informative. But if you run Validation against the rules of the BPMN spec... no errors! As far as the spec is concerned, it's perfect. But if the goal is to communicate …

Are You DMN-Ready?

A primary design goal of the DMN standard was accessibility to subject matter experts and other "business users", i.e. non-programmers. DMN promises executable decision logic without programming, and it achieves that through a combination of standard diagrams (DRDs), standard tabular formats (boxed expressions), and a business-friendly expression language (FEEL). Nevertheless, you constantly hear …

Interrupting Events in Automation

In my BPMN Method and Style training, we use examples like the one below to illustrate the difference between interrupting and non-interrupting boundary events: Here an Order process with four subprocesses could possibly be cancelled by the Customer at any time. As you can see, a single physical Cancellation message from Customer is modeled as multiple message flows. That's because the …

How Contexts Simplify DMN Logic

I have made the point on multiple occasions (for example, here) that DMN is both more business-friendly and more powerful than better-known Low-Code languages such as Microsoft's Power FX. One reason for that is DMN's context boxed expression, which breaks down a complex bit of business logic (or decision logic, if you prefer) into multiple simple pieces, without cluttering up the DRD with dozens …

Low-Code Business Automation is DMN's Killer App

[This post is my presentation at Decision Camp 2022, delivered September 27, 2022.] As a longtime DMN practitioner and from the beginning one of its biggest boosters, I am what you call a true believer. But while DMN continues to gain traction, even I would have to admit it has so far underperformed in the marketplace. The industry analysts say, "OK, we're aware of it... But what's the killer …

BPMN's Magic Event Type

Occasionally in my BPMN Method and Style training, a student will submit a Certification exercise containing a Conditional event. I have always rejected that. Conditional events are not part of Method and Style, and that's because I have always considered them to mean "some magic occurs". According to the spec, a Conditional event may be used either as the Start event of a process or event …

Datatypes with Constraints

As a followup to my post from last month, there is another aspect of datatypes I've been thinking about. When a simple type is subject to constraints, such as a numeric range or a list of enumerated values, I have been teaching students to create an item definition that expresses those constraints. For example, if a numeric value is always positive, we might assign it the datatype tPositiveNumber, …

Good DMN Begins with Datatype Assignment

In my DMN Method and Style training, we cover a lot of advanced topics, including calendar arithmetic, iteration, filters, and data validation. But I have found that problems in students' certification exercises more often relate to something much more basic, which we discuss at the very beginning of the course: assignment and naming of datatypes. Actually, the runtime engine often does not care …

Executable BPMN vs Method and Style

For many years my work has focused on non-executable BPMN using a set of conventions called Method and Style. In the past year or two I have turned my attention to Low-Code Business Automation, based on executable BPMN. When I wrote my book BPMN Method and Style - over a decade ago! - I imagined that harmonizing executable BPMN with Method and Style would be a natural thing, but that never …

REST APIs Are Everywhere

As we discussed earlier this year, a key factor in the growing popularity of Low-Code Business Automation is the availability of REST APIs for just about anything you need to do. REST APIs provide a simple uniform interface based on the standards of the World Wide Web, so they work the same way with any service operation. You simply send a web message containing the service input parameters and …