More on Modeling Purpose

There is also a summary of process modeling purposes at Bruce Silver’s Blog.

http://www.brsilver.com/wordpress/subscribers-only-2/three-levels-of-process-modeling-with-bpmn/

The three levels
1) Descriptive Modeling
2) Analytical Modeling
3) Executable Modeling
Match quite nice with the levels 1-3 that I proposed. However I named them purposes and not levels, because when we have levels I think of a stack of models, each in different levels and somehow related – which is not the intention here. Yes, having different purposes might imply having different levels, but not necessarily.
I think that Bruce Silvers’ level 2 modeling, though keeping the validation rules of BPMN, might have some difficulties in expressing all the special cases. Bruce Silver states, that on Level 2 both conditions need to be fulfilled:
a) The model must validate against BPMN rules and
b) the model must cover the special cases of the business process
I see especially b) as very challenging. At least if we assume that the resulting model should still be readable in the end.
About Bruce Silver’s Level 3 I want to say: I think that many business processes cannot be executed by a workflow engine (as a BPMN engine).
Therefore I have proposed the 4th purpose: Model Driven Development. This means creating for the purpose of using them in some development environment where models can be refined for implementation – may be with the help of more detailed models, which would validate against the BPMN models, but be not limited to it.
I am not saying, that the detailed models should or are necessarily BPMN models. But there is a difference between this modeling purpose and the modeling purpose of Bruce Silver’s level 2) or 3), because in this 4th purpose it is not necessary to model all the special cases in advance, because they can be added in the detailed model. This makes the models more readable. On the other side the models of purpose 4 have sticter rules than those 1) – because they need to define the constraints for the lower level models.
In practice one would probably start with purpose 1), then might go into 2) for simulation purposes. For selected processes, he would go into 3) – but only for those parts of a process that should be executed as workflow in the end – which is the lesser number of processes I would say. Then he would go into 4 for the other (non workflow) processes and would try to realize more detailed models. Possibly someone else would to this job. Because then the detailed modeler would find some inconsistencies or ambiguities in the overview model and needs to correct them (of course if he can make some assumption about what is required).

This entry was posted in BPMN in Practice, Model Driven Development and tagged , , , , , . Bookmark the permalink.

Leave a Reply