|
4. Choreography Process Metamodel
A collaboration activity realizes a logical goal, a self-contained concern within a choreography process. The focus of ECF is the composition of collaboration activities. Collaboration activities are composed by superimposition [3]. Superimposition is appropriate for adding functionality to a system in stages. Superimposition of collaborations is comparable to Collaboration-Based Design [4,5] approaches. The locus of superimposition is a set of interaction points between activities, where messages are transformed and coordinated. An interaction point is a point where messages are received or sent. An activity is an execution of distributed computation logic that similar may cut across different control domains. In order to distribute the composition logic across different domains, the mechanism that implement the choreography control and data flow needs to be decomposed into atomic composition elements that can be localized within a domain. As opposed the CDL or BPEL ordering structures, the ECF needs to differentiate between the point at which activities are enabled, and the point at which they are terminated, because an activity might be spawned on one domain, while terminated on another one. An activity has exactly one entry point, where it is spawned and one exit point, where it terminates. An activity is spawned by sending a request message to its entry point, and terminates by emitting a response message. An interaction is a message exchange between activities. An interaction consumes messages at activity exit points and feeds messages to activity entry points. An interaction may therefore span multiple control domains. An interaction contribution point models localized elements of an interaction. As opposed to the other elements of the metamodel, interaction contributions are associated to a single domain of control. The CAC can be edited at runtime by interaction contributors, within a collaboration activity.
Interaction contributions are the locus of collaboration activity superimposition
ECF supports two kind components that provide interaction contributions: composition
units and transformation units. While composition units act upon the control flow
of a collaboration activity, transformation units define its dataflow.
Fig. 2. Choreography Process Metamodel |