Read Process Component Models: The Next Generation In Workflow?
Going into detail on separating the execution framework from the process framework, Tom explains:
A first observation is that multiple process languages can be implemented on top of the same activity component framework. Each process language is composed of a number of activity types. For each of those activity types, the runtime behaviour can be implemented in a general programming language like e.g. Java or C#. So an executable process language just becomes a set of activity type implementations. The most important part of such an activity component is the code that implements the runtime behaviour of the process constructs. But also the XML serialization, the designer forms to configure the process construct, persistence and many other aspects can potentially be included in a process construct component.The article has already been commented on by several other BPM framework providers including Sun's middleware & standards guru Mark Hapner.