[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[jwt-dev] Re: Samples, BPMN-JWT transformation, new committers, etc.
|
Hi Florian
Thanks for another of your long,comprehensive, poland-based posts ;)
And thanks as well for having reviewed our work.
I've added more thought to some of your answers, please have a look below.
Regards
Marc
Florian Lautenbacher a écrit :
Hi Marc,
first of all its good to hear that Loic and Guillaume will now support us in
the JWT project. That's great news! I'm looking forward to work with them
and maybe meet them (and you) somewhen.
Looking at your SCOrWare JWT-BPMN translation I found the several things:
Validation and normalization:
Yes, thats an important point and should be considered in the future. I
currently have a student working on a diploma thesis on the validation of
process models. Maybe his defined concepts can be included into JWT in the
future. Or does somebody have already an existing validation framework that
might be easily adapted to JWT?
I was talking about validation in the more specific scope of
transformation, as a way to know wether a JWT process or "correct or
complete enough" to be successfully processed by a given transformation
algorithm. For now, the user may try to transform any process, but the
result is no guaranteed.
Some ideas : Each transformation might have different set of
requirements, and there are other that might be implied by "correct
enough to show up in the UI"... From all those should appear a common
set of requirements that guarantee all of them and will correspond to
"successfully validated" JWT processes. On the other end there could be
détected all processes that will never be correct / work. In between
there could additionally be a "might work / be correct" level, that
would still allow the user to try to perform transformation / simulate it...
About validation frameworks : Eclipse EMF has already a standard one I
think. I know such one by SOPERA is on the table in STP, but I don't
know details.
Pools and Lanes in BPMN and JWT:
You said you contradict to Augsburg concerning pools and lanes and their
correspondance in JWT. I also had a look into the document [1] and found
there "A Pool represents a participant", but on the other hand he writes
"Lanes are often used to separate the activities with a specific [...]
role".
However in the BPMN-spec (v1.0, May 2004) I found that "The meaning of lanes
is up to the modeler. [...] Lanes are often used for such things as internal
roles (e.g. Manager, Associate), systems [...]. There could be an outer set
of lanes for company departments and then an inner set of lanes for roles
within the department". Hmm, so now it's up to us, how we define it. As the
BPMN spec says we could use the lanes for OrganisationUnits (departments)
and for roles, but pools normally describe the participants in a process.
I guess, if we have several companies then we would have several pools and
the companies correspond to each other using MessageFlows. Inside one
company we would have several roles and these roles are directly connected
by ActivityEdges and describe the process of one company.
So, if somebody models only one process (one InitialNode or FinalNode, one
following thread), then I would suggest to transform that into one pool with
several lanes: each lanes for each role in the process.
If there are more threads in the process (each starting with an own
InitialNode and FinalNode and there is no connection between these two
threads) then we would have two pools with several lanes inside. However,
then we don't have the possibility to model the message flow between these
two "companies".
So either we include something like a MessageFlow in the next version of JWT
or we find another strategy. Any ideas from the community?
Again in the scope of the JWT 2 BPMN transformation : we should take
into account that we're more specifically targeting the STP BPMN Editor
(in order to develop the transformation algorithm, we need a way to know
whether a BPMN is correct, and by being able to load it or not the BPMN
Editor is filling this need). So "The meaning of lanes is up to the
modeler" -> here the "modeler" is the BPMN dev team, and their
interpretation of the BPMN spec is important. At this point, it appears
- I don't know if it's BPMN legit or not - that the STP BPMN XML schema
does not allow for "lanes" elements to contain anything, it is merely a
basis upon which the graphical representation is built. So :
* either we use another XML model (but that would scratch the STP
BPMN Editor, and the further BPMN 2 JWT transformation),
* or we start to dabble in computing x's and y's of the graphical
elements to know whether a lane contains an activity (just kidding)
* or we choose FOR NOW to map roles to pools, and at the same time
ask the STP BPMN guys what they had in mind. Anyway I'm more interested
FOR NOW in a BPMN process that might be flawed but may be used somehow,
that a "perfect" (according to which criteria ? pure theory ?) one that
has no use.
Now what is a MessageFlow anyway ? For me a "message" is a matter of
implementation, and "interactions between a BP and a participant" (as it
says) are handled by applications. Would it be, in opposition to Flows
that chain activities in a same execution "thread", "something
asynchronous" ? no, messages can be chained as well, and Flows may be in
a stalled state at some point. Some way of integrating processes that
are executed on different, incompatible BP engines ? That's my best
guess, however we're not trying to deploy a given BP simultaneously on
several incompatibles engines in JWT (yet ;).
So I think that in this last case JWT Activity Edges are enough to
describe both BPMN LinkFlows and MessageFlows. In JWT2BPMN we will
generate Links within pools and Messages between them. In BPMN2JWT...
well, here a JWT Message Flow or annotation capabilities would be useful
in order not to lose meaning ^^
Events in JWT:
You asked "TODO what do mean incoming edges ??, TODO what does mean a JWT
Activity's eventHandler ??". In JWT we created the abstract concept of
Events, so we can make more precise sub events later. So if some event of
BPMN is needed in JWT, we can easily add it. In BPMN there is a distinction
between StartEvent, IntermediateEvent and EndEvent. This means for an event
with an incoming edge, that there were process actions before and now there
must be an additional event from the outside before the process could
continue. We also added the Activity.EventHandler, but this has no function
till now. We wanted to add more here, but are still in the progress to. So,
if there are specific ideas what should be included, please don't hesitate
and let us know.
Thanks for the input, incoming edges are clearer now.
Yeah, it appears there can be only one EventHandler per Activity /
Process, so it seems to be pretty useless : its information may be with
no loss put on the process since it's process wide.
DataMapping in AgilPro:
The general idea behind this was that if we have action 'A' and action 'B'
and both produce a data named 'x' as output then it might be possible that a
third action 'C' needs these two actions as input. For example, let 'x' be
the date of a business trip and action 'A' returns the start date and action
'B' the end date. Action 'C' now executes a web service to find some
flights. Therefore, it needs the start date and the end date. But both are
named with 'x'. So, there must be a possibility to map the given data
parameters to the parameters of the application (or web service) in order to
invoke the web service correctly with start date as first parameter and end
date as second parameter.
However, alas this data mapping is not used till now. Right now only the
data are specified and no parameters, so the data mapping is of little use.
But I guess coming into the web service world (SOA, SCA, etc.) there will be
the need to have something like a data mapping.
Thanks for the input.
Groups:
I'm not completely sure what you mean by JWT Groups. Where do you have this
concept from?
I've read about it in your JWT - BPMN mapping paper : "visual
arrangement that groups elements of the diagram informally". There's no
tool in the editor for it, I don't know if it exists in the JWT XML or
Ecore.
OR-nodes:
It's correct that JWT does not support OR-nodes. However, I guess its also
difficult for a process engine to decide whether to execute two threads or
only one thread. Most process engines will only support exclusive choices, I
guess. Am I right here? E.g. BPEL does not support inclusive choices.
You're right. Now let's look at what process engines support ;) TODO
gotta look whether Bonita supports it.
Concerning the people I met at Eclipse Summit Europe who were interesting in
the JWT-project: that was somebody from ESI in Spain, one guy of the DLR
(German Aerospace Center) and a company named Sopera (Swordfish-project)
which I will meet next week again.
I know SOPERA has started contributing to STP, right now a policy
editor, but it seems they have many other things they'd like to
contribute, some of them too specific maybe.
Concerning the idea of an JWT FAQ: that would be great. But I guess before
we should have the plugin available on our JWT-homepage, so people can test
the JWT WE and ask questions ;-)
Yep
Thanks a lot for the example process. Looks perfect. However, I did only
look at the JWT processes, but not the one from BPMN.
More goodness to come (thank Loic), have a nice week !
I hope the answers above did help you. If you have any further questions or
actions we should take, please don't hesitate to contact me again.
Best regards,
Florian
[1] http://www.bpmn.org/Documents/Introduction%20to%20BPMN.pdf
-----Ursprüngliche Nachricht-----
Von: Marc Dutoo [mailto:marc.dutoo@xxxxxxxxxxx]
Gesendet: Mittwoch, 14. November 2007 19:30
An: Stéphane DRAPEAU; Florian Lautenbacher
Cc: Etienne Juliot
Betreff: JWT to BPMN translation - first spec and samples
Hello all
Here is my first take on JWT to BPMN translation detailed spec and samples.
You'll find in this mail (content or attachments) :
* a first sample JWT process : transformation_sample_3_approval_frompp
* its translated STP BPMN files :
transformation_sample_3_approval_frompp (without annotations yet however)
* my analysis of JWT to BPMN translation, whose goal is to be the basis
of a translation algo. What about putting this on the wiki ?
* Florian's answers to some questions of mine, that could be the first
step towards a "How to build processes in JWT" FAQ. What about putting this
on the wiki ?
Next steps :
* MDU : adding annotations to the STP BPMN process (though how they are
obtained is already spec'd)
* MDU : completing my second sample, writing a third one
* everyone : sort out the last indecisions in translation behaviour (see
below first, and in attachments)
* SDR : work on the translation ^^
* FLA : look at all that, help out whenever it is useful (thanks for
cleaning my process)
Regards,
Marc
PS indecisions to be closed out (see details in attached SCOrWareJwtBpmn) :
* JWT eventHandler
* JWT Data mapping : this I left out for now. Its meaning and use should
be made clearer.
* at a lower level, about JWT events
* I do not agree with the Augsburg proposed mapping for pool & lane,
rather "Pools represent participants, lane are for categorizing activities".
* I do not agree with the Augsburg proposed mapping Application to
special BPMN DataObjects
- Prev by Date:
[jwt-dev] Samples, BPMN-JWT transformation, new committers, etc.
- Next by Date:
Re: [jwt-dev] Re: Samples, BPMN-JWT transformation, new committers, etc.
- Previous by thread:
[jwt-dev] Samples, BPMN-JWT transformation, new committers, etc.
- Next by thread:
Re: [jwt-dev] Re: Samples, BPMN-JWT transformation, new committers, etc.
- Index(es):