blob: 96d95871aab40cfa161655f96a56d09e18b98171 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
<?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="fsmgen" nsURI="http://www.eclipse.org/etrice/generator/fsm"
nsPrefix="fsmgen">
<eClassifiers xsi:type="ecore:EClass" name="GraphContainer">
<eStructuralFeatures xsi:type="ecore:EReference" name="graph" eType="#//Graph"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="component" eType="ecore:EClass ../../org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//ModelComponent"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="initializedTriggersInStates"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="initializedChainHeads"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="initializedCommonData"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Graph">
<eOperations name="toString" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="StringBuilder result = new StringBuilder();
result.append("StateGraph {\n");
for (Node n : getNodes()) {
	result.append(" " + n.toString() + "\n");
}
for (Link l : getLinks()) {
	result.append(" " + l.toString() + "\n");
}
result.append("}");
return result.toString();"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="nodes" upperBound="-1"
eType="#//Node" containment="true" eOpposite="#//Node/graph"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="links" upperBound="-1"
eType="#//Link" containment="true" eOpposite="#//Link/graph"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="stateGraph" eType="ecore:EClass ../../org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//StateGraph"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="GraphItem">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="inherited" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
defaultValueLiteral="false"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Node" eSuperTypes="#//GraphItem">
<eOperations name="toString" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="String type = "?";
if (getStateGraphNode() instanceof <%org.eclipse.etrice.core.fsm.fSM.RefinedState%>) {
	type = "RefinedState";
}
else if (getStateGraphNode() instanceof <%org.eclipse.etrice.core.fsm.fSM.SimpleState%>) {
	type = "SimpleState";
}
else if (getStateGraphNode() instanceof <%org.eclipse.etrice.core.fsm.fSM.TrPoint%>) {
	type = "TrPoint";
}
else if (getStateGraphNode() instanceof <%org.eclipse.etrice.core.fsm.fSM.ChoicePoint%>) {
	type = "ChoicePoint";
}
return "Node " + getStateGraphNode().getName() + " (" + type + ")";"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="graph" eType="#//Graph"
eOpposite="#//Graph/nodes"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="subgraph" eType="#//Graph"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="outgoing" upperBound="-1"
eType="#//Link" eOpposite="#//Link/source"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="incoming" upperBound="-1"
eType="#//Link" eOpposite="#//Link/target"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="stateGraphNode" eType="ecore:EClass ../../org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//StateGraphNode"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="caughtTriggers" upperBound="-1"
eType="#//CommonTrigger" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="inheritanceLevel" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Link" eSuperTypes="#//GraphItem">
<eOperations name="toString" 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 (getTransition() instanceof <%org.eclipse.etrice.core.fsm.fSM.InitialTransition%>) {
	return "Link initial -> " + getTarget().toString() + " (InitialTransition)";
}
else if (getTransition() instanceof <%org.eclipse.etrice.core.fsm.fSM.NonInitialTransition%>) {
	return "Link " + getSource().toString() + " -> " + getTarget().toString() + " (InitialTransition)";
}
else if (getTransition() instanceof <%org.eclipse.etrice.core.fsm.fSM.RefinedTransition%>) {
	return "RefinedTransition";
}
return "?";"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="graph" eType="#//Graph"
eOpposite="#//Graph/links"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="source" eType="#//Node"
eOpposite="#//Node/outgoing"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//Node"
eOpposite="#//Node/incoming"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="chainHeads" upperBound="-1"
eType="#//Link"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="ifitemTriggered" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
defaultValueLiteral="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="commonData" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="transition" eType="ecore:EClass ../../org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//TransitionBase"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CommonTrigger">
<eStructuralFeatures xsi:type="ecore:EReference" name="msg" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ifitem" eType="ecore:EClass ../../org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//AbstractInterfaceItem"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="hasGuard" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="trigger" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="links" upperBound="-1"
eType="#//Link"/>
</eClassifiers>
</ecore:EPackage>
|