Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » UML2 » Possible EcoreImporter bug.
Possible EcoreImporter bug. [message #476742] Wed, 12 December 2007 12:58 Go to next message
Juan Pedro Silva is currently offline Juan Pedro SilvaFriend
Messages: 258
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------090805070701010606020704
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body bgcolor="#ffffff" text="#000000">
Hello everyone.<br>
I am currently working on a project for which I perform stereotyped UML
to Ecore transformations, and suddenly came upon&nbsp; an issue which I
believe <b>may</b> be a bug on the EcoreImporter.<br>
<br>
The situation is the following one: I have a UML model in which I have
declared a couple of stereotyped UML::DataType clases. I use those
classes as input and return parameters of an operation declared
elsewhere. I realized, however, that those DataType classes are not
generated into the genmodel (or the ecore, for that matters) when doing
the exportation.<br>
<br>
I tried the same exact model using simple stereotyped classes instead
of DataType, and everything worked fine!!.<br>
<br>
I am really sorry I cannot further inspect the code to figure out the
precise problem, but I'm on a deadline for Friday and have no spare
time.<br>
However, I'm attaching both input models (using datatypes or classes),
the applied profile, and the two resulting genmodels for your
inspection.<br>
I'm running eclipse 3.2.2 with uml2 2.0.3 and EMF 2.2.3.<br>
<br>
Regards,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; Juan Pedro<br>
</body>
</html>

--------------090805070701010606020704
Content-Type: text/xml;
name="Perfil_SOA.profile.uml"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline;
filename="Perfil_SOA.profile.uml"

<?xml version=3D"1.0" encoding=3D"UTF-8"?>
<uml:Profile xmi:version=3D"2.1" xmlns:xmi=3D"http://schema.omg.org/spec/=
XMI/2.1" xmlns:ecore=3D"http://www.eclipse.org/emf/2002/Ecore" xmlns:uml=3D=
"http://www.eclipse.org/uml2/2.0.0/UML" xmi:id=3D"_1qtiqqioEdyiA952T95NLg=
" name=3D"Perfil_SOA" metamodelReference=3D"_1qtjrqioEdyiA952T95NLg">
<eAnnotations xmi:id=3D"_1qtiq6ioEdyiA952T95NLg" source=3D"http://www.e=
clipse.org/uml2/2.0.0/UML">
<contents xmi:type=3D"ecore:EPackage" xmi:id=3D"_1qtirKioEdyiA952T95N=
Lg" name=3D"Perfil_SOA" nsURI=3D"http:///schemas/Perfil_SOA/_uajF0KioEdyi=
A952T95NLg/97" nsPrefix=3D"Perfil_SOA">
<eClassifiers xmi:type=3D"ecore:EClass" xmi:id=3D"_1qtiraioEdyiA952=
T95NLg" name=3D"ServiceProvider">
<eAnnotations xmi:id=3D"_1qtirqioEdyiA952T95NLg" source=3D"http:/=
/www.eclipse.org/uml2/2.0.0/UML" references=3D"_1qtjr6ioEdyiA952T95NLg"/>=

<eOperations xmi:id=3D"_1qtir6ioEdyiA952T95NLg" name=3D"_ProvNoPr=
op">
<eAnnotations xmi:id=3D"_1qtisKioEdyiA952T95NLg" source=3D"http=
://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtisaioEdyiA952T95NLg" key=3D"documentat=
ion" value=3D"self.base_Component.getAllAttributes()->isEmpty()&#xD;&#xA;=
"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclipse.=
org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtisqioEdyiA952T95NLg" name=3D"diagnos=
tics">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtis6ioEdyiA952T95NLg" name=3D"context=
">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qtitKioEdyiA952T95NLg" name=3D"_ProvNoOp=
">
<eAnnotations xmi:id=3D"_1qtitaioEdyiA952T95NLg" source=3D"http=
://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtitqioEdyiA952T95NLg" key=3D"documentat=
ion" value=3D"self.base_Component.getAllOperations()->isEmpty() "/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclipse.=
org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtit6ioEdyiA952T95NLg" name=3D"diagnos=
tics">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtiuKioEdyiA952T95NLg" name=3D"context=
">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qtiuaioEdyiA952T95NLg" name=3D"_ProvNoBe=
h">
<eAnnotations xmi:id=3D"_1qtiuqioEdyiA952T95NLg" source=3D"http=
://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtiu6ioEdyiA952T95NLg" key=3D"documentat=
ion" value=3D"self.base_Component.ownedBehavior->isEmpty()"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclipse.=
org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtivKioEdyiA952T95NLg" name=3D"diagnos=
tics">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtivaioEdyiA952T95NLg" name=3D"context=
">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qtivqioEdyiA952T95NLg" name=3D"_ProvPort=
Stereo">
<eAnnotations xmi:id=3D"_1qtiv6ioEdyiA952T95NLg" source=3D"http=
://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtiwKioEdyiA952T95NLg" key=3D"documentat=
ion" value=3D"self.base_Component.ownedPort->forAll(j | j.getAppliedStere=
otypes()->forAll(name=3D'serviceInteractionPoint')) &#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclipse.=
org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtiwaioEdyiA952T95NLg" name=3D"diagnos=
tics">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtiwqioEdyiA952T95NLg" name=3D"context=
">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qtiw6ioEdyiA952T95NLg" name=3D"_ProvAttS=
tereo">
<eAnnotations xmi:id=3D"_1qtixKioEdyiA952T95NLg" source=3D"http=
://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtixaioEdyiA952T95NLg" key=3D"documentat=
ion" value=3D"self.allowedBindings->forAll( c | c.getAppliedStereotypes()=
->exists(name=3D'binding') )&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclipse.=
org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtixqioEdyiA952T95NLg" name=3D"diagnos=
tics">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtix6ioEdyiA952T95NLg" name=3D"context=
">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qtiyKioEdyiA952T95NLg" name=3D"_ProvReal=
ization">
<eAnnotations xmi:id=3D"_1qtiyaioEdyiA952T95NLg" source=3D"http=
://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtiyqioEdyiA952T95NLg" key=3D"documentat=
ion" value=3D"self.base_Component.clientDependency->select(e| e.oclIsKind=
Of(Realization)).client->notEmpty() &#xD;&#xA;and self.base_Component.cli=
entDependency->select(e| e.oclIsKindOf(Realization)).supplier->forAll(c |=
c.getAppliedStereotypes()->exists(name=3D'serviceSpecification' or name=3D=
'participant'))&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclipse.=
org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtiy6ioEdyiA952T95NLg" name=3D"diagnos=
tics">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtizKioEdyiA952T95NLg" name=3D"context=
">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eStructuralFeatures xmi:type=3D"ecore:EReference" xmi:id=3D"_1qt=
izaioEdyiA952T95NLg" name=3D"base_Component" ordered=3D"false" lowerBound=
=3D"1">
<eType xmi:type=3D"ecore:EClass" href=3D"http://www.eclipse.org=
/uml2/2.0.0/UML#//Component"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type=3D"ecore:EReference" xmi:id=3D"_1qt=
izqioEdyiA952T95NLg" name=3D"allowedBindings" ordered=3D"false" lowerBoun=
d=3D"1" upperBound=3D"-1">
<eType xmi:type=3D"ecore:EClass" href=3D"http://www.eclipse.org=
/uml2/2.0.0/UML#//Class"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type=3D"ecore:EClass" xmi:id=3D"_1qtiz6ioEdyiA952=
T95NLg" name=3D"ServiceConsumer">
<eAnnotations xmi:id=3D"_1qti0KioEdyiA952T95NLg" source=3D"http:/=
/www.eclipse.org/uml2/2.0.0/UML" references=3D"_1qtjwKioEdyiA952T95NLg"/>=

<eOperations xmi:id=3D"_1qti0aioEdyiA952T95NLg" name=3D"_ConsSpec=
Real">
<eAnnotations xmi:id=3D"_1qti0qioEdyiA952T95NLg" source=3D"http=
://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qti06ioEdyiA952T95NLg" key=3D"documentat=
ion" value=3D"if self.base_Component.realization.supplier->exists(p | p.g=
etAppliedStereotypes()->exists(name =3D 'Participant')) &#xD;&#xA;then se=
lf.base_Component.provided->includesAll&#xD;&#xA;( &#xD;&#xA;&#x9;self.ba=
se_Component.realization.supplier->select(p | p.getAppliedStereotypes()->=
exists(name =3D 'Participant')) &#x9;--Aca tengo un Set(Property) (aunque=
solo se que son NamedElement) esterotipados &lt;&lt;participant>>&#xD;&#=
xA;&#x9; ->iterate&#x9;( vr : NamedElement ; acc : Set(Property) =3D Set{=
} | if vr.oclIsKindOf(Property) then acc->including(vr.oclAsType(Propert=
y)) else acc endif) --Aca tengo un Set(Property) estereotipados &lt;&lt;=
participant>>&#xD;&#xA;&#x9; ->iterate&#x9;(p : Property ; acu : Set(Perf=
il_SOA::Participant) =3D Set{ } | if p.oclIsKindOf(Property) then acu->=
including(p.getAppliedStereotype('Perfil_SOA::Participant'). oclAsType(Per=
fil_SOA::Participant)) else acu endif) --Aca tengo un Set(Perfil_SOA::Par=
ticipant) &#xD;&#xA;&#x9; ->collect(part : Perfil_SOA::Participant | part=
=2Especification)->asSet() --Aca tengo un Set(Class) con las &quot;specif=
ications&quot; de los &quot;participants&quot;&#xD;&#xA;&#x9; ->iterate&#=
x9;(s : Class ; acum : Set(Perfil_SOA::ServiceSpecification) =3D Set{ } =
| if s.oclIsKindOf(Class) then acum->including(s.getAppliedStereotype('P=
erfil_SOA::ServiceSpecification').oclAsType(Perfil_SOA::Serv iceSpecificat=
ion)) else acum endif) --Aca tengo un Set(Perfil_SOA::serviceSpecificatio=
n) &#xD;&#xA;&#x9; ->collect(spec : Perfil_SOA::ServiceSpecification | sp=
ec.providedInterfaces)->asSet()&#xD;&#xA;)&#xD;&#xA;else false endif&#xD;=
&#xA;&#xD;&#xA;&#xD;&#xA;&#xD;&# xA;&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&am p;#xD;&#x=
A;&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;& ;#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&#xD;& amp;#xA;&=
#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&#xD;&a mp;#xA;&#xD;&#xA;&#xD;&#xA;&#xD;&#xA ;&#xD=
;&#xA;&#xD;&#xA;&#xD;&#xA;&#xD;& #xA; "/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclipse.=
org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qti1KioEdyiA952T95NLg" name=3D"diagnos=
tics">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qti1aioEdyiA952T95NLg" name=3D"context=
">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qti1qioEdyiA952T95NLg" name=3D"_ConsPBVa=
lue">
<eAnnotations xmi:id=3D"_1qti16ioEdyiA952T95NLg" source=3D"http=
://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qti2KioEdyiA952T95NLg" key=3D"documentat=
ion" value=3D"self.preferredBindings->size() >=3D 1 and self.preferredBin=
dings->forAll(not oclIsUndefined()) &#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&# xD;&=
#xA;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclipse.=
org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qti2aioEdyiA952T95NLg" name=3D"diagnos=
tics">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qti2qioEdyiA952T95NLg" name=3D"context=
">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qti26ioEdyiA952T95NLg" name=3D"_ConsAttS=
tereo">
<eAnnotations xmi:id=3D"_1qti3KioEdyiA952T95NLg" source=3D"http=
://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qti3aioEdyiA952T95NLg" key=3D"documentat=
ion" value=3D"self.preferredBindings->forAll( pb | pb.getAppliedStereotyp=
es()->exists(name=3D'binding') )&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclipse.=
org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qti3qioEdyiA952T95NLg" name=3D"diagnos=
tics">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qti36ioEdyiA952T95NLg" name=3D"context=
">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qti4KioEdyiA952T95NLg" name=3D"_ConsReal=
ization">
<eAnnotations xmi:id=3D"_1qti4aioEdyiA952T95NLg" source=3D"http=
://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qti4qioEdyiA952T95NLg" key=3D"documentat=
ion" value=3D"self.base_Component.clientDependency->select(e| e.oclIsKind=
Of(Realization)).client->notEmpty() &#xD;&#xA;and self.base_Component.cli=
entDependency->select(e| e.oclIsKindOf(Realization)).supplier->forAll(c |=
c.getAppliedStereotypes()->exists(name=3D'serviceSpecification' or name=3D=
'participant'))&#xD;&#xA;&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclipse.=
org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qti46ioEdyiA952T95NLg" name=3D"diagnos=
tics">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qti5KioEdyiA952T95NLg" name=3D"context=
">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eStructuralFeatures xmi:type=3D"ecore:EReference" xmi:id=3D"_1qt=
i5aioEdyiA952T95NLg" name=3D"base_Component" ordered=3D"false" lowerBound=
=3D"1">
<eType xmi:type=3D"ecore:EClass" href=3D"http://www.eclipse.org=
/uml2/2.0.0/UML#//Component"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type=3D"ecore:EReference" xmi:id=3D"_1qt=
i5qioEdyiA952T95NLg" name=3D"preferredBindings" ordered=3D"false" upperBo=
und=3D"-1">
<eType xmi:type=3D"ecore:EClass" href=3D"http://www.eclipse.org=
/uml2/2.0.0/UML#//Class"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type=3D"ecore:EClass" xmi:id=3D"_1qti56ioEdyiA952=
T95NLg" name=3D"ServiceContract">
<eAnnotations xmi:id=3D"_1qti6KioEdyiA952T95NLg" source=3D"http:/=
/www.eclipse.org/uml2/2.0.0/UML" references=3D"_1qtjzaioEdyiA952T95NLg"/>=

<eOperations xmi:id=3D"_1qti6aioEdyiA952T95NLg" name=3D"_ContPart=
icStereo">
<eAnnotations xmi:id=3D"_1qti6qioEdyiA952T95NLg" source=3D"http=
://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qti66ioEdyiA952T95NLg" key=3D"documentat=
ion" value=3D"self.base_Collaboration.allOwnedElements()->forAll(j | j.g=
etAppliedStereotypes()->exists(name =3D 'serviceProvider' or name =3D 's=
erviceConsumer' or name =3D 'participant'))&#xD;&#xA;&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclipse.=
org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qti7KioEdyiA952T95NLg" name=3D"diagnos=
tics">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qti7aioEdyiA952T95NLg" name=3D"context=
">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eStructuralFeatures xmi:type=3D"ecore:EAttribute" xmi:id=3D"_1qt=
i7qioEdyiA952T95NLg" name=3D"isStrict" ordered=3D"false" defaultValueLite=
ral=3D"false">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclipse.=
org/emf/2002/Ecore#//EBoolean"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type=3D"ecore:EReference" xmi:id=3D"_1qt=
i76ioEdyiA952T95NLg" name=3D"base_Collaboration" ordered=3D"false" lowerB=
ound=3D"1">
<eType xmi:type=3D"ecore:EClass" href=3D"http://www.eclipse.org=
/uml2/2.0.0/UML#//Collaboration"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type=3D"ecore:EClass" xmi:id=3D"_1qti8KioEdyiA952=
T95NLg" name=3D"ServiceSpecification">
<eAnnotations xmi:id=3D"_1qti8aioEdyiA952T95NLg" source=3D"http:/=
/www.eclipse.org/uml2/2.0.0/UML" references=3D"_1qtj1aioEdyiA952T95NLg"/>=

<eOperations xmi:id=3D"_1qti8qioEdyiA952T95NLg" name=3D"_SpecAttS=
tereo">
<eAnnotations xmi:id=3D"_1qti86ioEdyiA952T95NLg" source=3D"http=
://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qti9KioEdyiA952T95NLg" key=3D"documentat=
ion" value=3D"self.providedInterfaces->forAll(si | si.getAppliedStereotyp=
es()->exists(name=3D'serviceInterface')) &#xD;&#xA;and self.requiredInter=
faces->forAll(si | si.getAppliedStereotypes()->exists(name=3D'serviceInte=
rface'))&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclipse.=
org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qti9aioEdyiA952T95NLg" name=3D"diagnos=
tics">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qti9qioEdyiA952T95NLg" name=3D"context=
">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qti96ioEdyiA952T95NLg" name=3D"_SpecServ=
Stereo">
<eAnnotations xmi:id=3D"_1qti-KioEdyiA952T95NLg" source=3D"http=
://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qti-aioEdyiA952T95NLg" key=3D"documentat=
ion" value=3D"self.requiredServices->forAll(c | c.getAppliedStereotypes()=
->exists(name=3D'serviceSpecification'))&#xD;&#xA;"/ >
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclipse.=
org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qti-qioEdyiA952T95NLg" name=3D"diagnos=
tics">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qti-6ioEdyiA952T95NLg" name=3D"context=
">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eStructuralFeatures xmi:type=3D"ecore:EAttribute" xmi:id=3D"_1qt=
i_KioEdyiA952T95NLg" name=3D"mustSupportBindings" ordered=3D"false" upper=
Bound=3D"-1" eType=3D"_1qtjAaioEdyiA952T95NLg"/>
<eStructuralFeatures xmi:type=3D"ecore:EReference" xmi:id=3D"_1qt=
i_aioEdyiA952T95NLg" name=3D"base_Class" ordered=3D"false" lowerBound=3D"=
1">
<eType xmi:type=3D"ecore:EClass" href=3D"http://www.eclipse.org=
/uml2/2.0.0/UML#//Class"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type=3D"ecore:EReference" xmi:id=3D"_1qt=
i_qioEdyiA952T95NLg" name=3D"providedInterfaces" ordered=3D"false" upperB=
ound=3D"-1">
<eType xmi:type=3D"ecore:EClass" href=3D"http://www.eclipse.org=
/uml2/2.0.0/UML#//Interface"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type=3D"ecore:EReference" xmi:id=3D"_1qt=
i_6ioEdyiA952T95NLg" name=3D"requiredInterfaces" ordered=3D"false" upperB=
ound=3D"-1">
<eType xmi:type=3D"ecore:EClass" href=3D"http://www.eclipse.org=
/uml2/2.0.0/UML#//Interface"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type=3D"ecore:EReference" xmi:id=3D"_1qt=
jAKioEdyiA952T95NLg" name=3D"requiredServices" ordered=3D"false" upperBou=
nd=3D"-1">
<eType xmi:type=3D"ecore:EClass" href=3D"http://www.eclipse.org=
/uml2/2.0.0/UML#//Class"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type=3D"ecore:EEnum" xmi:id=3D"_1qtjAaioEdyiA952T=
95NLg" name=3D"Bindings">
<eAnnotations xmi:id=3D"_1qtjAqioEdyiA952T95NLg" source=3D"http:/=
/www.eclipse.org/uml2/2.0.0/UML" references=3D"_1qtkQ6ioEdyiA952T95NLg"/>=

<eLiterals xmi:id=3D"_1qtjA6ioEdyiA952T95NLg" name=3D"Soap-RPC"/>=

<eLiterals xmi:id=3D"_1qtjBKioEdyiA952T95NLg" name=3D"Soap-docume=
nt" value=3D"1"/>
<eLiterals xmi:id=3D"_1qtjBaioEdyiA952T95NLg" name=3D"HTTP GET/PO=
ST" value=3D"2"/>
</eClassifiers>
<eClassifiers xmi:type=3D"ecore:EClass" xmi:id=3D"_1qtjBqioEdyiA952=
T95NLg" name=3D"ServiceInteractionPoint">
<eAnnotations xmi:id=3D"_1qtjB6ioEdyiA952T95NLg" source=3D"http:/=
/www.eclipse.org/uml2/2.0.0/UML" references=3D"_1qtj56ioEdyiA952T95NLg"/>=

<eOperations xmi:id=3D"_1qtjCKioEdyiA952T95NLg" name=3D"_Interact=
ClassStereo">
<eAnnotations xmi:id=3D"_1qtjCaioEdyiA952T95NLg" source=3D"http=
://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtjCqioEdyiA952T95NLg" key=3D"documentat=
ion" value=3D"self.base_Port.owner.getAppliedStereotypes()->forAll(name =3D=
'serviceProvider' or name =3D 'serviceConsumer' or name =3D 'participant=
')&#xD;&#xA;&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclipse.=
org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtjC6ioEdyiA952T95NLg" name=3D"diagnos=
tics">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtjDKioEdyiA952T95NLg" name=3D"context=
">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qtjDaioEdyiA952T95NLg" name=3D"_Interact=
InterfStereo">
<eAnnotations xmi:id=3D"_1qtjDqioEdyiA952T95NLg" source=3D"http=
://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtjD6ioEdyiA952T95NLg" key=3D"documentat=
ion" value=3D"if not self.base_Port.type.oclIsUndefined() then self.base_=
Port.type.getAppliedStereotypes()->exists(name=3D'serviceSpecification' o=
r name=3D 'serviceInterface') else false endif&#xD;&#xA;&#xD;&#xA;&#xD;&#=
xA;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclipse.=
org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtjEKioEdyiA952T95NLg" name=3D"diagnos=
tics">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtjEaioEdyiA952T95NLg" name=3D"context=
">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qtjEqioEdyiA952T95NLg" name=3D"_Interact=
IsService">
<eAnnotations xmi:id=3D"_1qtjE6ioEdyiA952T95NLg" source=3D"http=
://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtjFKioEdyiA952T95NLg" key=3D"documentat=
ion" value=3D"self.base_Port.isService&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclipse.=
org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtjFaioEdyiA952T95NLg" name=3D"diagnos=
tics">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtjFqioEdyiA952T95NLg" name=3D"context=
">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qtjF6ioEdyiA952T95NLg" name=3D"_Interact=
ProvReqStereo">
<eAnnotations xmi:id=3D"_1qtjGKioEdyiA952T95NLg" source=3D"http=
://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtjGaioEdyiA952T95NLg" key=3D"documentat=
ion" value=3D"self.base_Port.provided->forAll(pb | pb.getAppliedStereotyp=
es()->exists(name=3D'serviceInterface'))&#xD;&#xA;or self.base_Port.requi=
red->forAll(rb | rb.getAppliedStereotypes()->exists(name=3D'serviceInterf=
ace'))&#xD;&#xA;&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclipse.=
org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtjGqioEdyiA952T95NLg" name=3D"diagnos=
tics">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtjG6ioEdyiA952T95NLg" name=3D"context=
">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qtjHKioEdyiA952T95NLg" name=3D"_Interact=
MinInterface">
<eAnnotations xmi:id=3D"_1qtjHaioEdyiA952T95NLg" source=3D"http=
://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtjHqioEdyiA952T95NLg" key=3D"documentat=
ion" value=3D"let prov : Integer =3D self.base_Port.provided->size()&#xD;=
&#xA;in let req : Integer =3D self.base_Port.required->size()&#xD;&#xA;in=
prov + req >=3D 1&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclipse.=
org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtjH6ioEdyiA952T95NLg" name=3D"diagnos=
tics">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtjIKioEdyiA952T95NLg" name=3D"context=
">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qtjIaioEdyiA952T95NLg" name=3D"_Interact=
SupBind">
<eAnnotations xmi:id=3D"_1qtjIqioEdyiA952T95NLg" source=3D"http=
://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtjI6ioEdyiA952T95NLg" key=3D"documentat=
ion" value=3D"self.supportedBindings->forAll(b | b.getAppliedStereotypes(=
)->exists(name=3D'binding'))&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclipse.=
org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtjJKioEdyiA952T95NLg" name=3D"diagnos=
tics">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtjJaioEdyiA952T95NLg" name=3D"context=
">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eStructuralFeatures xmi:type=3D"ecore:EReference" xmi:id=3D"_1qt=
jJqioEdyiA952T95NLg" name=3D"base_Port" ordered=3D"false" lowerBound=3D"1=
">
<eType xmi:type=3D"ecore:EClass" href=3D"http://www.eclipse.org=
/uml2/2.0.0/UML#//Port"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type=3D"ecore:EReference" xmi:id=3D"_1qt=
jJ6ioEdyiA952T95NLg" name=3D"supportedBindings" ordered=3D"false" lowerBo=
und=3D"1" upperBound=3D"-1">
<eType xmi:type=3D"ecore:EClass" href=3D"http://www.eclipse.org=
/uml2/2.0.0/UML#//Class"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type=3D"ecore:EClass" xmi:id=3D"_1qtjKKioEdyiA952=
T95NLg" name=3D"ServiceInterface">
<eAnnotations xmi:id=3D"_1qtjKaioEdyiA952T95NLg" source=3D"http:/=
/www.eclipse.org/uml2/2.0.0/UML" references=3D"_1qtj-KioEdyiA952T95NLg"/>=

<eOperations xmi:id=3D"_1qtjKqioEdyiA952T95NLg" name=3D"_InterfNo=
Prop">
<eAnnotations xmi:id=3D"_1qtjK6ioEdyiA952T95NLg" source=3D"http=
://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtjLKioEdyiA952T95NLg" key=3D"documentat=
ion" value=3D"self.base_Interface.getAllAttributes()->isEmpty()&#xD;&#xA;=
&#xD;&#xA;&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclipse.=
org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtjLaioEdyiA952T95NLg" name=3D"diagnos=
tics">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtjLqioEdyiA952T95NLg" name=3D"context=
">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qtjL6ioEdyiA952T95NLg" name=3D"_InterfPu=
blicOps">
<eAnnotations xmi:id=3D"_1qtjMKioEdyiA952T95NLg" source=3D"http=
://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtjMaioEdyiA952T95NLg" key=3D"documentat=
ion" value=3D"self.base_Interface.getAllOperations()->forAll(p | p.visibi=
lity =3D VisibilityKind::public)&#xD;&#xA;&#xD;&#xA;"/ >
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclipse.=
org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtjMqioEdyiA952T95NLg" name=3D"diagnos=
tics">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtjM6ioEdyiA952T95NLg" name=3D"context=
">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eStructuralFeatures xmi:type=3D"ecore:EReference" xmi:id=3D"_1qt=
jNKioEdyiA952T95NLg" name=3D"base_Interface" ordered=3D"false" lowerBound=
=3D"1">
<eType xmi:type=3D"ecore:EClass" href=3D"http://www.eclipse.org=
/uml2/2.0.0/UML#//Interface"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type=3D"ecore:EClass" xmi:id=3D"_1qtjNaioEdyiA952=
T95NLg" name=3D"Message">
<eAnnotations xmi:id=3D"_1qtjNqioEdyiA952T95NLg" source=3D"http:/=
/www.eclipse.org/uml2/2.0.0/UML" references=3D"_1qtj_qioEdyiA952T95NLg"/>=

<eOperations xmi:id=3D"_1qtjN6ioEdyiA952T95NLg" name=3D"_MessNoOp=
">
<eAnnotations xmi:id=3D"_1qtjOKioEdyiA952T95NLg" source=3D"http=
://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtjOaioEdyiA952T95NLg" key=3D"documentat=
ion" value=3D"self.base_Class.getAllOperations()->isEmpty()&#xD;&#xA; "/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclipse.=
org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtjOqioEdyiA952T95NLg" name=3D"diagnos=
tics">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtjO6ioEdyiA952T95NLg" name=3D"context=
">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qtjPKioEdyiA952T95NLg" name=3D"_MessPubA=
ttr">
<eAnnotations xmi:id=3D"_1qtjPaioEdyiA952T95NLg" source=3D"http=
://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtjPqioEdyiA952T95NLg" key=3D"documentat=
ion" value=3D"self.base_Class.getAllAttributes()->forAll(visibility =3D u=
ml::VisibilityKind::public )&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclipse.=
org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtjP6ioEdyiA952T95NLg" name=3D"diagnos=
tics">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtjQKioEdyiA952T95NLg" name=3D"context=
">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eStructuralFeatures xmi:type=3D"ecore:EAttribute" xmi:id=3D"_1qt=
jQaioEdyiA952T95NLg" name=3D"encoding" ordered=3D"false" lowerBound=3D"1"=
eType=3D"_1qtjRKioEdyiA952T95NLg"/>
<eStructuralFeatures xmi:type=3D"ecore:EReference" xmi:id=3D"_1qt=
jQqioEdyiA952T95NLg" name=3D"attachment" ordered=3D"false" upperBound=3D"=
-1">
<eType xmi:type=3D"ecore:EClass" href=3D"http://www.eclipse.org=
/uml2/2.0.0/UML#//Property"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type=3D"ecore:EReference" xmi:id=3D"_1qt=
jQ6ioEdyiA952T95NLg" name=3D"base_Class" ordered=3D"false" lowerBound=3D"=
1">
<eType xmi:type=3D"ecore:EClass" href=3D"http://www.eclipse.org=
/uml2/2.0.0/UML#//Class"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type=3D"ecore:EEnum" xmi:id=3D"_1qtjRKioEdyiA952T=
95NLg" name=3D"Encodings">
<eAnnotations xmi:id=3D"_1qtjRaioEdyiA952T95NLg" source=3D"http:/=
/www.eclipse.org/uml2/2.0.0/UML" references=3D"_1qtkf6ioEdyiA952T95NLg"/>=

<eLiterals xmi:id=3D"_1qtjRqioEdyiA952T95NLg" name=3D"ASN.1"/>
<eLiterals xmi:id=3D"_1qtjR6ioEdyiA952T95NLg" name=3D"Doc-literal=
" value=3D"1"/>
<eLiterals xmi:id=3D"_1qtjSKioEdyiA952T95NLg" name=3D"SOAP-RPC" v=
alue=3D"2"/>
</eClassifiers>
<eClassifiers xmi:type=3D"ecore:EClass" xmi:id=3D"_1qtjSaioEdyiA952=
T95NLg" name=3D"Attachment">
<eAnnotations xmi:id=3D"_1qtjSqioEdyiA952T95NLg" source=3D"http:/=
/www.eclipse.org/uml2/2.0.0/UML" references=3D"_1qtkCKioEdyiA952T95NLg"/>=

<eOperations xmi:id=3D"_1qtjS6ioEdyiA952T95NLg" name=3D"_AttOwner=
Stereo">
<eAnnotations xmi:id=3D"_1qtjTKioEdyiA952T95NLg" source=3D"http=
://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtjTaioEdyiA952T95NLg" key=3D"documentat=
ion" value=3D"self.base_Property.owner.getAppliedStereotypes()->exists(na=
me =3D 'message')&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclipse.=
org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtjTqioEdyiA952T95NLg" name=3D"diagnos=
tics">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtjT6ioEdyiA952T95NLg" name=3D"context=
">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eStructuralFeatures xmi:type=3D"ecore:EAttribute" xmi:id=3D"_1qt=
jUKioEdyiA952T95NLg" name=3D"mimeType" ordered=3D"false" lowerBound=3D"1"=
eType=3D"_1qtjUqioEdyiA952T95NLg"/>
<eStructuralFeatures xmi:type=3D"ecore:EReference" xmi:id=3D"_1qt=
jUaioEdyiA952T95NLg" name=3D"base_Property" ordered=3D"false" lowerBound=3D=
"1">
<eType xmi:type=3D"ecore:EClass" href=3D"http://www.eclipse.org=
/uml2/2.0.0/UML#//Property"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type=3D"ecore:EEnum" xmi:id=3D"_1qtjUqioEdyiA952T=
95NLg" name=3D"MimeTypes">
<eAnnotations xmi:id=3D"_1qtjU6ioEdyiA952T95NLg" source=3D"http:/=
/www.eclipse.org/uml2/2.0.0/UML" references=3D"_1qtkWKioEdyiA952T95NLg"/>=

<eLiterals xmi:id=3D"_1qtjVKioEdyiA952T95NLg" name=3D"x-zip"/>
<eLiterals xmi:id=3D"_1qtjVaioEdyiA952T95NLg" name=3D"x-www-form-=
urlencoded" value=3D"1"/>
<eLiterals xmi:id=3D"_1qtjVqioEdyiA952T95NLg" name=3D"x-ustar" va=
lue=3D"2"/>
<eLiterals xmi:id=3D"_1qtjV6ioEdyiA952T95NLg" name=3D"x-tar" valu=
e=3D"3"/>
<eLiterals xmi:id=3D"_1qtjWKioEdyiA952T95NLg" name=3D"x-gzip" val=
ue=3D"4"/>
<eLiterals xmi:id=3D"_1qtjWaioEdyiA952T95NLg" name=3D"report" val=
ue=3D"5"/>
<eLiterals xmi:id=3D"_1qtjWqioEdyiA952T95NLg" name=3D"voice-messa=
ge" value=3D"6"/>
<eLiterals xmi:id=3D"_1qtjW6ioEdyiA952T95NLg" name=3D"related" va=
lue=3D"7"/>
<eLiterals xmi:id=3D"_1qtjXKioEdyiA952T95NLg" name=3D"signed" val=
ue=3D"8"/>
<eLiterals xmi:id=3D"_1qtjXaioEdyiA952T95NLg" name=3D"parallel" v=
alue=3D"9"/>
<eLiterals xmi:id=3D"_1qtjXqioEdyiA952T95NLg" name=3D"x-mixed-rep=
lace" value=3D"10"/>
<eLiterals xmi:id=3D"_1qtjX6ioEdyiA952T95NLg" name=3D"mixed" valu=
e=3D"11"/>
<eLiterals xmi:id=3D"_1qtjYKioEdyiA952T95NLg" name=3D"header-set"=
value=3D"12"/>
<eLiterals xmi:id=3D"_1qtjYaioEdyiA952T95NLg" name=3D"form-data" =
value=3D"13"/>
<eLiterals xmi:id=3D"_1qtjYqioEdyiA952T95NLg" name=3D"encrypted" =
value=3D"14"/>
<eLiterals xmi:id=3D"_1qtjY6ioEdyiA952T95NLg" name=3D"digest" val=
ue=3D"15"/>
<eLiterals xmi:id=3D"_1qtjZKioEdyiA952T95NLg" name=3D"appledouble=
" value=3D"16"/>
<eLiterals xmi:id=3D"_1qtjZaioEdyiA952T95NLg" name=3D"alternative=
" value=3D"17"/>
<eLiterals xmi:id=3D"_1qtjZqioEdyiA952T95NLg" name=3D"xml" value=3D=
"18"/>
</eClassifiers>
<eClassifiers xmi:type=3D"ecore:EClass" xmi:id=3D"_1qtjZ6ioEdyiA952=
T95NLg" name=3D"Binding">
<eAnnotations xmi:id=3D"_1qtjaKioEdyiA952T95NLg" source=3D"http:/=
/www.eclipse.org/uml2/2.0.0/UML" references=3D"_1qtkD6ioEdyiA952T95NLg"/>=

<eStructuralFeatures xmi:type=3D"ecore:EReference" xmi:id=3D"_1qt=
jaaioEdyiA952T95NLg" name=3D"base_Class" ordered=3D"false" lowerBound=3D"=
1">
<eType xmi:type=3D"ecore:EClass" href=3D"http://www.eclipse.org=
/uml2/2.0.0/UML#//Class"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type=3D"ecore:EClass" xmi:id=3D"_1qtjaqioEdyiA952=
T95NLg" name=3D"Participant">
<eAnnotations xmi:id=3D"_1qtja6ioEdyiA952T95NLg" source=3D"http:/=
/www.eclipse.org/uml2/2.0.0/UML" references=3D"_1qtkEaioEdyiA952T95NLg"/>=

<eOperations xmi:id=3D"_1qtjbKioEdyiA952T95NLg" name=3D"_PartSpec=
Stereo">
<eAnnotations xmi:id=3D"_1qtjbaioEdyiA952T95NLg" source=3D"http=
://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtjbqioEdyiA952T95NLg" key=3D"documentat=
ion" value=3D"self.specification->forAll(s | s.getAppliedStereotypes()->e=
xists(name=3D'serviceSpecification'))"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclipse.=
org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtjb6ioEdyiA952T95NLg" name=3D"diagnos=
tics">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtjcKioEdyiA952T95NLg" name=3D"context=
">
<eType xmi:type=3D"ecore:EDataType" href=3D"http://www.eclips=
e.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qtjcaioEdyiA952T95NLg" name=3D"_PartSpec=
ification">
<eAnnotations xmi:id=3D"_1qtjcqioEdyiA952T95NLg" source=3D"http=
://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtjc6ioEdyiA952T95NLg" key=3D"documentat=
ion" value=3D"self.specification->size() >=3D 1 or self.base_Property.all=
OwnedElements()->exists(c | c.oclIsKindOf(CollaborationUse) and c.getAppl=
iedStereotypes()->exists(name =3D 'fulfillment') )&#xD;&#xA;or self.base_=
Property.clientDependency->select(e| e.oclIsKindOf(Realization)).supplier=
->exists( i | i.getAppliedStereotypes()->exists(name =3D 'serviceInterfac=
e') )&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType"
Re: Possible EcoreImporter bug. [message #476745 is a reply to message #476742] Wed, 12 December 2007 18:20 Go to previous messageGo to next message
james bruck is currently offline james bruckFriend
Messages: 1724
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.

------=_NextPart_000_005A_01C83CC1.D3AC0580
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hi Juan Pedro,

If you are in a rush to figure this one out I would suggest to first =
start by creating a sample Ecore representation of the model you expect =
as a result of converting from UML to Ecore. Then convert that Ecore =
representation to UML. Converting from Ecore to UML will result in =
all the necessary stereotypes etc. required in the UML representation. =


Doing the conversion from Ecore to UML will give you insight into what =
structure is required in your orginal UML model.

Cheers,
- James.




"Juan Pedro Silva" <jpsilvagallino@gmail.com> wrote in message =
news:fjolq8$8i6$1@build.eclipse.org...
Hello everyone.
I am currently working on a project for which I perform stereotyped =
UML to Ecore transformations, and suddenly came upon an issue which I =
believe may be a bug on the EcoreImporter.

The situation is the following one: I have a UML model in which I have =
declared a couple of stereotyped UML::DataType clases. I use those =
classes as input and return parameters of an operation declared =
elsewhere. I realized, however, that those DataType classes are not =
generated into the genmodel (or the ecore, for that matters) when doing =
the exportation.

I tried the same exact model using simple stereotyped classes instead =
of DataType, and everything worked fine!!.

I am really sorry I cannot further inspect the code to figure out the =
precise problem, but I'm on a deadline for Friday and have no spare =
time.
However, I'm attaching both input models (using datatypes or classes), =
the applied profile, and the two resulting genmodels for your =
inspection.
I'm running eclipse 3.2.2 with uml2 2.0.3 and EMF 2.2.3.

Regards,
Juan Pedro



------------------------------------------------------------ -------------=
-----


<?xml version=3D"1.0" encoding=3D"UTF-8"?>
<uml:Profile xmi:version=3D"2.1" =
xmlns:xmi=3D"http://schema.omg.org/spec/XMI/2.1" =
xmlns:ecore=3D"http://www.eclipse.org/emf/2002/Ecore" =
xmlns:uml=3D"http://www.eclipse.org/uml2/2.0.0/UML" =
xmi:id=3D"_1qtiqqioEdyiA952T95NLg" name=3D"Perfil_SOA" =
metamodelReference=3D"_1qtjrqioEdyiA952T95NLg">
<eAnnotations xmi:id=3D"_1qtiq6ioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/uml2/2.0.0/UML">
<contents xmi:type=3D"ecore:EPackage" =
xmi:id=3D"_1qtirKioEdyiA952T95NLg" name=3D"Perfil_SOA" =
nsURI=3D"http:///schemas/Perfil_SOA/_uajF0KioEdyiA952T95NLg/97" =
nsPrefix=3D"Perfil_SOA">
<eClassifiers xmi:type=3D"ecore:EClass" =
xmi:id=3D"_1qtiraioEdyiA952T95NLg" name=3D"ServiceProvider">
<eAnnotations xmi:id=3D"_1qtirqioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/uml2/2.0.0/UML" =
references=3D"_1qtjr6ioEdyiA952T95NLg"/>
<eOperations xmi:id=3D"_1qtir6ioEdyiA952T95NLg" =
name=3D"_ProvNoProp">
<eAnnotations xmi:id=3D"_1qtisKioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtisaioEdyiA952T95NLg" =
key=3D"documentation" =
value=3D"self.base_Component.getAllAttributes()->isEmpty()&#xD;&#xA; "/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtisqioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtis6ioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qtitKioEdyiA952T95NLg" =
name=3D"_ProvNoOp">
<eAnnotations xmi:id=3D"_1qtitaioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtitqioEdyiA952T95NLg" =
key=3D"documentation" =
value=3D"self.base_Component.getAllOperations()->isEmpty() "/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtit6ioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtiuKioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qtiuaioEdyiA952T95NLg" =
name=3D"_ProvNoBeh">
<eAnnotations xmi:id=3D"_1qtiuqioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtiu6ioEdyiA952T95NLg" =
key=3D"documentation" =
value=3D"self.base_Component.ownedBehavior->isEmpty()"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtivKioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtivaioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qtivqioEdyiA952T95NLg" =
name=3D"_ProvPortStereo">
<eAnnotations xmi:id=3D"_1qtiv6ioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtiwKioEdyiA952T95NLg" =
key=3D"documentation" value=3D"self.base_Component.ownedPort->forAll(j | =
j.getAppliedStereotypes()->forAll(name=3D'serviceInteractionPoint')) =
&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtiwaioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtiwqioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qtiw6ioEdyiA952T95NLg" =
name=3D"_ProvAttStereo">
<eAnnotations xmi:id=3D"_1qtixKioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtixaioEdyiA952T95NLg" =
key=3D"documentation" value=3D"self.allowedBindings->forAll( c | =
c.getAppliedStereotypes()->exists(name=3D'binding') )&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtixqioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtix6ioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qtiyKioEdyiA952T95NLg" =
name=3D"_ProvRealization">
<eAnnotations xmi:id=3D"_1qtiyaioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtiyqioEdyiA952T95NLg" =
key=3D"documentation" =
value=3D"self.base_Component.clientDependency->select(e| =
e.oclIsKindOf(Realization)).client->notEmpty() &#xD;&#xA;and =
self.base_Component.clientDependency->select(e| =
e.oclIsKindOf(Realization)).supplier->forAll(c | =
c.getAppliedStereotypes()->exists(name=3D'serviceSpecification' or =
name=3D'participant'))&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtiy6ioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtizKioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eStructuralFeatures xmi:type=3D"ecore:EReference" =
xmi:id=3D"_1qtizaioEdyiA952T95NLg" name=3D"base_Component" =
ordered=3D"false" lowerBound=3D"1">
<eType xmi:type=3D"ecore:EClass" =
href=3D"http://www.eclipse.org/uml2/2.0.0/UML#//Component"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type=3D"ecore:EReference" =
xmi:id=3D"_1qtizqioEdyiA952T95NLg" name=3D"allowedBindings" =
ordered=3D"false" lowerBound=3D"1" upperBound=3D"-1">
<eType xmi:type=3D"ecore:EClass" =
href=3D"http://www.eclipse.org/uml2/2.0.0/UML#//Class"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type=3D"ecore:EClass" =
xmi:id=3D"_1qtiz6ioEdyiA952T95NLg" name=3D"ServiceConsumer">
<eAnnotations xmi:id=3D"_1qti0KioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/uml2/2.0.0/UML" =
references=3D"_1qtjwKioEdyiA952T95NLg"/>
<eOperations xmi:id=3D"_1qti0aioEdyiA952T95NLg" =
name=3D"_ConsSpecReal">
<eAnnotations xmi:id=3D"_1qti0qioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qti06ioEdyiA952T95NLg" =
key=3D"documentation" value=3D"if =
self.base_Component.realization.supplier->exists(p | =
p.getAppliedStereotypes()->exists(name =3D 'Participant')) =
&#xD;&#xA;then self.base_Component.provided->includesAll&#xD;&#xA;( =
&#xD;&#xA;&#x9;self.base_Component.realization.s upplier- >select(p | =
p.getAppliedStereotypes()->exists(name =3D 'Participant')) &#x9;--Aca =
tengo un Set(Property) (aunque solo se que son NamedElement) =
esterotipados &lt;&lt;participant>>&#xD;&#xA;&#x9; ->iterate&#x9;( vr : =
NamedElement ; acc : Set(Property) =3D Set{ } | if =
vr.oclIsKindOf(Property) then acc->including(vr.oclAsType(Property)) =
else acc endif) --Aca tengo un Set(Property) estereotipados =
&lt;&lt;participant>>&#xD;&#xA;&#x9; ->iterate&#x9;(p : Property ; acu : =
Set(Perfil_SOA::Participant) =3D Set{ } | if p.oclIsKindOf(Property) =
then =
acu-> including(p.getAppliedStereotype('Perfil_SOA::Participant'). oclAsTyp=
e(Perfil_SOA::Participant)) else acu endif) --Aca tengo un =
Set(Perfil_SOA::Participant) &#xD;&#xA;&#x9; ->collect(part : =
Perfil_SOA::Participant | part.specification)->asSet() --Aca tengo un =
Set(Class) con las &quot;specifications&quot; de los =
&quot;participants&quot;&#xD;&#xA;&#x9; ->iterate&#x9;(s : Class ; acum =
: Set(Perfil_SOA::ServiceSpecification) =3D Set{ } | if =
s.oclIsKindOf(Class) then =
acum-> including(s.getAppliedStereotype('Perfil_SOA::ServiceSpecifi cation'=
).oclAsType(Perfil_SOA::ServiceSpecification)) else acum endif) --Aca =
tengo un Set(Perfil_SOA::serviceSpecification) &#xD;&#xA;&#x9; =
->collect(spec : Perfil_SOA::ServiceSpecification | =
spec.providedInterfaces)->asSet()&#xD;&#xA;)&#xD;&#xA;else false =
endif&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;& amp;#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&#x D;&#x=
A;&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;& ;#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&#xD;& amp;#xA;&=
#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&#xD;&a mp;#xA;&#xD;&#xA;&#xD;&#xA;&#xD;&#xA ;&#xD=
;&#xA;&#xD;&#xA;&#xD;&#xA;&#xD;& #xA;&#xD;&#xA; "/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qti1KioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qti1aioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qti1qioEdyiA952T95NLg" =
name=3D"_ConsPBValue">
<eAnnotations xmi:id=3D"_1qti16ioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qti2KioEdyiA952T95NLg" =
key=3D"documentation" value=3D"self.preferredBindings->size() >=3D 1 and =
self.preferredBindings->forAll(not oclIsUndefined()) =
&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&# xD;&#xA; "/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qti2aioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qti2qioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qti26ioEdyiA952T95NLg" =
name=3D"_ConsAttStereo">
<eAnnotations xmi:id=3D"_1qti3KioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qti3aioEdyiA952T95NLg" =
key=3D"documentation" value=3D"self.preferredBindings->forAll( pb | =
pb.getAppliedStereotypes()->exists(name=3D'binding') )&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qti3qioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qti36ioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qti4KioEdyiA952T95NLg" =
name=3D"_ConsRealization">
<eAnnotations xmi:id=3D"_1qti4aioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qti4qioEdyiA952T95NLg" =
key=3D"documentation" =
value=3D"self.base_Component.clientDependency->select(e| =
e.oclIsKindOf(Realization)).client->notEmpty() &#xD;&#xA;and =
self.base_Component.clientDependency->select(e| =
e.oclIsKindOf(Realization)).supplier->forAll(c | =
c.getAppliedStereotypes()->exists(name=3D'serviceSpecification' or =
name=3D'participant'))&#xD;&#xA;&#xD;&#xA;"/ >
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qti46ioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qti5KioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eStructuralFeatures xmi:type=3D"ecore:EReference" =
xmi:id=3D"_1qti5aioEdyiA952T95NLg" name=3D"base_Component" =
ordered=3D"false" lowerBound=3D"1">
<eType xmi:type=3D"ecore:EClass" =
href=3D"http://www.eclipse.org/uml2/2.0.0/UML#//Component"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type=3D"ecore:EReference" =
xmi:id=3D"_1qti5qioEdyiA952T95NLg" name=3D"preferredBindings" =
ordered=3D"false" upperBound=3D"-1">
<eType xmi:type=3D"ecore:EClass" =
href=3D"http://www.eclipse.org/uml2/2.0.0/UML#//Class"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type=3D"ecore:EClass" =
xmi:id=3D"_1qti56ioEdyiA952T95NLg" name=3D"ServiceContract">
<eAnnotations xmi:id=3D"_1qti6KioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/uml2/2.0.0/UML" =
references=3D"_1qtjzaioEdyiA952T95NLg"/>
<eOperations xmi:id=3D"_1qti6aioEdyiA952T95NLg" =
name=3D"_ContParticStereo">
<eAnnotations xmi:id=3D"_1qti6qioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qti66ioEdyiA952T95NLg" =
key=3D"documentation" =
value=3D"self.base_Collaboration.allOwnedElements()->forAll(j | =
j.getAppliedStereotypes()->exists(name =3D 'serviceProvider' or name =
=3D 'serviceConsumer' or name =3D 'participant'))&#xD;&#xA;&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qti7KioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qti7aioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eStructuralFeatures xmi:type=3D"ecore:EAttribute" =
xmi:id=3D"_1qti7qioEdyiA952T95NLg" name=3D"isStrict" ordered=3D"false" =
defaultValueLiteral=3D"false">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type=3D"ecore:EReference" =
xmi:id=3D"_1qti76ioEdyiA952T95NLg" name=3D"base_Collaboration" =
ordered=3D"false" lowerBound=3D"1">
<eType xmi:type=3D"ecore:EClass" =
href=3D"http://www.eclipse.org/uml2/2.0.0/UML#//Collaboration"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type=3D"ecore:EClass" =
xmi:id=3D"_1qti8KioEdyiA952T95NLg" name=3D"ServiceSpecification">
<eAnnotations xmi:id=3D"_1qti8aioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/uml2/2.0.0/UML" =
references=3D"_1qtj1aioEdyiA952T95NLg"/>
<eOperations xmi:id=3D"_1qti8qioEdyiA952T95NLg" =
name=3D"_SpecAttStereo">
<eAnnotations xmi:id=3D"_1qti86ioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qti9KioEdyiA952T95NLg" =
key=3D"documentation" value=3D"self.providedInterfaces->forAll(si | =
si.getAppliedStereotypes()->exists(name=3D'serviceInterface')) =
&#xD;&#xA;and self.requiredInterfaces->forAll(si | =
si.getAppliedStereotypes()->exists(name=3D'serviceInterface'))&#xD;&#xA; "=
/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qti9aioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qti9qioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qti96ioEdyiA952T95NLg" =
name=3D"_SpecServStereo">
<eAnnotations xmi:id=3D"_1qti-KioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qti-aioEdyiA952T95NLg" =
key=3D"documentation" value=3D"self.requiredServices->forAll(c | =
c.getAppliedStereotypes()->exists(name=3D'serviceSpecification'))&#xD;&#x=
A;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qti-qioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qti-6ioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eStructuralFeatures xmi:type=3D"ecore:EAttribute" =
xmi:id=3D"_1qti_KioEdyiA952T95NLg" name=3D"mustSupportBindings" =
ordered=3D"false" upperBound=3D"-1" eType=3D"_1qtjAaioEdyiA952T95NLg"/>
<eStructuralFeatures xmi:type=3D"ecore:EReference" =
xmi:id=3D"_1qti_aioEdyiA952T95NLg" name=3D"base_Class" ordered=3D"false" =
lowerBound=3D"1">
<eType xmi:type=3D"ecore:EClass" =
href=3D"http://www.eclipse.org/uml2/2.0.0/UML#//Class"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type=3D"ecore:EReference" =
xmi:id=3D"_1qti_qioEdyiA952T95NLg" name=3D"providedInterfaces" =
ordered=3D"false" upperBound=3D"-1">
<eType xmi:type=3D"ecore:EClass" =
href=3D"http://www.eclipse.org/uml2/2.0.0/UML#//Interface"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type=3D"ecore:EReference" =
xmi:id=3D"_1qti_6ioEdyiA952T95NLg" name=3D"requiredInterfaces" =
ordered=3D"false" upperBound=3D"-1">
<eType xmi:type=3D"ecore:EClass" =
href=3D"http://www.eclipse.org/uml2/2.0.0/UML#//Interface"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type=3D"ecore:EReference" =
xmi:id=3D"_1qtjAKioEdyiA952T95NLg" name=3D"requiredServices" =
ordered=3D"false" upperBound=3D"-1">
<eType xmi:type=3D"ecore:EClass" =
href=3D"http://www.eclipse.org/uml2/2.0.0/UML#//Class"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type=3D"ecore:EEnum" =
xmi:id=3D"_1qtjAaioEdyiA952T95NLg" name=3D"Bindings">
<eAnnotations xmi:id=3D"_1qtjAqioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/uml2/2.0.0/UML" =
references=3D"_1qtkQ6ioEdyiA952T95NLg"/>
<eLiterals xmi:id=3D"_1qtjA6ioEdyiA952T95NLg" =
name=3D"Soap-RPC"/>
<eLiterals xmi:id=3D"_1qtjBKioEdyiA952T95NLg" =
name=3D"Soap-document" value=3D"1"/>
<eLiterals xmi:id=3D"_1qtjBaioEdyiA952T95NLg" name=3D"HTTP =
GET/POST" value=3D"2"/>
</eClassifiers>
<eClassifiers xmi:type=3D"ecore:EClass" =
xmi:id=3D"_1qtjBqioEdyiA952T95NLg" name=3D"ServiceInteractionPoint">
<eAnnotations xmi:id=3D"_1qtjB6ioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/uml2/2.0.0/UML" =
references=3D"_1qtj56ioEdyiA952T95NLg"/>
<eOperations xmi:id=3D"_1qtjCKioEdyiA952T95NLg" =
name=3D"_InteractClassStereo">
<eAnnotations xmi:id=3D"_1qtjCaioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtjCqioEdyiA952T95NLg" =
key=3D"documentation" =
value=3D"self.base_Port.owner.getAppliedStereotypes()->forAll(name =3D =
'serviceProvider' or name =3D 'serviceConsumer' or name =3D =
'participant')&#xD;&#xA;&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtjC6ioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtjDKioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qtjDaioEdyiA952T95NLg" =
name=3D"_InteractInterfStereo">
<eAnnotations xmi:id=3D"_1qtjDqioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtjD6ioEdyiA952T95NLg" =
key=3D"documentation" value=3D"if not =
self.base_Port.type.oclIsUndefined() then =
self.base_Port.type.getAppliedStereotypes()->exists(name=3D'serviceSpecif=
ication' or name=3D 'serviceInterface') else false =
endif&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;"/ >
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtjEKioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtjEaioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qtjEqioEdyiA952T95NLg" =
name=3D"_InteractIsService">
<eAnnotations xmi:id=3D"_1qtjE6ioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtjFKioEdyiA952T95NLg" =
key=3D"documentation" value=3D"self.base_Port.isService&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtjFaioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtjFqioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qtjF6ioEdyiA952T95NLg" =
name=3D"_InteractProvReqStereo">
<eAnnotations xmi:id=3D"_1qtjGKioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtjGaioEdyiA952T95NLg" =
key=3D"documentation" value=3D"self.base_Port.provided->forAll(pb | =
pb.getAppliedStereotypes()->exists(name=3D'serviceInterface'))&#xD;&#xA;o=
r self.base_Port.required->forAll(rb | =
rb.getAppliedStereotypes()->exists(name=3D'serviceInterface'))&#xD;&#xA;&=
#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtjGqioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtjG6ioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qtjHKioEdyiA952T95NLg" =
name=3D"_InteractMinInterface">
<eAnnotations xmi:id=3D"_1qtjHaioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtjHqioEdyiA952T95NLg" =
key=3D"documentation" value=3D"let prov : Integer =3D =
self.base_Port.provided->size()&#xD;&#xA;in let req : Integer =3D =
self.base_Port.required->size()&#xD;&#xA;in prov + req >=3D =
1&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtjH6ioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtjIKioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qtjIaioEdyiA952T95NLg" =
name=3D"_InteractSupBind">
<eAnnotations xmi:id=3D"_1qtjIqioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtjI6ioEdyiA952T95NLg" =
key=3D"documentation" value=3D"self.supportedBindings->forAll(b | =
b.getAppliedStereotypes()->exists(name=3D'binding'))&#xD;&#xA; "/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtjJKioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtjJaioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eStructuralFeatures xmi:type=3D"ecore:EReference" =
xmi:id=3D"_1qtjJqioEdyiA952T95NLg" name=3D"base_Port" ordered=3D"false" =
lowerBound=3D"1">
<eType xmi:type=3D"ecore:EClass" =
href=3D"http://www.eclipse.org/uml2/2.0.0/UML#//Port"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type=3D"ecore:EReference" =
xmi:id=3D"_1qtjJ6ioEdyiA952T95NLg" name=3D"supportedBindings" =
ordered=3D"false" lowerBound=3D"1" upperBound=3D"-1">
<eType xmi:type=3D"ecore:EClass" =
href=3D"http://www.eclipse.org/uml2/2.0.0/UML#//Class"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type=3D"ecore:EClass" =
xmi:id=3D"_1qtjKKioEdyiA952T95NLg" name=3D"ServiceInterface">
<eAnnotations xmi:id=3D"_1qtjKaioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/uml2/2.0.0/UML" =
references=3D"_1qtj-KioEdyiA952T95NLg"/>
<eOperations xmi:id=3D"_1qtjKqioEdyiA952T95NLg" =
name=3D"_InterfNoProp">
<eAnnotations xmi:id=3D"_1qtjK6ioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtjLKioEdyiA952T95NLg" =
key=3D"documentation" =
value=3D"self.base_Interface.getAllAttributes()->isEmpty()&#xD;&#xA;&#xD;=
&#xA;&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtjLaioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtjLqioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qtjL6ioEdyiA952T95NLg" =
name=3D"_InterfPublicOps">
<eAnnotations xmi:id=3D"_1qtjMKioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtjMaioEdyiA952T95NLg" =
key=3D"documentation" =
value=3D"self.base_Interface.getAllOperations()->forAll(p | p.visibility =
=3D VisibilityKind::public)&#xD;&#xA;&#xD;&#xA;"/ >
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtjMqioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtjM6ioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eStructuralFeatures xmi:type=3D"ecore:EReference" =
xmi:id=3D"_1qtjNKioEdyiA952T95NLg" name=3D"base_Interface" =
ordered=3D"false" lowerBound=3D"1">
<eType xmi:type=3D"ecore:EClass" =
href=3D"http://www.eclipse.org/uml2/2.0.0/UML#//Interface"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type=3D"ecore:EClass" =
xmi:id=3D"_1qtjNaioEdyiA952T95NLg" name=3D"Message">
<eAnnotations xmi:id=3D"_1qtjNqioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/uml2/2.0.0/UML" =
references=3D"_1qtj_qioEdyiA952T95NLg"/>
<eOperations xmi:id=3D"_1qtjN6ioEdyiA952T95NLg" =
name=3D"_MessNoOp">
<eAnnotations xmi:id=3D"_1qtjOKioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtjOaioEdyiA952T95NLg" =
key=3D"documentation" =
value=3D"self.base_Class.getAllOperations()->isEmpty()&#xD;&#xA; "/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtjOqioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtjO6ioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qtjPKioEdyiA952T95NLg" =
name=3D"_MessPubAttr">
<eAnnotations xmi:id=3D"_1qtjPaioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtjPqioEdyiA952T95NLg" =
key=3D"documentation" =
value=3D"self.base_Class.getAllAttributes()->forAll(visibility =3D =
uml::VisibilityKind::public )&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtjP6ioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtjQKioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eStructuralFeatures xmi:type=3D"ecore:EAttribute" =
xmi:id=3D"_1qtjQaioEdyiA952T95NLg" name=3D"encoding" ordered=3D"false" =
lowerBound=3D"1" eType=3D"_1qtjRKioEdyiA952T95NLg"/>
<eStructuralFeatures xmi:type=3D"ecore:EReference" =
xmi:id=3D"_1qtjQqioEdyiA952T95NLg" name=3D"attachment" ordered=3D"false" =
upperBound=3D"-1">
<eType xmi:type=3D"ecore:EClass" =
href=3D"http://www.eclipse.org/uml2/2.0.0/UML#//Property"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type=3D"ecore:EReference" =
xmi:id=3D"_1qtjQ6ioEdyiA952T95NLg" name=3D"base_Class" ordered=3D"false" =
lowerBound=3D"1">
<eType xmi:type=3D"ecore:EClass" =
href=3D"http://www.eclipse.org/uml2/2.0.0/UML#//Class"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type=3D"ecore:EEnum" =
xmi:id=3D"_1qtjRKioEdyiA952T95NLg" name=3D"Encodings">
<eAnnotations xmi:id=3D"_1qtjRaioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/uml2/2.0.0/UML" =
references=3D"_1qtkf6ioEdyiA952T95NLg"/>
<eLiterals xmi:id=3D"_1qtjRqioEdyiA952T95NLg" name=3D"ASN.1"/>
<eLiterals xmi:id=3D"_1qtjR6ioEdyiA952T95NLg" =
name=3D"Doc-literal" value=3D"1"/>
<eLiterals xmi:id=3D"_1qtjSKioEdyiA952T95NLg" =
name=3D"SOAP-RPC" value=3D"2"/>
</eClassifiers>
<eClassifiers xmi:type=3D"ecore:EClass" =
xmi:id=3D"_1qtjSaioEdyiA952T95NLg" name=3D"Attachment">
<eAnnotations xmi:id=3D"_1qtjSqioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/uml2/2.0.0/UML" =
references=3D"_1qtkCKioEdyiA952T95NLg"/>
<eOperations xmi:id=3D"_1qtjS6ioEdyiA952T95NLg" =
name=3D"_AttOwnerStereo">
<eAnnotations xmi:id=3D"_1qtjTKioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtjTaioEdyiA952T95NLg" =
key=3D"documentation" =
value=3D"self.base_Property.owner.getAppliedStereotypes()->exists(name =
=3D 'message')&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtjTqioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtjT6ioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eStructuralFeatures xmi:type=3D"ecore:EAttribute" =
xmi:id=3D"_1qtjUKioEdyiA952T95NLg" name=3D"mimeType" ordered=3D"false" =
lowerBound=3D"1" eType=3D"_1qtjUqioEdyiA952T95NLg"/>
<eStructuralFeatures xmi:type=3D"ecore:EReference" =
xmi:id=3D"_1qtjUaioEdyiA952T95NLg" name=3D"base_Property" =
ordered=3D"false" lowerBound=3D"1">
<eType xmi:type=3D"ecore:EClass" =
href=3D"http://www.eclipse.org/uml2/2.0.0/UML#//Property"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type=3D"ecore:EEnum" =
xmi:id=3D"_1qtjUqioEdyiA952T95NLg" name=3D"MimeTypes">
<eAnnotations xmi:id=3D"_1qtjU6ioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/uml2/2.0.0/UML" =
references=3D"_1qtkWKioEdyiA952T95NLg"/>
<eLiterals xmi:id=3D"_1qtjVKioEdyiA952T95NLg" name=3D"x-zip"/>
<eLiterals xmi:id=3D"_1qtjVaioEdyiA952T95NLg" =
name=3D"x-www-form-urlencoded" value=3D"1"/>
<eLiterals xmi:id=3D"_1qtjVqioEdyiA952T95NLg" name=3D"x-ustar" =
value=3D"2"/>
<eLiterals xmi:id=3D"_1qtjV6ioEdyiA952T95NLg" name=3D"x-tar" =
value=3D"3"/>
<eLiterals xmi:id=3D"_1qtjWKioEdyiA952T95NLg" name=3D"x-gzip" =
value=3D"4"/>
<eLiterals xmi:id=3D"_1qtjWaioEdyiA952T95NLg" name=3D"report" =
value=3D"5"/>
<eLiterals xmi:id=3D"_1qtjWqioEdyiA952T95NLg" =
name=3D"voice-message" value=3D"6"/>
<eLiterals xmi:id=3D"_1qtjW6ioEdyiA952T95NLg" name=3D"related" =
value=3D"7"/>
<eLiterals xmi:id=3D"_1qtjXKioEdyiA952T95NLg" name=3D"signed" =
value=3D"8"/>
<eLiterals xmi:id=3D"_1qtjXaioEdyiA952T95NLg" =
name=3D"parallel" value=3D"9"/>
<eLiterals xmi:id=3D"_1qtjXqioEdyiA952T95NLg" =
name=3D"x-mixed-replace" value=3D"10"/>
<eLiterals xmi:id=3D"_1qtjX6ioEdyiA952T95NLg" name=3D"mixed" =
value=3D"11"/>
<eLiterals xmi:id=3D"_1qtjYKioE
Re: Possible EcoreImporter bug. [message #476747 is a reply to message #476742] Wed, 12 December 2007 18:50 Go to previous message
Kenn Hussey is currently offline Kenn HusseyFriend
Messages: 1620
Registered: July 2009
Senior Member
Juan Pedro,

There were a couple of problems with the data type version of the model (it
referenced elements which didn't exist in your profile); once I fixed these
problems (see attached), I was able to generate what I think is the desired
generator model, using the latest release of UML2, 2.1.1.

Kenn

"Juan Pedro Silva" <jpsilvagallino@gmail.com> wrote in message
news:fjolq8$8i6$1@build.eclipse.org...
Hello everyone.
I am currently working on a project for which I perform stereotyped UML to
Ecore transformations, and suddenly came upon an issue which I believe may
be a bug on the EcoreImporter.

The situation is the following one: I have a UML model in which I have
declared a couple of stereotyped UML::DataType clases. I use those classes
as input and return parameters of an operation declared elsewhere. I
realized, however, that those DataType classes are not generated into the
genmodel (or the ecore, for that matters) when doing the exportation.

I tried the same exact model using simple stereotyped classes instead of
DataType, and everything worked fine!!.

I am really sorry I cannot further inspect the code to figure out the
precise problem, but I'm on a deadline for Friday and have no spare time.
However, I'm attaching both input models (using datatypes or classes), the
applied profile, and the two resulting genmodels for your inspection.
I'm running eclipse 3.2.2 with uml2 2.0.3 and EMF 2.2.3.

Regards,
Juan Pedro




<?xml version="1.0" encoding="UTF-8"?>
<uml:Profile xmi:version="2.1"
xmlns:xmi="http://schema.omg.org/spec/XMI/2.1"
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
xmlns:uml="http://www.eclipse.org/uml2/2.0.0/UML"
xmi:id="_1qtiqqioEdyiA952T95NLg" name="Perfil_SOA"
metamodelReference="_1qtjrqioEdyiA952T95NLg">
<eAnnotations xmi:id="_1qtiq6ioEdyiA952T95NLg"
source="http://www.eclipse.org/uml2/2.0.0/UML">
<contents xmi:type="ecore:EPackage" xmi:id="_1qtirKioEdyiA952T95NLg"
name="Perfil_SOA"
nsURI="http:///schemas/Perfil_SOA/_uajF0KioEdyiA952T95NLg/97"
nsPrefix="Perfil_SOA">
<eClassifiers xmi:type="ecore:EClass" xmi:id="_1qtiraioEdyiA952T95NLg"
name="ServiceProvider">
<eAnnotations xmi:id="_1qtirqioEdyiA952T95NLg"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_1qtjr6ioEdyiA952T95NLg"/>
<eOperations xmi:id="_1qtir6ioEdyiA952T95NLg" name="_ProvNoProp">
<eAnnotations xmi:id="_1qtisKioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qtisaioEdyiA952T95NLg" key="documentation"
value="self.base_Component.getAllAttributes()->isEmpty()&#xD;&#xA; "/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qtisqioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qtis6ioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id="_1qtitKioEdyiA952T95NLg" name="_ProvNoOp">
<eAnnotations xmi:id="_1qtitaioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qtitqioEdyiA952T95NLg" key="documentation"
value="self.base_Component.getAllOperations()->isEmpty()"/ >
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qtit6ioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qtiuKioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id="_1qtiuaioEdyiA952T95NLg" name="_ProvNoBeh">
<eAnnotations xmi:id="_1qtiuqioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qtiu6ioEdyiA952T95NLg" key="documentation"
value="self.base_Component.ownedBehavior->isEmpty()"/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qtivKioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qtivaioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id="_1qtivqioEdyiA952T95NLg"
name="_ProvPortStereo">
<eAnnotations xmi:id="_1qtiv6ioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qtiwKioEdyiA952T95NLg" key="documentation"
value="self.base_Component.ownedPort->forAll(j |
j.getAppliedStereotypes()->forAll(name='serviceInteractionPoint'))
&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qtiwaioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qtiwqioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id="_1qtiw6ioEdyiA952T95NLg" name="_ProvAttStereo">
<eAnnotations xmi:id="_1qtixKioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qtixaioEdyiA952T95NLg" key="documentation"
value="self.allowedBindings->forAll( c |
c.getAppliedStereotypes()->exists(name='binding') )&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qtixqioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qtix6ioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id="_1qtiyKioEdyiA952T95NLg"
name="_ProvRealization">
<eAnnotations xmi:id="_1qtiyaioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qtiyqioEdyiA952T95NLg" key="documentation"
value="self.base_Component.clientDependency->select(e|
e.oclIsKindOf(Realization)).client->notEmpty() &#xD;&#xA;and
self.base_Component.clientDependency->select(e|
e.oclIsKindOf(Realization)).supplier->forAll(c |
c.getAppliedStereotypes()->exists(name='serviceSpecification' or
name='participant'))&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qtiy6ioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qtizKioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_1qtizaioEdyiA952T95NLg" name="base_Component" ordered="false"
lowerBound="1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.0.0/UML#//Component"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_1qtizqioEdyiA952T95NLg" name="allowedBindings" ordered="false"
lowerBound="1" upperBound="-1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.0.0/UML#//Class"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type="ecore:EClass" xmi:id="_1qtiz6ioEdyiA952T95NLg"
name="ServiceConsumer">
<eAnnotations xmi:id="_1qti0KioEdyiA952T95NLg"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_1qtjwKioEdyiA952T95NLg"/>
<eOperations xmi:id="_1qti0aioEdyiA952T95NLg" name="_ConsSpecReal">
<eAnnotations xmi:id="_1qti0qioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qti06ioEdyiA952T95NLg" key="documentation"
value="if self.base_Component.realization.supplier->exists(p |
p.getAppliedStereotypes()->exists(name = 'Participant')) &#xD;&#xA;then
self.base_Component.provided->includesAll&#xD;&#xA;(
&#xD;&#xA;&#x9;self.base_Component.realization.s upplier- >select(p |
p.getAppliedStereotypes()->exists(name = 'Participant')) &#x9;--Aca tengo un
Set(Property) (aunque solo se que son NamedElement) esterotipados
&lt;&lt;participant>>&#xD;&#xA;&#x9; ->iterate&#x9;( vr : NamedElement ; acc
: Set(Property) = Set{ } | if vr.oclIsKindOf(Property) then
acc->including(vr.oclAsType(Property)) else acc endif) --Aca tengo un
Set(Property) estereotipados
&lt;&lt;participant>>&#xD;&#xA;&#x9; ->iterate&#x9;(p : Property ; acu :
Set(Perfil_SOA::Participant) = Set{ } | if p.oclIsKindOf(Property) then
acu-> including(p.getAppliedStereotype('Perfil_SOA::Participant'). oclAsType(Perfil_SOA::Participant))
else acu endif) --Aca tengo un Set(Perfil_SOA::Participant)
&#xD;&#xA;&#x9; ->collect(part : Perfil_SOA::Participant |
part.specification)->asSet() --Aca tengo un Set(Class) con las
&quot;specifications&quot; de los
&quot;participants&quot;&#xD;&#xA;&#x9; ->iterate&#x9;(s : Class ; acum :
Set(Perfil_SOA::ServiceSpecification) = Set{ } | if s.oclIsKindOf(Class)
then
acum-> including(s.getAppliedStereotype('Perfil_SOA::ServiceSpecifi cation').oclAsType(Perfil_SOA::ServiceSpecification))
else acum endif) --Aca tengo un Set(Perfil_SOA::serviceSpecification)
&#xD;&#xA;&#x9; ->collect(spec : Perfil_SOA::ServiceSpecification |
spec.providedInterfaces)->asSet()&#xD;&#xA;)&#xD;&#xA;else false
endif&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;& amp;#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&#x D;&#xA;&#xD;&#xA;&#xD;&#xA;&#xD;& ;#xA;&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;& amp;#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&#x D;&#xA;&#xD;&#xA;&#xD;&#xA;&#xD;& ;#xA;&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;& amp;#xD;&#xA;&#xD;&#xA;&#xD;&#xA; "/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qti1KioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qti1aioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id="_1qti1qioEdyiA952T95NLg" name="_ConsPBValue">
<eAnnotations xmi:id="_1qti16ioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qti2KioEdyiA952T95NLg" key="documentation"
value="self.preferredBindings->size() >= 1 and
self.preferredBindings->forAll(not oclIsUndefined())
&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&# xD;&#xA; "/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qti2aioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qti2qioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id="_1qti26ioEdyiA952T95NLg" name="_ConsAttStereo">
<eAnnotations xmi:id="_1qti3KioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qti3aioEdyiA952T95NLg" key="documentation"
value="self.preferredBindings->forAll( pb |
pb.getAppliedStereotypes()->exists(name='binding') )&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qti3qioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qti36ioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id="_1qti4KioEdyiA952T95NLg"
name="_ConsRealization">
<eAnnotations xmi:id="_1qti4aioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qti4qioEdyiA952T95NLg" key="documentation"
value="self.base_Component.clientDependency->select(e|
e.oclIsKindOf(Realization)).client->notEmpty() &#xD;&#xA;and
self.base_Component.clientDependency->select(e|
e.oclIsKindOf(Realization)).supplier->forAll(c |
c.getAppliedStereotypes()->exists(name='serviceSpecification' or
name='participant'))&#xD;&#xA;&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qti46ioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qti5KioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_1qti5aioEdyiA952T95NLg" name="base_Component" ordered="false"
lowerBound="1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.0.0/UML#//Component"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_1qti5qioEdyiA952T95NLg" name="preferredBindings" ordered="false"
upperBound="-1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.0.0/UML#//Class"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type="ecore:EClass" xmi:id="_1qti56ioEdyiA952T95NLg"
name="ServiceContract">
<eAnnotations xmi:id="_1qti6KioEdyiA952T95NLg"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_1qtjzaioEdyiA952T95NLg"/>
<eOperations xmi:id="_1qti6aioEdyiA952T95NLg"
name="_ContParticStereo">
<eAnnotations xmi:id="_1qti6qioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qti66ioEdyiA952T95NLg" key="documentation"
value="self.base_Collaboration.allOwnedElements()->forAll(j |
j.getAppliedStereotypes()->exists(name = 'serviceProvider' or name =
'serviceConsumer' or name = 'participant'))&#xD;&#xA;&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qti7KioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qti7aioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eStructuralFeatures xmi:type="ecore:EAttribute"
xmi:id="_1qti7qioEdyiA952T95NLg" name="isStrict" ordered="false"
defaultValueLiteral="false">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_1qti76ioEdyiA952T95NLg" name="base_Collaboration" ordered="false"
lowerBound="1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.0.0/UML#//Collaboration"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type="ecore:EClass" xmi:id="_1qti8KioEdyiA952T95NLg"
name="ServiceSpecification">
<eAnnotations xmi:id="_1qti8aioEdyiA952T95NLg"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_1qtj1aioEdyiA952T95NLg"/>
<eOperations xmi:id="_1qti8qioEdyiA952T95NLg" name="_SpecAttStereo">
<eAnnotations xmi:id="_1qti86ioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qti9KioEdyiA952T95NLg" key="documentation"
value="self.providedInterfaces->forAll(si |
si.getAppliedStereotypes()->exists(name='serviceInterface')) &#xD;&#xA;and
self.requiredInterfaces->forAll(si |
si.getAppliedStereotypes()->exists(name='serviceInterface'))&#xD;&#xA; "/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qti9aioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qti9qioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id="_1qti96ioEdyiA952T95NLg"
name="_SpecServStereo">
<eAnnotations xmi:id="_1qti-KioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qti-aioEdyiA952T95NLg" key="documentation"
value="self.requiredServices->forAll(c |
c.getAppliedStereotypes()->exists(name='serviceSpecification'))&#xD;&#xA; "/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qti-qioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qti-6ioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eStructuralFeatures xmi:type="ecore:EAttribute"
xmi:id="_1qti_KioEdyiA952T95NLg" name="mustSupportBindings" ordered="false"
upperBound="-1" eType="_1qtjAaioEdyiA952T95NLg"/>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_1qti_aioEdyiA952T95NLg" name="base_Class" ordered="false"
lowerBound="1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.0.0/UML#//Class"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_1qti_qioEdyiA952T95NLg" name="providedInterfaces" ordered="false"
upperBound="-1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.0.0/UML#//Interface"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_1qti_6ioEdyiA952T95NLg" name="requiredInterfaces" ordered="false"
upperBound="-1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.0.0/UML#//Interface"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_1qtjAKioEdyiA952T95NLg" name="requiredServices" ordered="false"
upperBound="-1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.0.0/UML#//Class"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type="ecore:EEnum" xmi:id="_1qtjAaioEdyiA952T95NLg"
name="Bindings">
<eAnnotations xmi:id="_1qtjAqioEdyiA952T95NLg"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_1qtkQ6ioEdyiA952T95NLg"/>
<eLiterals xmi:id="_1qtjA6ioEdyiA952T95NLg" name="Soap-RPC"/>
<eLiterals xmi:id="_1qtjBKioEdyiA952T95NLg" name="Soap-document"
value="1"/>
<eLiterals xmi:id="_1qtjBaioEdyiA952T95NLg" name="HTTP GET/POST"
value="2"/>
</eClassifiers>
<eClassifiers xmi:type="ecore:EClass" xmi:id="_1qtjBqioEdyiA952T95NLg"
name="ServiceInteractionPoint">
<eAnnotations xmi:id="_1qtjB6ioEdyiA952T95NLg"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_1qtj56ioEdyiA952T95NLg"/>
<eOperations xmi:id="_1qtjCKioEdyiA952T95NLg"
name="_InteractClassStereo">
<eAnnotations xmi:id="_1qtjCaioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qtjCqioEdyiA952T95NLg" key="documentation"
value="self.base_Port.owner.getAppliedStereotypes()->forAll(name =
'serviceProvider' or name = 'serviceConsumer' or name =
'participant')&#xD;&#xA;&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qtjC6ioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qtjDKioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id="_1qtjDaioEdyiA952T95NLg"
name="_InteractInterfStereo">
<eAnnotations xmi:id="_1qtjDqioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qtjD6ioEdyiA952T95NLg" key="documentation"
value="if not self.base_Port.type.oclIsUndefined() then
self.base_Port.type.getAppliedStereotypes()->exists(name='serviceSpecification'
or name= 'serviceInterface') else false
endif&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;"/ >
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qtjEKioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qtjEaioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id="_1qtjEqioEdyiA952T95NLg"
name="_InteractIsService">
<eAnnotations xmi:id="_1qtjE6ioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qtjFKioEdyiA952T95NLg" key="documentation"
value="self.base_Port.isService&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qtjFaioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qtjFqioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id="_1qtjF6ioEdyiA952T95NLg"
name="_InteractProvReqStereo">
<eAnnotations xmi:id="_1qtjGKioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qtjGaioEdyiA952T95NLg" key="documentation"
value="self.base_Port.provided->forAll(pb |
pb.getAppliedStereotypes()->exists(name='serviceInterface'))&#xD;&#xA;or
self.base_Port.required->forAll(rb |
rb.getAppliedStereotypes()-> exists(name='serviceInterface'))&#xD;&#xA;&#xD;& amp;#xA; "/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qtjGqioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qtjG6ioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id="_1qtjHKioEdyiA952T95NLg"
name="_InteractMinInterface">
<eAnnotations xmi:id="_1qtjHaioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qtjHqioEdyiA952T95NLg" key="documentation"
value="let prov : Integer = self.base_Port.provided->size()&#xD;&#xA;in let
req : Integer = self.base_Port.required->size()&#xD;&#xA;in prov + req >=
1&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qtjH6ioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qtjIKioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id="_1qtjIaioEdyiA952T95NLg"
name="_InteractSupBind">
<eAnnotations xmi:id="_1qtjIqioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qtjI6ioEdyiA952T95NLg" key="documentation"
value="self.supportedBindings->forAll(b |
b.getAppliedStereotypes()->exists(name='binding'))&#xD;&#xA; "/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qtjJKioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qtjJaioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_1qtjJqioEdyiA952T95NLg" name="base_Port" ordered="false"
lowerBound="1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.0.0/UML#//Port"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_1qtjJ6ioEdyiA952T95NLg" name="supportedBindings" ordered="false"
lowerBound="1" upperBound="-1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.0.0/UML#//Class"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type="ecore:EClass" xmi:id="_1qtjKKioEdyiA952T95NLg"
name="ServiceInterface">
<eAnnotations xmi:id="_1qtjKaioEdyiA952T95NLg"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_1qtj-KioEdyiA952T95NLg"/>
<eOperations xmi:id="_1qtjKqioEdyiA952T95NLg" name="_InterfNoProp">
<eAnnotations xmi:id="_1qtjK6ioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qtjLKioEdyiA952T95NLg" key="documentation"
value="self.base_Interface.getAllAttributes()-> isEmpty()&#xD;&#xA;&#xD;&#xA;&#xD;&# xA; "/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qtjLaioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qtjLqioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id="_1qtjL6ioEdyiA952T95NLg"
name="_InterfPublicOps">
<eAnnotations xmi:id="_1qtjMKioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qtjMaioEdyiA952T95NLg" key="documentation"
value="self.base_Interface.getAllOperations()->forAll(p | p.visibility =
VisibilityKind::public)&#xD;&#xA;&#xD;&#xA;"/ >
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qtjMqioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qtjM6ioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_1qtjNKioEdyiA952T95NLg" name="base_Interface" ordered="false"
lowerBound="1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.0.0/UML#//Interface"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type="ecore:EClass" xmi:id="_1qtjNaioEdyiA952T95NLg"
name="Message">
<eAnnotations xmi:id="_1qtjNqioEdyiA952T95NLg"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_1qtj_qioEdyiA952T95NLg"/>
<eOperations xmi:id="_1qtjN6ioEdyiA952T95NLg" name="_MessNoOp">
<eAnnotations xmi:id="_1qtjOKioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qtjOaioEdyiA952T95NLg" key="documentation"
value="self.base_Class.getAllOperations()->isEmpty()&#xD;&#xA; "/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qtjOqioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qtjO6ioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id="_1qtjPKioEdyiA952T95NLg" name="_MessPubAttr">
<eAnnotations xmi:id="_1qtjPaioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qtjPqioEdyiA952T95NLg" key="documentation"
value="self.base_Class.getAllAttributes()->forAll(visibility =
uml::VisibilityKind::public )&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qtjP6ioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qtjQKioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eStructuralFeatures xmi:type="ecore:EAttribute"
xmi:id="_1qtjQaioEdyiA952T95NLg" name="encoding" ordered="false"
lowerBound="1" eType="_1qtjRKioEdyiA952T95NLg"/>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_1qtjQqioEdyiA952T95NLg" name="attachment" ordered="false"
upperBound="-1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.0.0/UML#//Property"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_1qtjQ6ioEdyiA952T95NLg" name="base_Class" ordered="false"
lowerBound="1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.0.0/UML#//Class"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type="ecore:EEnum" xmi:id="_1qtjRKioEdyiA952T95NLg"
name="Encodings">
<eAnnotations xmi:id="_1qtjRaioEdyiA952T95NLg"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_1qtkf6ioEdyiA952T95NLg"/>
<eLiterals xmi:id="_1qtjRqioEdyiA952T95NLg" name="ASN.1"/>
<eLiterals xmi:id="_1qtjR6ioEdyiA952T95NLg" name="Doc-literal"
value="1"/>
<eLiterals xmi:id="_1qtjSKioEdyiA952T95NLg" name="SOAP-RPC"
value="2"/>
</eClassifiers>
<eClassifiers xmi:type="ecore:EClass" xmi:id="_1qtjSaioEdyiA952T95NLg"
name="Attachment">
<eAnnotations xmi:id="_1qtjSqioEdyiA952T95NLg"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_1qtkCKioEdyiA952T95NLg"/>
<eOperations xmi:id="_1qtjS6ioEdyiA952T95NLg"
name="_AttOwnerStereo">
<eAnnotations xmi:id="_1qtjTKioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qtjTaioEdyiA952T95NLg" key="documentation"
value="self.base_Property.owner.getAppliedStereotypes()->exists(name =
'message')&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qtjTqioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qtjT6ioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eStructuralFeatures xmi:type="ecore:EAttribute"
xmi:id="_1qtjUKioEdyiA952T95NLg" name="mimeType" ordered="false"
lowerBound="1" eType="_1qtjUqioEdyiA952T95NLg"/>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_1qtjUaioEdyiA952T95NLg" name="base_Property" ordered="false"
lowerBound="1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.0.0/UML#//Property"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type="ecore:EEnum" xmi:id="_1qtjUqioEdyiA952T95NLg"
name="MimeTypes">
<eAnnotations xmi:id="_1qtjU6ioEdyiA952T95NLg"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_1qtkWKioEdyiA952T95NLg"/>
<eLiterals xmi:id="_1qtjVKioEdyiA952T95NLg" name="x-zip"/>
<eLiterals xmi:id="_1qtjVaioEdyiA952T95NLg"
name="x-www-form-urlencoded" value="1"/>
<eLiterals xmi:id="_1qtjVqioEdyiA952T95NLg" name="x-ustar"
value="2"/>
<eLiterals xmi:id="_1qtjV6ioEdyiA952T95NLg" name="x-tar" value="3"/>
<eLiterals xmi:id="_1qtjWKioEdyiA952T95NLg" name="x-gzip"
value="4"/>
<eLiterals xmi:id="_1qtjWaioEdyiA952T95NLg" name="report"
value="5"/>
<eLiterals xmi:id="_1qtjWqioEdyiA952T95NLg" name="voice-message"
value="6"/>
<eLiterals xmi:id="_1qtjW6ioEdyiA952T95NLg" name="related"
value="7"/>
<eLiterals xmi:id="_1qtjXKioEdyiA952T95NLg" name="signed"
value="8"/>
<eLiterals xmi:id="_1qtjXaioEdyiA952T95NLg" name="parallel"
value="9"/>
<eLiterals xmi:id="_1qtjXqioEdyiA952T95NLg" name="x-mixed-replace"
value="10"/>
<eLiterals xmi:id="_1qtjX6ioEdyiA952T95NLg" name="mixed"
value="11"/>
<eLiterals xmi:id="_1qtjYKioEdyiA952T95NLg" name="header-set"
value="12"/>
<eLiterals xmi:id="_1qtjYaioEdyiA952T95NLg" name="form-data"
value="13"/>
<eLiterals xmi:id="_1qtjYqioEdyiA952T95NLg" name="encrypted"
value="14"/>
<eLiterals xmi:id="_1qtjY6ioEdyiA952T95NLg" name="digest"
value="15"/>
<eLiterals xmi:id="_1qtjZKioEdyiA952T95NLg" name="appledouble"
value="16"/>
<eLiterals xmi:id="_1qtjZaioEdyiA952T95NLg" name="alternative"
value="17"/>
<eLiterals xmi:id="_1qtjZqioEdyiA952T95NLg" name="xml" value="18"/>
</eClassifiers>
<eClassifiers xmi:type="ecore:EClass" xmi:id="_1qtjZ6ioEdyiA952T95NLg"
name="Binding">
<eAnnotations xmi:id="_1qtjaKioEdyiA952T95NLg"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_1qtkD6ioEdyiA952T95NLg"/>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_1qtjaaioEdyiA952T95NLg" name="base_Class" ordered="false"
lowerBound="1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.0.0/UML#//Class"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type="ecore:EClass" xmi:id="_1qtjaqioEdyiA952T95NLg"
name="Participant">
<eAnnotations xmi:id="_1qtja6ioEdyiA952T95NLg"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_1qtkEaioEdyiA952T95NLg"/>
<eOperations xmi:id="_1qtjbKioEdyiA952T95NLg"
name="_PartSpecStereo">
<eAnnotations xmi:id="_1qtjbaioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qtjbqioEdyiA952T95NLg" key="documentation"
value="self.specification->forAll(s |
s.getAppliedStereotypes()->exists(name='serviceSpecification')) "/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qtjb6ioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qtjcKioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id="_1qtjcaioEdyiA952T95NLg"
name=
Re: Possible EcoreImporter bug. [message #625718 is a reply to message #476742] Wed, 12 December 2007 18:20 Go to previous message
james bruck is currently offline james bruckFriend
Messages: 1724
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.

------=_NextPart_000_005A_01C83CC1.D3AC0580
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hi Juan Pedro,

If you are in a rush to figure this one out I would suggest to first =
start by creating a sample Ecore representation of the model you expect =
as a result of converting from UML to Ecore. Then convert that Ecore =
representation to UML. Converting from Ecore to UML will result in =
all the necessary stereotypes etc. required in the UML representation. =


Doing the conversion from Ecore to UML will give you insight into what =
structure is required in your orginal UML model.

Cheers,
- James.




"Juan Pedro Silva" <jpsilvagallino@gmail.com> wrote in message =
news:fjolq8$8i6$1@build.eclipse.org...
Hello everyone.
I am currently working on a project for which I perform stereotyped =
UML to Ecore transformations, and suddenly came upon an issue which I =
believe may be a bug on the EcoreImporter.

The situation is the following one: I have a UML model in which I have =
declared a couple of stereotyped UML::DataType clases. I use those =
classes as input and return parameters of an operation declared =
elsewhere. I realized, however, that those DataType classes are not =
generated into the genmodel (or the ecore, for that matters) when doing =
the exportation.

I tried the same exact model using simple stereotyped classes instead =
of DataType, and everything worked fine!!.

I am really sorry I cannot further inspect the code to figure out the =
precise problem, but I'm on a deadline for Friday and have no spare =
time.
However, I'm attaching both input models (using datatypes or classes), =
the applied profile, and the two resulting genmodels for your =
inspection.
I'm running eclipse 3.2.2 with uml2 2.0.3 and EMF 2.2.3.

Regards,
Juan Pedro



------------------------------------------------------------ -------------=
-----


<?xml version=3D"1.0" encoding=3D"UTF-8"?>
<uml:Profile xmi:version=3D"2.1" =
xmlns:xmi=3D"http://schema.omg.org/spec/XMI/2.1" =
xmlns:ecore=3D"http://www.eclipse.org/emf/2002/Ecore" =
xmlns:uml=3D"http://www.eclipse.org/uml2/2.0.0/UML" =
xmi:id=3D"_1qtiqqioEdyiA952T95NLg" name=3D"Perfil_SOA" =
metamodelReference=3D"_1qtjrqioEdyiA952T95NLg">
<eAnnotations xmi:id=3D"_1qtiq6ioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/uml2/2.0.0/UML">
<contents xmi:type=3D"ecore:EPackage" =
xmi:id=3D"_1qtirKioEdyiA952T95NLg" name=3D"Perfil_SOA" =
nsURI=3D"http:///schemas/Perfil_SOA/_uajF0KioEdyiA952T95NLg/97" =
nsPrefix=3D"Perfil_SOA">
<eClassifiers xmi:type=3D"ecore:EClass" =
xmi:id=3D"_1qtiraioEdyiA952T95NLg" name=3D"ServiceProvider">
<eAnnotations xmi:id=3D"_1qtirqioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/uml2/2.0.0/UML" =
references=3D"_1qtjr6ioEdyiA952T95NLg"/>
<eOperations xmi:id=3D"_1qtir6ioEdyiA952T95NLg" =
name=3D"_ProvNoProp">
<eAnnotations xmi:id=3D"_1qtisKioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtisaioEdyiA952T95NLg" =
key=3D"documentation" =
value=3D"self.base_Component.getAllAttributes()->isEmpty()&#xD;&#xA; "/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtisqioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtis6ioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qtitKioEdyiA952T95NLg" =
name=3D"_ProvNoOp">
<eAnnotations xmi:id=3D"_1qtitaioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtitqioEdyiA952T95NLg" =
key=3D"documentation" =
value=3D"self.base_Component.getAllOperations()->isEmpty() "/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtit6ioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtiuKioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qtiuaioEdyiA952T95NLg" =
name=3D"_ProvNoBeh">
<eAnnotations xmi:id=3D"_1qtiuqioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtiu6ioEdyiA952T95NLg" =
key=3D"documentation" =
value=3D"self.base_Component.ownedBehavior->isEmpty()"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtivKioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtivaioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qtivqioEdyiA952T95NLg" =
name=3D"_ProvPortStereo">
<eAnnotations xmi:id=3D"_1qtiv6ioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtiwKioEdyiA952T95NLg" =
key=3D"documentation" value=3D"self.base_Component.ownedPort->forAll(j | =
j.getAppliedStereotypes()->forAll(name=3D'serviceInteractionPoint')) =
&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtiwaioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtiwqioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qtiw6ioEdyiA952T95NLg" =
name=3D"_ProvAttStereo">
<eAnnotations xmi:id=3D"_1qtixKioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtixaioEdyiA952T95NLg" =
key=3D"documentation" value=3D"self.allowedBindings->forAll( c | =
c.getAppliedStereotypes()->exists(name=3D'binding') )&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtixqioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtix6ioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qtiyKioEdyiA952T95NLg" =
name=3D"_ProvRealization">
<eAnnotations xmi:id=3D"_1qtiyaioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtiyqioEdyiA952T95NLg" =
key=3D"documentation" =
value=3D"self.base_Component.clientDependency->select(e| =
e.oclIsKindOf(Realization)).client->notEmpty() &#xD;&#xA;and =
self.base_Component.clientDependency->select(e| =
e.oclIsKindOf(Realization)).supplier->forAll(c | =
c.getAppliedStereotypes()->exists(name=3D'serviceSpecification' or =
name=3D'participant'))&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtiy6ioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtizKioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eStructuralFeatures xmi:type=3D"ecore:EReference" =
xmi:id=3D"_1qtizaioEdyiA952T95NLg" name=3D"base_Component" =
ordered=3D"false" lowerBound=3D"1">
<eType xmi:type=3D"ecore:EClass" =
href=3D"http://www.eclipse.org/uml2/2.0.0/UML#//Component"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type=3D"ecore:EReference" =
xmi:id=3D"_1qtizqioEdyiA952T95NLg" name=3D"allowedBindings" =
ordered=3D"false" lowerBound=3D"1" upperBound=3D"-1">
<eType xmi:type=3D"ecore:EClass" =
href=3D"http://www.eclipse.org/uml2/2.0.0/UML#//Class"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type=3D"ecore:EClass" =
xmi:id=3D"_1qtiz6ioEdyiA952T95NLg" name=3D"ServiceConsumer">
<eAnnotations xmi:id=3D"_1qti0KioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/uml2/2.0.0/UML" =
references=3D"_1qtjwKioEdyiA952T95NLg"/>
<eOperations xmi:id=3D"_1qti0aioEdyiA952T95NLg" =
name=3D"_ConsSpecReal">
<eAnnotations xmi:id=3D"_1qti0qioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qti06ioEdyiA952T95NLg" =
key=3D"documentation" value=3D"if =
self.base_Component.realization.supplier->exists(p | =
p.getAppliedStereotypes()->exists(name =3D 'Participant')) =
&#xD;&#xA;then self.base_Component.provided->includesAll&#xD;&#xA;( =
&#xD;&#xA;&#x9;self.base_Component.realization.s upplier- >select(p | =
p.getAppliedStereotypes()->exists(name =3D 'Participant')) &#x9;--Aca =
tengo un Set(Property) (aunque solo se que son NamedElement) =
esterotipados &lt;&lt;participant>>&#xD;&#xA;&#x9; ->iterate&#x9;( vr : =
NamedElement ; acc : Set(Property) =3D Set{ } | if =
vr.oclIsKindOf(Property) then acc->including(vr.oclAsType(Property)) =
else acc endif) --Aca tengo un Set(Property) estereotipados =
&lt;&lt;participant>>&#xD;&#xA;&#x9; ->iterate&#x9;(p : Property ; acu : =
Set(Perfil_SOA::Participant) =3D Set{ } | if p.oclIsKindOf(Property) =
then =
acu-> including(p.getAppliedStereotype('Perfil_SOA::Participant'). oclAsTyp=
e(Perfil_SOA::Participant)) else acu endif) --Aca tengo un =
Set(Perfil_SOA::Participant) &#xD;&#xA;&#x9; ->collect(part : =
Perfil_SOA::Participant | part.specification)->asSet() --Aca tengo un =
Set(Class) con las &quot;specifications&quot; de los =
&quot;participants&quot;&#xD;&#xA;&#x9; ->iterate&#x9;(s : Class ; acum =
: Set(Perfil_SOA::ServiceSpecification) =3D Set{ } | if =
s.oclIsKindOf(Class) then =
acum-> including(s.getAppliedStereotype('Perfil_SOA::ServiceSpecifi cation'=
).oclAsType(Perfil_SOA::ServiceSpecification)) else acum endif) --Aca =
tengo un Set(Perfil_SOA::serviceSpecification) &#xD;&#xA;&#x9; =
->collect(spec : Perfil_SOA::ServiceSpecification | =
spec.providedInterfaces)->asSet()&#xD;&#xA;)&#xD;&#xA;else false =
endif&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;& amp;#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&#x D;&#x=
A;&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;& ;#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&#xD;& amp;#xA;&=
#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&#xD;&a mp;#xA;&#xD;&#xA;&#xD;&#xA;&#xD;&#xA ;&#xD=
;&#xA;&#xD;&#xA;&#xD;&#xA;&#xD;& #xA;&#xD;&#xA; "/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qti1KioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qti1aioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qti1qioEdyiA952T95NLg" =
name=3D"_ConsPBValue">
<eAnnotations xmi:id=3D"_1qti16ioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qti2KioEdyiA952T95NLg" =
key=3D"documentation" value=3D"self.preferredBindings->size() >=3D 1 and =
self.preferredBindings->forAll(not oclIsUndefined()) =
&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&# xD;&#xA; "/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qti2aioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qti2qioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qti26ioEdyiA952T95NLg" =
name=3D"_ConsAttStereo">
<eAnnotations xmi:id=3D"_1qti3KioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qti3aioEdyiA952T95NLg" =
key=3D"documentation" value=3D"self.preferredBindings->forAll( pb | =
pb.getAppliedStereotypes()->exists(name=3D'binding') )&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qti3qioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qti36ioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qti4KioEdyiA952T95NLg" =
name=3D"_ConsRealization">
<eAnnotations xmi:id=3D"_1qti4aioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qti4qioEdyiA952T95NLg" =
key=3D"documentation" =
value=3D"self.base_Component.clientDependency->select(e| =
e.oclIsKindOf(Realization)).client->notEmpty() &#xD;&#xA;and =
self.base_Component.clientDependency->select(e| =
e.oclIsKindOf(Realization)).supplier->forAll(c | =
c.getAppliedStereotypes()->exists(name=3D'serviceSpecification' or =
name=3D'participant'))&#xD;&#xA;&#xD;&#xA;"/ >
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qti46ioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qti5KioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eStructuralFeatures xmi:type=3D"ecore:EReference" =
xmi:id=3D"_1qti5aioEdyiA952T95NLg" name=3D"base_Component" =
ordered=3D"false" lowerBound=3D"1">
<eType xmi:type=3D"ecore:EClass" =
href=3D"http://www.eclipse.org/uml2/2.0.0/UML#//Component"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type=3D"ecore:EReference" =
xmi:id=3D"_1qti5qioEdyiA952T95NLg" name=3D"preferredBindings" =
ordered=3D"false" upperBound=3D"-1">
<eType xmi:type=3D"ecore:EClass" =
href=3D"http://www.eclipse.org/uml2/2.0.0/UML#//Class"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type=3D"ecore:EClass" =
xmi:id=3D"_1qti56ioEdyiA952T95NLg" name=3D"ServiceContract">
<eAnnotations xmi:id=3D"_1qti6KioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/uml2/2.0.0/UML" =
references=3D"_1qtjzaioEdyiA952T95NLg"/>
<eOperations xmi:id=3D"_1qti6aioEdyiA952T95NLg" =
name=3D"_ContParticStereo">
<eAnnotations xmi:id=3D"_1qti6qioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qti66ioEdyiA952T95NLg" =
key=3D"documentation" =
value=3D"self.base_Collaboration.allOwnedElements()->forAll(j | =
j.getAppliedStereotypes()->exists(name =3D 'serviceProvider' or name =
=3D 'serviceConsumer' or name =3D 'participant'))&#xD;&#xA;&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qti7KioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qti7aioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eStructuralFeatures xmi:type=3D"ecore:EAttribute" =
xmi:id=3D"_1qti7qioEdyiA952T95NLg" name=3D"isStrict" ordered=3D"false" =
defaultValueLiteral=3D"false">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type=3D"ecore:EReference" =
xmi:id=3D"_1qti76ioEdyiA952T95NLg" name=3D"base_Collaboration" =
ordered=3D"false" lowerBound=3D"1">
<eType xmi:type=3D"ecore:EClass" =
href=3D"http://www.eclipse.org/uml2/2.0.0/UML#//Collaboration"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type=3D"ecore:EClass" =
xmi:id=3D"_1qti8KioEdyiA952T95NLg" name=3D"ServiceSpecification">
<eAnnotations xmi:id=3D"_1qti8aioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/uml2/2.0.0/UML" =
references=3D"_1qtj1aioEdyiA952T95NLg"/>
<eOperations xmi:id=3D"_1qti8qioEdyiA952T95NLg" =
name=3D"_SpecAttStereo">
<eAnnotations xmi:id=3D"_1qti86ioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qti9KioEdyiA952T95NLg" =
key=3D"documentation" value=3D"self.providedInterfaces->forAll(si | =
si.getAppliedStereotypes()->exists(name=3D'serviceInterface')) =
&#xD;&#xA;and self.requiredInterfaces->forAll(si | =
si.getAppliedStereotypes()->exists(name=3D'serviceInterface'))&#xD;&#xA; "=
/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qti9aioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qti9qioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qti96ioEdyiA952T95NLg" =
name=3D"_SpecServStereo">
<eAnnotations xmi:id=3D"_1qti-KioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qti-aioEdyiA952T95NLg" =
key=3D"documentation" value=3D"self.requiredServices->forAll(c | =
c.getAppliedStereotypes()->exists(name=3D'serviceSpecification'))&#xD;&#x=
A;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qti-qioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qti-6ioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eStructuralFeatures xmi:type=3D"ecore:EAttribute" =
xmi:id=3D"_1qti_KioEdyiA952T95NLg" name=3D"mustSupportBindings" =
ordered=3D"false" upperBound=3D"-1" eType=3D"_1qtjAaioEdyiA952T95NLg"/>
<eStructuralFeatures xmi:type=3D"ecore:EReference" =
xmi:id=3D"_1qti_aioEdyiA952T95NLg" name=3D"base_Class" ordered=3D"false" =
lowerBound=3D"1">
<eType xmi:type=3D"ecore:EClass" =
href=3D"http://www.eclipse.org/uml2/2.0.0/UML#//Class"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type=3D"ecore:EReference" =
xmi:id=3D"_1qti_qioEdyiA952T95NLg" name=3D"providedInterfaces" =
ordered=3D"false" upperBound=3D"-1">
<eType xmi:type=3D"ecore:EClass" =
href=3D"http://www.eclipse.org/uml2/2.0.0/UML#//Interface"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type=3D"ecore:EReference" =
xmi:id=3D"_1qti_6ioEdyiA952T95NLg" name=3D"requiredInterfaces" =
ordered=3D"false" upperBound=3D"-1">
<eType xmi:type=3D"ecore:EClass" =
href=3D"http://www.eclipse.org/uml2/2.0.0/UML#//Interface"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type=3D"ecore:EReference" =
xmi:id=3D"_1qtjAKioEdyiA952T95NLg" name=3D"requiredServices" =
ordered=3D"false" upperBound=3D"-1">
<eType xmi:type=3D"ecore:EClass" =
href=3D"http://www.eclipse.org/uml2/2.0.0/UML#//Class"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type=3D"ecore:EEnum" =
xmi:id=3D"_1qtjAaioEdyiA952T95NLg" name=3D"Bindings">
<eAnnotations xmi:id=3D"_1qtjAqioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/uml2/2.0.0/UML" =
references=3D"_1qtkQ6ioEdyiA952T95NLg"/>
<eLiterals xmi:id=3D"_1qtjA6ioEdyiA952T95NLg" =
name=3D"Soap-RPC"/>
<eLiterals xmi:id=3D"_1qtjBKioEdyiA952T95NLg" =
name=3D"Soap-document" value=3D"1"/>
<eLiterals xmi:id=3D"_1qtjBaioEdyiA952T95NLg" name=3D"HTTP =
GET/POST" value=3D"2"/>
</eClassifiers>
<eClassifiers xmi:type=3D"ecore:EClass" =
xmi:id=3D"_1qtjBqioEdyiA952T95NLg" name=3D"ServiceInteractionPoint">
<eAnnotations xmi:id=3D"_1qtjB6ioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/uml2/2.0.0/UML" =
references=3D"_1qtj56ioEdyiA952T95NLg"/>
<eOperations xmi:id=3D"_1qtjCKioEdyiA952T95NLg" =
name=3D"_InteractClassStereo">
<eAnnotations xmi:id=3D"_1qtjCaioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtjCqioEdyiA952T95NLg" =
key=3D"documentation" =
value=3D"self.base_Port.owner.getAppliedStereotypes()->forAll(name =3D =
'serviceProvider' or name =3D 'serviceConsumer' or name =3D =
'participant')&#xD;&#xA;&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtjC6ioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtjDKioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qtjDaioEdyiA952T95NLg" =
name=3D"_InteractInterfStereo">
<eAnnotations xmi:id=3D"_1qtjDqioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtjD6ioEdyiA952T95NLg" =
key=3D"documentation" value=3D"if not =
self.base_Port.type.oclIsUndefined() then =
self.base_Port.type.getAppliedStereotypes()->exists(name=3D'serviceSpecif=
ication' or name=3D 'serviceInterface') else false =
endif&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;"/ >
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtjEKioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtjEaioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qtjEqioEdyiA952T95NLg" =
name=3D"_InteractIsService">
<eAnnotations xmi:id=3D"_1qtjE6ioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtjFKioEdyiA952T95NLg" =
key=3D"documentation" value=3D"self.base_Port.isService&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtjFaioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtjFqioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qtjF6ioEdyiA952T95NLg" =
name=3D"_InteractProvReqStereo">
<eAnnotations xmi:id=3D"_1qtjGKioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtjGaioEdyiA952T95NLg" =
key=3D"documentation" value=3D"self.base_Port.provided->forAll(pb | =
pb.getAppliedStereotypes()->exists(name=3D'serviceInterface'))&#xD;&#xA;o=
r self.base_Port.required->forAll(rb | =
rb.getAppliedStereotypes()->exists(name=3D'serviceInterface'))&#xD;&#xA;&=
#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtjGqioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtjG6ioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qtjHKioEdyiA952T95NLg" =
name=3D"_InteractMinInterface">
<eAnnotations xmi:id=3D"_1qtjHaioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtjHqioEdyiA952T95NLg" =
key=3D"documentation" value=3D"let prov : Integer =3D =
self.base_Port.provided->size()&#xD;&#xA;in let req : Integer =3D =
self.base_Port.required->size()&#xD;&#xA;in prov + req >=3D =
1&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtjH6ioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtjIKioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qtjIaioEdyiA952T95NLg" =
name=3D"_InteractSupBind">
<eAnnotations xmi:id=3D"_1qtjIqioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtjI6ioEdyiA952T95NLg" =
key=3D"documentation" value=3D"self.supportedBindings->forAll(b | =
b.getAppliedStereotypes()->exists(name=3D'binding'))&#xD;&#xA; "/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtjJKioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtjJaioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eStructuralFeatures xmi:type=3D"ecore:EReference" =
xmi:id=3D"_1qtjJqioEdyiA952T95NLg" name=3D"base_Port" ordered=3D"false" =
lowerBound=3D"1">
<eType xmi:type=3D"ecore:EClass" =
href=3D"http://www.eclipse.org/uml2/2.0.0/UML#//Port"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type=3D"ecore:EReference" =
xmi:id=3D"_1qtjJ6ioEdyiA952T95NLg" name=3D"supportedBindings" =
ordered=3D"false" lowerBound=3D"1" upperBound=3D"-1">
<eType xmi:type=3D"ecore:EClass" =
href=3D"http://www.eclipse.org/uml2/2.0.0/UML#//Class"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type=3D"ecore:EClass" =
xmi:id=3D"_1qtjKKioEdyiA952T95NLg" name=3D"ServiceInterface">
<eAnnotations xmi:id=3D"_1qtjKaioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/uml2/2.0.0/UML" =
references=3D"_1qtj-KioEdyiA952T95NLg"/>
<eOperations xmi:id=3D"_1qtjKqioEdyiA952T95NLg" =
name=3D"_InterfNoProp">
<eAnnotations xmi:id=3D"_1qtjK6ioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtjLKioEdyiA952T95NLg" =
key=3D"documentation" =
value=3D"self.base_Interface.getAllAttributes()->isEmpty()&#xD;&#xA;&#xD;=
&#xA;&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtjLaioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtjLqioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qtjL6ioEdyiA952T95NLg" =
name=3D"_InterfPublicOps">
<eAnnotations xmi:id=3D"_1qtjMKioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtjMaioEdyiA952T95NLg" =
key=3D"documentation" =
value=3D"self.base_Interface.getAllOperations()->forAll(p | p.visibility =
=3D VisibilityKind::public)&#xD;&#xA;&#xD;&#xA;"/ >
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtjMqioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtjM6ioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eStructuralFeatures xmi:type=3D"ecore:EReference" =
xmi:id=3D"_1qtjNKioEdyiA952T95NLg" name=3D"base_Interface" =
ordered=3D"false" lowerBound=3D"1">
<eType xmi:type=3D"ecore:EClass" =
href=3D"http://www.eclipse.org/uml2/2.0.0/UML#//Interface"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type=3D"ecore:EClass" =
xmi:id=3D"_1qtjNaioEdyiA952T95NLg" name=3D"Message">
<eAnnotations xmi:id=3D"_1qtjNqioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/uml2/2.0.0/UML" =
references=3D"_1qtj_qioEdyiA952T95NLg"/>
<eOperations xmi:id=3D"_1qtjN6ioEdyiA952T95NLg" =
name=3D"_MessNoOp">
<eAnnotations xmi:id=3D"_1qtjOKioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtjOaioEdyiA952T95NLg" =
key=3D"documentation" =
value=3D"self.base_Class.getAllOperations()->isEmpty()&#xD;&#xA; "/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtjOqioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtjO6ioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id=3D"_1qtjPKioEdyiA952T95NLg" =
name=3D"_MessPubAttr">
<eAnnotations xmi:id=3D"_1qtjPaioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtjPqioEdyiA952T95NLg" =
key=3D"documentation" =
value=3D"self.base_Class.getAllAttributes()->forAll(visibility =3D =
uml::VisibilityKind::public )&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtjP6ioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtjQKioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eStructuralFeatures xmi:type=3D"ecore:EAttribute" =
xmi:id=3D"_1qtjQaioEdyiA952T95NLg" name=3D"encoding" ordered=3D"false" =
lowerBound=3D"1" eType=3D"_1qtjRKioEdyiA952T95NLg"/>
<eStructuralFeatures xmi:type=3D"ecore:EReference" =
xmi:id=3D"_1qtjQqioEdyiA952T95NLg" name=3D"attachment" ordered=3D"false" =
upperBound=3D"-1">
<eType xmi:type=3D"ecore:EClass" =
href=3D"http://www.eclipse.org/uml2/2.0.0/UML#//Property"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type=3D"ecore:EReference" =
xmi:id=3D"_1qtjQ6ioEdyiA952T95NLg" name=3D"base_Class" ordered=3D"false" =
lowerBound=3D"1">
<eType xmi:type=3D"ecore:EClass" =
href=3D"http://www.eclipse.org/uml2/2.0.0/UML#//Class"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type=3D"ecore:EEnum" =
xmi:id=3D"_1qtjRKioEdyiA952T95NLg" name=3D"Encodings">
<eAnnotations xmi:id=3D"_1qtjRaioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/uml2/2.0.0/UML" =
references=3D"_1qtkf6ioEdyiA952T95NLg"/>
<eLiterals xmi:id=3D"_1qtjRqioEdyiA952T95NLg" name=3D"ASN.1"/>
<eLiterals xmi:id=3D"_1qtjR6ioEdyiA952T95NLg" =
name=3D"Doc-literal" value=3D"1"/>
<eLiterals xmi:id=3D"_1qtjSKioEdyiA952T95NLg" =
name=3D"SOAP-RPC" value=3D"2"/>
</eClassifiers>
<eClassifiers xmi:type=3D"ecore:EClass" =
xmi:id=3D"_1qtjSaioEdyiA952T95NLg" name=3D"Attachment">
<eAnnotations xmi:id=3D"_1qtjSqioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/uml2/2.0.0/UML" =
references=3D"_1qtkCKioEdyiA952T95NLg"/>
<eOperations xmi:id=3D"_1qtjS6ioEdyiA952T95NLg" =
name=3D"_AttOwnerStereo">
<eAnnotations xmi:id=3D"_1qtjTKioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id=3D"_1qtjTaioEdyiA952T95NLg" =
key=3D"documentation" =
value=3D"self.base_Property.owner.getAppliedStereotypes()->exists(name =
=3D 'message')&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id=3D"_1qtjTqioEdyiA952T95NLg" =
name=3D"diagnostics">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id=3D"_1qtjT6ioEdyiA952T95NLg" =
name=3D"context">
<eType xmi:type=3D"ecore:EDataType" =
href=3D"http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eStructuralFeatures xmi:type=3D"ecore:EAttribute" =
xmi:id=3D"_1qtjUKioEdyiA952T95NLg" name=3D"mimeType" ordered=3D"false" =
lowerBound=3D"1" eType=3D"_1qtjUqioEdyiA952T95NLg"/>
<eStructuralFeatures xmi:type=3D"ecore:EReference" =
xmi:id=3D"_1qtjUaioEdyiA952T95NLg" name=3D"base_Property" =
ordered=3D"false" lowerBound=3D"1">
<eType xmi:type=3D"ecore:EClass" =
href=3D"http://www.eclipse.org/uml2/2.0.0/UML#//Property"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type=3D"ecore:EEnum" =
xmi:id=3D"_1qtjUqioEdyiA952T95NLg" name=3D"MimeTypes">
<eAnnotations xmi:id=3D"_1qtjU6ioEdyiA952T95NLg" =
source=3D"http://www.eclipse.org/uml2/2.0.0/UML" =
references=3D"_1qtkWKioEdyiA952T95NLg"/>
<eLiterals xmi:id=3D"_1qtjVKioEdyiA952T95NLg" name=3D"x-zip"/>
<eLiterals xmi:id=3D"_1qtjVaioEdyiA952T95NLg" =
name=3D"x-www-form-urlencoded" value=3D"1"/>
<eLiterals xmi:id=3D"_1qtjVqioEdyiA952T95NLg" name=3D"x-ustar" =
value=3D"2"/>
<eLiterals xmi:id=3D"_1qtjV6ioEdyiA952T95NLg" name=3D"x-tar" =
value=3D"3"/>
<eLiterals xmi:id=3D"_1qtjWKioEdyiA952T95NLg" name=3D"x-gzip" =
value=3D"4"/>
<eLiterals xmi:id=3D"_1qtjWaioEdyiA952T95NLg" name=3D"report" =
value=3D"5"/>
<eLiterals xmi:id=3D"_1qtjWqioEdyiA952T95NLg" =
name=3D"voice-message" value=3D"6"/>
<eLiterals xmi:id=3D"_1qtjW6ioEdyiA952T95NLg" name=3D"related" =
value=3D"7"/>
<eLiterals xmi:id=3D"_1qtjXKioEdyiA952T95NLg" name=3D"signed" =
value=3D"8"/>
<eLiterals xmi:id=3D"_1qtjXaioEdyiA952T95NLg" =
name=3D"parallel" value=3D"9"/>
<eLiterals xmi:id=3D"_1qtjXqioEdyiA952T95NLg" =
name=3D"x-mixed-replace" value=3D"10"/>
<eLiterals xmi:id=3D"_1qtjX6ioEdyiA952T95NLg" name=3D"mixed" =
value=3D"11"/>
<eLiterals xmi:id=3D"_1qtjYKioE
Re: Possible EcoreImporter bug. [message #625720 is a reply to message #476742] Wed, 12 December 2007 18:50 Go to previous message
Kenn Hussey is currently offline Kenn HusseyFriend
Messages: 1620
Registered: July 2009
Senior Member
Juan Pedro,

There were a couple of problems with the data type version of the model (it
referenced elements which didn't exist in your profile); once I fixed these
problems (see attached), I was able to generate what I think is the desired
generator model, using the latest release of UML2, 2.1.1.

Kenn

"Juan Pedro Silva" <jpsilvagallino@gmail.com> wrote in message
news:fjolq8$8i6$1@build.eclipse.org...
Hello everyone.
I am currently working on a project for which I perform stereotyped UML to
Ecore transformations, and suddenly came upon an issue which I believe may
be a bug on the EcoreImporter.

The situation is the following one: I have a UML model in which I have
declared a couple of stereotyped UML::DataType clases. I use those classes
as input and return parameters of an operation declared elsewhere. I
realized, however, that those DataType classes are not generated into the
genmodel (or the ecore, for that matters) when doing the exportation.

I tried the same exact model using simple stereotyped classes instead of
DataType, and everything worked fine!!.

I am really sorry I cannot further inspect the code to figure out the
precise problem, but I'm on a deadline for Friday and have no spare time.
However, I'm attaching both input models (using datatypes or classes), the
applied profile, and the two resulting genmodels for your inspection.
I'm running eclipse 3.2.2 with uml2 2.0.3 and EMF 2.2.3.

Regards,
Juan Pedro




<?xml version="1.0" encoding="UTF-8"?>
<uml:Profile xmi:version="2.1"
xmlns:xmi="http://schema.omg.org/spec/XMI/2.1"
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
xmlns:uml="http://www.eclipse.org/uml2/2.0.0/UML"
xmi:id="_1qtiqqioEdyiA952T95NLg" name="Perfil_SOA"
metamodelReference="_1qtjrqioEdyiA952T95NLg">
<eAnnotations xmi:id="_1qtiq6ioEdyiA952T95NLg"
source="http://www.eclipse.org/uml2/2.0.0/UML">
<contents xmi:type="ecore:EPackage" xmi:id="_1qtirKioEdyiA952T95NLg"
name="Perfil_SOA"
nsURI="http:///schemas/Perfil_SOA/_uajF0KioEdyiA952T95NLg/97"
nsPrefix="Perfil_SOA">
<eClassifiers xmi:type="ecore:EClass" xmi:id="_1qtiraioEdyiA952T95NLg"
name="ServiceProvider">
<eAnnotations xmi:id="_1qtirqioEdyiA952T95NLg"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_1qtjr6ioEdyiA952T95NLg"/>
<eOperations xmi:id="_1qtir6ioEdyiA952T95NLg" name="_ProvNoProp">
<eAnnotations xmi:id="_1qtisKioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qtisaioEdyiA952T95NLg" key="documentation"
value="self.base_Component.getAllAttributes()->isEmpty()&#xD;&#xA; "/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qtisqioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qtis6ioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id="_1qtitKioEdyiA952T95NLg" name="_ProvNoOp">
<eAnnotations xmi:id="_1qtitaioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qtitqioEdyiA952T95NLg" key="documentation"
value="self.base_Component.getAllOperations()->isEmpty()"/ >
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qtit6ioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qtiuKioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id="_1qtiuaioEdyiA952T95NLg" name="_ProvNoBeh">
<eAnnotations xmi:id="_1qtiuqioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qtiu6ioEdyiA952T95NLg" key="documentation"
value="self.base_Component.ownedBehavior->isEmpty()"/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qtivKioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qtivaioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id="_1qtivqioEdyiA952T95NLg"
name="_ProvPortStereo">
<eAnnotations xmi:id="_1qtiv6ioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qtiwKioEdyiA952T95NLg" key="documentation"
value="self.base_Component.ownedPort->forAll(j |
j.getAppliedStereotypes()->forAll(name='serviceInteractionPoint'))
&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qtiwaioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qtiwqioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id="_1qtiw6ioEdyiA952T95NLg" name="_ProvAttStereo">
<eAnnotations xmi:id="_1qtixKioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qtixaioEdyiA952T95NLg" key="documentation"
value="self.allowedBindings->forAll( c |
c.getAppliedStereotypes()->exists(name='binding') )&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qtixqioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qtix6ioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id="_1qtiyKioEdyiA952T95NLg"
name="_ProvRealization">
<eAnnotations xmi:id="_1qtiyaioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qtiyqioEdyiA952T95NLg" key="documentation"
value="self.base_Component.clientDependency->select(e|
e.oclIsKindOf(Realization)).client->notEmpty() &#xD;&#xA;and
self.base_Component.clientDependency->select(e|
e.oclIsKindOf(Realization)).supplier->forAll(c |
c.getAppliedStereotypes()->exists(name='serviceSpecification' or
name='participant'))&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qtiy6ioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qtizKioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_1qtizaioEdyiA952T95NLg" name="base_Component" ordered="false"
lowerBound="1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.0.0/UML#//Component"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_1qtizqioEdyiA952T95NLg" name="allowedBindings" ordered="false"
lowerBound="1" upperBound="-1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.0.0/UML#//Class"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type="ecore:EClass" xmi:id="_1qtiz6ioEdyiA952T95NLg"
name="ServiceConsumer">
<eAnnotations xmi:id="_1qti0KioEdyiA952T95NLg"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_1qtjwKioEdyiA952T95NLg"/>
<eOperations xmi:id="_1qti0aioEdyiA952T95NLg" name="_ConsSpecReal">
<eAnnotations xmi:id="_1qti0qioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qti06ioEdyiA952T95NLg" key="documentation"
value="if self.base_Component.realization.supplier->exists(p |
p.getAppliedStereotypes()->exists(name = 'Participant')) &#xD;&#xA;then
self.base_Component.provided->includesAll&#xD;&#xA;(
&#xD;&#xA;&#x9;self.base_Component.realization.s upplier- >select(p |
p.getAppliedStereotypes()->exists(name = 'Participant')) &#x9;--Aca tengo un
Set(Property) (aunque solo se que son NamedElement) esterotipados
&lt;&lt;participant>>&#xD;&#xA;&#x9; ->iterate&#x9;( vr : NamedElement ; acc
: Set(Property) = Set{ } | if vr.oclIsKindOf(Property) then
acc->including(vr.oclAsType(Property)) else acc endif) --Aca tengo un
Set(Property) estereotipados
&lt;&lt;participant>>&#xD;&#xA;&#x9; ->iterate&#x9;(p : Property ; acu :
Set(Perfil_SOA::Participant) = Set{ } | if p.oclIsKindOf(Property) then
acu-> including(p.getAppliedStereotype('Perfil_SOA::Participant'). oclAsType(Perfil_SOA::Participant))
else acu endif) --Aca tengo un Set(Perfil_SOA::Participant)
&#xD;&#xA;&#x9; ->collect(part : Perfil_SOA::Participant |
part.specification)->asSet() --Aca tengo un Set(Class) con las
&quot;specifications&quot; de los
&quot;participants&quot;&#xD;&#xA;&#x9; ->iterate&#x9;(s : Class ; acum :
Set(Perfil_SOA::ServiceSpecification) = Set{ } | if s.oclIsKindOf(Class)
then
acum-> including(s.getAppliedStereotype('Perfil_SOA::ServiceSpecifi cation').oclAsType(Perfil_SOA::ServiceSpecification))
else acum endif) --Aca tengo un Set(Perfil_SOA::serviceSpecification)
&#xD;&#xA;&#x9; ->collect(spec : Perfil_SOA::ServiceSpecification |
spec.providedInterfaces)->asSet()&#xD;&#xA;)&#xD;&#xA;else false
endif&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;& amp;#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&#x D;&#xA;&#xD;&#xA;&#xD;&#xA;&#xD;& ;#xA;&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;& amp;#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&#x D;&#xA;&#xD;&#xA;&#xD;&#xA;&#xD;& ;#xA;&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;& amp;#xD;&#xA;&#xD;&#xA;&#xD;&#xA; "/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qti1KioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qti1aioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id="_1qti1qioEdyiA952T95NLg" name="_ConsPBValue">
<eAnnotations xmi:id="_1qti16ioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qti2KioEdyiA952T95NLg" key="documentation"
value="self.preferredBindings->size() >= 1 and
self.preferredBindings->forAll(not oclIsUndefined())
&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&# xD;&#xA; "/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qti2aioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qti2qioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id="_1qti26ioEdyiA952T95NLg" name="_ConsAttStereo">
<eAnnotations xmi:id="_1qti3KioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qti3aioEdyiA952T95NLg" key="documentation"
value="self.preferredBindings->forAll( pb |
pb.getAppliedStereotypes()->exists(name='binding') )&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qti3qioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qti36ioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id="_1qti4KioEdyiA952T95NLg"
name="_ConsRealization">
<eAnnotations xmi:id="_1qti4aioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qti4qioEdyiA952T95NLg" key="documentation"
value="self.base_Component.clientDependency->select(e|
e.oclIsKindOf(Realization)).client->notEmpty() &#xD;&#xA;and
self.base_Component.clientDependency->select(e|
e.oclIsKindOf(Realization)).supplier->forAll(c |
c.getAppliedStereotypes()->exists(name='serviceSpecification' or
name='participant'))&#xD;&#xA;&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qti46ioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qti5KioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_1qti5aioEdyiA952T95NLg" name="base_Component" ordered="false"
lowerBound="1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.0.0/UML#//Component"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_1qti5qioEdyiA952T95NLg" name="preferredBindings" ordered="false"
upperBound="-1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.0.0/UML#//Class"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type="ecore:EClass" xmi:id="_1qti56ioEdyiA952T95NLg"
name="ServiceContract">
<eAnnotations xmi:id="_1qti6KioEdyiA952T95NLg"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_1qtjzaioEdyiA952T95NLg"/>
<eOperations xmi:id="_1qti6aioEdyiA952T95NLg"
name="_ContParticStereo">
<eAnnotations xmi:id="_1qti6qioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qti66ioEdyiA952T95NLg" key="documentation"
value="self.base_Collaboration.allOwnedElements()->forAll(j |
j.getAppliedStereotypes()->exists(name = 'serviceProvider' or name =
'serviceConsumer' or name = 'participant'))&#xD;&#xA;&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qti7KioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qti7aioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eStructuralFeatures xmi:type="ecore:EAttribute"
xmi:id="_1qti7qioEdyiA952T95NLg" name="isStrict" ordered="false"
defaultValueLiteral="false">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_1qti76ioEdyiA952T95NLg" name="base_Collaboration" ordered="false"
lowerBound="1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.0.0/UML#//Collaboration"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type="ecore:EClass" xmi:id="_1qti8KioEdyiA952T95NLg"
name="ServiceSpecification">
<eAnnotations xmi:id="_1qti8aioEdyiA952T95NLg"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_1qtj1aioEdyiA952T95NLg"/>
<eOperations xmi:id="_1qti8qioEdyiA952T95NLg" name="_SpecAttStereo">
<eAnnotations xmi:id="_1qti86ioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qti9KioEdyiA952T95NLg" key="documentation"
value="self.providedInterfaces->forAll(si |
si.getAppliedStereotypes()->exists(name='serviceInterface')) &#xD;&#xA;and
self.requiredInterfaces->forAll(si |
si.getAppliedStereotypes()->exists(name='serviceInterface'))&#xD;&#xA; "/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qti9aioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qti9qioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id="_1qti96ioEdyiA952T95NLg"
name="_SpecServStereo">
<eAnnotations xmi:id="_1qti-KioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qti-aioEdyiA952T95NLg" key="documentation"
value="self.requiredServices->forAll(c |
c.getAppliedStereotypes()->exists(name='serviceSpecification'))&#xD;&#xA; "/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qti-qioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qti-6ioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eStructuralFeatures xmi:type="ecore:EAttribute"
xmi:id="_1qti_KioEdyiA952T95NLg" name="mustSupportBindings" ordered="false"
upperBound="-1" eType="_1qtjAaioEdyiA952T95NLg"/>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_1qti_aioEdyiA952T95NLg" name="base_Class" ordered="false"
lowerBound="1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.0.0/UML#//Class"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_1qti_qioEdyiA952T95NLg" name="providedInterfaces" ordered="false"
upperBound="-1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.0.0/UML#//Interface"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_1qti_6ioEdyiA952T95NLg" name="requiredInterfaces" ordered="false"
upperBound="-1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.0.0/UML#//Interface"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_1qtjAKioEdyiA952T95NLg" name="requiredServices" ordered="false"
upperBound="-1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.0.0/UML#//Class"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type="ecore:EEnum" xmi:id="_1qtjAaioEdyiA952T95NLg"
name="Bindings">
<eAnnotations xmi:id="_1qtjAqioEdyiA952T95NLg"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_1qtkQ6ioEdyiA952T95NLg"/>
<eLiterals xmi:id="_1qtjA6ioEdyiA952T95NLg" name="Soap-RPC"/>
<eLiterals xmi:id="_1qtjBKioEdyiA952T95NLg" name="Soap-document"
value="1"/>
<eLiterals xmi:id="_1qtjBaioEdyiA952T95NLg" name="HTTP GET/POST"
value="2"/>
</eClassifiers>
<eClassifiers xmi:type="ecore:EClass" xmi:id="_1qtjBqioEdyiA952T95NLg"
name="ServiceInteractionPoint">
<eAnnotations xmi:id="_1qtjB6ioEdyiA952T95NLg"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_1qtj56ioEdyiA952T95NLg"/>
<eOperations xmi:id="_1qtjCKioEdyiA952T95NLg"
name="_InteractClassStereo">
<eAnnotations xmi:id="_1qtjCaioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qtjCqioEdyiA952T95NLg" key="documentation"
value="self.base_Port.owner.getAppliedStereotypes()->forAll(name =
'serviceProvider' or name = 'serviceConsumer' or name =
'participant')&#xD;&#xA;&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qtjC6ioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qtjDKioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id="_1qtjDaioEdyiA952T95NLg"
name="_InteractInterfStereo">
<eAnnotations xmi:id="_1qtjDqioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qtjD6ioEdyiA952T95NLg" key="documentation"
value="if not self.base_Port.type.oclIsUndefined() then
self.base_Port.type.getAppliedStereotypes()->exists(name='serviceSpecification'
or name= 'serviceInterface') else false
endif&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;"/ >
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qtjEKioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qtjEaioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id="_1qtjEqioEdyiA952T95NLg"
name="_InteractIsService">
<eAnnotations xmi:id="_1qtjE6ioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qtjFKioEdyiA952T95NLg" key="documentation"
value="self.base_Port.isService&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qtjFaioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qtjFqioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id="_1qtjF6ioEdyiA952T95NLg"
name="_InteractProvReqStereo">
<eAnnotations xmi:id="_1qtjGKioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qtjGaioEdyiA952T95NLg" key="documentation"
value="self.base_Port.provided->forAll(pb |
pb.getAppliedStereotypes()->exists(name='serviceInterface'))&#xD;&#xA;or
self.base_Port.required->forAll(rb |
rb.getAppliedStereotypes()-> exists(name='serviceInterface'))&#xD;&#xA;&#xD;& amp;#xA; "/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qtjGqioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qtjG6ioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id="_1qtjHKioEdyiA952T95NLg"
name="_InteractMinInterface">
<eAnnotations xmi:id="_1qtjHaioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qtjHqioEdyiA952T95NLg" key="documentation"
value="let prov : Integer = self.base_Port.provided->size()&#xD;&#xA;in let
req : Integer = self.base_Port.required->size()&#xD;&#xA;in prov + req >=
1&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qtjH6ioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qtjIKioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id="_1qtjIaioEdyiA952T95NLg"
name="_InteractSupBind">
<eAnnotations xmi:id="_1qtjIqioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qtjI6ioEdyiA952T95NLg" key="documentation"
value="self.supportedBindings->forAll(b |
b.getAppliedStereotypes()->exists(name='binding'))&#xD;&#xA; "/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qtjJKioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qtjJaioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_1qtjJqioEdyiA952T95NLg" name="base_Port" ordered="false"
lowerBound="1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.0.0/UML#//Port"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_1qtjJ6ioEdyiA952T95NLg" name="supportedBindings" ordered="false"
lowerBound="1" upperBound="-1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.0.0/UML#//Class"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type="ecore:EClass" xmi:id="_1qtjKKioEdyiA952T95NLg"
name="ServiceInterface">
<eAnnotations xmi:id="_1qtjKaioEdyiA952T95NLg"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_1qtj-KioEdyiA952T95NLg"/>
<eOperations xmi:id="_1qtjKqioEdyiA952T95NLg" name="_InterfNoProp">
<eAnnotations xmi:id="_1qtjK6ioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qtjLKioEdyiA952T95NLg" key="documentation"
value="self.base_Interface.getAllAttributes()-> isEmpty()&#xD;&#xA;&#xD;&#xA;&#xD;&# xA; "/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qtjLaioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qtjLqioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id="_1qtjL6ioEdyiA952T95NLg"
name="_InterfPublicOps">
<eAnnotations xmi:id="_1qtjMKioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qtjMaioEdyiA952T95NLg" key="documentation"
value="self.base_Interface.getAllOperations()->forAll(p | p.visibility =
VisibilityKind::public)&#xD;&#xA;&#xD;&#xA;"/ >
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qtjMqioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qtjM6ioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_1qtjNKioEdyiA952T95NLg" name="base_Interface" ordered="false"
lowerBound="1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.0.0/UML#//Interface"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type="ecore:EClass" xmi:id="_1qtjNaioEdyiA952T95NLg"
name="Message">
<eAnnotations xmi:id="_1qtjNqioEdyiA952T95NLg"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_1qtj_qioEdyiA952T95NLg"/>
<eOperations xmi:id="_1qtjN6ioEdyiA952T95NLg" name="_MessNoOp">
<eAnnotations xmi:id="_1qtjOKioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qtjOaioEdyiA952T95NLg" key="documentation"
value="self.base_Class.getAllOperations()->isEmpty()&#xD;&#xA; "/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qtjOqioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qtjO6ioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id="_1qtjPKioEdyiA952T95NLg" name="_MessPubAttr">
<eAnnotations xmi:id="_1qtjPaioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qtjPqioEdyiA952T95NLg" key="documentation"
value="self.base_Class.getAllAttributes()->forAll(visibility =
uml::VisibilityKind::public )&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qtjP6ioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qtjQKioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eStructuralFeatures xmi:type="ecore:EAttribute"
xmi:id="_1qtjQaioEdyiA952T95NLg" name="encoding" ordered="false"
lowerBound="1" eType="_1qtjRKioEdyiA952T95NLg"/>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_1qtjQqioEdyiA952T95NLg" name="attachment" ordered="false"
upperBound="-1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.0.0/UML#//Property"/>
</eStructuralFeatures>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_1qtjQ6ioEdyiA952T95NLg" name="base_Class" ordered="false"
lowerBound="1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.0.0/UML#//Class"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type="ecore:EEnum" xmi:id="_1qtjRKioEdyiA952T95NLg"
name="Encodings">
<eAnnotations xmi:id="_1qtjRaioEdyiA952T95NLg"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_1qtkf6ioEdyiA952T95NLg"/>
<eLiterals xmi:id="_1qtjRqioEdyiA952T95NLg" name="ASN.1"/>
<eLiterals xmi:id="_1qtjR6ioEdyiA952T95NLg" name="Doc-literal"
value="1"/>
<eLiterals xmi:id="_1qtjSKioEdyiA952T95NLg" name="SOAP-RPC"
value="2"/>
</eClassifiers>
<eClassifiers xmi:type="ecore:EClass" xmi:id="_1qtjSaioEdyiA952T95NLg"
name="Attachment">
<eAnnotations xmi:id="_1qtjSqioEdyiA952T95NLg"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_1qtkCKioEdyiA952T95NLg"/>
<eOperations xmi:id="_1qtjS6ioEdyiA952T95NLg"
name="_AttOwnerStereo">
<eAnnotations xmi:id="_1qtjTKioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qtjTaioEdyiA952T95NLg" key="documentation"
value="self.base_Property.owner.getAppliedStereotypes()->exists(name =
'message')&#xD;&#xA;"/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qtjTqioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qtjT6ioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eStructuralFeatures xmi:type="ecore:EAttribute"
xmi:id="_1qtjUKioEdyiA952T95NLg" name="mimeType" ordered="false"
lowerBound="1" eType="_1qtjUqioEdyiA952T95NLg"/>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_1qtjUaioEdyiA952T95NLg" name="base_Property" ordered="false"
lowerBound="1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.0.0/UML#//Property"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type="ecore:EEnum" xmi:id="_1qtjUqioEdyiA952T95NLg"
name="MimeTypes">
<eAnnotations xmi:id="_1qtjU6ioEdyiA952T95NLg"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_1qtkWKioEdyiA952T95NLg"/>
<eLiterals xmi:id="_1qtjVKioEdyiA952T95NLg" name="x-zip"/>
<eLiterals xmi:id="_1qtjVaioEdyiA952T95NLg"
name="x-www-form-urlencoded" value="1"/>
<eLiterals xmi:id="_1qtjVqioEdyiA952T95NLg" name="x-ustar"
value="2"/>
<eLiterals xmi:id="_1qtjV6ioEdyiA952T95NLg" name="x-tar" value="3"/>
<eLiterals xmi:id="_1qtjWKioEdyiA952T95NLg" name="x-gzip"
value="4"/>
<eLiterals xmi:id="_1qtjWaioEdyiA952T95NLg" name="report"
value="5"/>
<eLiterals xmi:id="_1qtjWqioEdyiA952T95NLg" name="voice-message"
value="6"/>
<eLiterals xmi:id="_1qtjW6ioEdyiA952T95NLg" name="related"
value="7"/>
<eLiterals xmi:id="_1qtjXKioEdyiA952T95NLg" name="signed"
value="8"/>
<eLiterals xmi:id="_1qtjXaioEdyiA952T95NLg" name="parallel"
value="9"/>
<eLiterals xmi:id="_1qtjXqioEdyiA952T95NLg" name="x-mixed-replace"
value="10"/>
<eLiterals xmi:id="_1qtjX6ioEdyiA952T95NLg" name="mixed"
value="11"/>
<eLiterals xmi:id="_1qtjYKioEdyiA952T95NLg" name="header-set"
value="12"/>
<eLiterals xmi:id="_1qtjYaioEdyiA952T95NLg" name="form-data"
value="13"/>
<eLiterals xmi:id="_1qtjYqioEdyiA952T95NLg" name="encrypted"
value="14"/>
<eLiterals xmi:id="_1qtjY6ioEdyiA952T95NLg" name="digest"
value="15"/>
<eLiterals xmi:id="_1qtjZKioEdyiA952T95NLg" name="appledouble"
value="16"/>
<eLiterals xmi:id="_1qtjZaioEdyiA952T95NLg" name="alternative"
value="17"/>
<eLiterals xmi:id="_1qtjZqioEdyiA952T95NLg" name="xml" value="18"/>
</eClassifiers>
<eClassifiers xmi:type="ecore:EClass" xmi:id="_1qtjZ6ioEdyiA952T95NLg"
name="Binding">
<eAnnotations xmi:id="_1qtjaKioEdyiA952T95NLg"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_1qtkD6ioEdyiA952T95NLg"/>
<eStructuralFeatures xmi:type="ecore:EReference"
xmi:id="_1qtjaaioEdyiA952T95NLg" name="base_Class" ordered="false"
lowerBound="1">
<eType xmi:type="ecore:EClass"
href="http://www.eclipse.org/uml2/2.0.0/UML#//Class"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xmi:type="ecore:EClass" xmi:id="_1qtjaqioEdyiA952T95NLg"
name="Participant">
<eAnnotations xmi:id="_1qtja6ioEdyiA952T95NLg"
source="http://www.eclipse.org/uml2/2.0.0/UML"
references="_1qtkEaioEdyiA952T95NLg"/>
<eOperations xmi:id="_1qtjbKioEdyiA952T95NLg"
name="_PartSpecStereo">
<eAnnotations xmi:id="_1qtjbaioEdyiA952T95NLg"
source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_1qtjbqioEdyiA952T95NLg" key="documentation"
value="self.specification->forAll(s |
s.getAppliedStereotypes()->exists(name='serviceSpecification')) "/>
</eAnnotations>
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eParameters xmi:id="_1qtjb6ioEdyiA952T95NLg" name="diagnostics">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
</eParameters>
<eParameters xmi:id="_1qtjcKioEdyiA952T95NLg" name="context">
<eType xmi:type="ecore:EDataType"
href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
</eParameters>
</eOperations>
<eOperations xmi:id="_1qtjcaioEdyiA952T95NLg"
name=
Previous Topic:Language Workbench?
Next Topic:Problem with classDiagram.gmfmap
Goto Forum:
  


Current Time: Fri Aug 12 12:23:38 GMT 2022

Powered by FUDForum. Page generated in 0.02724 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top