| <?xml version="1.0" encoding="UTF-8"?> |
| <ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="interactions" nsURI="http://www.eclipse.org/sirius/sample/interactions" |
| nsPrefix="interactions"> |
| <eClassifiers xsi:type="ecore:EClass" name="Model"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="A simple container for Interactions, so that one can put several interactions inside the same resource."/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="ownedInteractions" upperBound="-1" |
| eType="#//Interaction" containment="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Interaction"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="Describes the interactions between several participants over time."/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="participants" ordered="false" |
| upperBound="-1" eType="#//Participant" containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="messages" upperBound="-1" |
| eType="#//Message" containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="executions" upperBound="-1" |
| eType="#//Execution" containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="states" upperBound="-1" |
| eType="#//State" containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="interactionUses" upperBound="-1" |
| eType="#//InteractionUse" containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="combinedFragments" upperBound="-1" |
| eType="#//CombinedFragment" containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="ends" upperBound="-1" eType="#//AbstractEnd" |
| containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="constraints" upperBound="-1" |
| eType="#//Constraint" containment="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Participant"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="A named and typed instance which particpates in the interaction."/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="type" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClass"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Message" abstract="true"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="A message sent from a participant to another (or itself)."/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="sendingEnd" lowerBound="1" |
| eType="#//MessageEnd"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="receivingEnd" lowerBound="1" |
| eType="#//MessageEnd"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="CallMessage" eSuperTypes="#//Message"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="operation" lowerBound="1" |
| eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EOperation"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="FeatureAccessMessage" eSuperTypes="#//Message"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="isWrite" lowerBound="1" |
| eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="feature" lowerBound="1" |
| eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EStructuralFeature"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="CreateParticipantMessage" eSuperTypes="#//Message"/> |
| <eClassifiers xsi:type="ecore:EClass" name="DestroyParticipantMessage" eSuperTypes="#//Message"/> |
| <eClassifiers xsi:type="ecore:EClass" name="ReturnMessage" eSuperTypes="#//Message"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="invocationMessage" lowerBound="1" |
| eType="#//Message"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Execution"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="Represents an interval of time in which a particapant is active executing some code."/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="owner" lowerBound="1" eType="#//Participant"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="start" lowerBound="1" eType="#//ExecutionEnd"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="end" lowerBound="1" eType="#//ExecutionEnd"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="State"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="A state transition of a participant."/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="owner" lowerBound="1" eType="#//Participant"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="start" lowerBound="1" eType="#//StateEnd"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="end" lowerBound="1" eType="#//StateEnd"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="InteractionUse"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="A reference to or invocation of another interaction defined elsewhere."/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" |
| defaultValueLiteral=""ref""/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="interaction" lowerBound="1" |
| eType="#//Interaction"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="coveredParticipants" lowerBound="1" |
| upperBound="-1" eType="#//Participant"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="start" lowerBound="1" eType="#//InteractionUseEnd"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="finish" lowerBound="1" |
| eType="#//InteractionUseEnd"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="CombinedFragment"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="A group of events with some special semantics (e.g. optional)."/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" lowerBound="1" |
| eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral=""opt""/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="coveredParticipants" lowerBound="1" |
| upperBound="-1" eType="#//Participant"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="start" lowerBound="1" eType="#//CombinedFragmentEnd"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="finish" lowerBound="1" |
| eType="#//CombinedFragmentEnd"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="ownedOperands" lowerBound="1" |
| upperBound="-1" eType="#//Operand" containment="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Operand"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="A sub-group of events in a combined fragment, for example the "else" part of a conditional."/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="start" lowerBound="1" eType="#//OperandEnd"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="AbstractEnd" abstract="true"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="All the atomic events (sending of a message, start and finish of an execution...) are represented by AbstractEnds and stored in chronological order in the interaction. The ordering must be total."/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="context" eType="#//Participant"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="MessageEnd" eSuperTypes="#//AbstractEnd"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="message" lowerBound="1" |
| eType="#//Message"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="ExecutionEnd" eSuperTypes="#//AbstractEnd"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="execution" lowerBound="1" |
| eType="#//Execution"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="StateEnd" eSuperTypes="#//AbstractEnd"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="state" lowerBound="1" eType="#//State"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="InteractionUseEnd" eSuperTypes="#//AbstractEnd"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="owner" lowerBound="1" eType="#//InteractionUse"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="CombinedFragmentEnd" eSuperTypes="#//AbstractEnd"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="owner" lowerBound="1" eType="#//CombinedFragment"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="OperandEnd" eSuperTypes="#//AbstractEnd"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="owner" lowerBound="1" eType="#//Operand"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="MixEnd" eSuperTypes="#//ExecutionEnd #//MessageEnd"/> |
| <eClassifiers xsi:type="ecore:EClass" name="Constraint"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="A constraint between two abstract ends. "/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="expression" lowerBound="1" |
| eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="constrainedEnds" upperBound="-1" |
| eType="#//AbstractEnd"/> |
| </eClassifiers> |
| </ecore:EPackage> |