| <?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="fSM" nsURI="http://www.eclipse.org/etrice/core/fsm/FSM" nsPrefix="fSM"> |
| <eClassifiers xsi:type="ecore:EClass" name="FSMModel"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="components" upperBound="-1" |
| eType="#//ModelComponent" containment="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EEnum" name="ComponentCommunicationType"> |
| <eLiterals name="EVENT_DRIVEN" literal="eventdriven"/> |
| <eLiterals name="DATA_DRIVEN" value="1" literal="datadriven"/> |
| <eLiterals name="ASYNCHRONOUS" value="2" literal="async"/> |
| <eLiterals name="SYNCHRONOUS" value="3" literal="sync"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="ModelComponent" eSuperTypes="#//IInterfaceItemOwner"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="abstract" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="commType" eType="#//ComponentCommunicationType"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="componentName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="base" eType="#//ModelComponent"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="stateMachine" eType="#//StateGraph" |
| containment="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="StateGraphNode" eSuperTypes="#//StateGraphItem"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>The super class of
<ul>
 <li>{@link State}</li>
 <li>{@link ChoicePoint}</li>
 <li>{@link TrPoint}</li>
</ul>
"/> |
| </eAnnotations> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="StateGraphItem"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>The super class of
<ul>
 <li>{@link StateGraphNode}</li>
 <li>{@link Transition}</li>
</ul>
"/> |
| </eAnnotations> |
| <eOperations name="getName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="body" value="if (this instanceof <%org.eclipse.etrice.core.fsm.fSM.State%>) 
	return ((State)this).getName();
else if (this instanceof <%org.eclipse.etrice.core.fsm.fSM.TrPoint%>)
	return ((TrPoint)this).getName();
else if (this instanceof <%org.eclipse.etrice.core.fsm.fSM.ChoicePoint%>)
	return ((ChoicePoint)this).getName();
else if (this instanceof <%org.eclipse.etrice.core.fsm.fSM.Transition%>)
	return ((Transition)this).getName();
else if (this instanceof <%org.eclipse.etrice.core.fsm.fSM.RefinedTransition%>)
	return ((RefinedTransition)this).getTarget().getName();
return "";
"/> |
| </eAnnotations> |
| </eOperations> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="StateGraph"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>A state graph is a directed graph composed of
{@link StateGraphNode}s as nodes and {@link Transition}s as edges.
"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="states" upperBound="-1" |
| eType="#//State" containment="true"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>This is a list of all states of this state graph.
"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="trPoints" upperBound="-1" |
| eType="#//TrPoint" containment="true"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>This is a list of all transition, entry and exit points of this state graph.
"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="chPoints" upperBound="-1" |
| eType="#//ChoicePoint" containment="true"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>This is a list of all choice points of this state graph.
"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="transitions" upperBound="-1" |
| eType="#//Transition" containment="true"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>This is a list of all transitions of this state graph.
"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="refinedTransitions" upperBound="-1" |
| eType="#//RefinedTransition" containment="true"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>This is a list of all refined transitions of this state graph.
"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="State" eSuperTypes="#//StateGraphNode"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>The super class of
<ul>
 <li>{@link SimpleState}</li>
 <li>{@link RefinedState}</li>
</ul>
"/> |
| </eAnnotations> |
| <eOperations name="getName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="body" value="return (this instanceof <%org.eclipse.etrice.core.fsm.fSM.SimpleState%>)? ((SimpleState)this).getName() :(this instanceof <%org.eclipse.etrice.core.fsm.fSM.RefinedState%>)? (((RefinedState)this).getTarget()==null? "":((RefinedState)this).getTarget().getName()) :"";"/> |
| </eAnnotations> |
| </eOperations> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass ../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation" |
| containment="true"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>This is an optional documentation.
"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="entryCode" eType="#//DetailCode" |
| containment="true"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>This is an optional entry code written in the code generator's target language.
It is executed when the state is entered.
"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="exitCode" eType="#//DetailCode" |
| containment="true"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>This is an optional entry code written in the code generator's target language.
It is executed when the state is left.
"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="doCode" eType="#//DetailCode" |
| containment="true"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>This is an optional do code written in the code generator's target language.
It is executed whenever the actor instance is polled (applies only to
data driven and sync actor classes).
"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="subgraph" eType="#//StateGraph" |
| containment="true"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>This is an optional sub state graph of this state.
"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="SimpleState" eSuperTypes="#//State"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>A simple state is the standard case of a @link State}.
It comprises and <em>entry</em>, <em>exit</em> and <em>do</em> code
and it can contain another {@link StateGraph} as sub state
graph.
"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>By this name the state is referred to in the model.
"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="RefinedState" eSuperTypes="#//State"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>A refined state can be used only in a derived {@link ActorClass}.
It refers to a {@link State} in the inherited state machine
which is refined by adding detail code and/or
{@link StateGraphItem}s in the sub state graph.
"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//State"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>This is the referenced state in the base class state machine.
"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="DetailCode"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>The detail code is a string which represents the verbatim code
of the code generator target language.

<p>
The detail code is parsed by the {@link org.eclipse.etrice.generator.base.DetailCodeTranslator}
which replaces certain frequent constructs like access of members
and sending a message via a port by target language specific code.
</p>
"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="lines" unique="false" upperBound="-1" |
| eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>This is the program code in the code generator's target language.
Due backward compability this is a list of strings. Actually the size of the list should be 0 or 1.
"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="used" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="TrPoint" eSuperTypes="#//StateGraphNode"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>The super class of
<ul>
 <li>{@link TransitionPoint}</li>
 <li>{@link EntryPoint}</li>
 <li>{@link ExitPoint}</li>
</ul>
"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>By this name the transition, entry or exit point is referred to in the model.
"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="TransitionPoint" eSuperTypes="#//TrPoint"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>A transition point is located at the border of a {@link State}
and is not visible or accessible outside. It is used
to globally handle messages. If a {@link Transition} starting
at a transition point triggers then exit and entry codes
are executed as usual as long as the handler flag of the
transition point isn't set.
"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="handler" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>If this flag is {@code true} then for a transition triggerd from this point
no exit and entry codes of the states left and entered are executed.
"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="EntryPoint" eSuperTypes="#//TrPoint"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>An entry point is located at the border of a {@link State}
and is visible and accessible outside. Outside
it can be the target of a {@link Transition} and inside the source.
If it is not connected in the interior then it is a
<em>transition to history</em>.
"/> |
| </eAnnotations> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="ExitPoint" eSuperTypes="#//TrPoint"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>An exit point is located at the border of a {@link State}
and is visible and accessible outside. Outside
it can be the source of a {@link Transition} and inside the target.
If it is not connected in the interior then it is a
<em>group transition</em>.
"/> |
| </eAnnotations> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="ChoicePoint" eSuperTypes="#//StateGraphNode"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>A choice point corresponds to an {@code if else} construct.
It is the target of one or more {@link Transition}s and the
source of several {@link Transition}s.
One outgoing transitions must be a {@link ContinuationTransition}
and corresponds to the final else. It is called the
<em>default branch</em> of the choice point.
All other outgoing transitions have to be {@link CPBranchTransition}s.
"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>By this name the choice point is referred to in the model.
"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass ../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation" |
| containment="true"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>This is an optional documentation.
"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="TransitionBase" eSuperTypes="#//StateGraphItem"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass ../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation" |
| containment="true"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>This is an optional documentation.
"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="action" eType="#//DetailCode" |
| containment="true"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>This is an optional code in the code generator's target language.
It is execute when the transition fires.
"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Transition" eSuperTypes="#//TransitionBase"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>The super class of
<ul>
 <li>{@link InitialTransition}</li>
 <li>{@link NonInitialTransition}</li>
</ul>
"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>This is an optional name of the transition.
"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="to" eType="#//TransitionTerminal" |
| containment="true"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>This is the target node of the transition.
"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="NonInitialTransition" eSuperTypes="#//Transition"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>The super class of
<ul>
 <li>{@link TransitionChainStartTransition}</li>
 <li>{@link ContinuationTransition}</li>
 <li>{@link CPBranchTransition}</li>
</ul>
"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="from" eType="#//TransitionTerminal" |
| containment="true"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>This is the source node of the transition.
"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="TransitionChainStartTransition" eSuperTypes="#//NonInitialTransition"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>The super class of
<ul>
 <li>{@link TriggeredTransition}</li>
 <li>{@link GuardedTransition}</li>
</ul>
"/> |
| </eAnnotations> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="InitialTransition" eSuperTypes="#//Transition"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>There can be at most one initial transition in a {@link StateGraph}.
It defines the starting point of the state graph and is traversed
exactly once when the state graph is accessed for the first time.
"/> |
| </eAnnotations> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="ContinuationTransition" eSuperTypes="#//NonInitialTransition"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>Continuation transitions start at entry or exit points
({@link EntryPoint}s or {@link ExitPoint}s) or form
the default branch of a {@link ChoicePoint}.
"/> |
| </eAnnotations> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="TriggeredTransition" eSuperTypes="#//TransitionChainStartTransition"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>Triggered transitions start at a {@link State} or a {@link TransitionPoint}.
It defines a list of {@link Trigger}s that specify the conditions
when the transition fires and is traversed. This kind of
transition is only allowed in event driven and mixed (async) state
machines.
"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="triggers" upperBound="-1" |
| eType="#//Trigger" containment="true"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>This is a list of all triggers of the transition.
"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="GuardedTransition" eSuperTypes="#//TransitionChainStartTransition"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>A guarded transition is very similar to a {@link CPBranchTransition}.
It defines a guard condition which lets the transition fire if
evaluated to {@code true}. This kind of transition is only
allowed in data driven or moixed (async) state machines.
"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="guard" eType="#//DetailCode" |
| containment="true"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>This is the guard condition of the transition specified in the code generator's target language.
It has to evaluate to a boolean value.
"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="CPBranchTransition" eSuperTypes="#//NonInitialTransition"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>The choice point branch transitions is allowed only as outgoing
transition of {@link ChoicePoint}s.
"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="#//DetailCode" |
| containment="true"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>This is the condition of the choice point branch specified in the code generator's target language.
It has to evaluate to a boolean value.
"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="RefinedTransition" eSuperTypes="#//TransitionBase"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>The refined transition is only allowed in {@link StateGraph}s
of derived {@link ActorClass}es. It targets a {@link Transition}
of the base class state machine.
"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//Transition"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>This is the referenced transition in the base class state machine.
"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="TransitionTerminal"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>The super class of
<ul>
 <li>{@link StateTerminal}</li>
 <li>{@link TrPointTerminal}</li>
 <li>{@link SubStateTrPointTerminal}</li>
 <li>{@link ChoicepointTerminal}</li>
</ul>
"/> |
| </eAnnotations> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="StateTerminal" eSuperTypes="#//TransitionTerminal"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>The terminal point (source or target) of a transition ending
at a {@link State}.
"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="state" eType="#//State"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>This is the target state.
"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="TrPointTerminal" eSuperTypes="#//TransitionTerminal"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>The terminal point (source or target) of a transition ending
at a local {@link TrPoint}.
"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="trPoint" eType="#//TrPoint"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>This is the target transition, entry or exit point.
"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="SubStateTrPointTerminal" eSuperTypes="#//TransitionTerminal"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>The terminal point (source or target) of a transition ending
at a {@link TrPoint} of a sub {@link State}.
"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="trPoint" eType="#//TrPoint"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>This is the target entry or exit point contained in the target state.
"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="state" eType="#//State"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>This is the target state.
"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="ChoicepointTerminal" eSuperTypes="#//TransitionTerminal"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>The terminal point (source or target) of a transition ending
at a {@link ChoicepointTerminal}.
"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="cp" eType="#//ChoicePoint"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>This is the target choice point.
"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Trigger"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>A transition trigger is a list of {@link MessageFromIf} pairs
and an optional {@link Guard}.
"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="msgFromIfPairs" upperBound="-1" |
| eType="#//MessageFromIf" containment="true"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>This is a list of message/interface item pairs.
"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="guard" eType="#//Guard" |
| containment="true"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>This is an optional guard condition of the trigger specified in the code generator's target language.
It has to evaluate to a boolean value.
"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="MessageFromIf"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>A pair consisting of a {@link Message} arising from an
{@link InterfaceItem}.
"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="message" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>This is the triggerering message (or event).
"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="from" eType="#//AbstractInterfaceItem"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>This is the interface item where the message occurred.
"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="AbstractInterfaceItem"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>An abstract interface item to be overridden in derived grammars.
"/> |
| </eAnnotations> |
| <eOperations name="getDisplayName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="body" value="return getName();
"/> |
| </eAnnotations> |
| </eOperations> |
| <eOperations name="getSemantics" eType="#//ProtocolSemantics"/> |
| <eOperations name="getAllIncomingAbstractMessages" upperBound="-1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/> |
| <eOperations name="getAllOutgoingAbstractMessages" upperBound="-1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/> |
| <eOperations name="isEventDriven" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="body" value="return true;"/> |
| </eAnnotations> |
| </eOperations> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>By this name the interface item is referred to in the model.
"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Guard"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>A detail code that evaluates to a boolean in the target
language.
"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="guard" eType="#//DetailCode" |
| containment="true"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>This is a guard condition specified in the code generator's target language.
It has to evaluate to a boolean value.
"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="ProtocolSemantics"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>An optional semantics specification as part of a {@link ProtocolClass}.
The semantic is defined as a <em>legal execution tree</em>.
This tree is composed of incoming and outgoing messages and each path through
this tree is a valid sequence of messages exchanged through a port instance.

<p>
The semantics are composed using {@link SemanticsRule}s.
</p>
"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="rules" upperBound="-1" |
| eType="#//SemanticsRule" containment="true"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>This is a list of semantic rules.
"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="SemanticsRule"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>The super class of
<ul>
 <li>{@link InSemanticsRule}</li>
 <li>{@link OutSemanticsRule}</li>
</ul>
"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="msg" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>The message to which this rule applies.
"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="followUps" upperBound="-1" |
| eType="#//SemanticsRule" containment="true"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>The possible follow up rules.
"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="InSemanticsRule" eSuperTypes="#//SemanticsRule"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>A {@link SemanticsRule} for incoming messages.
The rule points to an incoming messages and allows follow-up rules.
"/> |
| </eAnnotations> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="OutSemanticsRule" eSuperTypes="#//SemanticsRule"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="<br>A {@link SemanticsRule} for outgoing messages.
The rule points to an outgoing messages and allows follow-up rules.
"/> |
| </eAnnotations> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="IInterfaceItemOwner" abstract="true" |
| interface="true"> |
| <eOperations name="getAbstractInterfaceItems" upperBound="-1" eType="#//AbstractInterfaceItem"/> |
| <eOperations name="getAllAbstractInterfaceItems" upperBound="-1" eType="#//AbstractInterfaceItem"/> |
| </eClassifiers> |
| </ecore:EPackage> |