[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [mdt-bpmn2.dev] BPMN2 for older Eclipse versions
|
Hi Antoine.
So the RTF will provide the validation constraints, presumably in OCL? Which we can then integrate into our project - relieving us from the need to skim through the specification and derive constraints on our own :)? Do I understand you correctly there?
In that case you are of course right that we should concentrate on other areas first.
Nevertheless some comments regarding the choice of technology for validation (possibly for future reference) - caveat: I've never worked with the EMF Validation Framework ;-) Perhaps I'll able to convince you of the validation delegates concept - or I can understand your concerns regarding it better.
If we are supplied with ready-to-use OCL constraints, we should use these directly.
I'm not sure if you used OCL in the solution for the BPMN modeler you mentioned? (I had a quick look at
http://git.eclipse.org/c/bpmnmodeler/tree/org.eclipse.stp.bpmn.validation, but there custom java code seems to be used?)
With validation delegates, using OCL is straightforward - all we have to do is augment the ecore file, no additional code is needed. This has the additional benefit that the complete metamodel, that is the abstract syntax and the static semantics of BPMN, is defined at one place. (We are of course still free to extract the constraints when for example a list of them is needed.)
I believe that with the delegates concept we will need to invest less effort to implement the framework for validation (nearly zero) as well as the actual constraints.
I'm sure that the dependence on validation-specific elements/plugins (e.g. OCL) can be made optional with the delegates concept as well (e.g. by overriding the validate-method of EObjectValidator responsible for evaluating constraints). This way our plugin would still be usable without validataion.
(Note that this does not deal with the incompatibilities between 2.4 and 2.6 - see my next mail for a proposal how to deal with 2.4 compliance.)
Regards,
Henning
2010/9/8 Antoine Toulme
<antoine@xxxxxxxxxxxxxxx>
Caveat: I never played with 2.6 OCL support.
I discussed with Denis Gagne during the last OMG meeting in Minneapolis and he believed he would be working with OCL to express the validation constraints. That work should take place this fall and I am looking forward to it.
I am not very excited by the possibility to do OCL directly in the ecore.
I coded before a validation system for the BPMN modeler where we had validation constraints specified in a separate plugin, and it worked well (we were still using the validation framework from EMF, but each validation constraint was defined in the plugin.xml completely).
In particular, I had appreciated the accent on the descriptive aspect of the constraints. I also liked that you could drop the validation framework and run with just the model if needed.
I believe we can use that for the time being. I don't think we have to rush a decision, as the work on OCL didn't start on the RTF.
On Wed, Sep 8, 2010 at 02:30, Hille-Doering, Reiner
<reiner.hille-doering@xxxxxxx> wrote:
Hi Henning,
I understand the point. The problem for me is that SAP
absolutely requires an BPMN 2.0 Ecore for Eclipse 3.4 and 3.5. If MDT BPMN2
decides to stick on Helios and higher, we need a kind of branching off the
current status. As long as we work at the core functionality (e.g.
serialization/deserialization, metamodel bugs and so forth, having multiple
branches is not really good.
Any ideas?
Regards,
Reiner.
Hi all,
I had hoped that we could leverage the new validation delegates concept from
EMF 2.6 to implement constraints from the specification in OCL (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=319254).
I do believe that this offers a really elegant solution, as constraints would
be defined directly in the ecore file and no manual modification of generated
code would be necessary. Thus, everything would be defined in one place in a
concise form.
But this would, of course, require EMF 2.6/Helios. Validation can be
implemented with previous versions of EMF, but in a less straightforward manner
(EMF generates validating methods that have to be modified to implement the
constraints in Java). Alternatively, we could reimplement part of the new EMF functionality
(see for example http://www.eclipse.org/articles/article.php?file=Article-EMF-Codegen-with-OCL/index.html
from 2007), but that seems like a lot of work when a solution is already
available.
So, I think that this would qualify as an feature important enough to break
compatibility with previous versions. What do you think?
Thanks,
Henning
2010/8/30 Hille-Doering, Reiner <reiner.hille-doering@xxxxxxx>
I assume until we try to
implement an important feature leveraging 3.6 (or later) that we cannot
implement (easily) without breaking 3.5 compatibility.
Looks
ok to me. How long will we support 3.5 then ?
On
Mon, Aug 30, 2010 at 08:34, Hille-Doering, Reiner <reiner.hille-doering@xxxxxxx>
wrote:
Finally I found a quite elegant
solution: Change “Runtime Version” property in .genmodel file to “2.4” creates
(almost) completely that code that is compilable with Eclipse 3.4 and still is
fully compatible to everything we have implemented so far (diffs show really
only the changes mentioned below).
What do you think? Should I submit?
_____________________________________________
From: Hille-Doering, Reiner
Sent: Montag, 30. August 2010 16:18
To: 'BPMN2 Developers Mailing List'
Subject: RE:
BPMN2 for older Eclipse versions
With the current codebase excluding
tests, an Eclipse 3.5 shows 26 compilation errors. 22 of them are of kind
“The method shouldComposeCreationImage() must override or implement a supertype
method”, because EMF 2.6’s ItemProviderAdapter has the new method
“shouldComposeCreationImage”, which older version don’t have.
The older EMF always tried to find a
create image in "full/ctool16” directory. Only in case of missing file it
created a compound image. EMF 2.6 reduces the number of thrown and caught
exceptions with this method.
We theoretically could remove it from
the template and would simply go back to the former behavior.
The other 4 errors are caused from new
validation methods called from DiValidator and DcValidator. Only those two
packages do have validors, because of some OCL content that we inherit from DD.
_____________________________________________
From: Hille-Doering, Reiner
Sent: Montag, 30. August 2010 13:49
To: 'BPMN2 Developers Mailing List'
Subject: BPMN2 for older Eclipse versions
some (potential) BPMN2 project users need the BPMN 2.0
metamodel not only for Helios, but also for former Eclipse versions.
So far this was not a problem, as the code was almost
compatible – only in two files in the model that used OCL constraints (from the
DI part), some lines needed to be commented out.
With Hennings latest changes – which of cause do make
sense – we use the newest EMF code generation templates, and thus the code used
e.g. on Eclipse 3.5 causes tons of compilation errors.
Even regeneration with old Eclipse versions does not
create compilable code, as we have checked in some modified copies of the
Helios templates.
Any ideas how we could provide a backward-compatible
version of our metamodel?
_______________________________________________
mdt-bpmn2.dev mailing list
mdt-bpmn2.dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/mdt-bpmn2.dev
_______________________________________________
mdt-bpmn2.dev mailing list
mdt-bpmn2.dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/mdt-bpmn2.dev
_______________________________________________
mdt-bpmn2.dev mailing list
mdt-bpmn2.dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/mdt-bpmn2.dev
_______________________________________________
mdt-bpmn2.dev mailing list
mdt-bpmn2.dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/mdt-bpmn2.dev