Since the OMG added BPMN to its catalog of Business Modeling and Management Specifications I was wondering how OMG would deal with the clear overlapping between BPMN and UML activity diagrams (there are some differences in their semantics but roughly speaking both can be used to model the same).
To make matters worse, now it seems that OMG is increasing the overlapping by launching a UML Profile for BPMN Processes RFP . This means, that, when the profile is available, we could mix in the same UML project Activity diagrams and BPMN diagrams.
I´m not really sure what the reason behind this decision is. Until now, my way of justifying both languages was to think of BPMN as the right choice when you are modeling the business aspects of the organization and move to Activity Diagrams as soon as you drill down to the technical design of the software system (as a core component of the UML language, activity diagrams are a better fit when having to combine workflow information with other views of the system, expressed also as UML diagrams like class diagrams or sequence diagrams).
In your view, how these two diagrams should be combined? Does it make sense to have this BPMN profile for UML available? By the way, the poor BPDM (Business Process definition Metamodel) is still ignored in this integration process.
ICREA Research Professor at Internet Interdisciplinary Institute (UOC). Leader of the SOM Research Lab focusing on the broad area of systems and software engineering. Home page.
Perhaps by providing a UML profile FOR BPMN, they enable general purpose UML modelling tools TO support BPMN diagrams without needing TO develop a new library OF modelling primitives.
With regards TO whether BOTH diagrams overlap OR complement each other, many process patterns can be modelled WITH BOTH notations [1]. So, IN SOME sense, they overlap. The rationale FOR choosing one OR the other can be diverse (e.g. previous knowledge OF the modellers).
As you suggest, a modeller may want TO use teach notation FOR modelling a different system (e.g. the organisational system AND the computerized information system). I would NOT use BPMN FOR modelling the internal behaviour OF an application… Instead, I would use AD.
I have another remark that applies TO USING ANY business modelling notation. The notations alone give NO criteria TO decide what “is” an activity (e.g. whether SOME part OF an organization WORK practice should be modelled by means OF one activity OR by means OF 20). It IS the methodological guidelines (if ANY) what aids the modeller IN USING the notations IN a way that suits a particular
purpose.
Sergio
[1] White, S. A. (2004). Process modeling notations AND workflow patterns, BPTrends (March 2004)
You raise a very good point. I don´t know methodological guidelines for BPMN modeling. Pointers anyone?
workflow patterns
http://www.workflowpatterns.com/
The confusion was created when UML tool vendors decided to market UML to software designers and ignore the practical application of UML for the business community. Activity diagrams were added to UML a long time ago to support business process modeling. BPMN was established on the false premise that UML is for software people and that business people needed a different language. Well, I’d say the degree OF overlap BETWEEN the two languages (AND even the notations) dispels that myth.
This is a wonderful initiative which will reduce complexity and open new frontier to traditional UML modeling.
The UML 2 metamodel is absolutely magic, many tools are now sharing the same model and model interchange is now a reality.
Using a BPMN profile will allow to model from requirement to deployment the full project development life with UML – It will leverage companies model investment and allow a better return on investment. A model will not anymore be a waste of time but a real opportunity for companies to reduce software complexity in order to produce better software faster. UML is better than just hand codding or agile methodologies because you exactly know what you have in your software and why you should have it. This is very important specially today with all these development teams based around the world.
UML is superb – Whaoo !!
Keep going the good job 🙂
Vlad
Omondo
Hi,
If a newbie POV can be of interest, let me say I agree on both points.
Having an UML profile for BPMN opens the opportunity to leverage existing tools wich is really a good thing because good tools already exist for UML modeling and people already know how to use them.
Jordy put in words a feeling I had but wasn’t really clear TO me yet. I too think that BPMN should be used TO model business AND activity diagrams TO model software so that, together, we can see BOTH sides OF the same coin.
If purpose, scope… can’t be clearly defined for each, then please burry this profile now or confusion will surely raise.
Bests, and thank you VERY much for one of these website that make you think “If only I found it before !”
I have mixed feelings about this issue: first, about the objective of the move; second, about the advantages it will bring; and third, about the relevance of the discussion.
1) Objective:
If the target is to flatten all the modeling to just one notation and role(the software engineer), then this is definitely a wrong direction.
BPMN and UML have two different focuses (business and software) and are used by different roles (analysts and softengs). We should not forget this… even more: bpmn itself is now perceived as not fully understandable by its target users.
2) Advantages:
Supposing we keep in mind the two focuses, the advantages
of the proposal above could be to allow the orthogonal design of different aspects of the applications by different roles, also granting integrated design of the different orthogonal aspects in a unified design vision (old story on separation of concerns).
3) Relevance:
Well, to be honest I don’t see the discussion AS so relevant. IN the bpm field the notation issues ARE MORE AND MORE seen AS marginal aspects (someone IS already wondering what will be the fate OF BPMN 2.0). I don’t see why we shouldn’t start doing the same IN the softeng community.
In term OF acceptance AND utility OF modeling notations, you can see the SOME lessons learned FROM our ON the field activities here:
http://www.slideshare.net/mbrambil/web-ratio-bpmindustrialcasesbpm2010
AS someone heavily involved WITH the UML standard AT OMG, I can tell you exactly why there IS an RFP FOR a BPMN profile. It IS because UML vendors wanted it AS part OF the UML Profile FOR DODAF/MODAF (UPDM).
For those who may NOT know, DODAF IS the US DOD Architecture Framework AND MODAF IS the UK MOD version OF the same. These ARE massive frameworks FOR presenting many, many architectural views. UPDM IS the new standard way TO use UML diagrams TO present ALL these different views. AS such, it has ended up being a kind OF uber-profile, integrating a NUMBER OF other profiles, including SysML AND SoaML.
One problem, though, IS that a NUMBER OF the potential customers OF UPDM want TO use BPMN TO diagram business processes. But the UML tool vendors supporting UPDM still wanted TO have everything done USING the single technical approach OF UML profiling. So they proposed a UML profile FROM BPMN, which could THEN be further integrated INTO UPDM.
There was a huge discussion about this IN the OMG Analysis AND Design Task Force (ADTF), which generally manages the UML AND BPMN standards. There was pretty much a consensus that a BPMN profile was NOT the best way TO deal WITH UML/BPMN integration — but there was an understanding why it was desired by the UPDM folk. But it was then up to them to do the RFP, not the ADTF.
As a result, you may notice that the BPMN Profile is being issue by the OMG Domain Technical Committee, NOT the Platform Technical Committee, which is the chartering body in OMG for the ADTF. UPDM is actually being done on the domain side of OMG (under the C3I group), and that is where the BPMN profile is.
— Ed
BPMN Method and Style by Bruce Silver is the most relevant methodological source, as of my knowledge.
Adriano Comai
For methodological guidelines see also the online decalogue by Bruce Silver Associates:
http://www.brsilver.com/2010/09/28/the-rules-of-bpmn/
And also this paper by Michael Zur Muehlen on empirical analysis on the usage of BPM modeling languages (basically more or less a Pareto Rule for moveling languages concepts: less than 20% of the notation and patterns covers more than 80% of cases, or even more):
http://www.springerlink.com/content/670848258183m652/
This is in line with our experience too.
I can see here again the recurrent debate of using DSLs vs extending UML with Profiles… Both options have clear pros and cons, as everybody knows and has been extensively discussed in forums, blogs, etc. (last time it was last week in http://modelseverywhere.wordpress.com/2010/10/31/u-languages-or-m-languages/)
What people tend to forget is that writting models is just one piece of the puzzle, and not the biggest (nor the most important) one.
The really important issue here is to be able to count on tools that do something useful with the models. In this sense, UML has adopted a large number of useful notations since its inception (e.g. ITU-T’s MSCs) that had very powerful associated tools before being imported but very little practical use has been made out OF them once integrated IN UML (by the majority OF the UML modelers) — if any at all! Sometimes because the embedding process severely trimmed down the languages, some other times because nodody cared to establish the connection with the tools.
Probably we (as a community) are now in a better position once we have realized that model transformations (MTs) are as important as models in MDE (having models without model transformations is like having an algebra with variables but with no functions).
In this sense, I will be happy(*) to count on a UML Profile for BPMN if I can do something useful with my BPMN models once I have drawn them from my UML modeling environment. Tools could range from BPMN validators, syntax checkers or any useful analysis tool. And this could probably be done if MTs are defined and implemented (in, e.g., ATL 🙂 between by my UML-BPMN models and some of these useful tools. Otherwise we will be frustrating the business community as we have done with other communities before.
In summary, the key discussion should not (only) be about the best notation to use, but about what we are able to do once we have the models!
My two cents,
Antonio Vallecillo.
(*) More or less happy. In fact, I still think the same about this: http://bit.ly/3VhFcl
If you face the situation that business guys want to see BPMN2 and IT guys are insisting in (executable) activity diagrams, the BPMN2 Profile may be very usefull, especially as it comes with QVT to do BPMN2 out of the correctly stereotyped UML2, and to import BPMN2 as stereotyped UML2 activity diagrams.
I try to see whether I am able to get that running, preferably in Papyrus, or then in some other tool. Any hint where that runs out of the box, welcome.