Design for service compatibility
Service composition is a recent field that has seen a flurry of different approaches proposed towards the goal of flexible distributed heterogeneous interoperation of software systems, usually based on the expectation that such systems must be derived from higher-level models rather than be coded at low level. In practice, achieving service interoperability nonetheless continues to require significant modelling approach at multiple abstraction levels, and existing formal approaches typically require the analysis of the global space of joint executions of interacting services. Based on our earlier work on providing locally checkable consistency rules for guaranteeing the behavioural consistency of inheritance hierarchies, a model-driven approach for creating consistent service orchestrations is proposed. Service execution and interaction is represented with a high-level model in terms of extended Petri net notation; formal criteria are provided for service consistency that can be checked in terms of local model properties, and give a multi-step design approach for developing services that are guaranteed to be interoperable. Finally, it is outlined how the presented results can be carried over and applied to modelling processes using the Business Process Modelling Notation (BPMN).
service compatibility consistency rules petri net business process modelling bpmn behavior diagrams