Model Based Development and BPM

I was reading an article on model based development in the February Communications of the ACM (Software Model Checking Takes Off by Steven P. Miller, Michael W. Whalen and Darren D. Cofer). Model based development (MBD) is the use of  domain-specific, graphical   modeling   languages   that can  be  executed  and  analyzed  before a actual  application is  built.  This allows developers to create a model of the application, execute it on their desktops, analyze  it  with  automated  tools,  and  use it  to  automatically  generate  code  and test cases.

Now if you take that definition with business as the domain, and BPMN as the modeling language – you pretty much get what many people think of as a BPMS (or at least what a BPMS should be). Now if you look at the state of what is feasible based on the technical literature vs. what most BPM vendors claim for their tools using standard modeling techniques (e.g. automatically convert from model to running code with no need to program, complete round trip between executable and model, the ability to model, simulate and execute even the most complex business process) you have to come to one of the following conclusions:

  1. The state of the art in Business Process Modeling is far beyond the state of the art in modeling of every other domain.
  2. Business processes are trivial compared to what needs to be modeled in any other domain
  3. BPM suites are useful frameworks and tools to help with the modeling of business processes, and they also provide a framework of support for developers to translate the model to an executable language – but don’t expect them to truly bridge the gap between a model and the application that implements the process  – unless you have really simple process.

I don’t believe 1 is true – I haven’t seen any technical breakthroughs in the literature that are specific to business as a modeling domain. With respect to 2, I know business processes are quite complex – and they are used to manage complex, dynamic systems. I also know that the broader, more complex and more dynamic the domain– the less possibility there is to model the system as a whole. You can model parts of the system – but not the whole end-to-end system.


2 Responses to “Model Based Development and BPM”

  1. Simon Slade Says:

    Solid post, where can I grab an RSS feed for your blog from? Gotta link please?

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: