Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[stp-dev] Re: About BPMN metamodel

Thanks a lot for your answers Hugues and Alex! I’m sorry I couldn’t get back earlier. 

Indeed, I believe the best way to add types to the BPMN modeler is the annotations mechanism, and I think I’ll use this one since I don’t want to modify the consensus-released solution.

However, it is a matter of concern that the behavior of a modeling element is determined by the value of an attribute. In the BPMN specification, the Task element does exist by itself; however, the Service element doesn’t, and same issue occurs: “A Task is a BPMN Service when its TaskType is Service”. So there it is again, an attribute determining what should be rather defined with specialization.

Our BPMN modeler goes even further, by declaring that “An Activity is a BPMN Task when its ActivityType is Task”. In this way, for Service it would be like “An Activity is BPMN Service when its ActivityType is Task, and when it is annotated under the key 'TaskType' with the value 'Service'”. If you ask me, this doesn’t sound way too natural for me.

I think that the existence of a Service element in the BPMN metamodel is crucial, especially when we will try, in the near future, to integrate the different modeling representations used in SOA (graphical editors for BPMN, SCA, JBI and BPEL), as pointed out in the STP Internal Model Discussion (http://wiki.eclipse.org/STP_Internal_Model_Discussion). 

What do you think? If you don’t mind, I would like add a section in that page to leave note of these issues.

Cheers,

Juan
------------------------------

Message: 6
Date: Wed, 18 Jul 2007 07:57:00 -0700
From: "Alex Boisvert" <boisvert@xxxxxxxxxxx>
Subject: Re: [stp-dev] About BPMN metamodel
To: "STP Dev list" <stp-dev@xxxxxxxxxxx>
Message-ID:
	<5582dd3b0707180757p1a2d6a0cm6ddcf785169a53a5@xxxxxxxxxxxxxx>
Content-Type: text/plain; charset="iso-8859-1"

I'll complement Hugues' answer, by saying type of the task can be inferred from the diagram or from more specific subclasses.

Second, I consider TaskType to be restrictive in that it unduly constrains the extensibility of the model by using an attribute to model behavioral character.  This is something that can be better achieved by specialization
(inheritance) to avoid overloading the meaning/ semantic of base attributes in the Task class.  At first glance, it might seem like this makes it harder for M2M transformation, although my guess is that you'll probably need to
walk the graph for any kind of comprehensive transformation process.   If
you'd like to match against specific types, it's possible to introduce new classes to the model, starting with Task itself (with or without the TaskType attribute).

cheers,
alex

On 7/17/07, Hugues Malphettes <hmalphettes@xxxxxxxxxxx> wrote:
>
> Hi Juan,
>
> The BPMN metamodel is made to support the BPMN notation for a BPMN 
> modeler.
> It is does not natively support all the type of extra properties 
> defined in the BPMN specification.
>
> However the model can be attached any number of properties by using 
> EMF annotations.
>
> So in the case you mention the approach we recommend is to define an 
> annotation to set on the org.eclipse.stp.Activity class.
>
> An Activity is a BPMN Task when its ActivityType is Task.
>
> This tutorial describes how to expose such annotation in the 
> properties
> view:
>
> http://wiki.eclipse.org/index.php/STP_BPMN_Presentation_Hands_on_tutor
> ial#Extending_the_modeler:_defining_a_custom_property
>
> Hugues
>
>
>
> On 7/17/07, JUAN JOSE CADAVID GOMEZ <jcadav10@xxxxxxxxxxxx> wrote:
> > Hello,
> >
> > Some time ago I wrote about a college project currently in progress
> about extending the STP BPMN modeler for M2M transformations. I have 
> checked the bpmn.ecore metamodel against the BPMN specification and 
> noticed that in the specification there are two Activity subtypes 
> declared, Task and Sub-Process. However, I can't seem to find these 
> two subtypes in the STP BPMN schema.
> >
> > My concern is that in the specification, the Task element has an
> attribute called TaskType, with possible values (Service | Receive | 
> Send | User | Script | Abstract | Manual | Reference | None) which I 
> need to capture for the transformation rules I'm writing. However, I 
> don't see how to obtain it with the current metamodel, since the Task 
> element doesn't exist. Can somebody help me here?
> >
> > I appreciate your attention.
> >
> > -Juan
> >
> > _______________________________________________
> > stp-dev mailing list
> > stp-dev@xxxxxxxxxxx
> > https://dev.eclipse.org/mailman/listinfo/stp-dev
> >
> _______________________________________________
> stp-dev mailing list
> stp-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/stp-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://dev.eclipse.org/mailman/listinfo/stp-dev/attachments/20070718/c494921d/attachment.html

------------------------------

_______________________________________________
stp-dev mailing list
stp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/stp-dev




Back to the top