Skip to main content
summaryrefslogtreecommitdiffstats
blob: cb4b910990e4e4e554f5f76e5117bae6ed2fc2b0 (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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
<?xml version="1.0" encoding="ASCII"?>
<!--
  Copyright (c) 2016-2017 Thales Global Services S.A.S.
  This program and the accompanying materials are made
  available under the terms of the Eclipse Public License 2.0
  which is available at https://www.eclipse.org/legal/epl-2.0/
  
  SPDX-License-Identifier: EPL-2.0
   
    Contributors:
        Abel Hegedus, Tamas Borbas, Daniel Segesdi (IncQuery Labs Ltd.) - initial API and implementation
 -->
<cps:CyberPhysicalSystem
    xmi:version="2.0"
    xmlns:xmi="http://www.omg.org/XMI"
    xmlns:cps="http://org.eclipse.viatra/model/cps"
    identifier="testModel6504822858552">
  <appTypes
      identifier="simple.cps.app.FirstAppClass0">
    <instances
        identifier="simple.cps.app.FirstAppClass0.inst0"
        state="Stopped"
        allocatedTo="simple.cps.host.SecondHostClass0.inst0"/>
    <behavior
        identifier="simple.cps.app.FirstAppClass0.sm0"
        initial="simple.cps.app.FirstAppClass0.sm0.s0">
      <states
          identifier="simple.cps.app.FirstAppClass0.sm0.s0">
        <outgoingTransitions
            identifier="simple.cps.app.FirstAppClass0.sm0.s0.t0"
            targetState="simple.cps.app.FirstAppClass0.sm0.s3"
            action="waitForSignal(6)"/>
        <outgoingTransitions
            identifier="simple.cps.app.FirstAppClass0.sm0.s0.t3"
            targetState="simple.cps.app.FirstAppClass0.sm0.s4"
            action="waitForSignal(3)"/>
      </states>
      <states
          identifier="simple.cps.app.FirstAppClass0.sm0.s1"/>
      <states
          identifier="simple.cps.app.FirstAppClass0.sm0.s2">
        <outgoingTransitions
            identifier="simple.cps.app.FirstAppClass0.sm0.s2.t1"
            targetState="simple.cps.app.FirstAppClass0.sm0.s1"
            action="waitForSignal(7)"/>
      </states>
      <states
          identifier="simple.cps.app.FirstAppClass0.sm0.s3">
        <outgoingTransitions
            identifier="simple.cps.app.FirstAppClass0.sm0.s3.t2"
            targetState="simple.cps.app.FirstAppClass0.sm0.s2"
            action="waitForSignal(7)"/>
      </states>
      <states
          identifier="simple.cps.app.FirstAppClass0.sm0.s4"/>
    </behavior>
  </appTypes>
  <appTypes
      identifier="simple.cps.app.SecondAppClass0">
    <instances
        identifier="simple.cps.app.SecondAppClass0.inst0"
        allocatedTo="simple.cps.host.SecondHostClass0.inst2"
        dependOn="simple.cps.app.ThirdAppClass0.inst0"/>
    <behavior
        identifier="simple.cps.app.SecondAppClass0.sm0"
        initial="simple.cps.app.SecondAppClass0.sm0.s0">
      <states
          identifier="simple.cps.app.SecondAppClass0.sm0.s0">
        <outgoingTransitions
            identifier="simple.cps.app.SecondAppClass0.sm0.s0.t1"
            targetState="simple.cps.app.SecondAppClass0.sm0.s2"
            action="waitForSignal(7)"/>
        <outgoingTransitions
            identifier="simple.cps.app.SecondAppClass0.sm0.s0.t2"
            targetState="simple.cps.app.SecondAppClass0.sm0.s1"
            action="waitForSignal(7)"/>
      </states>
      <states
          identifier="simple.cps.app.SecondAppClass0.sm0.s1">
        <outgoingTransitions
            identifier="simple.cps.app.SecondAppClass0.sm0.s1.t4"
            targetState="simple.cps.app.SecondAppClass0.sm0.s2"/>
      </states>
      <states
          identifier="simple.cps.app.SecondAppClass0.sm0.s2">
        <outgoingTransitions
            identifier="simple.cps.app.SecondAppClass0.sm0.s2.t0"
            targetState="simple.cps.app.SecondAppClass0.sm0.s0"/>
        <outgoingTransitions
            identifier="simple.cps.app.SecondAppClass0.sm0.s2.t3"
            targetState="simple.cps.app.SecondAppClass0.sm0.s1"/>
      </states>
    </behavior>
  </appTypes>
  <appTypes
      identifier="simple.cps.app.ThirdAppClass0">
    <instances
        identifier="simple.cps.app.ThirdAppClass0.inst0"
        state="Stopped"/>
  </appTypes>
  <hostTypes
      identifier="simple.cps.host.FirstHostClass0">
    <instances
        identifier="simple.cps.host.FirstHostClass0.inst1"
        nodeIp="simple.cps.host.FirstHostClass0.inst1"/>
    <instances
        identifier="simple.cps.host.FirstHostClass0.inst2"
        nodeIp="simple.cps.host.FirstHostClass0.inst2"/>
    <instances
        identifier="simple.cps.host.FirstHostClass0.inst3"
        nodeIp="simple.cps.host.FirstHostClass0.inst3"/>
    <instances
        identifier="simple.cps.host.FirstHostClass0.inst4"
        nodeIp="simple.cps.host.FirstHostClass0.inst4"/>
  </hostTypes>
  <hostTypes
      identifier="simple.cps.host.SecondHostClass0">
    <instances
        identifier="simple.cps.host.SecondHostClass0.inst0"
        nodeIp="simple.cps.host.SecondHostClass0.inst0"
        applications="simple.cps.app.FirstAppClass0.inst0"
        communicateWith="simple.cps.host.FirstHostClass0.inst3 simple.cps.host.FirstHostClass0.inst1 simple.cps.host.FirstHostClass0.inst2 simple.cps.host.FirstHostClass0.inst4"/>
    <instances
        identifier="simple.cps.host.SecondHostClass0.inst1"
        nodeIp="simple.cps.host.SecondHostClass0.inst1"
        communicateWith="simple.cps.host.FirstHostClass0.inst4 simple.cps.host.FirstHostClass0.inst1 simple.cps.host.FirstHostClass0.inst2 simple.cps.host.FirstHostClass0.inst3"/>
    <instances
        identifier="simple.cps.host.SecondHostClass0.inst2"
        nodeIp="simple.cps.host.SecondHostClass0.inst2"
        applications="simple.cps.app.SecondAppClass0.inst0"
        communicateWith="simple.cps.host.FirstHostClass0.inst3 simple.cps.host.FirstHostClass0.inst2 simple.cps.host.FirstHostClass0.inst4 simple.cps.host.FirstHostClass0.inst1"/>
    <instances
        identifier="simple.cps.host.SecondHostClass0.inst3"
        nodeIp="simple.cps.host.SecondHostClass0.inst3"
        communicateWith="simple.cps.host.FirstHostClass0.inst2 simple.cps.host.FirstHostClass0.inst1 simple.cps.host.FirstHostClass0.inst4 simple.cps.host.FirstHostClass0.inst3"/>
    <instances
        identifier="simple.cps.host.SecondHostClass0.inst4"
        nodeIp="simple.cps.host.SecondHostClass0.inst4"
        communicateWith="simple.cps.host.FirstHostClass0.inst3 simple.cps.host.FirstHostClass0.inst2 simple.cps.host.FirstHostClass0.inst1 simple.cps.host.FirstHostClass0.inst4"/>
  </hostTypes>
</cps:CyberPhysicalSystem>

Back to the top