|Re: [stp-dev] SCA v1.0|
The first one. I added "ecore:reference" annotations in the XSD files.
If I understand correctly, it looks like you've tried to reconcile the SCA XSDs with a logical model for SCA assembly. There are usually multiple ways to do handle that kind of reconciliation, including:
- annotate the XSD with ecore annotations to add what's missing in the XSD
- generate the XSD based model and tweak the generated Java by hand
- define your model using annotation java interfaces and additional metadata for the feature map helping with the XSD mapping
- generate the XSD based model, then define UML classes representing the logical view with additional logical relationships as subclasses of the XSD generated classes
- have two different models one XSD-based physical model and a logical one and map between the two.
Which approach did you take here?
Quickly looking (later, I will look it deeper), I think there are several similitudes. I see you have defined a composite reference (service) and a component reference (service) as an extension of a basic reference (service) type. We too.
Another relation question. In Tuscany we have defined Java interfaces representing a logical model for SCA assembly. They are there:
These interfaces are plain Java interfaces without dependencies on EMF or any other modeling or runtime technology.
How are your logical model interfaces different from these interfaces?
I agree with Bogdan answer.
Is there any interest in having tooling model classes implement the Tuscany model interfaces as well? They are self contained and should be really easy to reuse, with some interesting benefits like the ability to hand a model instance directly to the Tuscany runtime if you did that.
- Then, we generated the code and we added some validation rules like "the component name must be unique in the composite". I think this is important because these rules exist in the specification document but they do not appear in the XSD scheme.
Did you use the EMF validation framework for that?
No, because we use the EMF validation framework.
Would these rules be usable outside of an EMF-enabled environment, as long as the model they validate implement the expected logical model interfaces?
- Finally, we developed a first version of our graphical designer. It works with Eclipse Europa, EMF 2.3 and GMF 2.0. This SCA Designer follows the SCA official specification to represent composites, services, wires... See the screenshot.
It looks pretty good, nice to see that you even used the same colors and shapes as the diagrams in the SCA spec :)
Not yet. We must test it as soon as possible.
Currently, we are following the procedure to submit this graphical designer as an IP Zilla bug. If everyone is ok, this will be the initial contribution of the SCA Designer project.
This work is part of the SCOrWare project (which is supported by the French National Research Agency and OW2) that has two main goals:
- to develop a component-based implementation of the SCA specification and
- to develop high-level tools to facilitate end users to adopt this technology.
In this project, Obeo is leading the work concerning tools and contributions for Eclipse. We are working on several tools: designers, STP extensions, code generation, etc... We can discuss on them later.
Has anybody tried to run SCA assemblies produced by your editor using the Tuscany runtime? Any issues?
Back to the top