-
1. Taking the initiative from Big Workflow
objectiser Mar 26, 2011 1:34 PM (in response to rawlings)Hi Matthew
The usecase you outline is the perfect usage of choreography and testable architecture as a whole - being able to describe the problem at a high level and be able to generate the endpoint behaviours in such a way that they can be implemented to guarantee interoperability - and eventually support static conformance checking so that as those endpoints are developed, they can be reverified against the overall choreography to ensure they continue to conform.
Hopefully Savara 2.0.0.M1 partially addresses your first requirement. It uses the most recent version of Scribble to represent the global behaviour and project the appropriate local behaviours. This version of Savara also still supports export of a WS-CDL based choreography to a BPMN1 representation, which can still be used as a design artefact for each business function's participant.
BPMN1 support is being withdrawn in milestone2 in preparation for integrating the new BPMN2 editor/meta-model into JBoss Tools - and hopefully soon after we will support generation of BPMN2 process models from a choreography - shouldn't matter whether that choreography is defined using WS-CDL or BPMN2 choreography model.
We don't currently have plans to support export to XPDL, so might be worth creating a jira for this feature request.
Regards
Gary
-
2. Taking the initiative from Big Workflow
kohei_honda Mar 28, 2011 2:00 PM (in response to objectiser)This can be considered about the problem of tooling or methodology. I consider the second point, which aligns with other projects we are in.
> The other day, I was leading a front to back workflow enablement initiative at an anonymous mega-corporation. Each business function
> within each department did its own workflow and process re-engineering. At the end of it, I found the re-engineered processes didn't quite
> fit together.
As Gary wrote this is a great use case for the use of global descriptions.
> Each business function performed the role of a Participant in the end-to-end Choreography. Each Participant uses a workflow technology
> (such as Fujitsu or Tibco BPM), for describing the Participant.
This is a perfect case for projectable global descriptions.
> What I envisage is something like Scribble's Projection to project out for each role what it's essential business process is, the
> minimum necessary to satisfy the overall choreography. Then if this was in BPMN2 and XPDL I have a tangible artefact I can pass
> to the workflow team in each business function.
I think the users may appreciate most if there come out very lucid global descriptions and their projections. I think that part is what the new generation of modellers are starting to do (well, at least around here). Hooking them to local languages should not be hard in principle. I believe this part can be done as a separate project in parallel.
Gary's comments include:
> Hopefully Savara 2.0.0.M1 partially addresses your first requirement. It uses the most recent version of Scribble to represent the global
> behaviour and project the appropriate local behaviours. ....
If we have good projections at the core, it will give a lot to not only for the re-engineering process this time, but for future.
> BPMN1 support is being withdrawn in milestone2 in preparation for integrating the new BPMN2 editor/meta-model into JBoss Tools
>- and hopefully soon after we will support generation of BPMN2 process models from a choreography - shouldn't matter whether that
> choreography is defined using WS-CDL or BPMN2 choreography model.
I think if a choreography --- global model --- can be captured clearly and in a satisfactory manner, then it can be used for many purposes, since it captures in most distilled form the whole structure of coordination among multiple local work flows.
A central mental picture, put forward largely by CDL, is: we have an interactional part among local workflows (which themselves can be interactions, but delineted from the interaction part, or the choreography): and the interactional part and endpoint flows are linked by communication hooks.
I wish best that this project goes well.
kohei
-
3. Re: Taking the initiative from Big Workflow
keplervic Mar 28, 2011 4:26 PM (in response to rawlings)Hi Matthew
> What I envisage is something like Scribble's Projection to project out for each role what it's essential business process is, the
> minimum necessary to satisfy the overall choreography. Then if this was in BPMN2 and XPDL I have a tangible artefact I can pass
> to the workflow team in each business function.
Of course this is right. The projection from a choreography should not be an end point behaviour but a contract for end point behaviour, where the contract defines the minimum necessary for the participant to satisfy the choreography.
It should then be possible, for instance, for a given participant process to engage in two (or more) separate choreographies at the same time, by simultaneously satisfying the contracts imparted by both (all of them).
In my work (see my page) I have taken considerable trouble to define how such contracts should be expressed, and how satisfaction of such a contract is established. This allows a participant to engage in multiple choreographies with a single behavioural definition.
I think these ideas are important in choreography, and sadly missing from most accounts of the subject.
I don't know whether the Savara project has the concept of a behavioural contract as the basis for choreography compliance. If it doesn't, perhaps it should!
Regards
Ashley
-
4. Re: Taking the initiative from Big Workflow
objectiser Mar 29, 2011 4:56 AM (in response to keplervic)Hi Ashley
Ashley McNeile wrote:
Yes it does - this is what we call the 'local' model, representing the behaviour of a particular participant.
Regards
Gary
-
5. Re: Taking the initiative from Big Workflow
keplervic Mar 29, 2011 6:17 PM (in response to objectiser)Hi Gary
Gary Brown wrote:
Hi Ashley
Ashley McNeile wrote:
Yes it does - this is what we call the 'local' model, representing the behaviour of a particular participant.
Regards
Gary
I am not sure that the 'local model' concept does this.
Suppose you have a participant P with behaviour p and two choreographies (in which P simultaneously participates) with projections to P (= local models for P) l1 and l2. How do you check that p conforms simultaneously to both l1 and l2 (as it must if P is to engage successfully in both choreographies)?
There is no problem if l1 and l2 are contracts and you have a way of determining whether the behaviour definition p conforms to these contracts. But this needs a concept of 'conformance to a behavioral contract'.
I think that essentially the same issue is present in the idea of an essential business process discussed by Matthew in his opening post. If we have a local model projected from a choreography to a participant P represented as an essential business behaviour for P, how do we determine that the full behaviour of P conforms to it? Again, we should regard the essential business process not as a full definition of the behaviour of P but as a contract to which P's full behaviour must conform.
Of course, I may have misunderstood what is meant by a 'local model'. However, the papers I have read that discuss the 'local model' concept do not seem to address the 'behavioural conformance' issue as I understand it. They just assume that the local model is the participant's behaviour.
Regards
Ashley
-
6. Re: Taking the initiative from Big Workflow
objectiser Mar 30, 2011 4:17 AM (in response to keplervic)I think the confusion may just be in the terminology. From scribble's persepctive, we have global models (i.e. the participant neutral view, or choreography) and local models (i.e. the behaviour from a participant's perspective).
How we use these two different models is a different matter. I believe in the situation you are describing we have three things,
(1) the global model (i.e. choreography),
(2) the local model representing the 'behavioural contract' required of a particular participant when particating in the choreography, and
(3) the local model representing the actual behaviour of a participant implementation.
(2) is projected from (1).
(2) is then conformance checked against (3) to determine whether the participant actually implements the required behavioural contract required to participate in (1).
(3) can represent a superset of the behaviour required by (2), so that it can also support the behavioural contract required by a second or third choreography.
Regards
Gary
-
7. Re: Taking the initiative from Big Workflow
keplervic Mar 30, 2011 10:28 AM (in response to objectiser)Hi Gary
Yes, this is the situation I am describing.For me, a key question is what is meant by '(3) can represent a superset of the behaviour required by (2)'.
The term 'superset' is a slippery one in the world of behaviour. For instance, an obvious possible definition is:
P1's behaviour is a superset of P2's behaviour means that the set of traces of P1 is a superset of the set of traces of P2.
However, this definition would not work in the context of choreography. If P2 were a contract (a local model extracted from a choreography) this definition would allow P1 to behave in ways that departed from the choreography.
The definition I have used in my work is basically: P1 || P2 = P1, where || is CSP style composition. This works very well in the context of choreography as it requires that, insofar as P1 engages in the same actions as P2, it must have traces that match P2's; but is otherwise unconstrained.
However, most people seem leave the definition of 'behaviour superset' (aka 'behaviour conformance') undefined (i.e., they do not consider the question).
Regards
Ashley
-
8. Re: Taking the initiative from Big Workflow
objectiser Mar 30, 2011 10:33 AM (in response to keplervic)Ashley McNeile wrote:
Yes, but that is where the conformance checking needs to ensure that the types are compatible. So for example, if the local model for a participant can potentially receive 5 different types of message, but the choreography only indicates that three types may be received, then that is fine. The problem occurs if the endpoint can send more message types than the choreography's endpoint projection for that participant expects.
-
9. Taking the initiative from Big Workflow
keplervic Mar 30, 2011 11:02 AM (in response to objectiser)Hi Gary
You have given an example of one factor that determines compatibility: conformance on the set of message types. But this is clearly not enough to guarantee conformance in the way that is required. Is there a formal definition of 'compatability of types'?
(One might consider bi-simulation, but this is a definition of behavioural equality, not behavioural compatibility.)
If the definition is too complex to explain here, can you give a reference?
Thanks
Ashley
-
10. Taking the initiative from Big Workflow
objectiser Mar 30, 2011 12:13 PM (in response to keplervic)I'll have to let Kohei answer that one, as I believe there are various papers on the subject that cover different aspects.
-
11. Taking the initiative from Big Workflow
keplervic Mar 30, 2011 1:15 PM (in response to objectiser)Okey Dokey!
Thanks
Ashley
-
12. Taking the initiative from Big Workflow
dh-sarquol Apr 8, 2011 7:50 AM (in response to kohei_honda)Kohei,
In the discussion in this thread it is implied that you may be able to provide references to define some of the terms being used. If you can shed light on this thread I would appreciate it, as I am currently struggling to understand the full implications of the discussion.
Thanks,
David Howard