Checking Behavioural Compatibility in Service Composition with Graph Transformation