IT|Redux

Business User Perspective on UML, BPMN, and BPMS

Tuesday, February 28th 2006 | Francis Ip

Practitioners within the IT industry have been misusing terms and concepts consistently to promote their eccentricities. These are either data-centric or process-centric. For instance, objected-oriented programming uses the concept of a class to represent an executable unit of code (through abstraction, encapsulation, inheritance, and polymorphism), which an application can create, use, and destroy for a computational purpose. Is class data or process in UML? It is both. A class encapsulates data and methods (a form of information hiding) through proper abstraction of real world entities and events. Since computers became available commercially in the 50’s, graphical modelling languages proliferated and underwent several re-incarnations through various symbolic mechanisms. This article addresses UML, BPMN, and BPMS from a business user perspective, at a cursory level.

Retrospective on Graphical (Visual) Modeling Languages

History repeats itself all the time. In the early 70’s, structured programming evolved into structured design, and finally structured analysis. Object-oriented programming began in the early 80’s, which led to object-oriented design, and then object-oriented analysis.

The first de jure standard graphical modelling language was flowchart (uni-level model), certified by ANSI. It was the mechanism for the scope definition of a problem domain, and the use of logical steps to arrive at the solution through a computer program. When a problem would become more complex, it was extremely difficult to verify the correctness of a solution. Nothing is as constant as change. A change in requirements necessitated a monumental effort in the update of the flowchart and verification of its correctness.

Dissatisfied with the inflexibility of flowchart, the US Air Force led the effort to deliver a series of IDEF (multi-level model) modelling languages to support its ICAM (Integrated Computer-Aided Manufacturing) undertakings. This took place alongside commercial efforts (e.g. DFD, Structured Chart, MERISE, etc.) in the mid 70’s and early 80’s. As the DoD (Department of Defense) was an influential standard driving organization, IDEF was the only de jure standard, certified by NIST, to replace flowchart.

When RDBMS (Relational Data Base Management System) became more affordable and efficient, Information Engineering led the effort in promoting a data-driven approach to software design and development. The process-driven approach fell by the wayside. As systems became more software intensive, the US Air Force commissioned SEI (Software Engineering Institute) of CMU (Carnegie Mellon University) to conduct research on software management, engineering, and deployment in 1992. To reduce cost, risk, and time in delivering systems, COTS (Commercial Off The Shelf) software & hardware were augmented by systems engineering, concurrent engineering (i.e. Integrated Product and Process Team), and quality management in CMMI. Thus CMMI (Capability Maturity Model Integration) became the yardstick to determine and measure the capabilities and performances of an organization. The erospace and Defense industries were also contributors to CMMI, in addition to the DoD. When ISO released ISO-9000:2000 (for Quality Management Certification), the focus was process-centric, with emphasis on continuous improvement rather than just documentation. CMMI and ISO standards reinforce each other; the process-driven approach came back in force. Business Process Re-engineering (BPR) was also a driving force to bring process back into the picture for organizational improvement.

When imaging technology, including fax, could produce electronic documents with decent quality, many organizations began to deploy Workflow Engines. These not only saved physical storage space, but also reduced time significantly in routing documents within a premise or across the ocean. The Workflow Engine was never designed and developed for BPM in mind. With the release of the Internet to the general public in the mid 90’s, electronic document sharing and routing became a de facto mode of operations for many organizations and individuals.

Recognizing the benefits of the object-oriented approach in the early 90’s, programming languages were objectified, including the old work horses FORTRAN and COBOL. Proliferation of ways in applying the object-oriented approach began to get out of hand. In the mid 90’s, Rational led the effort to consolidate multiple object-oriented approaches, and UML became a de facto standard, primarily geared toward software development efforts. After the OMG took over the effort to develop UML, ISO adopted it as ISO-19051 in 2005 (UML 1.4). It should be noted that ISO and NIST have applied UML in their joint standard efforts in many areas before ISO formally turned it into a self standing standard.

BPMI.org was formed in 2000 to promote standardization in the management of business processes. The concept of process management was not new though. It began in 1961, when IBM released GPSS (General Purpose Systems Simulator). The prime users of the GPSS were Operations Research and Management Science practitioners. Before coding commands to run GPSS, a user would draw a graphical model to depict entities, events, activities, storage spaces, staging areas, queuing disciplines, etc. to represent a system or an operation, such as gas stations, checking out counters, traffic control systems, and traffic flows in a network. Some similarity exists between BPMN and the graphic models in GPSS and IDEF3. BPEL was not a new concept either. One can find many equivalent languages in real-time devices such as real-time process controllers, cell phones, PCs (the ROM-BIOS), and many field-programmable firmware devices. BAM may seem a novel idea, but SCADA (Supervisory Control And Data Acquisition) systems have been in existence for more than 20 years for real-time process control applications. The only difference is that BPMN and BPMS may elevate the concept of real-time process control to a more visible level in the management of day-to-day business activities.

UML (Unified Modeling Language)

UML underwent several versions from 1.0, 1.1, 1.2 (never released by the OMG), 1.3, and 1.4 to 1.5. The latest version is 2.0, which includes more elements to represent different views and allows extensions that incorporate other graphical notations into a model diagram. With ISO, NIST, and CMMI as the prime driving forces for standardization, many professional disciplines have joined forces with the OMG to enhance UML and use it to extend professional standards. Examples are:

1. ISO-191xx in GIS (Geographic Information System) standards.
2. ISO-10303 in STEP/EXPRESS for Product Data Description and Exchange.
3. SysML by INCOSE (International Council on Systems Engineering).

As a result, UML facilitates the consolidation of modelling languages into one, but also introduces potential complexity and inconsistency. For instance, the class diagram in UML consists of 3 compartments; one for class name, one for attributes (data), and one for methods (operations). In SysML though, block replaces class in UML with 4 compartments. The top 3 compartments are identical to a UML class; the additional compartment is for constraints.

In an organization that has both IT and Systems Engineering practitioners, business users need to deal with the eccentricities carried by these 2 professional disciplines. That is, UML from IT and SysML from Systems Engineering. There is a good chance that both disciplines develop very different models for a system, and that can be extremely difficult — if not totally impossible — to reconcile. Anomalies in the usage of UML still persist. Examples are:

1. For IT, users (actors) are outside the boundary of a system. This contradicts the well established definition of a system. That is, users are elements of a system.

2. The activity diagram in UML is a modified version of flowchart, which was deemed inappropriate for communication purposes between business users and system practitioners (i.e. IT or Systems Engineering) throughout the 60’s and 70’s.

3. UML facilitates communications within a discipline but not across disciplines.

4. Class diagrams are used for both objects and data, which are essentially very different entities. An object is an executable piece of software code, while data is for the storage and retrieval of encoded characteristics of an entity or event.

With many professional disciplines coming on board to help evolve UML, it is hoped that UML will remain a horse rather than turning into a camel. As the old saying goes, a camel is a horse designed by a committee!

BPMN (Business Process Modeling Notation)

BPMN was created as the visual (graphical) front-end for BPEL (Business Process Execution Language). In a way, we can deem it as a potential replacement for IDEF0 (Activity Modelling) and IDEF3 (Process Modelling for Simulation), and other simulation modelling languages (e.g. GPSS). Apparently, the designers of this language approached it from a pure IT point of view. They abandoned the age-old practice of a process consisting of activities, and activity consisting of tasks. In BPMN 1.0, we have process, sub-process, and task. Activity was dropped for no good reason. BPMN consists of “activity on node” constructs in a network-like structure of events and flows. It also supports the construct of layering or decomposition. In the absence of activity, business users would have a hard time correlating and reconciling the following:

1. How does BPMN map to Activity Based Costing/Management/Budgeting for performance measurements that percolate up in the hierarchy of Balanced Scorecards?

2. How does BPMN correlate with BAM (Business Activity Monitoring) utility modules within a BPM 2.0 BPMS?

3. How does BPMN map to the simulation capabilities offered by a BPM 2.0 BPMS? And that is assuming that there is enough functionality to collect actual performance data, determine best probability distribution fit from historical data, and select the best stochastic model (e.g. queuing, Markov-chain, chance constrained programming, etc.) for optimizing business processes on the fly! If this is at all feasible, will the BPMN diagram be updated automatically to reflect the optimized processes, as opposed to the original process pattern?

BPMS (Business Process Management System) in BPM 2.0

There are a number of functional elements incorporated into the BPMS of BPM 2.0 that support:

1. Application development without programmers.
2. Rule definition to govern process execution.
3. Role assignments to human resources who own the process.
4. Business activity monitoring in real-time.
5. Simulation for potential continuous improvement.
6. Optimization of processes on the fly.
7. EDI in X.12 and EDIFACT.

These capabilities are indeed very impressive. A number of questions remain though:

1. Does the rule engine becomes part of the ontology, and does it support the use of fuzzy logic in addition to binary logic?

2. Business process management is more than managing transaction-oriented activities (i.e. supply chain and demand chain). There are a lot of other supporting activities that are carried out within an enterprise, as articulated by Professor Michael Porter in his seminal work on Strategic Management (i.e. Competitive Strategy and Competitive Advantage) in the mid 80’s. Can BPMN and BPMS support the management of activities in “firm infrastructure” and “technology development” as depicted in the Value Chain model?

3. If optimization can really be realized on the fly, is there a need for simulation? By the same token, BPM 2.0 should be able to replace 6-sigma quality control programs in every enterprise. When the adaptive process optimization runs long enough, one person can manage a large enterprise without any help from anyone. Wouldn’t this be a revolutionary enterprise management breakthrough?

Harmonization of UML, BPMN, and BPMS

In the 50’s, MIT and Stanford were the first institutions in the US involved with AI (Artificial Intelligence) research. A number of scientific results were commercialized. Examples can be found in robotics (e.g. manufacturing and logistics), vision or image processing (e.g. OCR, CAT Scan, and MRI), rule-based expert systems (e.g. symbolic integration in mathematics, creation of industrial chemicals, and LSI circuitry designs), and semantic network. Semantic network was the foundation for Chen’s E/R modelling, as well as frame-based ontology. In spite of tremendous efforts put into AI research, natural language processing and cognitive science still need ground breaking advancements that can truly lead to programmable decision making with partial information.

Now that the work on BPMN has been folded into the UML working group at the OMG, it is hoped that UML will evolve into a more robust and simplified modeling language. Similarly, the future BPMS will incorporate more capabilities that can truly support cyclical activities in planning, programming, budgeting, execution, real-time process control, knowledge management, and decision making. In essence, a good foundation has been laid for better enterprise management through UML and BPMS.

About the Author: Francis Ip is a pragmatic Systems Engineering practitioner with over 35 years of combined experience in Strategic Management, Enterprise Architecture, and Program/Project Management. He is a contributing writer on IT|Redux.

Entry filed under: BPM 2.0

16 Comments - Add a comment

1. Dr. Raymond Carpenter  |  March 1st, 2006 at 7:37 am

Thanks so much for a very nice summary of a variety of analysis and design approaches.

2. Steve Hoffman  |  March 3rd, 2006 at 7:25 am

I’m pretty sure that BPMN was originally created as the visual (graphical) front-end for BPML (Business Process Modeling Language) and the BPEL “binding” was only created after BPEL overtook BPML in terms of market acceptance.

3. Ismael Ghalimi  |  March 3rd, 2006 at 10:59 am

Steve,

Your assumption is correct, BPMN was originally developed for BPML.

4. Jeanne Baker  |  March 3rd, 2006 at 12:35 pm

Francis,

You wrote: “Now that the work on BPMN has been folded into the UML working group at the OMG, it is hoped that UML will evolve into a more robust and simplified modeling language.”

The premise is incorrect. BPMN has not been folded into the UML working group at OMG. Both tasks forces operate independently. Neither graphical language is designed to replace the other.

5. Francis Ip  |  March 3rd, 2006 at 2:30 pm

Jeanne,

Thanks for the correction.

It looks like business users will have to deal with a plethora of incompatible models. This also means that the Activity diagram in UML will compete with BPMN. The question is why does the IT industry create so many incompatible gadgets in independent silos? I would suggest that the architectural board of OMG launch a program to consolidate all similar activities and a chief architect be appointed to oversee all architectural efforts in all Domain Task Groups. This is to ensure and enforce that all DTG activities will be in harmony with one another, without contradictions and duplications.

It won’t be long before business users get frustrated, revolt, and find the simplest and cheapest solutions. That is, outsource all back-end computing and data processing activities, like in the 50’s and 60’s, to time-sharing bureaus! With virtualization and grid computing, IBM and EDS will be glad to comply!

6. Lee Provoost  |  March 7th, 2006 at 5:47 am

First of all, thanks for the great article! I have a question:

During one meeting with my supervisors for my master’s thesis, we discussed the real added value of BPMN over UML. I argued that it is obviously useful to use BPMN over UML because we can generate BPEL code from it, and perhaps do some round-trip engineering. The point of view of one of my supervisors was that we can do most of that stuff with UML as well. I’m not an expert in the field of BPMN (still learning), but I think he has a point. Why didn’t we extend the current UML language to fit in the SOA story for instance? Most of the people in the software industry are already familiar iwth UML, so… ? What is your point of view on this matter? What are the strong arguments why a new language was invented instead of extending UML?

7. Francis Ip  |  March 7th, 2006 at 7:03 am

Lee,

Thanks for the compliment. Both of you and your thesis supervisor are correct given the current states of UML and BPMN. Let me explain. At the time when BPMN was conceived, UML modeling elements were primarily for showing ’static’ associations or relationships between components and classes. Only ’sequence’ and ‘activity’ diagrams support temporal and dynamic aspects of components and classes at a rudimentary level. It is virtually impossible to map two incompatible model (i.e. sequence and activity) elements to BPEL. Thus BPMN was born.

Currently, there is a disconnect between UML and BPMN as they belong to two different Domain Task Forces within OMG. Personally, I prefer to roll BPMN into UML under one Domain Task Force. The benefit of doing so is that UML will be the only modeling language that supports Requirements Engineering, Systems Engineering, Knowledge Engineering, Software Engineering, Hardware Engineering and other Engineering disciplines for better enterprise management in terms of agility and innovation of processes, products, and services.

I hope that the above answers your question fully. If you have further questions, please feel free to let me know.

8. Wilf Whattam  |  May 3rd, 2006 at 3:02 pm

My experience has been Information Engineering for over 20 years. Of course, now I am having to deal to the terminology of UML — which is largely a rebranding of old ideas, rather than anything brand new.

I object to you branding IE as being data oriented. It was, and is a complete powerful methodology, incorporating the following techniques:

- Entity Relationship Modelling
- Function/Process Decomposition
- Business Event Modelling
- Entity Life History Modeling
- Process Dependency Modelling
- Process Views
- Process Logic
- and more…

It is impossible to be just data or process oriented and do a sensible, thorough job of business analysis. You may be familiar with IEF (CASE tool), IEM, and with ADW (CASE tool) and Navigator (from Ernst & Young), which covered all these techniques in an integrated way.

I am enthusiastic about BPMN, but once again, it is nothing new. It is identical to Process Dependency Modelling, but with the capability to formally depict all those things (conditionality, multiplicity, exclusivity, multifarious event types, etc.) that we could do only through manual representations previously. Also, BPMN has relevance for design and development capability — but as a Business Analyst I have no specific interest in this.

Regards

-Wilf

9. Francis Ip  |  May 3rd, 2006 at 3:55 pm

Wilf,

To a certain extent, I agree with you. I am very familiar with all the CASE tools and Methodology (Navigator) that you mentioned. In addition, I’ve also used Excelerator (the first DOS based CASE tool that supports Structured Analysis and Structured Design) and System Architect for Enterprise Architecture Engineering. Unfortunately, most of these CASE tools are no longer in existence, with the exception of System Architect, now part of Telelogic’s product offerings. System Architect is the standard CASE tool for DoD’s (Department of Defense) DoDAF.

It is interesting to know that someone still practices Information Engineering for almost 20 years. Throughout my 25 years in Management Consulting, I have mentored Application Architects, Data Architects, and Technical Architects in many of my consulting assignments using various methodologies and CASE tools. Personally, I have no preference for any particular methodology or CASE tool. Each one always misses something! In architecting complex systems, process and system simulation becomes an essential tool, which System Architect also supports, but not as sophisticated as the tools used in OR (Operations Research). By the way, IE doesn’t support Object Modelling, which is the de facto paradigm for current Software Engineering practices.

-Francis

10. Wilf Whattam  |  May 4th, 2006 at 7:22 pm

Hi Francis,

Thank you for your response.

I have used System Architect and agree with your comment about CASE tools. IEF and ADW were superb, and I can only blame CA for burying them. My background is Industrial Engineering & Operational Research, as well as Systems/Management Consulting. I find that many CASE tools have been perfectly adequate for business and systems analysis.

I don’t believe that IE’s shortcomings with respect to Object Modelling are in any way serious. IE can cope with any complexity of inheritance. That is all that is needed at the business modelling level. I’d be interested to know what specific shortcomings people believe that IE has at the level of business modellling! I am not religiously tied to any methodology either — but I do find it tiresome when supposedly new methodologies merely rebrand or make claims that are rather trivial/unnecessary (e.g. Use Cases and the like). Maintaining continuity is much more valuable than shamming revolution.

This does not detract from my wholehearted appreciation of BPM.

Regards

-Wilf

11. Practical Software  |  May 4th, 2006 at 11:10 pm

Hi,

I think modelling may not be that good a practice for software. I guess we need to develop software that is more self-adjusting as the needs of the customer evolve. For example a customer may track only the phone number for a client today, but tomorrow the customer needs to track the mobile number as well. Such changes should be trivial to implement.

Another reason for the failure of modelling is the time it takes to convert from models to code is too long, and it is not a one to one conversion. Until that comes, I guess modelling will be more academic than practical. That is why even UML is given at the end of the project as an artifact of the project.

12. Francis Ip  |  May 5th, 2006 at 4:35 am

Creating a piece of software without a model is just like building a house without a set of blueprints! Tracking a cell phone in addtion to land-line phone is a new requirement, not a trivial change. You need to update not only the software code but also the database. Not everyone has a cell phone. In practical terms, there are several phone numbers to be tracked (e.g home phone, office phone, fax, and cell phone). Hand crafting code from a model of course is tedious and error prone. Technologies for generating codes from models are available on the market. Please read Ismael Ghalimi’s article on BPM 2.0 about Zero Code.

13. Stephen A. White  |  July 25th, 2006 at 7:19 pm

Francis,

Thanks for the article.

These types of discussions are useful. I have a couple of comments.

BPMN was not strictly a front-end for BPML/BPEL. We specifically decided not to create an execution language notation. BPMN was intended to be a generic way to define and communicate process models. At the same time, enough detail was included (but not required) so that it could be mapped to BPEL. Thus, we did not have a pure IT approach. The approach was two-pronged to bridge the traceability gap between process modeling and process execution. But business POV was considered key to the success of BPMN. Just reading the spec, however, might lead one to see the IT side of it as being dominant.

This leads to why we did not just use (and perhaps extend) UML Activity diagrams. UML, whether deserved or not, was not acceptable in business process modeling communities. It didn’t matter what the capabilities or underlying constructs of UML were — whether it was UML 1.4 or 2.0. BPMN based on UML would not have been accepted and would have failed.

I do agree that BPMN and UML should be harmonized, especially now that BPMN is in the OMG. But this harmonization should be done carefully. It should be done to enhance the capabilities of UML, thereby reducing the business/IT gap. But it should not damage the reputation or acceptability of BPMN in the business community. Thus, it is hard to say when or how a harmonization of BPMN and UML will occur.

On a more picayune note, the term activity is used generically in BPMN. Both processes and tasks are activities. Thus, in your model, a BPMN process maps to an activity. Beyond that, I’ll note that no matter what terms we could have chosen for any element of BPMN, we would have confused or offended one or more community of users.

14. IT|Redux » Who Need&hellip  |  July 26th, 2006 at 11:46 am

[…] Recent discussions on BPMN and BPEL have created a level of activity rarely seen on these pages. The quality of interactions is outstanding, and I strongly encourage you to read through the comments of this post, and this older one contributed by Francis Ip. In the meantime, let me use the opportunity of our weekly BPM 2.0 post to shed some light on why BPMN and BPEL nicely complement each other, and who really needs a complete BPMS. Disclaimer: this post might upset some readers, especially towards the end, but I need to get some messages across, loud and clear. Consider yourself warned! […]

15. Gopi Bulusu  |  September 13th, 2006 at 2:43 am

A very nice article indeed. There is a key difference between BPMN and BPEL, BPMN is more like a declarative language and can by itself form the basis for process modeling and implementation.

On the other hand BPEL, is a complex language which tries to replace the common use of scripting languages like perl or python for quickly weaving together an application out of independent web services.

The comparison between UML and BPMN is more interesting, UML is really an extensible modeling language, in theory, BPMN can be modeled as a UML extension. BPMN on the otherhand is a solution for the very specific problem of visually modeling complex processes using a surprisingly simple notation. In some sense, BPMN can be to UML what HTML is to SGML.

16. Jeffrey A. Solochek  |  December 8th, 2006 at 4:31 pm

What is your feedback regarding the subject of LSI? LSI is supposed to decide what is junk and which site has good quality content. I am told that Google is using LSI but I can’t see a software program making this decision.

Jeffrey A. Solochek
 http://www.nosugarcoating.info

Trackback this post  |  Subscribe to the comments via RSS Feed

Leave a Comment

Required

Required, hidden