Frank's Blog

Compatibility and Conformance 

Welcome back to the research session. This time I've been explaining the difference between compatibility and conformance and raise the issues that need urgent research. Both terms are related to the area of service-oriented architectures:

Compatibility is the property of two or more services working seamlessly together. Usually, one service is treated as the requester, meaning it is the starting point for investigation. Seamlessly means without any deadlocks. Hence, compatibility extends traditional investigations of soundness for process-internal structures to a set of services. I always rely on interaction soundness, since it's a simple - but yet powerful - kind of compatibility notion. In a sentence, interaction soundness proves a business process to be compatible with a set of predefined services that can be dynamically bound to the requesting process.

Conformance is the property of a service implementation to share certain invariants with its specification. As can already be concluded, a useful definition of conformance is quite complicated. Traditionally, we can argue that a service implementation and specification are conform if both have the same observable behavior, i.e. they are bisimulation equivalent. While bisimulation equivalence is a valid property, it is too strong regarding practical application. Consider for instance:



where an explicit choice has already been made at design-time. While this might be a wanted refinement, specification and implementation are not conformant regarding bisimulation equivalence (Since the implementation cannot receive an expertise).

Another common conformance notion is simulation. If the specification can simulate anything the implementation can do, both should be conformant. In fact, this solves the problem illustrated with bisimulation. It raises, however, compatibility issues. Consider for instance the following figure



where two specification are compatible (i.e. they always interact deadlock free) but both implementations (that conform to the specifications according to simulation) are not compatible anymore! Indeed, it would be enaugh for both specification to only have their first activity and still be similar to their specifications!

The examples illustrated some of the problems that occur using bisimulation and simulation as conformance notions. We're currently working hard to find a suitable solution.
[ view entry ] ( 3100 views ) permalink $star_image$star_image$star_image$star_image$star_image ( 3 / 4417 )

<<First <Back | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | Next> Last>>