Skip to main content
aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/org.eclipse.etrice.generator.tests/.gitignore1
-rw-r--r--tests/org.eclipse.etrice.generator.tests/.settings/org.eclipse.jdt.core.prefs8
-rw-r--r--tests/org.eclipse.etrice.generator.tests/META-INF/MANIFEST.MF15
-rw-r--r--tests/org.eclipse.etrice.generator.tests/about.html28
-rw-r--r--tests/org.eclipse.etrice.generator.tests/build.properties6
-rw-r--r--tests/org.eclipse.etrice.generator.tests/models/connected_ports.room80
-rw-r--r--tests/org.eclipse.etrice.generator.tests/models/connected_ports.t.trp3213
-rw-r--r--tests/org.eclipse.etrice.generator.tests/models/hierarchy.room25
-rw-r--r--tests/org.eclipse.etrice.generator.tests/models/layers.room136
-rw-r--r--tests/org.eclipse.etrice.generator.tests/models/layers.t.room154
-rw-r--r--tests/org.eclipse.etrice.generator.tests/models/layers.t.trp4770
-rw-r--r--tests/org.eclipse.etrice.generator.tests/models/ports.room23
-rw-r--r--tests/org.eclipse.etrice.generator.tests/models/states.room106
-rw-r--r--tests/org.eclipse.etrice.generator.tests/models/states.t.room119
-rw-r--r--tests/org.eclipse.etrice.generator.tests/models/states.t.trp2685
-rw-r--r--tests/org.eclipse.etrice.generator.tests/models/states_inheritance.room249
-rw-r--r--tests/org.eclipse.etrice.generator.tests/models/states_inheritance.t.room222
-rw-r--r--tests/org.eclipse.etrice.generator.tests/models/states_inheritance.t.trp5243
-rw-r--r--tests/org.eclipse.etrice.generator.tests/models/states_triggers.room174
-rw-r--r--tests/org.eclipse.etrice.generator.tests/models/states_triggers.t.room145
-rw-r--r--tests/org.eclipse.etrice.generator.tests/models/states_triggers.t.trp2981
-rw-r--r--tests/org.eclipse.etrice.generator.tests/models/structure_inheritance.room206
-rw-r--r--tests/org.eclipse.etrice.generator.tests/models/structure_inheritance.t.room177
-rw-r--r--tests/org.eclipse.etrice.generator.tests/models/structure_inheritance.t.trp4606
-rw-r--r--tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/InstanceTestsActivator.java33
-rw-r--r--tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestConnectedPorts.java90
-rw-r--r--tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestHierarchy.java57
-rw-r--r--tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestInstanceModelBuilderBase.java158
-rw-r--r--tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestLayers.java73
-rw-r--r--tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestPorts.java58
-rw-r--r--tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestStates.java120
-rw-r--r--tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestStatesAndTriggers.java144
-rw-r--r--tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestStatesInheritance.java144
-rw-r--r--tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestStructureInheritance.java174
-rw-r--r--tests/org.eclipse.etrice.integration.tests/.gitignore1
-rw-r--r--tests/org.eclipse.etrice.integration.tests/.settings/org.eclipse.jdt.core.prefs12
-rw-r--r--tests/org.eclipse.etrice.integration.tests/META-INF/MANIFEST.MF21
-rw-r--r--tests/org.eclipse.etrice.integration.tests/about.html28
-rw-r--r--tests/org.eclipse.etrice.integration.tests/build.properties4
-rw-r--r--tests/org.eclipse.etrice.integration.tests/model/IntegrationTestFSMGenerator.room319
-rw-r--r--tests/org.eclipse.etrice.integration.tests/model/IntegrationTestFSMGenerator.trp4670
-rw-r--r--tests/org.eclipse.etrice.integration.tests/src/org/eclipse/etrice/integration/tests/IntegrationTestFSMGenerator.java64
-rw-r--r--tests/org.eclipse.etrice.integration.tests/src/org/eclipse/etrice/integration/tests/IntegrationTestFSMGenerator.mwe218
-rw-r--r--tests/org.eclipse.etrice.integration.tests/tmp/log/MainComponent_Async.seq27
-rw-r--r--tests/org.eclipse.etrice.integration.tests/tmp/log/MainComponent_Sync.seq1
-rw-r--r--tests/org.eclipse.etrice.runtime.java.tests/.gitignore1
-rw-r--r--tests/org.eclipse.etrice.runtime.java.tests/.settings/org.eclipse.jdt.core.prefs12
-rw-r--r--tests/org.eclipse.etrice.runtime.java.tests/.settings/org.eclipse.ocl.modelregistry2
-rw-r--r--tests/org.eclipse.etrice.runtime.java.tests/about.html28
-rw-r--r--tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/debugging/MSCLoggerTest.java37
-rw-r--r--tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/messaging/AddressTest.java28
-rw-r--r--tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/messaging/DummyMessageReceiver.java49
-rw-r--r--tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/messaging/MessageDispatcherTest.java69
-rw-r--r--tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/messaging/MessageSeQueueTest.java129
-rw-r--r--tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/messaging/MessageServiceTest.java148
-rw-r--r--tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/messaging/MessageTest.java33
-rw-r--r--tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/modelbase/ActorClassBaseTest.java63
-rw-r--r--tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/modelbase/EventMessageTest.java34
-rw-r--r--tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/modelbase/EventWithDataMessageTest.java36
-rw-r--r--tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/modelbase/PortBaseTest.java110
60 files changed, 32367 insertions, 0 deletions
diff --git a/tests/org.eclipse.etrice.generator.tests/.gitignore b/tests/org.eclipse.etrice.generator.tests/.gitignore
new file mode 100644
index 000000000..ba077a403
--- /dev/null
+++ b/tests/org.eclipse.etrice.generator.tests/.gitignore
@@ -0,0 +1 @@
+bin
diff --git a/tests/org.eclipse.etrice.generator.tests/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.etrice.generator.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..1aa097a85
--- /dev/null
+++ b/tests/org.eclipse.etrice.generator.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+#Mon Oct 04 11:14:17 CEST 2010
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/tests/org.eclipse.etrice.generator.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.etrice.generator.tests/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..55ee4f0cf
--- /dev/null
+++ b/tests/org.eclipse.etrice.generator.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,15 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: eTrice Generator Model Tests
+Bundle-SymbolicName: org.eclipse.etrice.generator.tests
+Bundle-Version: 0.1.0
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-Vendor: eTrice (Incubation)
+Require-Bundle: org.eclipse.etrice.core.room;bundle-version="0.1.0",
+ org.eclipse.etrice.generator;bundle-version="0.1.0",
+ org.junit;bundle-version="4.8.1",
+ org.eclipse.osgi;bundle-version="3.6.0",
+ org.eclipse.xtext;bundle-version="1.0.0",
+ org.eclipse.core.runtime;bundle-version="3.6.0"
+Bundle-Activator: org.eclipse.etrice.generator.InstanceTestsActivator
+Bundle-ActivationPolicy: lazy
diff --git a/tests/org.eclipse.etrice.generator.tests/about.html b/tests/org.eclipse.etrice.generator.tests/about.html
new file mode 100644
index 000000000..f47dbddbb
--- /dev/null
+++ b/tests/org.eclipse.etrice.generator.tests/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2006</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/tests/org.eclipse.etrice.generator.tests/build.properties b/tests/org.eclipse.etrice.generator.tests/build.properties
new file mode 100644
index 000000000..4f415d5ce
--- /dev/null
+++ b/tests/org.eclipse.etrice.generator.tests/build.properties
@@ -0,0 +1,6 @@
+source.. = src/,\
+ models/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ models/
diff --git a/tests/org.eclipse.etrice.generator.tests/models/connected_ports.room b/tests/org.eclipse.etrice.generator.tests/models/connected_ports.room
new file mode 100644
index 000000000..39a835514
--- /dev/null
+++ b/tests/org.eclipse.etrice.generator.tests/models/connected_ports.room
@@ -0,0 +1,80 @@
+RoomModel connected_ports {
+ ProtocolClass PTest {
+ incoming {
+ Message in1 ()
+ }
+ outgoing {
+ Message out1 ()
+ }
+ }
+
+ SubSystemClass CMain {
+ ActorRef test_a1 : ATestA
+ ActorRef test_a2 : ATestA
+ ActorRef test_a3 : ATestA
+ ActorRef test_b : ATestB
+
+ Binding test_b.plain and test_a1.relay
+ Binding test_a1.ext_end and test_b.repl
+ Binding test_b.repl and test_a2.ext_end
+ Binding test_b.repl and test_a3.ext_end
+ Binding test_b.repl_relay and test_a2.relay
+ Binding test_b.repl_relay and test_a3.relay
+ }
+
+ ActorClass ATestA {
+ Interface {
+ Port relay : PTest
+ Port ext_end : PTest
+ }
+ Structure {
+ external Port ext_end
+ conjugated Port int_end : PTest
+ ActorRef sub : ASub
+ Binding sub.p1 and relay
+ Binding sub.p2 and int_end
+ }
+ Behavior {
+ }
+ }
+
+ ActorClass ATestB {
+ Interface {
+ conjugated Port plain : PTest
+ conjugated Port repl [3] : PTest
+ conjugated Port repl_relay [3] : PTest
+ }
+ Structure {
+ external Port plain
+ external Port repl
+ ActorRef sub1 : ASubB
+ Binding repl_relay and sub1.p
+ }
+ Behavior {
+ }
+ }
+
+ ActorClass ASub {
+ Interface {
+ Port p1 : PTest
+ Port p2 : PTest
+ }
+ Structure {
+ external Port p1
+ external Port p2
+ }
+ Behavior {
+ }
+ }
+
+ ActorClass ASubB {
+ Interface {
+ conjugated Port p [3] : PTest
+ }
+ Structure {
+ external Port p
+ }
+ Behavior {
+ }
+ }
+}
diff --git a/tests/org.eclipse.etrice.generator.tests/models/connected_ports.t.trp b/tests/org.eclipse.etrice.generator.tests/models/connected_ports.t.trp
new file mode 100644
index 000000000..0989c093b
--- /dev/null
+++ b/tests/org.eclipse.etrice.generator.tests/models/connected_ports.t.trp
@@ -0,0 +1,3213 @@
+114
+
+# Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# PersObj-Version: 4 standard
+#
+-bs_DataClassList
+-bs_DataClassList
+1
+-DataClass
+0
+1286346063
+0
+t
+<20101006083201-2
+-bs_RefCounter
+0
+<20101006083201-3
+-bs_DataClass
+3
+-boolean
+f
+f
+0
+1286346063
+0
+1
+5
+13
+t
+<20101006083201-4
+-bs_RefCounter
+0
+<20101006083201-5
+-bs_DataClass
+3
+-char
+f
+f
+0
+1286346063
+0
+1
+5
+7
+t
+<20101006083201-6
+-bs_RefCounter
+0
+<20101006083201-7
+-bs_DataClass
+3
+-uchar
+f
+f
+0
+1286346063
+0
+1
+5
+14
+t
+<20101006083201-8
+-bs_RefCounter
+0
+<20101006083201-9
+-bs_DataClass
+3
+-int8
+f
+f
+0
+1286346063
+0
+1
+5
+15
+t
+<20101006083201-10
+-bs_RefCounter
+0
+<20101006083201-11
+-bs_DataClass
+3
+-uint8
+f
+f
+0
+1286346063
+0
+1
+5
+18
+t
+<20101006083201-12
+-bs_RefCounter
+0
+<20101006083201-13
+-bs_DataClass
+3
+-int16
+f
+f
+0
+1286346063
+0
+1
+5
+16
+t
+<20101006083201-14
+-bs_RefCounter
+0
+<20101006083201-15
+-bs_DataClass
+3
+-uint16
+f
+f
+0
+1286346063
+0
+1
+5
+19
+t
+<20101006083201-16
+-bs_RefCounter
+0
+<20101006083201-17
+-bs_DataClass
+3
+-int32
+f
+f
+0
+1286346063
+0
+1
+5
+17
+t
+<20101006083201-18
+-bs_RefCounter
+0
+<20101006083201-19
+-bs_DataClass
+3
+-uint32
+f
+f
+0
+1286346063
+0
+1
+5
+20
+t
+<20101006083201-20
+-bs_RefCounter
+0
+<20101006083201-21
+-bs_DataClass
+3
+-float32
+f
+f
+0
+1286346063
+0
+1
+5
+21
+t
+<20101006083201-22
+-bs_RefCounter
+0
+<20101006083201-23
+-bs_DataClass
+3
+-float64
+f
+f
+0
+1286346063
+0
+1
+5
+22
+t
+<20101006083201-24
+-bs_RefCounter
+0
+<20101006083201-25
+-bs_DataClass
+3
+-char*
+f
+f
+0
+1286346063
+0
+1
+5
+12
+-
+t
+<20101006083201-26
+-bs_RefCounter
+0
+<20101006083201-27
+-bs_DataClass
+3
+-void*
+f
+f
+0
+1286346063
+0
+1
+5
+12
+-
+f
+-------------------------------
+# Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# PersObj-Version: 4 standard
+#
+-bs_ProtocolClassList
+-bs_ProtocolClassList
+1
+-ProtocolClass
+0
+1286346078
+0
+t
+<20101006083201-29
+-bs_RefCounter
+0
+<20101006083201-30
+-bs_ProtocolClass
+3
+-p_Timer
+t
+f
+0
+1286346063
+0
+1
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286346063
+0
+t
+<20101006083201-32
+-bs_RefCounter
+0
+<20101006083201-33
+-bs_MsgType
+3
+-Start
+f
+f
+0
+1286346063
+0
+>20101006083201-16
+>20101006083201-17
+t
+<20101006083201-34
+-bs_RefCounter
+0
+<20101006083201-35
+-bs_MsgType
+3
+-Kill
+f
+f
+0
+1286346063
+0
+<20101006083201-36
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286346063
+0
+t
+<20101006083201-38
+-bs_RefCounter
+0
+<20101006083201-39
+-bs_MsgType
+3
+-timerTick
+f
+f
+0
+1286346063
+0
+<20101006083201-40
+-bs_RefCounter
+0
+N
+f
+-ProtocolSemantics
+1
+0
+1286346063
+-ProtocolRuleSet
+0
+0
+1286346063
+t
+<20101006083201-43
+-ProtocolRule
+0
+0
+1286346063
+-Message
+0
+0
+1286346063
+0
+-Start
+t
+<20101006083201-45
+-MessageImplication
+0
+0
+1286346063
+-ProtocolRule
+0
+0
+1286346063
+-Message
+0
+0
+1286346063
+0
+-Kill
+f
+t
+<20101006083201-48
+-MessageImplication
+0
+0
+1286346063
+-ProtocolRule
+0
+0
+1286346063
+-Message
+0
+0
+1286346063
+1
+-timerTick
+f
+f
+f
+t
+<20101006083201-51
+-bs_RefCounter
+0
+<20101006083201-52
+-bs_ProtocolClass
+3
+-p_Timeout
+t
+f
+0
+1286346063
+0
+1
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286346063
+0
+t
+<20101006083201-54
+-bs_RefCounter
+0
+<20101006083201-55
+-bs_MsgType
+3
+-Start
+f
+f
+0
+1286346063
+0
+>20101006083201-16
+>20101006083201-17
+t
+<20101006083201-56
+-bs_RefCounter
+0
+<20101006083201-57
+-bs_MsgType
+3
+-Kill
+f
+f
+0
+1286346063
+0
+<20101006083201-58
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286346063
+0
+t
+<20101006083201-60
+-bs_RefCounter
+0
+<20101006083201-61
+-bs_MsgType
+3
+-timeoutTick
+f
+f
+0
+1286346063
+0
+<20101006083201-62
+-bs_RefCounter
+0
+N
+f
+-ProtocolSemantics
+1
+0
+1286346063
+-ProtocolRuleSet
+0
+0
+1286346063
+t
+<20101006083201-65
+-ProtocolRule
+0
+0
+1286346063
+-Message
+0
+0
+1286346063
+0
+-Start
+t
+<20101006083201-67
+-MessageImplication
+0
+0
+1286346063
+-ProtocolRule
+0
+0
+1286346063
+-Message
+0
+0
+1286346063
+0
+-Kill
+f
+t
+<20101006083201-70
+-MessageImplication
+0
+0
+1286346063
+-ProtocolRule
+0
+0
+1286346063
+-Message
+0
+0
+1286346063
+1
+-timeoutTick
+f
+f
+f
+t
+<20101006083201-73
+-bs_RefCounter
+0
+<20101006083201-74
+-bs_ProtocolClass
+3
+-p_DigitalInput
+t
+f
+0
+1286346063
+0
+1
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286346063
+0
+t
+<20101006083201-76
+-bs_RefCounter
+0
+<20101006083201-77
+-bs_MsgType
+3
+-getStatus
+f
+f
+0
+1286346063
+0
+<20101006083201-78
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286346063
+0
+t
+<20101006083201-80
+-bs_RefCounter
+0
+<20101006083201-81
+-bs_MsgType
+3
+-inputChanged
+f
+f
+0
+1286346063
+0
+>20101006083201-12
+>20101006083201-13
+f
+-ProtocolSemantics
+1
+0
+1286346063
+-ProtocolRuleSet
+0
+0
+1286346063
+t
+<20101006083201-84
+-ProtocolRule
+0
+0
+1286346063
+-Message
+0
+0
+1286346063
+0
+-getStatus
+t
+<20101006083201-86
+-MessageImplication
+0
+0
+1286346063
+-ProtocolRule
+0
+0
+1286346063
+-Message
+0
+0
+1286346063
+1
+-inputChanged
+f
+f
+f
+t
+<20101006083201-89
+-bs_RefCounter
+0
+<20101006083201-90
+-bs_ProtocolClass
+3
+-p_DigitalOutput
+t
+f
+0
+1286346063
+0
+1
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286346063
+0
+t
+<20101006083201-92
+-bs_RefCounter
+0
+<20101006083201-93
+-bs_MsgType
+3
+-Set
+f
+f
+0
+1286346063
+0
+>20101006083201-2
+>20101006083201-3
+t
+<20101006083201-94
+-bs_RefCounter
+0
+<20101006083201-95
+-bs_MsgType
+3
+-SetOn
+f
+f
+0
+1286346063
+0
+<20101006083201-96
+-bs_RefCounter
+0
+N
+t
+<20101006083201-97
+-bs_RefCounter
+0
+<20101006083201-98
+-bs_MsgType
+3
+-SetOff
+f
+f
+0
+1286346063
+0
+<20101006083201-99
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286346063
+0
+f
+-ProtocolSemantics
+1
+0
+1286346063
+-ProtocolRuleSet
+0
+0
+1286346063
+f
+t
+<20101006083201-103
+-bs_RefCounter
+0
+<20101006083201-104
+-bs_ProtocolClass
+3
+-PTest
+f
+f
+0
+1286346078
+0
+0
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286346078
+0
+t
+<20101006083201-106
+-bs_RefCounter
+0
+<20101006083201-107
+-bs_MsgType
+3
+-in
+f
+f
+0
+1286346074
+0
+<20101006083201-108
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286346078
+0
+t
+<20101006083201-110
+-bs_RefCounter
+0
+<20101006083201-111
+-bs_MsgType
+3
+-out
+f
+f
+0
+1286346077
+0
+<20101006083201-112
+-bs_RefCounter
+0
+N
+f
+-ProtocolSemantics
+1
+0
+1286346067
+-ProtocolRuleSet
+0
+0
+1286346067
+f
+f
+-------------------------------
+# Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# PersObj-Version: 4 standard
+#
+-bs_SAPClassList
+-bs_SAPClassList
+1
+-SAP
+0
+1286346063
+0
+t
+<20101006083201-116
+-bs_RefCounter
+0
+<20101006083201-117
+-bs_SAPClass
+3
+-Timer
+f
+f
+0
+1286346063
+0
+1
+0
+1
+>20101006083201-29
+>20101006083201-30
+t
+<20101006083201-118
+-bs_RefCounter
+0
+<20101006083201-119
+-bs_SAPClass
+3
+-Timeout
+f
+f
+0
+1286346063
+0
+1
+0
+2
+>20101006083201-51
+>20101006083201-52
+t
+<20101006083201-120
+-bs_RefCounter
+0
+<20101006083201-121
+-bs_SAPClass
+3
+-DigitalInput
+f
+f
+0
+1286346063
+0
+1
+0
+4
+>20101006083201-73
+>20101006083201-74
+t
+<20101006083201-122
+-bs_RefCounter
+0
+<20101006083201-123
+-bs_SAPClass
+3
+-DigitalOutput
+f
+f
+0
+1286346063
+0
+1
+0
+5
+>20101006083201-89
+>20101006083201-90
+f
+-------------------------------
+# Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# PersObj-Version: 4 standard
+#
+-bs_PrtvClassList
+-bs_PrtvClassList
+1
+-PrimitiveClass
+0
+1286346063
+0
+f
+-------------------------------
+# Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# PersObj-Version: 4 standard
+#
+-bs_ActorClassList
+-bs_ActorClassList
+1
+-ActorClass
+0
+1286346483
+0
+t
+<20101006083201-126
+-bs_RefCounter
+0
+<20101006083201-127
+-bs_ActorClass
+3
+-ComponentMain
+f
+f
+0
+1286346087
+0
+0
+8
+-
+f
+-bs_ActorInterface
+3
+-bs_PortRefList
+1
+-Port
+0
+1286346080
+0
+f
+0
+0
+1286346080
+-bs_ActorStructure
+7
+-bs_PortRefList
+1
+-Port
+0
+1286346080
+0
+f
+-bs_SAPRefList
+1
+-SAP
+0
+1286346080
+0
+f
+t
+-bs_ActorRefList
+1
+-ActorRef
+0
+1286346386
+0
+t
+<20101006083201-134
+-bs_RefCounter
+0
+<20101006083201-135
+-bs_ActorRef
+3
+-test_a1
+f
+f
+0
+1286346353
+1
+-bs_ActorCoord
+0
+0.216736
+0.795625
+-bs_SizeFactors
+0
+2.9975
+1.01188
+-bs_CompPortRefList
+1
+-PortInstListDummyName
+0
+1286346343
+0
+f
+3
+-ATestA
+t
+<20101006083201-139
+-bs_RefCounter
+0
+<20101006083201-140
+-bs_ActorRef
+3
+-test_a2
+f
+f
+0
+1286346366
+1
+-bs_ActorCoord
+0
+0.228264
+0.51275
+-bs_SizeFactors
+0
+2.9975
+1.01188
+-bs_CompPortRefList
+1
+-PortInstListDummyName
+0
+1286346364
+0
+f
+3
+-ATestA
+t
+<20101006083201-144
+-bs_RefCounter
+0
+<20101006083201-145
+-bs_ActorRef
+3
+-test_a3
+f
+f
+0
+1286346376
+1
+-bs_ActorCoord
+0
+0.233264
+0.23125
+-bs_SizeFactors
+0
+3.01063
+0.99875
+-bs_CompPortRefList
+1
+-PortInstListDummyName
+0
+1286346375
+0
+f
+3
+-ATestA
+t
+<20101006083201-149
+-bs_RefCounter
+0
+<20101006083201-150
+-bs_ActorRef
+3
+-test_b
+f
+f
+0
+1286346429
+1
+-bs_ActorCoord
+0
+0.782569
+0.5115
+-bs_SizeFactors
+0
+3.01
+3.85312
+-bs_CompPortRefList
+1
+-PortInstListDummyName
+0
+1286346386
+0
+f
+3
+-ATestB
+f
+-bs_BindingContractList
+1
+-BindingContract
+0
+1286346668
+0
+t
+<20101006083201-155
+-bs_RefCounter
+0
+<20101006083201-156
+-bs_BindingContract
+3
+-BindingContract1
+f
+f
+0
+1286346391
+0
+-bs_BCEndPoint
+1
+>20101006083201-149
+>20101006083201-150
+<20101006083201-158
+-bs_RefCounter
+0
+<20101006083201-159
+-bs_PortRef
+3
+-plain
+f
+f
+0
+1286346516
+0
+0
+t
+1
+-bs_ActorCoord
+0
+0.000416667
+0.872375
+>20101006083201-103
+>20101006083201-104
+<20101006083201-161
+-bs_RefCounter
+0
+N
+-bs_BCEndPoint
+1
+>20101006083201-134
+>20101006083201-135
+<20101006083201-163
+-bs_RefCounter
+0
+<20101006083201-164
+-bs_PortRef
+3
+-relay
+f
+f
+0
+1286346207
+0
+0
+f
+1
+-bs_ActorCoord
+0
+1
+0.85775
+>20101006083201-103
+>20101006083201-104
+<20101006083201-166
+-bs_RefCounter
+0
+N
+t
+<20101006083201-167
+-bs_RefCounter
+0
+<20101006083201-168
+-bs_BindingContract
+3
+-BindingContract2
+f
+f
+0
+1286346400
+0
+-bs_BCEndPoint
+1
+>20101006083201-134
+>20101006083201-135
+<20101006083201-170
+-bs_RefCounter
+0
+<20101006083201-171
+-bs_PortRef
+3
+-ext_end
+f
+f
+0
+1286346219
+0
+0
+f
+1
+-bs_ActorCoord
+0
+1
+0.284375
+>20101006083201-103
+>20101006083201-104
+<20101006083201-173
+-bs_RefCounter
+0
+N
+-bs_BCEndPoint
+1
+>20101006083201-149
+>20101006083201-150
+<20101006083201-175
+-bs_RefCounter
+0
+<20101006083201-176
+-bs_PortRef
+3
+-repl
+f
+f
+0
+1286346513
+0
+0
+t
+3
+-bs_ActorCoord
+0
+0.000416667
+0.16175
+>20101006083201-103
+>20101006083201-104
+<20101006083201-178
+-bs_RefCounter
+0
+N
+t
+<20101006083201-179
+-bs_RefCounter
+0
+<20101006083201-180
+-bs_BindingContract
+3
+-BindingContract3
+f
+f
+0
+1286346406
+0
+-bs_BCEndPoint
+1
+>20101006083201-149
+>20101006083201-150
+>20101006083201-175
+>20101006083201-176
+<20101006083201-182
+-bs_RefCounter
+0
+N
+-bs_BCEndPoint
+1
+>20101006083201-139
+>20101006083201-140
+>20101006083201-170
+>20101006083201-171
+<20101006083201-184
+-bs_RefCounter
+0
+N
+t
+<20101006083201-185
+-bs_RefCounter
+0
+<20101006083201-186
+-bs_BindingContract
+3
+-BindingContract4
+f
+f
+0
+1286346409
+0
+-bs_BCEndPoint
+1
+>20101006083201-149
+>20101006083201-150
+>20101006083201-175
+>20101006083201-176
+<20101006083201-188
+-bs_RefCounter
+0
+N
+-bs_BCEndPoint
+1
+>20101006083201-144
+>20101006083201-145
+>20101006083201-170
+>20101006083201-171
+<20101006083201-190
+-bs_RefCounter
+0
+N
+t
+<20101006083201-191
+-bs_RefCounter
+0
+<20101006083201-192
+-bs_BindingContract
+3
+-BindingContract5
+f
+f
+0
+1286346666
+0
+-bs_BCEndPoint
+1
+>20101006083201-149
+>20101006083201-150
+<20101006083201-194
+-bs_RefCounter
+0
+<20101006083201-195
+-bs_PortRef
+3
+-repl_relay
+f
+f
+0
+1286346543
+0
+0
+t
+3
+-bs_ActorCoord
+0
+0
+0.53325
+>20101006083201-103
+>20101006083201-104
+<20101006083201-197
+-bs_RefCounter
+0
+N
+-bs_BCEndPoint
+1
+>20101006083201-139
+>20101006083201-140
+>20101006083201-163
+>20101006083201-164
+<20101006083201-199
+-bs_RefCounter
+0
+N
+t
+<20101006083201-200
+-bs_RefCounter
+0
+<20101006083201-201
+-bs_BindingContract
+3
+-BindingContract6
+f
+f
+0
+1286346668
+0
+-bs_BCEndPoint
+1
+>20101006083201-149
+>20101006083201-150
+>20101006083201-194
+>20101006083201-195
+<20101006083201-203
+-bs_RefCounter
+0
+N
+-bs_BCEndPoint
+1
+>20101006083201-144
+>20101006083201-145
+>20101006083201-163
+>20101006083201-164
+<20101006083201-205
+-bs_RefCounter
+0
+N
+f
+-bs_SizeFactors
+0
+1.8
+1
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286346080
+-bs_PrtvRefList
+1
+-Primitive
+0
+1286346080
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286346080
+0
+f
+0
+1286346080
+-bs_ActorBehaviour
+7
+<20101006083201-211
+-bs_RefCounter
+0
+<20101006083201-212
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1286346080
+5
+f
+-bs_StateGraph
+8
+<20101006083201-215
+-bs_RefCounter
+0
+<20101006083201-216
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1286346080
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1286346080
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1286346080
+0
+f
+-bs_StateList
+1
+-State
+0
+1286346080
+0
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1286346080
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286346080
+0
+f
+t
+65535
+f
+f
+0
+1286346080
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1286346080
+-
+-
+-
+1024
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286346080
+0
+1286346080
+-bs_ActorMemberFct
+1
+f
+0
+1286346080
+t
+f
+f
+t
+<20101006083201-226
+-bs_RefCounter
+0
+<20101006083201-227
+-bs_ActorClass
+3
+-ATestA
+f
+f
+0
+1286346094
+0
+0
+8
+-
+f
+-bs_ActorInterface
+3
+-bs_PortRefList
+1
+-Port
+0
+1286346219
+0
+t
+>20101006083201-163
+>20101006083201-164
+t
+>20101006083201-170
+>20101006083201-171
+f
+0
+0
+1286346090
+-bs_ActorStructure
+7
+-bs_PortRefList
+1
+-Port
+0
+1286346272
+0
+t
+>20101006083201-170
+>20101006083201-171
+t
+<20101006083201-232
+-bs_RefCounter
+0
+<20101006083201-233
+-bs_PortRef
+3
+-int_end
+f
+f
+0
+1286346272
+0
+0
+t
+1
+-bs_ActorCoord
+0
+0.694653
+0.44275
+>20101006083201-103
+>20101006083201-104
+f
+-bs_SAPRefList
+1
+-SAP
+0
+1286346090
+0
+f
+t
+-bs_ActorRefList
+1
+-ActorRef
+0
+1286346247
+0
+t
+<20101006083201-237
+-bs_RefCounter
+0
+<20101006083201-238
+-bs_ActorRef
+3
+-sub
+f
+f
+0
+1286346253
+1
+-bs_ActorCoord
+0
+0.328472
+0.541375
+-bs_SizeFactors
+0
+3.01
+1.01188
+-bs_CompPortRefList
+1
+-PortInstListDummyName
+0
+1286346233
+0
+f
+3
+-ASub
+f
+-bs_BindingContractList
+1
+-BindingContract
+0
+1286346275
+0
+t
+<20101006083201-243
+-bs_RefCounter
+0
+<20101006083201-244
+-bs_BindingContract
+3
+-BindingContract1
+f
+f
+0
+1286346258
+0
+-bs_BCEndPoint
+1
+>20101006083201-237
+>20101006083201-238
+<20101006083201-246
+-bs_RefCounter
+0
+<20101006083201-247
+-bs_PortRef
+3
+-p1
+f
+f
+0
+1286346185
+0
+0
+f
+1
+-bs_ActorCoord
+0
+1.00021
+0.7255
+>20101006083201-103
+>20101006083201-104
+<20101006083201-249
+-bs_RefCounter
+0
+N
+-bs_BCEndPoint
+1
+<20101006083201-251
+-bs_RefCounter
+0
+N
+>20101006083201-163
+>20101006083201-164
+<20101006083201-252
+-bs_RefCounter
+0
+N
+t
+<20101006083201-253
+-bs_RefCounter
+0
+<20101006083201-254
+-bs_BindingContract
+3
+-BindingContract2
+f
+f
+0
+1286346275
+0
+-bs_BCEndPoint
+1
+>20101006083201-237
+>20101006083201-238
+<20101006083201-256
+-bs_RefCounter
+0
+<20101006083201-257
+-bs_PortRef
+3
+-p2
+f
+f
+0
+1286346184
+0
+0
+f
+1
+-bs_ActorCoord
+0
+1.00021
+0.22225
+>20101006083201-103
+>20101006083201-104
+<20101006083201-259
+-bs_RefCounter
+0
+N
+-bs_BCEndPoint
+1
+<20101006083201-261
+-bs_RefCounter
+0
+N
+>20101006083201-232
+>20101006083201-233
+<20101006083201-262
+-bs_RefCounter
+0
+N
+f
+-bs_SizeFactors
+0
+1.8
+1
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286346090
+-bs_PrtvRefList
+1
+-Primitive
+0
+1286346090
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286346090
+0
+f
+0
+1286346090
+-bs_ActorBehaviour
+7
+<20101006083201-268
+-bs_RefCounter
+0
+<20101006083201-269
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1286346090
+5
+f
+-bs_StateGraph
+8
+<20101006083201-272
+-bs_RefCounter
+0
+<20101006083201-273
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1286346090
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1286346090
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1286346090
+0
+f
+-bs_StateList
+1
+-State
+0
+1286346090
+0
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1286346090
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286346090
+0
+f
+t
+65535
+f
+f
+0
+1286346090
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1286346090
+-
+-
+-
+1024
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286346090
+0
+1286346090
+-bs_ActorMemberFct
+1
+f
+0
+1286346090
+t
+f
+f
+t
+<20101006083201-283
+-bs_RefCounter
+0
+<20101006083201-284
+-bs_ActorClass
+3
+-ATestB
+f
+f
+0
+1286346104
+0
+0
+8
+-
+f
+-bs_ActorInterface
+3
+-bs_PortRefList
+1
+-Port
+0
+1286346535
+0
+t
+>20101006083201-158
+>20101006083201-159
+t
+>20101006083201-175
+>20101006083201-176
+t
+>20101006083201-194
+>20101006083201-195
+f
+0
+0
+1286346097
+-bs_ActorStructure
+7
+-bs_PortRefList
+1
+-Port
+0
+1286346638
+0
+t
+>20101006083201-158
+>20101006083201-159
+t
+>20101006083201-175
+>20101006083201-176
+f
+-bs_SAPRefList
+1
+-SAP
+0
+1286346097
+0
+f
+t
+-bs_ActorRefList
+1
+-ActorRef
+0
+1286346551
+0
+t
+<20101006083201-291
+-bs_RefCounter
+0
+<20101006083201-292
+-bs_ActorRef
+3
+-sub1
+f
+f
+0
+1286346636
+1
+-bs_ActorCoord
+0
+0.680208
+0.5765
+-bs_SizeFactors
+0
+3.00188
+1
+-bs_CompPortRefList
+1
+-PortInstListDummyName
+0
+1286346551
+0
+f
+3
+-ASubB
+f
+-bs_BindingContractList
+1
+-BindingContract
+0
+1286346638
+0
+t
+<20101006083201-297
+-bs_RefCounter
+0
+<20101006083201-298
+-bs_BindingContract
+3
+-BindingContract1
+f
+f
+0
+1286346638
+0
+-bs_BCEndPoint
+1
+<20101006083201-300
+-bs_RefCounter
+0
+N
+>20101006083201-194
+>20101006083201-195
+<20101006083201-301
+-bs_RefCounter
+0
+N
+-bs_BCEndPoint
+1
+>20101006083201-291
+>20101006083201-292
+<20101006083201-303
+-bs_RefCounter
+0
+<20101006083201-304
+-bs_PortRef
+3
+-p
+f
+f
+0
+1286346633
+0
+0
+t
+3
+-bs_ActorCoord
+0
+0
+0.59
+>20101006083201-103
+>20101006083201-104
+<20101006083201-306
+-bs_RefCounter
+0
+N
+f
+-bs_SizeFactors
+0
+1.8
+1
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286346097
+-bs_PrtvRefList
+1
+-Primitive
+0
+1286346097
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286346097
+0
+f
+0
+1286346097
+-bs_ActorBehaviour
+7
+<20101006083201-312
+-bs_RefCounter
+0
+<20101006083201-313
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1286346097
+5
+f
+-bs_StateGraph
+8
+<20101006083201-316
+-bs_RefCounter
+0
+<20101006083201-317
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1286346097
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1286346097
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1286346097
+0
+f
+-bs_StateList
+1
+-State
+0
+1286346097
+0
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1286346097
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286346097
+0
+f
+t
+65535
+f
+f
+0
+1286346097
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1286346097
+-
+-
+-
+1024
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286346097
+0
+1286346097
+-bs_ActorMemberFct
+1
+f
+0
+1286346097
+t
+f
+f
+t
+<20101006083201-327
+-bs_RefCounter
+0
+<20101006083201-328
+-bs_ActorClass
+3
+-ASub
+f
+f
+0
+1286346116
+0
+0
+8
+-
+f
+-bs_ActorInterface
+3
+-bs_PortRefList
+1
+-Port
+0
+1286346181
+0
+t
+>20101006083201-246
+>20101006083201-247
+t
+>20101006083201-256
+>20101006083201-257
+f
+0
+0
+1286346112
+-bs_ActorStructure
+7
+-bs_PortRefList
+1
+-Port
+0
+1286346181
+0
+t
+>20101006083201-246
+>20101006083201-247
+t
+>20101006083201-256
+>20101006083201-257
+f
+-bs_SAPRefList
+1
+-SAP
+0
+1286346112
+0
+f
+t
+-bs_ActorRefList
+1
+-ActorRef
+0
+1286346112
+0
+f
+-bs_BindingContractList
+1
+-BindingContract
+0
+1286346112
+0
+f
+-bs_SizeFactors
+0
+1.8
+1
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286346112
+-bs_PrtvRefList
+1
+-Primitive
+0
+1286346112
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286346112
+0
+f
+0
+1286346112
+-bs_ActorBehaviour
+7
+<20101006083201-341
+-bs_RefCounter
+0
+<20101006083201-342
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1286346112
+5
+f
+-bs_StateGraph
+8
+<20101006083201-345
+-bs_RefCounter
+0
+<20101006083201-346
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1286346112
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1286346112
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1286346112
+0
+f
+-bs_StateList
+1
+-State
+0
+1286346112
+0
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1286346112
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286346112
+0
+f
+t
+65535
+f
+f
+0
+1286346112
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1286346112
+-
+-
+-
+1024
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286346112
+0
+1286346112
+-bs_ActorMemberFct
+1
+f
+0
+1286346112
+t
+f
+f
+t
+<20101006083201-356
+-bs_RefCounter
+0
+<20101006083201-357
+-bs_ActorClass
+3
+-ASubB
+f
+f
+0
+1286346489
+0
+0
+8
+-
+f
+-bs_ActorInterface
+3
+-bs_PortRefList
+1
+-Port
+0
+1286346506
+0
+t
+>20101006083201-303
+>20101006083201-304
+f
+0
+0
+1286346483
+-bs_ActorStructure
+7
+-bs_PortRefList
+1
+-Port
+0
+1286346506
+0
+t
+>20101006083201-303
+>20101006083201-304
+f
+-bs_SAPRefList
+1
+-SAP
+0
+1286346483
+0
+f
+t
+-bs_ActorRefList
+1
+-ActorRef
+0
+1286346483
+0
+f
+-bs_BindingContractList
+1
+-BindingContract
+0
+1286346483
+0
+f
+-bs_SizeFactors
+0
+1.8
+1
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286346483
+-bs_PrtvRefList
+1
+-Primitive
+0
+1286346483
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286346483
+0
+f
+0
+1286346483
+-bs_ActorBehaviour
+7
+<20101006083201-370
+-bs_RefCounter
+0
+<20101006083201-371
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1286346483
+5
+f
+-bs_StateGraph
+8
+<20101006083201-374
+-bs_RefCounter
+0
+<20101006083201-375
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1286346483
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1286346483
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1286346483
+0
+f
+-bs_StateList
+1
+-State
+0
+1286346483
+0
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1286346483
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286346483
+0
+f
+t
+65535
+f
+f
+0
+1286346483
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1286346483
+-
+-
+-
+1024
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286346483
+0
+1286346483
+-bs_ActorMemberFct
+1
+f
+0
+1286346483
+t
+f
+f
+f
+-------------------------------
+
+
+ROOM_CONFIGURATION_DATA
+
+106
+
+# Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# PersObj-Version: 4 standard
+#
+-bs_ConfigurationList
+-bs_ConfigurationList
+1
+-Configuration
+0
+1286346063
+0
+t
+<20101006083201-386
+-bs_RefCounter
+0
+<20101006083201-387
+-bs_Configuration
+3
+-StdConfig
+f
+f
+0
+1286346063
+6
+>20101006083201-126
+>20101006083201-127
+-bs_TargetList
+1
+-Target
+0
+1286346063
+0
+t
+<20101006083201-390
+-bs_RefCounter
+0
+<20101006083201-391
+-bs_Target
+3
+-PC
+f
+f
+0
+1286346063
+5
+-pc_id
+0
+0
+2
+2
+-bs_FileList
+1
+-FileListDummyName
+0
+1286346063
+0
+f
+f
+-bs_ContextCoord
+0
+0.5
+0.5
+-bs_SizeFactors
+0
+1
+1
+f
+-bs_NoteList
+1
+-Note
+0
+1286346063
+0
+f
+-bs_PrtvDescriptorList
+1
+-PrtvInstance
+0
+1286346063
+0
+f
+-bs_ActorInstanceList
+1
+-ActorInstance
+0
+1286346063
+0
+t
+<20101006123548-207
+-bs_RefCounter
+0
+<20101006123548-208
+-bs_ActorInstance
+3
+-ComponentMain
+f
+f
+0
+1286361341
+5
+8
+<20101006123548-209
+-bs_RefCounter
+0
+N
+0
+f
+<20101215174829-207
+-bs_DataMemberList
+1
+-var
+0
+1292431706
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1286361341
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1286361341
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1286361341
+0
+f
+t
+1024
+t
+<20101006123548-213
+-bs_RefCounter
+0
+<20101006123548-214
+-bs_ActorInstance
+3
+-ComponentMain/test_a1
+f
+f
+0
+1286361341
+5
+8
+<20101006123548-215
+-bs_RefCounter
+0
+N
+0
+f
+<20101215174829-211
+-bs_DataMemberList
+1
+-var
+0
+1292431706
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1286361341
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1286361341
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1286361341
+0
+f
+t
+1024
+t
+<20101006123548-219
+-bs_RefCounter
+0
+<20101006123548-220
+-bs_ActorInstance
+3
+-ComponentMain/test_a1/sub
+f
+f
+0
+1286361341
+5
+8
+<20101006123548-221
+-bs_RefCounter
+0
+N
+0
+f
+<20101215174829-215
+-bs_DataMemberList
+1
+-var
+0
+1292431706
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1286361341
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1286361341
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1286361341
+0
+f
+t
+1024
+t
+<20101006123548-225
+-bs_RefCounter
+0
+<20101006123548-226
+-bs_ActorInstance
+3
+-ComponentMain/test_a2
+f
+f
+0
+1286361341
+5
+8
+<20101006123548-227
+-bs_RefCounter
+0
+N
+0
+f
+<20101215174829-219
+-bs_DataMemberList
+1
+-var
+0
+1292431706
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1286361341
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1286361341
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1286361341
+0
+f
+t
+1024
+t
+<20101006123548-231
+-bs_RefCounter
+0
+<20101006123548-232
+-bs_ActorInstance
+3
+-ComponentMain/test_a2/sub
+f
+f
+0
+1286361341
+5
+8
+<20101006123548-233
+-bs_RefCounter
+0
+N
+0
+f
+<20101215174829-223
+-bs_DataMemberList
+1
+-var
+0
+1292431706
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1286361341
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1286361341
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1286361341
+0
+f
+t
+1024
+t
+<20101006123548-237
+-bs_RefCounter
+0
+<20101006123548-238
+-bs_ActorInstance
+3
+-ComponentMain/test_a3
+f
+f
+0
+1286361341
+5
+8
+<20101006123548-239
+-bs_RefCounter
+0
+N
+0
+f
+<20101215174829-227
+-bs_DataMemberList
+1
+-var
+0
+1292431706
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1286361341
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1286361341
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1286361341
+0
+f
+t
+1024
+t
+<20101006123548-243
+-bs_RefCounter
+0
+<20101006123548-244
+-bs_ActorInstance
+3
+-ComponentMain/test_a3/sub
+f
+f
+0
+1286361341
+5
+8
+<20101006123548-245
+-bs_RefCounter
+0
+N
+0
+f
+<20101215174829-231
+-bs_DataMemberList
+1
+-var
+0
+1292431706
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1286361341
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1286361341
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1286361341
+0
+f
+t
+1024
+t
+<20101006123548-249
+-bs_RefCounter
+0
+<20101006123548-250
+-bs_ActorInstance
+3
+-ComponentMain/test_b
+f
+f
+0
+1286361341
+5
+8
+<20101006123548-251
+-bs_RefCounter
+0
+N
+0
+f
+<20101215174829-235
+-bs_DataMemberList
+1
+-var
+0
+1292431706
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1286361341
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1286361341
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1286361341
+0
+f
+t
+1024
+t
+<20101006123548-255
+-bs_RefCounter
+0
+<20101006123548-256
+-bs_ActorInstance
+3
+-ComponentMain/test_b/sub1
+f
+f
+0
+1286361341
+5
+8
+<20101006123548-257
+-bs_RefCounter
+0
+N
+0
+f
+<20101215174829-239
+-bs_DataMemberList
+1
+-var
+0
+1292431706
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1286361341
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1286361341
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1286361341
+0
+f
+t
+1024
+f
+>20101006083201-390
+>20101006083201-391
+0
+-bs_PropertySet
+0
+f
+-bs_ViewMementoList
+1
+-ViewMemento
+0
+1292431709
+0
+t
+<20101215174829-245
+-bs_RefCounter
+0
+<20101215174829-246
+-bs_ViewMemento
+3
+-
+f
+f
+0
+1292431709
+1
+0
+1
+25
+25
+906
+543
+>20101006083201-126
+>20101006083201-127
+-ComponentMain
+f
+f
+>20101006083201-386
+>20101006083201-387
+-842150451
+-bs_DataObjHist
+0
+0
diff --git a/tests/org.eclipse.etrice.generator.tests/models/hierarchy.room b/tests/org.eclipse.etrice.generator.tests/models/hierarchy.room
new file mode 100644
index 000000000..0d4bb03c2
--- /dev/null
+++ b/tests/org.eclipse.etrice.generator.tests/models/hierarchy.room
@@ -0,0 +1,25 @@
+RoomModel hierarchy {
+
+ SubSystemClass CMain {
+ ActorRef l1a : ALevel1
+ ActorRef l1b : ALevel1
+ }
+
+ ActorClass ALevel1 {
+ Structure {
+ ActorRef l2a : ALevel2
+ ActorRef l2b : ALevel2
+ }
+ }
+
+ ActorClass ALevel2 {
+ Structure {
+ ActorRef l3a : ALevel3
+ ActorRef l3b : ALevel3
+ ActorRef l3c : ALevel3
+ }
+ }
+
+ ActorClass ALevel3 {
+ }
+}
diff --git a/tests/org.eclipse.etrice.generator.tests/models/layers.room b/tests/org.eclipse.etrice.generator.tests/models/layers.room
new file mode 100644
index 000000000..900edc528
--- /dev/null
+++ b/tests/org.eclipse.etrice.generator.tests/models/layers.room
@@ -0,0 +1,136 @@
+RoomModel layers {
+
+ ProtocolClass PServiceA {
+ incoming {
+ Message in1 ()
+ }
+ outgoing {
+ Message out1 ()
+ }
+ }
+
+ ProtocolClass PServiceB {
+ incoming {
+ Message in2 ()
+ }
+ outgoing {
+ Message out2 ()
+ }
+ }
+
+ ProtocolClass PServiceC {
+ incoming {
+ Message in3 ()
+ }
+ outgoing {
+ Message out3 ()
+ }
+ }
+
+ SubSystemClass CMain {
+ ActorRef app : AApplication
+ ActorRef services : AServices
+
+ LayerConnection ref app satisfied_by services.serviceA
+ LayerConnection ref app satisfied_by services.serviceB
+ }
+
+ ActorClass AApplication {
+ Structure {
+ ActorRef subsysA : ASubSysA
+ ActorRef subsysB : ASubSysB
+ }
+ }
+
+ ActorClass ASubSysA {
+ Structure {
+ ActorRef userX : AServiceUser1
+ ActorRef userY : AServiceUser2
+ ActorRef userZ : AServiceUser2
+ }
+ }
+
+ ActorClass ASubSysB {
+ Interface {
+ SPP service : PServiceC
+ }
+ Structure {
+ ActorRef userX : AServiceUser1
+ ActorRef userY : AServiceUser1
+ ActorRef userZ : AServiceUser3
+ ActorRef svcC : AServiceC
+
+ LayerConnection relay_sap service satisfied_by svcC.service
+ }
+ }
+
+ ActorClass AServiceUser1 {
+ Structure {
+ SAP sap : PServiceA
+ }
+ }
+
+ ActorClass AServiceUser2 {
+ Structure {
+ SAP sap : PServiceB
+ }
+ }
+
+ ActorClass AServiceUser3 {
+ Structure {
+ SAP sap : PServiceC
+ }
+ }
+
+ ActorClass AServices {
+ Interface {
+ SPP serviceA : PServiceA
+ SPP serviceB : PServiceB
+ }
+ Structure {
+ ActorRef svcA : AServiceA
+ ActorRef svcB : AServiceB
+
+ LayerConnection relay_sap serviceA satisfied_by svcA.service
+ LayerConnection relay_sap serviceB satisfied_by svcB.service
+ }
+ }
+
+ ActorClass AServiceA {
+ Interface {
+ SPP service : PServiceA
+ }
+ Structure {
+ ServiceImplementation of service
+ }
+ }
+
+ ActorClass AServiceB {
+ Interface {
+ SPP service : PServiceB
+ }
+ Structure {
+ ActorRef impl : AServiceBImpl
+ LayerConnection relay_sap service satisfied_by impl.service
+ }
+ }
+
+ ActorClass AServiceBImpl {
+ Interface {
+ SPP service : PServiceB
+ }
+ Structure {
+ ServiceImplementation of service
+ }
+ }
+
+ ActorClass AServiceC {
+ Interface {
+ SPP service : PServiceC
+ }
+ Structure {
+ ServiceImplementation of service
+ }
+ }
+
+}
diff --git a/tests/org.eclipse.etrice.generator.tests/models/layers.t.room b/tests/org.eclipse.etrice.generator.tests/models/layers.t.room
new file mode 100644
index 000000000..c258ce38e
--- /dev/null
+++ b/tests/org.eclipse.etrice.generator.tests/models/layers.t.room
@@ -0,0 +1,154 @@
+RoomModel layers.t {
+
+ import room.basic.service.timing.*
+
+ ProtocolClass PServiceA {
+ incoming {
+ Message in1 ()
+ }
+ outgoing {
+ Message out1 ()
+ }
+ }
+
+ ProtocolClass PServiceB {
+ incoming {
+ Message in2 ()
+ }
+ outgoing {
+ Message out2 ()
+ }
+ }
+
+ ProtocolClass PServiceC {
+ incoming {
+ Message in3 ()
+ }
+ outgoing {
+ Message out3 ()
+ }
+ }
+
+ ActorClass ComponentMain {
+ Interface {
+ }
+ Structure {
+ ActorRef app : AApplication
+ ActorRef services : AServices
+ }
+ Behavior {
+ }
+ }
+
+ ActorClass AApplication {
+ Interface {
+ }
+ Structure {
+ ActorRef subsysA : ASubSysA
+ ActorRef subsysB : ASubSysB
+ }
+ Behavior {
+ }
+ }
+
+ ActorClass ASubSysA {
+ Interface {
+ }
+ Structure {
+ ActorRef userX : AServiceUser1
+ ActorRef userY : AServiceUser2
+ ActorRef userZ : AServiceUser2
+ }
+ Behavior {
+ }
+ }
+
+ ActorClass ASubSysB {
+ Interface {
+ }
+ Structure {
+ ActorRef userX : AServiceUser1
+ ActorRef userY : AServiceUser1
+ ActorRef userZ : AServiceUser3
+ ActorRef svcC : AServiceC
+ }
+ Behavior {
+ }
+ }
+
+ ActorClass AServices {
+ Interface {
+ }
+ Structure {
+ ActorRef svcA : AServiceA
+ ActorRef svcB : AServiceB
+ }
+ Behavior {
+ }
+ }
+
+ ActorClass AServiceUser1 {
+ Interface {
+ }
+ Structure {
+ }
+ Behavior {
+ }
+ }
+
+ ActorClass AServiceUser2 {
+ Interface {
+ }
+ Structure {
+ }
+ Behavior {
+ }
+ }
+
+ ActorClass AServiceA {
+ Interface {
+ }
+ Structure {
+ }
+ Behavior {
+ }
+ }
+
+ ActorClass AServiceB {
+ Interface {
+ }
+ Structure {
+ ActorRef impl : AServiceBImpl
+ }
+ Behavior {
+ }
+ }
+
+ ActorClass AServiceBImpl {
+ Interface {
+ }
+ Structure {
+ }
+ Behavior {
+ }
+ }
+
+ ActorClass AServiceUser3 {
+ Interface {
+ }
+ Structure {
+ }
+ Behavior {
+ }
+ }
+
+ ActorClass AServiceC {
+ Interface {
+ }
+ Structure {
+ }
+ Behavior {
+ }
+ }
+
+}
diff --git a/tests/org.eclipse.etrice.generator.tests/models/layers.t.trp b/tests/org.eclipse.etrice.generator.tests/models/layers.t.trp
new file mode 100644
index 000000000..a9b4a1d9e
--- /dev/null
+++ b/tests/org.eclipse.etrice.generator.tests/models/layers.t.trp
@@ -0,0 +1,4770 @@
+114
+
+# Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# PersObj-Version: 4 standard
+#
+-bs_DataClassList
+-bs_DataClassList
+1
+-DataClass
+0
+1286361430
+0
+t
+<20101006124110-2
+-bs_RefCounter
+0
+<20101006124110-3
+-bs_DataClass
+3
+-boolean
+f
+f
+0
+1286361430
+0
+1
+5
+13
+t
+<20101006124110-4
+-bs_RefCounter
+0
+<20101006124110-5
+-bs_DataClass
+3
+-char
+f
+f
+0
+1286361430
+0
+1
+5
+7
+t
+<20101006124110-6
+-bs_RefCounter
+0
+<20101006124110-7
+-bs_DataClass
+3
+-uchar
+f
+f
+0
+1286361430
+0
+1
+5
+14
+t
+<20101006124110-8
+-bs_RefCounter
+0
+<20101006124110-9
+-bs_DataClass
+3
+-int8
+f
+f
+0
+1286361430
+0
+1
+5
+15
+t
+<20101006124110-10
+-bs_RefCounter
+0
+<20101006124110-11
+-bs_DataClass
+3
+-uint8
+f
+f
+0
+1286361430
+0
+1
+5
+18
+t
+<20101006124110-12
+-bs_RefCounter
+0
+<20101006124110-13
+-bs_DataClass
+3
+-int16
+f
+f
+0
+1286361430
+0
+1
+5
+16
+t
+<20101006124110-14
+-bs_RefCounter
+0
+<20101006124110-15
+-bs_DataClass
+3
+-uint16
+f
+f
+0
+1286361430
+0
+1
+5
+19
+t
+<20101006124110-16
+-bs_RefCounter
+0
+<20101006124110-17
+-bs_DataClass
+3
+-int32
+f
+f
+0
+1286361430
+0
+1
+5
+17
+t
+<20101006124110-18
+-bs_RefCounter
+0
+<20101006124110-19
+-bs_DataClass
+3
+-uint32
+f
+f
+0
+1286361430
+0
+1
+5
+20
+t
+<20101006124110-20
+-bs_RefCounter
+0
+<20101006124110-21
+-bs_DataClass
+3
+-float32
+f
+f
+0
+1286361430
+0
+1
+5
+21
+t
+<20101006124110-22
+-bs_RefCounter
+0
+<20101006124110-23
+-bs_DataClass
+3
+-float64
+f
+f
+0
+1286361430
+0
+1
+5
+22
+t
+<20101006124110-24
+-bs_RefCounter
+0
+<20101006124110-25
+-bs_DataClass
+3
+-char*
+f
+f
+0
+1286361430
+0
+1
+5
+12
+-
+t
+<20101006124110-26
+-bs_RefCounter
+0
+<20101006124110-27
+-bs_DataClass
+3
+-void*
+f
+f
+0
+1286361430
+0
+1
+5
+12
+-
+f
+-------------------------------
+# Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# PersObj-Version: 4 standard
+#
+-bs_ProtocolClassList
+-bs_ProtocolClassList
+1
+-ProtocolClass
+0
+1286362023
+0
+t
+<20101006124110-29
+-bs_RefCounter
+0
+<20101006124110-30
+-bs_ProtocolClass
+3
+-p_Timer
+t
+f
+0
+1286361430
+0
+1
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286361430
+0
+t
+<20101006124110-32
+-bs_RefCounter
+0
+<20101006124110-33
+-bs_MsgType
+3
+-Start
+f
+f
+0
+1286361430
+0
+>20101006124110-16
+>20101006124110-17
+t
+<20101006124110-34
+-bs_RefCounter
+0
+<20101006124110-35
+-bs_MsgType
+3
+-Kill
+f
+f
+0
+1286361430
+0
+<20101006124110-36
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286361430
+0
+t
+<20101006124110-38
+-bs_RefCounter
+0
+<20101006124110-39
+-bs_MsgType
+3
+-timerTick
+f
+f
+0
+1286361430
+0
+<20101006124110-40
+-bs_RefCounter
+0
+N
+f
+-ProtocolSemantics
+1
+0
+1286361430
+-ProtocolRuleSet
+0
+0
+1286361430
+t
+<20101006124110-43
+-ProtocolRule
+0
+0
+1286361430
+-Message
+0
+0
+1286361430
+0
+-Start
+t
+<20101006124110-45
+-MessageImplication
+0
+0
+1286361430
+-ProtocolRule
+0
+0
+1286361430
+-Message
+0
+0
+1286361430
+0
+-Kill
+f
+t
+<20101006124110-48
+-MessageImplication
+0
+0
+1286361430
+-ProtocolRule
+0
+0
+1286361430
+-Message
+0
+0
+1286361430
+1
+-timerTick
+f
+f
+f
+t
+<20101006124110-51
+-bs_RefCounter
+0
+<20101006124110-52
+-bs_ProtocolClass
+3
+-p_Timeout
+t
+f
+0
+1286361430
+0
+1
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286361430
+0
+t
+<20101006124110-54
+-bs_RefCounter
+0
+<20101006124110-55
+-bs_MsgType
+3
+-Start
+f
+f
+0
+1286361430
+0
+>20101006124110-16
+>20101006124110-17
+t
+<20101006124110-56
+-bs_RefCounter
+0
+<20101006124110-57
+-bs_MsgType
+3
+-Kill
+f
+f
+0
+1286361430
+0
+<20101006124110-58
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286361430
+0
+t
+<20101006124110-60
+-bs_RefCounter
+0
+<20101006124110-61
+-bs_MsgType
+3
+-timeoutTick
+f
+f
+0
+1286361430
+0
+<20101006124110-62
+-bs_RefCounter
+0
+N
+f
+-ProtocolSemantics
+1
+0
+1286361430
+-ProtocolRuleSet
+0
+0
+1286361430
+t
+<20101006124110-65
+-ProtocolRule
+0
+0
+1286361430
+-Message
+0
+0
+1286361430
+0
+-Start
+t
+<20101006124110-67
+-MessageImplication
+0
+0
+1286361430
+-ProtocolRule
+0
+0
+1286361430
+-Message
+0
+0
+1286361430
+0
+-Kill
+f
+t
+<20101006124110-70
+-MessageImplication
+0
+0
+1286361430
+-ProtocolRule
+0
+0
+1286361430
+-Message
+0
+0
+1286361430
+1
+-timeoutTick
+f
+f
+f
+t
+<20101006124110-73
+-bs_RefCounter
+0
+<20101006124110-74
+-bs_ProtocolClass
+3
+-p_DigitalInput
+t
+f
+0
+1286361430
+0
+1
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286361430
+0
+t
+<20101006124110-76
+-bs_RefCounter
+0
+<20101006124110-77
+-bs_MsgType
+3
+-getStatus
+f
+f
+0
+1286361430
+0
+<20101006124110-78
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286361430
+0
+t
+<20101006124110-80
+-bs_RefCounter
+0
+<20101006124110-81
+-bs_MsgType
+3
+-inputChanged
+f
+f
+0
+1286361430
+0
+>20101006124110-12
+>20101006124110-13
+f
+-ProtocolSemantics
+1
+0
+1286361430
+-ProtocolRuleSet
+0
+0
+1286361430
+t
+<20101006124110-84
+-ProtocolRule
+0
+0
+1286361430
+-Message
+0
+0
+1286361430
+0
+-getStatus
+t
+<20101006124110-86
+-MessageImplication
+0
+0
+1286361430
+-ProtocolRule
+0
+0
+1286361430
+-Message
+0
+0
+1286361430
+1
+-inputChanged
+f
+f
+f
+t
+<20101006124110-89
+-bs_RefCounter
+0
+<20101006124110-90
+-bs_ProtocolClass
+3
+-p_DigitalOutput
+t
+f
+0
+1286361430
+0
+1
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286361430
+0
+t
+<20101006124110-92
+-bs_RefCounter
+0
+<20101006124110-93
+-bs_MsgType
+3
+-Set
+f
+f
+0
+1286361430
+0
+>20101006124110-2
+>20101006124110-3
+t
+<20101006124110-94
+-bs_RefCounter
+0
+<20101006124110-95
+-bs_MsgType
+3
+-SetOn
+f
+f
+0
+1286361430
+0
+<20101006124110-96
+-bs_RefCounter
+0
+N
+t
+<20101006124110-97
+-bs_RefCounter
+0
+<20101006124110-98
+-bs_MsgType
+3
+-SetOff
+f
+f
+0
+1286361430
+0
+<20101006124110-99
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286361430
+0
+f
+-ProtocolSemantics
+1
+0
+1286361430
+-ProtocolRuleSet
+0
+0
+1286361430
+f
+t
+<20101006124110-103
+-bs_RefCounter
+0
+<20101006124110-104
+-bs_ProtocolClass
+3
+-PServiceA
+f
+f
+0
+1286361448
+0
+0
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286361448
+0
+t
+<20101006124110-106
+-bs_RefCounter
+0
+<20101006124110-107
+-bs_MsgType
+3
+-in1
+f
+f
+0
+1286361442
+0
+<20101006124110-108
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286361448
+0
+t
+<20101006124110-110
+-bs_RefCounter
+0
+<20101006124110-111
+-bs_MsgType
+3
+-out1
+f
+f
+0
+1286361447
+0
+<20101006124110-112
+-bs_RefCounter
+0
+N
+f
+-ProtocolSemantics
+1
+0
+1286361433
+-ProtocolRuleSet
+0
+0
+1286361433
+f
+t
+<20101006124110-115
+-bs_RefCounter
+0
+<20101006124110-116
+-bs_ProtocolClass
+3
+-PServiceB
+f
+f
+0
+1286361537
+0
+0
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286361537
+0
+t
+<20101006124110-118
+-bs_RefCounter
+0
+<20101006124110-119
+-bs_MsgType
+3
+-in2
+f
+f
+0
+1286361534
+0
+<20101006124110-120
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286361537
+0
+t
+<20101006124110-122
+-bs_RefCounter
+0
+<20101006124110-123
+-bs_MsgType
+3
+-out2
+f
+f
+0
+1286361537
+0
+<20101006124110-124
+-bs_RefCounter
+0
+N
+f
+-ProtocolSemantics
+1
+0
+1286361526
+-ProtocolRuleSet
+0
+0
+1286361526
+f
+t
+<20101006124909-1
+-bs_RefCounter
+0
+<20101006124909-2
+-bs_ProtocolClass
+3
+-PServiceC
+f
+f
+0
+1286362023
+0
+0
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286362023
+0
+t
+<20101006124909-4
+-bs_RefCounter
+0
+<20101006124909-5
+-bs_MsgType
+3
+-in3
+f
+f
+0
+1286362019
+0
+<20101006124909-6
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286362023
+0
+t
+<20101006124909-8
+-bs_RefCounter
+0
+<20101006124909-9
+-bs_MsgType
+3
+-out3
+f
+f
+0
+1286362021
+0
+<20101006124909-10
+-bs_RefCounter
+0
+N
+f
+-ProtocolSemantics
+1
+0
+1286362009
+-ProtocolRuleSet
+0
+0
+1286362009
+f
+f
+-------------------------------
+# Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# PersObj-Version: 4 standard
+#
+-bs_SAPClassList
+-bs_SAPClassList
+1
+-SAP
+0
+1286361430
+0
+t
+<20101006124110-128
+-bs_RefCounter
+0
+<20101006124110-129
+-bs_SAPClass
+3
+-Timer
+f
+f
+0
+1286361430
+0
+1
+0
+1
+>20101006124110-29
+>20101006124110-30
+t
+<20101006124110-130
+-bs_RefCounter
+0
+<20101006124110-131
+-bs_SAPClass
+3
+-Timeout
+f
+f
+0
+1286361430
+0
+1
+0
+2
+>20101006124110-51
+>20101006124110-52
+t
+<20101006124110-132
+-bs_RefCounter
+0
+<20101006124110-133
+-bs_SAPClass
+3
+-DigitalInput
+f
+f
+0
+1286361430
+0
+1
+0
+4
+>20101006124110-73
+>20101006124110-74
+t
+<20101006124110-134
+-bs_RefCounter
+0
+<20101006124110-135
+-bs_SAPClass
+3
+-DigitalOutput
+f
+f
+0
+1286361430
+0
+1
+0
+5
+>20101006124110-89
+>20101006124110-90
+f
+-------------------------------
+# Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# PersObj-Version: 4 standard
+#
+-bs_PrtvClassList
+-bs_PrtvClassList
+1
+-PrimitiveClass
+0
+1286361430
+0
+f
+-------------------------------
+# Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# PersObj-Version: 4 standard
+#
+-bs_ActorClassList
+-bs_ActorClassList
+1
+-ActorClass
+0
+1286362102
+0
+t
+<20101006124110-138
+-bs_RefCounter
+0
+<20101006124110-139
+-bs_ActorClass
+3
+-ComponentMain
+f
+f
+0
+1286361454
+0
+0
+8
+-
+f
+-bs_ActorInterface
+3
+-bs_PortRefList
+1
+-Port
+0
+1286361449
+0
+f
+0
+0
+1286361449
+-bs_ActorStructure
+7
+-bs_PortRefList
+1
+-Port
+0
+1286361449
+0
+f
+-bs_SAPRefList
+1
+-SAP
+0
+1286361449
+0
+f
+t
+-bs_ActorRefList
+1
+-ActorRef
+0
+1286361640
+0
+t
+<20101006124110-146
+-bs_RefCounter
+0
+<20101006124110-147
+-bs_ActorRef
+3
+-app
+f
+f
+0
+1286361611
+1
+-bs_ActorCoord
+0
+0.5
+0.8085
+-bs_SizeFactors
+0
+3.01
+1.01188
+-bs_CompPortRefList
+1
+-PortInstListDummyName
+0
+1286361608
+0
+f
+3
+-AApplication
+t
+<20101006124110-151
+-bs_RefCounter
+0
+<20101006124110-152
+-bs_ActorRef
+3
+-services
+f
+f
+0
+1286361642
+1
+-bs_ActorCoord
+0
+0.484167
+0.328625
+-bs_SizeFactors
+0
+3.01
+1.01188
+-bs_CompPortRefList
+1
+-PortInstListDummyName
+0
+1286361640
+0
+f
+3
+-AServices
+f
+-bs_BindingContractList
+1
+-BindingContract
+0
+1286361449
+0
+f
+-bs_SizeFactors
+0
+1.8
+1
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286361449
+-bs_PrtvRefList
+1
+-Primitive
+0
+1286361449
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286361449
+0
+f
+0
+1286361449
+-bs_ActorBehaviour
+7
+<20101006124110-162
+-bs_RefCounter
+0
+<20101006124110-163
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1286361449
+5
+f
+-bs_StateGraph
+8
+<20101006124110-166
+-bs_RefCounter
+0
+<20101006124110-167
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1286361449
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1286361449
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1286361449
+0
+f
+-bs_StateList
+1
+-State
+0
+1286361449
+0
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1286361449
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286361449
+0
+f
+t
+65535
+f
+f
+0
+1286361449
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1286361449
+-
+-
+-
+1024
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286361449
+0
+1286361449
+-bs_ActorMemberFct
+1
+f
+0
+1286361449
+t
+f
+f
+t
+<20101006124110-177
+-bs_RefCounter
+0
+<20101006124110-178
+-bs_ActorClass
+3
+-AApplication
+f
+f
+0
+1286361472
+0
+0
+8
+-
+f
+-bs_ActorInterface
+3
+-bs_PortRefList
+1
+-Port
+0
+1286361460
+0
+f
+0
+0
+1286361460
+-bs_ActorStructure
+7
+-bs_PortRefList
+1
+-Port
+0
+1286361460
+0
+f
+-bs_SAPRefList
+1
+-SAP
+0
+1286361460
+0
+f
+t
+-bs_ActorRefList
+1
+-ActorRef
+0
+1286361588
+0
+t
+<20101006124110-185
+-bs_RefCounter
+0
+<20101006124110-186
+-bs_ActorRef
+3
+-subsysA
+f
+f
+0
+1286361591
+1
+-bs_ActorCoord
+0
+0.327708
+0.56725
+-bs_SizeFactors
+0
+2.99688
+1.01188
+-bs_CompPortRefList
+1
+-PortInstListDummyName
+0
+1286361566
+0
+f
+3
+-ASubSysA
+t
+<20101006124110-190
+-bs_RefCounter
+0
+<20101006124110-191
+-bs_ActorRef
+3
+-subsysB
+f
+f
+0
+1286361590
+1
+-bs_ActorCoord
+0
+0.739306
+0.5595
+-bs_SizeFactors
+0
+3.01
+1.01188
+-bs_CompPortRefList
+1
+-PortInstListDummyName
+0
+1286361588
+0
+f
+3
+-ASubSysB
+f
+-bs_BindingContractList
+1
+-BindingContract
+0
+1286361460
+0
+f
+-bs_SizeFactors
+0
+1.8
+1
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286361460
+-bs_PrtvRefList
+1
+-Primitive
+0
+1286361460
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286361460
+0
+f
+0
+1286361460
+-bs_ActorBehaviour
+7
+<20101006124110-201
+-bs_RefCounter
+0
+<20101006124110-202
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1286361460
+5
+f
+-bs_StateGraph
+8
+<20101006124110-205
+-bs_RefCounter
+0
+<20101006124110-206
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1286361460
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1286361460
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1286361460
+0
+f
+-bs_StateList
+1
+-State
+0
+1286361460
+0
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1286361460
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286361460
+0
+f
+t
+65535
+f
+f
+0
+1286361460
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1286361460
+-
+-
+-
+1024
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286361460
+0
+1286361460
+-bs_ActorMemberFct
+1
+f
+0
+1286361460
+t
+f
+f
+t
+<20101006124110-216
+-bs_RefCounter
+0
+<20101006124110-217
+-bs_ActorClass
+3
+-ASubSysA
+f
+f
+0
+1286361494
+0
+0
+8
+-
+f
+-bs_ActorInterface
+3
+-bs_PortRefList
+1
+-Port
+0
+1286361486
+0
+f
+0
+0
+1286361486
+-bs_ActorStructure
+7
+-bs_PortRefList
+1
+-Port
+0
+1286361486
+0
+f
+-bs_SAPRefList
+1
+-SAP
+0
+1286361486
+0
+f
+t
+-bs_ActorRefList
+1
+-ActorRef
+0
+1286361818
+0
+t
+<20101006124909-13
+-bs_RefCounter
+0
+<20101006124909-14
+-bs_ActorRef
+3
+-userX
+f
+f
+0
+1286361733
+1
+-bs_ActorCoord
+0
+0.288125
+0.657625
+-bs_SizeFactors
+0
+3.00188
+0.999375
+-bs_CompPortRefList
+1
+-PortInstListDummyName
+0
+1286361731
+0
+f
+3
+-AServiceUser1
+t
+<20101006124909-18
+-bs_RefCounter
+0
+<20101006124909-19
+-bs_ActorRef
+3
+-userY
+f
+f
+0
+1286361746
+1
+-bs_ActorCoord
+0
+0.674236
+0.641375
+-bs_SizeFactors
+0
+3
+1
+-bs_CompPortRefList
+1
+-PortInstListDummyName
+0
+1286361746
+0
+f
+3
+-AServiceUser2
+t
+<20101006124909-23
+-bs_RefCounter
+0
+<20101006124909-24
+-bs_ActorRef
+3
+-userZ
+f
+f
+0
+1286361818
+1
+-bs_ActorCoord
+0
+0.501458
+0.36575
+-bs_SizeFactors
+0
+3
+1
+-bs_CompPortRefList
+1
+-PortInstListDummyName
+0
+1286361818
+0
+f
+3
+-AServiceUser2
+f
+-bs_BindingContractList
+1
+-BindingContract
+0
+1286361486
+0
+f
+-bs_SizeFactors
+0
+1.8
+1
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286361486
+-bs_PrtvRefList
+1
+-Primitive
+0
+1286361486
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286361486
+0
+f
+0
+1286361486
+-bs_ActorBehaviour
+7
+<20101006124110-230
+-bs_RefCounter
+0
+<20101006124110-231
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1286361486
+5
+f
+-bs_StateGraph
+8
+<20101006124110-234
+-bs_RefCounter
+0
+<20101006124110-235
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1286361486
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1286361486
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1286361486
+0
+f
+-bs_StateList
+1
+-State
+0
+1286361486
+0
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1286361486
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286361486
+0
+f
+t
+65535
+f
+f
+0
+1286361486
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1286361486
+-
+-
+-
+1024
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286361486
+0
+1286361486
+-bs_ActorMemberFct
+1
+f
+0
+1286361486
+t
+f
+f
+t
+<20101006124110-245
+-bs_RefCounter
+0
+<20101006124110-246
+-bs_ActorClass
+3
+-ASubSysB
+f
+f
+0
+1286361574
+0
+0
+8
+-
+f
+-bs_ActorInterface
+3
+-bs_PortRefList
+1
+-Port
+0
+1286361497
+0
+f
+0
+0
+1286361497
+-bs_ActorStructure
+7
+-bs_PortRefList
+1
+-Port
+0
+1286361497
+0
+f
+-bs_SAPRefList
+1
+-SAP
+0
+1286361574
+0
+f
+t
+-bs_ActorRefList
+1
+-ActorRef
+0
+1286362140
+0
+t
+<20101006124909-28
+-bs_RefCounter
+0
+<20101006124909-29
+-bs_ActorRef
+3
+-userX
+f
+f
+0
+1286362071
+1
+-bs_ActorCoord
+0
+0.310417
+0.791625
+-bs_SizeFactors
+0
+2.9975
+0.99875
+-bs_CompPortRefList
+1
+-PortInstListDummyName
+0
+1286361779
+0
+f
+3
+-AServiceUser1
+t
+<20101006124909-33
+-bs_RefCounter
+0
+<20101006124909-34
+-bs_ActorRef
+3
+-userY
+f
+f
+0
+1286362146
+1
+-bs_ActorCoord
+0
+0.311875
+0.537375
+-bs_SizeFactors
+0
+2.9975
+0.99875
+-bs_CompPortRefList
+1
+-PortInstListDummyName
+0
+1286361793
+0
+f
+3
+-AServiceUser1
+t
+<20101006124909-38
+-bs_RefCounter
+0
+<20101006124909-39
+-bs_ActorRef
+3
+-userZ
+f
+f
+0
+1286362144
+1
+-bs_ActorCoord
+0
+0.3025
+0.253375
+-bs_SizeFactors
+0
+3.01
+1.01188
+-bs_CompPortRefList
+1
+-PortInstListDummyName
+0
+1286362091
+0
+f
+3
+-AServiceUser3
+t
+<20101006124909-43
+-bs_RefCounter
+0
+<20101006124909-44
+-bs_ActorRef
+3
+-svcC
+f
+f
+0
+1286362142
+1
+-bs_ActorCoord
+0
+0.737847
+0.37525
+-bs_SizeFactors
+0
+3.01063
+1.01188
+-bs_CompPortRefList
+1
+-PortInstListDummyName
+0
+1286362140
+0
+f
+3
+-AServiceC
+f
+-bs_BindingContractList
+1
+-BindingContract
+0
+1286361497
+0
+f
+-bs_SizeFactors
+0
+1.8
+1
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286361497
+-bs_PrtvRefList
+1
+-Primitive
+0
+1286361497
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286361497
+0
+f
+0
+1286361497
+-bs_ActorBehaviour
+7
+<20101006124110-259
+-bs_RefCounter
+0
+<20101006124110-260
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1286361497
+5
+f
+-bs_StateGraph
+8
+<20101006124110-263
+-bs_RefCounter
+0
+<20101006124110-264
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1286361497
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1286361497
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1286361497
+0
+f
+-bs_StateList
+1
+-State
+0
+1286361497
+0
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1286361497
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286361497
+0
+f
+t
+65535
+f
+f
+0
+1286361497
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1286361497
+-
+-
+-
+1024
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286361497
+0
+1286361497
+-bs_ActorMemberFct
+1
+f
+0
+1286361497
+t
+f
+f
+t
+<20101006124110-274
+-bs_RefCounter
+0
+<20101006124110-275
+-bs_ActorClass
+3
+-AServices
+f
+f
+0
+1286361620
+0
+0
+8
+-
+f
+-bs_ActorInterface
+3
+-bs_PortRefList
+1
+-Port
+0
+1286361615
+0
+f
+0
+0
+1286361615
+-bs_ActorStructure
+7
+-bs_PortRefList
+1
+-Port
+0
+1286361615
+0
+f
+-bs_SAPRefList
+1
+-SAP
+0
+1286361615
+0
+f
+t
+-bs_ActorRefList
+1
+-ActorRef
+0
+1286361926
+0
+t
+<20101006124909-48
+-bs_RefCounter
+0
+<20101006124909-49
+-bs_ActorRef
+3
+-svcA
+f
+f
+0
+1286361941
+1
+-bs_ActorCoord
+0
+0.246042
+0.600875
+-bs_SizeFactors
+0
+3.00188
+0.999375
+-bs_CompPortRefList
+1
+-PortInstListDummyName
+0
+1286361913
+0
+f
+3
+-AServiceA
+t
+<20101006124909-53
+-bs_RefCounter
+0
+<20101006124909-54
+-bs_ActorRef
+3
+-svcB
+f
+f
+0
+1286361940
+1
+-bs_ActorCoord
+0
+0.662222
+0.587375
+-bs_SizeFactors
+0
+3.00188
+0.999375
+-bs_CompPortRefList
+1
+-PortInstListDummyName
+0
+1286361926
+0
+f
+3
+-AServiceB
+f
+-bs_BindingContractList
+1
+-BindingContract
+0
+1286361615
+0
+f
+-bs_SizeFactors
+0
+1.8
+1
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286361615
+-bs_PrtvRefList
+1
+-Primitive
+0
+1286361615
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286361615
+0
+f
+0
+1286361615
+-bs_ActorBehaviour
+7
+<20101006124110-288
+-bs_RefCounter
+0
+<20101006124110-289
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1286361615
+5
+f
+-bs_StateGraph
+8
+<20101006124110-292
+-bs_RefCounter
+0
+<20101006124110-293
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1286361615
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1286361615
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1286361615
+0
+f
+-bs_StateList
+1
+-State
+0
+1286361615
+0
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1286361615
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286361615
+0
+f
+t
+65535
+f
+f
+0
+1286361615
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1286361615
+-
+-
+-
+1024
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286361615
+0
+1286361615
+-bs_ActorMemberFct
+1
+f
+0
+1286361615
+t
+f
+f
+t
+<20101006124909-58
+-bs_RefCounter
+0
+<20101006124909-59
+-bs_ActorClass
+3
+-AServiceUser1
+f
+f
+0
+1286361692
+0
+0
+8
+-
+f
+-bs_ActorInterface
+3
+-bs_PortRefList
+1
+-Port
+0
+1286361685
+0
+f
+0
+0
+1286361685
+-bs_ActorStructure
+7
+-bs_PortRefList
+1
+-Port
+0
+1286361685
+0
+f
+-bs_SAPRefList
+1
+-SAP
+0
+1286361685
+0
+f
+t
+-bs_ActorRefList
+1
+-ActorRef
+0
+1286361685
+0
+f
+-bs_BindingContractList
+1
+-BindingContract
+0
+1286361685
+0
+f
+-bs_SizeFactors
+0
+1.8
+1
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286361685
+-bs_PrtvRefList
+1
+-Primitive
+0
+1286361685
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286361685
+0
+f
+0
+1286361685
+-bs_ActorBehaviour
+7
+<20101006124909-72
+-bs_RefCounter
+0
+<20101006124909-73
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1286361685
+5
+f
+-bs_StateGraph
+8
+<20101006124909-76
+-bs_RefCounter
+0
+<20101006124909-77
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1286361685
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1286361685
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1286361685
+0
+f
+-bs_StateList
+1
+-State
+0
+1286361685
+0
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1286361685
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286361685
+0
+f
+t
+65535
+f
+f
+0
+1286361685
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1286361685
+-
+-
+-
+1024
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286361685
+0
+1286361685
+-bs_ActorMemberFct
+1
+f
+0
+1286361685
+t
+f
+f
+t
+<20101006124909-87
+-bs_RefCounter
+0
+<20101006124909-88
+-bs_ActorClass
+3
+-AServiceUser2
+f
+f
+0
+1286361705
+0
+0
+8
+-
+f
+-bs_ActorInterface
+3
+-bs_PortRefList
+1
+-Port
+0
+1286361698
+0
+f
+0
+0
+1286361698
+-bs_ActorStructure
+7
+-bs_PortRefList
+1
+-Port
+0
+1286361698
+0
+f
+-bs_SAPRefList
+1
+-SAP
+0
+1286361698
+0
+f
+t
+-bs_ActorRefList
+1
+-ActorRef
+0
+1286361698
+0
+f
+-bs_BindingContractList
+1
+-BindingContract
+0
+1286361698
+0
+f
+-bs_SizeFactors
+0
+1.8
+1
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286361698
+-bs_PrtvRefList
+1
+-Primitive
+0
+1286361698
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286361698
+0
+f
+0
+1286361698
+-bs_ActorBehaviour
+7
+<20101006124909-101
+-bs_RefCounter
+0
+<20101006124909-102
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1286361698
+5
+f
+-bs_StateGraph
+8
+<20101006124909-105
+-bs_RefCounter
+0
+<20101006124909-106
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1286361698
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1286361698
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1286361698
+0
+f
+-bs_StateList
+1
+-State
+0
+1286361698
+0
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1286361698
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286361698
+0
+f
+t
+65535
+f
+f
+0
+1286361698
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1286361698
+-
+-
+-
+1024
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286361698
+0
+1286361698
+-bs_ActorMemberFct
+1
+f
+0
+1286361698
+t
+f
+f
+t
+<20101006124909-116
+-bs_RefCounter
+0
+<20101006124909-117
+-bs_ActorClass
+3
+-AServiceA
+f
+f
+0
+1286361860
+0
+0
+8
+-
+f
+-bs_ActorInterface
+3
+-bs_PortRefList
+1
+-Port
+0
+1286361844
+0
+f
+0
+0
+1286361844
+-bs_ActorStructure
+7
+-bs_PortRefList
+1
+-Port
+0
+1286361844
+0
+f
+-bs_SAPRefList
+1
+-SAP
+0
+1286361844
+0
+f
+t
+-bs_ActorRefList
+1
+-ActorRef
+0
+1286361844
+0
+f
+-bs_BindingContractList
+1
+-BindingContract
+0
+1286361844
+0
+f
+-bs_SizeFactors
+0
+1.8
+1
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286361844
+-bs_PrtvRefList
+1
+-Primitive
+0
+1286361844
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286361844
+0
+f
+0
+1286361844
+-bs_ActorBehaviour
+7
+<20101006124909-130
+-bs_RefCounter
+0
+<20101006124909-131
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1286361844
+5
+f
+-bs_StateGraph
+8
+<20101006124909-134
+-bs_RefCounter
+0
+<20101006124909-135
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1286361844
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1286361844
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1286361844
+0
+f
+-bs_StateList
+1
+-State
+0
+1286361844
+0
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1286361844
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286361844
+0
+f
+t
+65535
+f
+f
+0
+1286361844
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1286361844
+-
+-
+-
+1024
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286361844
+0
+1286361844
+-bs_ActorMemberFct
+1
+f
+0
+1286361844
+t
+f
+f
+t
+<20101006124909-145
+-bs_RefCounter
+0
+<20101006124909-146
+-bs_ActorClass
+3
+-AServiceB
+f
+f
+0
+1286361869
+0
+0
+8
+-
+f
+-bs_ActorInterface
+3
+-bs_PortRefList
+1
+-Port
+0
+1286361863
+0
+f
+0
+0
+1286361863
+-bs_ActorStructure
+7
+-bs_PortRefList
+1
+-Port
+0
+1286361863
+0
+f
+-bs_SAPRefList
+1
+-SAP
+0
+1286361863
+0
+f
+t
+-bs_ActorRefList
+1
+-ActorRef
+0
+1286361936
+0
+t
+<20101006124909-153
+-bs_RefCounter
+0
+<20101006124909-154
+-bs_ActorRef
+3
+-impl
+f
+f
+0
+1286361937
+1
+-bs_ActorCoord
+0
+0.487917
+0.514375
+-bs_SizeFactors
+0
+3.00188
+1
+-bs_CompPortRefList
+1
+-PortInstListDummyName
+0
+1286361936
+0
+f
+3
+-AServiceBImpl
+f
+-bs_BindingContractList
+1
+-BindingContract
+0
+1286361863
+0
+f
+-bs_SizeFactors
+0
+1.8
+1
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286361863
+-bs_PrtvRefList
+1
+-Primitive
+0
+1286361863
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286361863
+0
+f
+0
+1286361863
+-bs_ActorBehaviour
+7
+<20101006124909-164
+-bs_RefCounter
+0
+<20101006124909-165
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1286361863
+5
+f
+-bs_StateGraph
+8
+<20101006124909-168
+-bs_RefCounter
+0
+<20101006124909-169
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1286361863
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1286361863
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1286361863
+0
+f
+-bs_StateList
+1
+-State
+0
+1286361863
+0
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1286361863
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286361863
+0
+f
+t
+65535
+f
+f
+0
+1286361863
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1286361863
+-
+-
+-
+1024
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286361863
+0
+1286361863
+-bs_ActorMemberFct
+1
+f
+0
+1286361863
+t
+f
+f
+t
+<20101006124909-179
+-bs_RefCounter
+0
+<20101006124909-180
+-bs_ActorClass
+3
+-AServiceBImpl
+f
+f
+0
+1286361879
+0
+0
+8
+-
+f
+-bs_ActorInterface
+3
+-bs_PortRefList
+1
+-Port
+0
+1286361871
+0
+f
+0
+0
+1286361871
+-bs_ActorStructure
+7
+-bs_PortRefList
+1
+-Port
+0
+1286361871
+0
+f
+-bs_SAPRefList
+1
+-SAP
+0
+1286361871
+0
+f
+t
+-bs_ActorRefList
+1
+-ActorRef
+0
+1286361871
+0
+f
+-bs_BindingContractList
+1
+-BindingContract
+0
+1286361871
+0
+f
+-bs_SizeFactors
+0
+1.8
+1
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286361871
+-bs_PrtvRefList
+1
+-Primitive
+0
+1286361871
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286361871
+0
+f
+0
+1286361871
+-bs_ActorBehaviour
+7
+<20101006124909-193
+-bs_RefCounter
+0
+<20101006124909-194
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1286361871
+5
+f
+-bs_StateGraph
+8
+<20101006124909-197
+-bs_RefCounter
+0
+<20101006124909-198
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1286361871
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1286361871
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1286361871
+0
+f
+-bs_StateList
+1
+-State
+0
+1286361871
+0
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1286361871
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286361871
+0
+f
+t
+65535
+f
+f
+0
+1286361871
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1286361871
+-
+-
+-
+1024
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286361871
+0
+1286361871
+-bs_ActorMemberFct
+1
+f
+0
+1286361871
+t
+f
+f
+t
+<20101006124909-208
+-bs_RefCounter
+0
+<20101006124909-209
+-bs_ActorClass
+3
+-AServiceUser3
+f
+f
+0
+1286362006
+0
+0
+8
+-
+f
+-bs_ActorInterface
+3
+-bs_PortRefList
+1
+-Port
+0
+1286361992
+0
+f
+0
+0
+1286361992
+-bs_ActorStructure
+7
+-bs_PortRefList
+1
+-Port
+0
+1286361992
+0
+f
+-bs_SAPRefList
+1
+-SAP
+0
+1286361992
+0
+f
+t
+-bs_ActorRefList
+1
+-ActorRef
+0
+1286361992
+0
+f
+-bs_BindingContractList
+1
+-BindingContract
+0
+1286361992
+0
+f
+-bs_SizeFactors
+0
+1.8
+1
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286361992
+-bs_PrtvRefList
+1
+-Primitive
+0
+1286361992
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286361992
+0
+f
+0
+1286361992
+-bs_ActorBehaviour
+7
+<20101006124909-222
+-bs_RefCounter
+0
+<20101006124909-223
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1286361992
+5
+f
+-bs_StateGraph
+8
+<20101006124909-226
+-bs_RefCounter
+0
+<20101006124909-227
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1286361992
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1286361992
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1286361992
+0
+f
+-bs_StateList
+1
+-State
+0
+1286361992
+0
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1286361992
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286361992
+0
+f
+t
+65535
+f
+f
+0
+1286361992
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1286361992
+-
+-
+-
+1024
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286361992
+0
+1286361992
+-bs_ActorMemberFct
+1
+f
+0
+1286361992
+t
+f
+f
+t
+<20101006124909-237
+-bs_RefCounter
+0
+<20101006124909-238
+-bs_ActorClass
+3
+-AServiceC
+f
+f
+0
+1286362107
+0
+0
+8
+-
+f
+-bs_ActorInterface
+3
+-bs_PortRefList
+1
+-Port
+0
+1286362102
+0
+f
+0
+0
+1286362102
+-bs_ActorStructure
+7
+-bs_PortRefList
+1
+-Port
+0
+1286362102
+0
+f
+-bs_SAPRefList
+1
+-SAP
+0
+1286362102
+0
+f
+t
+-bs_ActorRefList
+1
+-ActorRef
+0
+1286362102
+0
+f
+-bs_BindingContractList
+1
+-BindingContract
+0
+1286362102
+0
+f
+-bs_SizeFactors
+0
+1.8
+1
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286362102
+-bs_PrtvRefList
+1
+-Primitive
+0
+1286362102
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286362102
+0
+f
+0
+1286362102
+-bs_ActorBehaviour
+7
+<20101006124909-251
+-bs_RefCounter
+0
+<20101006124909-252
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1286362102
+5
+f
+-bs_StateGraph
+8
+<20101006124909-255
+-bs_RefCounter
+0
+<20101006124909-256
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1286362102
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1286362102
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1286362102
+0
+f
+-bs_StateList
+1
+-State
+0
+1286362102
+0
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1286362102
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286362102
+0
+f
+t
+65535
+f
+f
+0
+1286362102
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1286362102
+-
+-
+-
+1024
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286362102
+0
+1286362102
+-bs_ActorMemberFct
+1
+f
+0
+1286362102
+t
+f
+f
+f
+-------------------------------
+
+
+ROOM_CONFIGURATION_DATA
+
+106
+
+# Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# PersObj-Version: 4 standard
+#
+-bs_ConfigurationList
+-bs_ConfigurationList
+1
+-Configuration
+0
+1286361430
+0
+t
+<20101006124110-304
+-bs_RefCounter
+0
+<20101006124110-305
+-bs_Configuration
+3
+-StdConfig
+f
+f
+0
+1286361430
+6
+>20101006124110-138
+>20101006124110-139
+-bs_TargetList
+1
+-Target
+0
+1286361430
+0
+t
+<20101006124110-307
+-bs_RefCounter
+0
+<20101006124110-308
+-bs_Target
+3
+-PC
+f
+f
+0
+1286361430
+5
+-pc_id
+0
+0
+2
+2
+-bs_FileList
+1
+-FileListDummyName
+0
+1286361430
+0
+f
+f
+-bs_ContextCoord
+0
+0.5
+0.5
+-bs_SizeFactors
+0
+1
+1
+f
+-bs_NoteList
+1
+-Note
+0
+1286361430
+0
+f
+-bs_PrtvDescriptorList
+1
+-PrtvInstance
+0
+1286361430
+0
+f
+-bs_ActorInstanceList
+1
+-ActorInstance
+0
+1286361430
+0
+t
+<20101006124110-315
+-bs_RefCounter
+0
+<20101006124110-316
+-bs_ActorInstance
+3
+-ComponentMain
+f
+f
+0
+1286361596
+5
+8
+<20101006124110-317
+-bs_RefCounter
+0
+N
+0
+f
+<20101215174838-373
+-bs_DataMemberList
+1
+-var
+0
+1292431717
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1286361596
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1286361596
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1286361596
+0
+f
+t
+1024
+t
+<20101006124110-321
+-bs_RefCounter
+0
+<20101006124110-322
+-bs_ActorInstance
+3
+-ComponentMain/app
+f
+f
+0
+1286361608
+5
+8
+<20101006124110-323
+-bs_RefCounter
+0
+N
+0
+f
+<20101215174838-377
+-bs_DataMemberList
+1
+-var
+0
+1292431717
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1286361608
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1286361608
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1286361608
+0
+f
+t
+1024
+t
+<20101006124110-327
+-bs_RefCounter
+0
+<20101006124110-328
+-bs_ActorInstance
+3
+-ComponentMain/app/subsysA
+f
+f
+0
+1286361608
+5
+8
+<20101006124110-329
+-bs_RefCounter
+0
+N
+0
+f
+<20101215174838-381
+-bs_DataMemberList
+1
+-var
+0
+1292431717
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1286361608
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1286361608
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1286361608
+0
+f
+t
+1024
+t
+<20101006124110-333
+-bs_RefCounter
+0
+<20101006124110-334
+-bs_ActorInstance
+3
+-ComponentMain/app/subsysB
+f
+f
+0
+1286361608
+5
+8
+<20101006124110-335
+-bs_RefCounter
+0
+N
+0
+f
+<20101215174838-385
+-bs_DataMemberList
+1
+-var
+0
+1292431717
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1286361608
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1286361608
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1286361608
+0
+f
+t
+1024
+t
+<20101006124110-339
+-bs_RefCounter
+0
+<20101006124110-340
+-bs_ActorInstance
+3
+-ComponentMain/services
+f
+f
+0
+1286361640
+5
+8
+<20101006124110-341
+-bs_RefCounter
+0
+N
+0
+f
+<20101215174838-389
+-bs_DataMemberList
+1
+-var
+0
+1292431717
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1286361640
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1286361640
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1286361640
+0
+f
+t
+1024
+t
+<20101006124909-266
+-bs_RefCounter
+0
+<20101006124909-267
+-bs_ActorInstance
+3
+-ComponentMain/app/subsysA/userX
+f
+f
+0
+1286361731
+5
+8
+<20101006124909-268
+-bs_RefCounter
+0
+N
+0
+f
+<20101215174838-393
+-bs_DataMemberList
+1
+-var
+0
+1292431717
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1286361731
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1286361731
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1286361731
+0
+f
+t
+1024
+t
+<20101006124909-272
+-bs_RefCounter
+0
+<20101006124909-273
+-bs_ActorInstance
+3
+-ComponentMain/app/subsysA/userY
+f
+f
+0
+1286361746
+5
+8
+<20101006124909-274
+-bs_RefCounter
+0
+N
+0
+f
+<20101215174838-397
+-bs_DataMemberList
+1
+-var
+0
+1292431717
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1286361746
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1286361746
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1286361746
+0
+f
+t
+1024
+t
+<20101006124909-278
+-bs_RefCounter
+0
+<20101006124909-279
+-bs_ActorInstance
+3
+-ComponentMain/app/subsysB/userX
+f
+f
+0
+1286361779
+5
+8
+<20101006124909-280
+-bs_RefCounter
+0
+N
+0
+f
+<20101215174838-401
+-bs_DataMemberList
+1
+-var
+0
+1292431717
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1286361779
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1286361779
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1286361779
+0
+f
+t
+1024
+t
+<20101006124909-284
+-bs_RefCounter
+0
+<20101006124909-285
+-bs_ActorInstance
+3
+-ComponentMain/app/subsysB/userY
+f
+f
+0
+1286361793
+5
+8
+<20101006124909-286
+-bs_RefCounter
+0
+N
+0
+f
+<20101215174838-405
+-bs_DataMemberList
+1
+-var
+0
+1292431717
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1286361793
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1286361793
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1286361793
+0
+f
+t
+1024
+t
+<20101006124909-290
+-bs_RefCounter
+0
+<20101006124909-291
+-bs_ActorInstance
+3
+-ComponentMain/app/subsysA/userZ
+f
+f
+0
+1286361818
+5
+8
+<20101006124909-292
+-bs_RefCounter
+0
+N
+0
+f
+<20101215174838-409
+-bs_DataMemberList
+1
+-var
+0
+1292431717
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1286361818
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1286361818
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1286361818
+0
+f
+t
+1024
+t
+<20101006124909-296
+-bs_RefCounter
+0
+<20101006124909-297
+-bs_ActorInstance
+3
+-ComponentMain/services/svcA
+f
+f
+0
+1286361913
+5
+8
+<20101006124909-298
+-bs_RefCounter
+0
+N
+0
+f
+<20101215174838-413
+-bs_DataMemberList
+1
+-var
+0
+1292431717
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1286361913
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1286361913
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1286361913
+0
+f
+t
+1024
+t
+<20101006124909-302
+-bs_RefCounter
+0
+<20101006124909-303
+-bs_ActorInstance
+3
+-ComponentMain/services/svcB
+f
+f
+0
+1286361926
+5
+8
+<20101006124909-304
+-bs_RefCounter
+0
+N
+0
+f
+<20101215174838-417
+-bs_DataMemberList
+1
+-var
+0
+1292431717
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1286361926
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1286361926
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1286361926
+0
+f
+t
+1024
+t
+<20101006124909-308
+-bs_RefCounter
+0
+<20101006124909-309
+-bs_ActorInstance
+3
+-ComponentMain/services/svcB/impl
+f
+f
+0
+1286361936
+5
+8
+<20101006124909-310
+-bs_RefCounter
+0
+N
+0
+f
+<20101215174838-421
+-bs_DataMemberList
+1
+-var
+0
+1292431717
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1286361936
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1286361936
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1286361936
+0
+f
+t
+1024
+t
+<20101006124909-314
+-bs_RefCounter
+0
+<20101006124909-315
+-bs_ActorInstance
+3
+-ComponentMain/app/subsysB/userZ
+f
+f
+0
+1286362091
+5
+8
+<20101006124909-316
+-bs_RefCounter
+0
+N
+0
+f
+<20101215174838-425
+-bs_DataMemberList
+1
+-var
+0
+1292431717
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1286362091
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1286362091
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1286362091
+0
+f
+t
+1024
+t
+<20101006124909-320
+-bs_RefCounter
+0
+<20101006124909-321
+-bs_ActorInstance
+3
+-ComponentMain/app/subsysB/svcC
+f
+f
+0
+1286362140
+5
+8
+<20101006124909-322
+-bs_RefCounter
+0
+N
+0
+f
+<20101215174838-429
+-bs_DataMemberList
+1
+-var
+0
+1292431717
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1286362140
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1286362140
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1286362140
+0
+f
+t
+1024
+f
+>20101006124110-307
+>20101006124110-308
+0
+-bs_PropertySet
+0
+f
+-bs_ViewMementoList
+1
+-ViewMemento
+0
+1292431718
+0
+t
+<20101215174838-435
+-bs_RefCounter
+0
+<20101215174838-436
+-bs_ViewMemento
+3
+-
+f
+f
+0
+1292431718
+1
+1
+1
+225
+225
+1106
+743
+>20101006124110-245
+>20101006124110-246
+f
+f
+>20101006124110-304
+>20101006124110-305
+-842150451
+-bs_DataObjHist
+0
+0
diff --git a/tests/org.eclipse.etrice.generator.tests/models/ports.room b/tests/org.eclipse.etrice.generator.tests/models/ports.room
new file mode 100644
index 000000000..14bc1c8e8
--- /dev/null
+++ b/tests/org.eclipse.etrice.generator.tests/models/ports.room
@@ -0,0 +1,23 @@
+RoomModel base {
+ ProtocolClass PTest {
+ incoming {
+ }
+ outgoing {
+ }
+ }
+
+ SubSystemClass CMain {
+ ActorRef test: ATest
+ }
+
+ ActorClass ATest {
+ Interface {
+ Port relay: PTest
+ Port externalEnd: PTest
+ }
+ Structure {
+ Port internalEnd: PTest
+ external Port externalEnd
+ }
+ }
+}
diff --git a/tests/org.eclipse.etrice.generator.tests/models/states.room b/tests/org.eclipse.etrice.generator.tests/models/states.room
new file mode 100644
index 000000000..a48dec060
--- /dev/null
+++ b/tests/org.eclipse.etrice.generator.tests/models/states.room
@@ -0,0 +1,106 @@
+RoomModel states {
+
+ ProtocolClass PTest1 {
+ incoming {
+ Message a ()
+ Message b (x : int32)
+ Message c ()
+ }
+ outgoing {
+ Message x ()
+ }
+ }
+
+ SubSystemClass CMain {
+ ActorRef test : ATest
+ }
+
+ ActorClass ATest {
+ Interface {
+ Port fct : PTest1
+ }
+ Structure {
+ external Port fct
+ }
+ Behavior {
+ StateMachine {
+ State State1 {}
+ State State2 {}
+ State State3 {
+ subgraph {
+ State State1 {}
+ State State2 {}
+ State State3 {}
+ EntryPoint tp1
+ TransitionPoint tp2
+ ExitPoint tp3
+ Transition tr0: initial -> State1 {}
+ Transition tr1: my tp1 -> State3 {}
+ Transition tr2: State1 -> State2 {
+ triggers {
+ <b:fct>
+ }
+ }
+ Transition tr3: State2 -> State3 {
+ triggers {
+ <c:fct>
+ }
+ }
+ Transition tr4: State3 -> State1 {
+ triggers {
+ <a:fct>
+ }
+ }
+ Transition tr5: my tp2 -> State3 {
+ triggers {
+ <b:fct>
+ }
+ }
+ Transition tr6: State3 -> my tp3 {
+ triggers {
+ <c:fct>
+ }
+ }
+ }
+ }
+ State State4 {}
+ TransitionPoint tp0
+ ChoicePoint CP1
+ Transition tr0: initial -> State1 {}
+ Transition tr1: State1 -> State2 {
+ triggers {
+ <a:fct>
+ }
+ }
+ Transition tr2: State2 -> cp CP1 {
+ triggers {
+ <b:fct>
+ }
+ }
+ Transition tr3: cp CP1 -> State1 {}
+ Transition tr4: cp CP1 -> State3 {
+ cond {
+ "x==2"
+ }
+ }
+ Transition tr5: my tp0 -> tp1 of State3 {
+ triggers {
+ <a:fct>
+ }
+ }
+ Transition tr6: cp CP1 -> State4 {
+ cond {
+ "x==3"
+ }
+ }
+ Transition tr7: tp3 of State3 -> State2 {}
+ Transition tr8: State3 -> State2 {
+ triggers {
+ <c:fct>
+ }
+ }
+ }
+ }
+ }
+
+}
diff --git a/tests/org.eclipse.etrice.generator.tests/models/states.t.room b/tests/org.eclipse.etrice.generator.tests/models/states.t.room
new file mode 100644
index 000000000..4251c6a5b
--- /dev/null
+++ b/tests/org.eclipse.etrice.generator.tests/models/states.t.room
@@ -0,0 +1,119 @@
+RoomModel state {
+
+ import room.basic.service.timing.*
+
+ ProtocolClass PTest1 {
+ incoming {
+ Message a ()
+ Message b (x : int32)
+ Message c ()
+ }
+ outgoing {
+ Message x ()
+ }
+ }
+
+ ComponentClass CMain {
+ ActorRef application : AApplication_CMain
+ ActorRef timingService : ATimingService
+
+ LayerConnection sub_actor application satisfied_by timingService.timerSPP
+ LayerConnection sub_actor application satisfied_by timingService.timeoutSPP
+ }
+
+ // automatically inserted AApplication_CMain
+ ActorClass AApplication_CMain {
+ Structure {
+ ActorRef test : ATest
+ }
+ }
+
+ ActorClass ATest {
+ Interface {
+ Port fct : PTest1
+ }
+ Structure {
+ external Port fct
+ }
+ Behavior {
+ StateMachine {
+ State State1 {}
+ State State2 {}
+ State State3 {
+ subgraph {
+ State State1 {}
+ State State2 {}
+ State State3 {}
+ EntryPoint tp1
+ TransitionPoint tp2
+ ExitPoint tp3
+ Transition tr0: initial -> State1 {}
+ Transition tr1: my tp1 -> State3 {}
+ Transition tr2: State1 -> State2 {
+ triggers {
+ <b:fct>
+ }
+ }
+ Transition tr3: State2 -> State3 {
+ triggers {
+ <c:fct>
+ }
+ }
+ Transition tr4: State3 -> State1 {
+ triggers {
+ <a:fct>
+ }
+ }
+ Transition tr5: my tp2 -> State3 {
+ triggers {
+ <b:fct>
+ }
+ }
+ Transition tr6: State3 -> my tp3 {
+ triggers {
+ <c:fct>
+ }
+ }
+ }
+ }
+ State State4 {}
+ TransitionPoint tp0
+ ChoicePoint CP1
+ Transition tr0: initial -> State1 {}
+ Transition tr1: State1 -> State2 {
+ triggers {
+ <a:fct>
+ }
+ }
+ Transition tr2: State2 -> cp CP1 {
+ triggers {
+ <b:fct>
+ }
+ }
+ Transition tr3: cp CP1 -> State1 {}
+ Transition tr4: cp CP1 -> State3 {
+ cond {
+ "data==2"
+ }
+ }
+ Transition tr5: my tp0 -> tp1 of State3 {
+ triggers {
+ <a:fct>
+ }
+ }
+ Transition tr6: cp CP1 -> State4 {
+ cond {
+ "data==3"
+ }
+ }
+ Transition tr7: tp3 of State3 -> State2 {}
+ Transition tr8: State3 -> State2 {
+ triggers {
+ <c:fct>
+ }
+ }
+ }
+ }
+ }
+
+}
diff --git a/tests/org.eclipse.etrice.generator.tests/models/states.t.trp b/tests/org.eclipse.etrice.generator.tests/models/states.t.trp
new file mode 100644
index 000000000..049dcf50b
--- /dev/null
+++ b/tests/org.eclipse.etrice.generator.tests/models/states.t.trp
@@ -0,0 +1,2685 @@
+114
+
+# Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# PersObj-Version: 4 standard
+#
+-bs_DataClassList
+-bs_DataClassList
+1
+-DataClass
+0
+1286376755
+0
+t
+<20101006165926-2
+-bs_RefCounter
+0
+<20101006165926-3
+-bs_DataClass
+3
+-boolean
+f
+f
+0
+1286376755
+0
+1
+5
+13
+t
+<20101006165926-4
+-bs_RefCounter
+0
+<20101006165926-5
+-bs_DataClass
+3
+-char
+f
+f
+0
+1286376755
+0
+1
+5
+7
+t
+<20101006165926-6
+-bs_RefCounter
+0
+<20101006165926-7
+-bs_DataClass
+3
+-uchar
+f
+f
+0
+1286376755
+0
+1
+5
+14
+t
+<20101006165926-8
+-bs_RefCounter
+0
+<20101006165926-9
+-bs_DataClass
+3
+-int8
+f
+f
+0
+1286376755
+0
+1
+5
+15
+t
+<20101006165926-10
+-bs_RefCounter
+0
+<20101006165926-11
+-bs_DataClass
+3
+-uint8
+f
+f
+0
+1286376755
+0
+1
+5
+18
+t
+<20101006165926-12
+-bs_RefCounter
+0
+<20101006165926-13
+-bs_DataClass
+3
+-int16
+f
+f
+0
+1286376755
+0
+1
+5
+16
+t
+<20101006165926-14
+-bs_RefCounter
+0
+<20101006165926-15
+-bs_DataClass
+3
+-uint16
+f
+f
+0
+1286376755
+0
+1
+5
+19
+t
+<20101006165926-16
+-bs_RefCounter
+0
+<20101006165926-17
+-bs_DataClass
+3
+-int32
+f
+f
+0
+1286376755
+0
+1
+5
+17
+t
+<20101006165926-18
+-bs_RefCounter
+0
+<20101006165926-19
+-bs_DataClass
+3
+-uint32
+f
+f
+0
+1286376755
+0
+1
+5
+20
+t
+<20101006165926-20
+-bs_RefCounter
+0
+<20101006165926-21
+-bs_DataClass
+3
+-float32
+f
+f
+0
+1286376755
+0
+1
+5
+21
+t
+<20101006165926-22
+-bs_RefCounter
+0
+<20101006165926-23
+-bs_DataClass
+3
+-float64
+f
+f
+0
+1286376755
+0
+1
+5
+22
+t
+<20101006165926-24
+-bs_RefCounter
+0
+<20101006165926-25
+-bs_DataClass
+3
+-char*
+f
+f
+0
+1286376755
+0
+1
+5
+12
+-
+t
+<20101006165926-26
+-bs_RefCounter
+0
+<20101006165926-27
+-bs_DataClass
+3
+-void*
+f
+f
+0
+1286376755
+0
+1
+5
+12
+-
+f
+-------------------------------
+# Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# PersObj-Version: 4 standard
+#
+-bs_ProtocolClassList
+-bs_ProtocolClassList
+1
+-ProtocolClass
+0
+1286376836
+0
+t
+<20101006165926-29
+-bs_RefCounter
+0
+<20101006165926-30
+-bs_ProtocolClass
+3
+-p_Timer
+t
+f
+0
+1286376755
+0
+1
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286376755
+0
+t
+<20101006165926-32
+-bs_RefCounter
+0
+<20101006165926-33
+-bs_MsgType
+3
+-Start
+f
+f
+0
+1286376755
+0
+>20101006165926-16
+>20101006165926-17
+t
+<20101006165926-34
+-bs_RefCounter
+0
+<20101006165926-35
+-bs_MsgType
+3
+-Kill
+f
+f
+0
+1286376755
+0
+<20101006165926-36
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286376755
+0
+t
+<20101006165926-38
+-bs_RefCounter
+0
+<20101006165926-39
+-bs_MsgType
+3
+-timerTick
+f
+f
+0
+1286376755
+0
+<20101006165926-40
+-bs_RefCounter
+0
+N
+f
+-ProtocolSemantics
+1
+0
+1286376755
+-ProtocolRuleSet
+0
+0
+1286376755
+t
+<20101006165926-43
+-ProtocolRule
+0
+0
+1286376755
+-Message
+0
+0
+1286376755
+0
+-Start
+t
+<20101006165926-45
+-MessageImplication
+0
+0
+1286376755
+-ProtocolRule
+0
+0
+1286376755
+-Message
+0
+0
+1286376755
+0
+-Kill
+f
+t
+<20101006165926-48
+-MessageImplication
+0
+0
+1286376755
+-ProtocolRule
+0
+0
+1286376755
+-Message
+0
+0
+1286376755
+1
+-timerTick
+f
+f
+f
+t
+<20101006165926-51
+-bs_RefCounter
+0
+<20101006165926-52
+-bs_ProtocolClass
+3
+-p_Timeout
+t
+f
+0
+1286376755
+0
+1
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286376755
+0
+t
+<20101006165926-54
+-bs_RefCounter
+0
+<20101006165926-55
+-bs_MsgType
+3
+-Start
+f
+f
+0
+1286376755
+0
+>20101006165926-16
+>20101006165926-17
+t
+<20101006165926-56
+-bs_RefCounter
+0
+<20101006165926-57
+-bs_MsgType
+3
+-Kill
+f
+f
+0
+1286376755
+0
+<20101006165926-58
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286376755
+0
+t
+<20101006165926-60
+-bs_RefCounter
+0
+<20101006165926-61
+-bs_MsgType
+3
+-timeoutTick
+f
+f
+0
+1286376755
+0
+<20101006165926-62
+-bs_RefCounter
+0
+N
+f
+-ProtocolSemantics
+1
+0
+1286376755
+-ProtocolRuleSet
+0
+0
+1286376755
+t
+<20101006165926-65
+-ProtocolRule
+0
+0
+1286376755
+-Message
+0
+0
+1286376755
+0
+-Start
+t
+<20101006165926-67
+-MessageImplication
+0
+0
+1286376755
+-ProtocolRule
+0
+0
+1286376755
+-Message
+0
+0
+1286376755
+0
+-Kill
+f
+t
+<20101006165926-70
+-MessageImplication
+0
+0
+1286376755
+-ProtocolRule
+0
+0
+1286376755
+-Message
+0
+0
+1286376755
+1
+-timeoutTick
+f
+f
+f
+t
+<20101006165926-73
+-bs_RefCounter
+0
+<20101006165926-74
+-bs_ProtocolClass
+3
+-p_DigitalInput
+t
+f
+0
+1286376755
+0
+1
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286376755
+0
+t
+<20101006165926-76
+-bs_RefCounter
+0
+<20101006165926-77
+-bs_MsgType
+3
+-getStatus
+f
+f
+0
+1286376755
+0
+<20101006165926-78
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286376755
+0
+t
+<20101006165926-80
+-bs_RefCounter
+0
+<20101006165926-81
+-bs_MsgType
+3
+-inputChanged
+f
+f
+0
+1286376755
+0
+>20101006165926-12
+>20101006165926-13
+f
+-ProtocolSemantics
+1
+0
+1286376755
+-ProtocolRuleSet
+0
+0
+1286376755
+t
+<20101006165926-84
+-ProtocolRule
+0
+0
+1286376755
+-Message
+0
+0
+1286376755
+0
+-getStatus
+t
+<20101006165926-86
+-MessageImplication
+0
+0
+1286376755
+-ProtocolRule
+0
+0
+1286376755
+-Message
+0
+0
+1286376755
+1
+-inputChanged
+f
+f
+f
+t
+<20101006165926-89
+-bs_RefCounter
+0
+<20101006165926-90
+-bs_ProtocolClass
+3
+-p_DigitalOutput
+t
+f
+0
+1286376755
+0
+1
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286376755
+0
+t
+<20101006165926-92
+-bs_RefCounter
+0
+<20101006165926-93
+-bs_MsgType
+3
+-Set
+f
+f
+0
+1286376755
+0
+>20101006165926-2
+>20101006165926-3
+t
+<20101006165926-94
+-bs_RefCounter
+0
+<20101006165926-95
+-bs_MsgType
+3
+-SetOn
+f
+f
+0
+1286376755
+0
+<20101006165926-96
+-bs_RefCounter
+0
+N
+t
+<20101006165926-97
+-bs_RefCounter
+0
+<20101006165926-98
+-bs_MsgType
+3
+-SetOff
+f
+f
+0
+1286376755
+0
+<20101006165926-99
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286376755
+0
+f
+-ProtocolSemantics
+1
+0
+1286376755
+-ProtocolRuleSet
+0
+0
+1286376755
+f
+t
+<20101006165926-103
+-bs_RefCounter
+0
+<20101006165926-104
+-bs_ProtocolClass
+3
+-PTest1
+f
+f
+0
+1286376836
+0
+0
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286376856
+0
+t
+<20101006165926-106
+-bs_RefCounter
+0
+<20101006165926-107
+-bs_MsgType
+3
+-a
+f
+f
+0
+1286376832
+0
+<20101006165926-108
+-bs_RefCounter
+0
+N
+t
+<20101006165926-109
+-bs_RefCounter
+0
+<20101006165926-110
+-bs_MsgType
+3
+-b
+f
+f
+0
+1286376853
+0
+>20101006165926-16
+>20101006165926-17
+t
+<20101006165926-111
+-bs_RefCounter
+0
+<20101006165926-112
+-bs_MsgType
+3
+-c
+f
+f
+0
+1286376855
+0
+<20101006165926-113
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286376836
+0
+t
+<20101006165926-115
+-bs_RefCounter
+0
+<20101006165926-116
+-bs_MsgType
+3
+-x
+f
+f
+0
+1286376835
+0
+<20101006165926-117
+-bs_RefCounter
+0
+N
+f
+-ProtocolSemantics
+1
+0
+1286376824
+-ProtocolRuleSet
+0
+0
+1286376824
+f
+f
+-------------------------------
+# Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# PersObj-Version: 4 standard
+#
+-bs_SAPClassList
+-bs_SAPClassList
+1
+-SAP
+0
+1286376755
+0
+t
+<20101006165926-121
+-bs_RefCounter
+0
+<20101006165926-122
+-bs_SAPClass
+3
+-Timer
+f
+f
+0
+1286376755
+0
+1
+0
+1
+>20101006165926-29
+>20101006165926-30
+t
+<20101006165926-123
+-bs_RefCounter
+0
+<20101006165926-124
+-bs_SAPClass
+3
+-Timeout
+f
+f
+0
+1286376755
+0
+1
+0
+2
+>20101006165926-51
+>20101006165926-52
+t
+<20101006165926-125
+-bs_RefCounter
+0
+<20101006165926-126
+-bs_SAPClass
+3
+-DigitalInput
+f
+f
+0
+1286376755
+0
+1
+0
+4
+>20101006165926-73
+>20101006165926-74
+t
+<20101006165926-127
+-bs_RefCounter
+0
+<20101006165926-128
+-bs_SAPClass
+3
+-DigitalOutput
+f
+f
+0
+1286376755
+0
+1
+0
+5
+>20101006165926-89
+>20101006165926-90
+f
+-------------------------------
+# Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# PersObj-Version: 4 standard
+#
+-bs_PrtvClassList
+-bs_PrtvClassList
+1
+-PrimitiveClass
+0
+1286376755
+0
+f
+-------------------------------
+# Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# PersObj-Version: 4 standard
+#
+-bs_ActorClassList
+-bs_ActorClassList
+1
+-ActorClass
+0
+1286376770
+0
+t
+<20101006165926-131
+-bs_RefCounter
+0
+<20101006165926-132
+-bs_ActorClass
+3
+-ComponentMain
+f
+f
+0
+1286376767
+0
+0
+8
+-
+f
+-bs_ActorInterface
+3
+-bs_PortRefList
+1
+-Port
+0
+1286376763
+0
+f
+0
+0
+1286376763
+-bs_ActorStructure
+7
+-bs_PortRefList
+1
+-Port
+0
+1286376763
+0
+f
+-bs_SAPRefList
+1
+-SAP
+0
+1286376763
+0
+f
+t
+-bs_ActorRefList
+1
+-ActorRef
+0
+1286376802
+0
+t
+<20101006165926-139
+-bs_RefCounter
+0
+<20101006165926-140
+-bs_ActorRef
+3
+-test
+f
+f
+0
+1286376803
+1
+-bs_ActorCoord
+0
+0.458194
+0.507625
+-bs_SizeFactors
+0
+3.01
+1.01188
+-bs_CompPortRefList
+1
+-PortInstListDummyName
+0
+1286376802
+0
+f
+3
+-ATest
+f
+-bs_BindingContractList
+1
+-BindingContract
+0
+1286376763
+0
+f
+-bs_SizeFactors
+0
+1.8
+1
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286376763
+-bs_PrtvRefList
+1
+-Primitive
+0
+1286376763
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286376763
+0
+f
+0
+1286376763
+-bs_ActorBehaviour
+7
+<20101006165926-150
+-bs_RefCounter
+0
+<20101006165926-151
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1286376763
+5
+f
+-bs_StateGraph
+8
+<20101006165926-154
+-bs_RefCounter
+0
+<20101006165926-155
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1286376763
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1286376763
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1286376763
+0
+f
+-bs_StateList
+1
+-State
+0
+1286376763
+0
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1286376763
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286376763
+0
+f
+t
+65535
+f
+f
+0
+1286376763
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1286376763
+-
+-
+-
+1024
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286376763
+0
+1286376763
+-bs_ActorMemberFct
+1
+f
+0
+1286376763
+t
+f
+f
+t
+<20101006165926-165
+-bs_RefCounter
+0
+<20101006165926-166
+-bs_ActorClass
+3
+-ATest
+f
+f
+0
+1286376775
+0
+0
+8
+-
+f
+-bs_ActorInterface
+3
+-bs_PortRefList
+1
+-Port
+0
+1286376845
+0
+t
+<20101006165926-169
+-bs_RefCounter
+0
+<20101006165926-170
+-bs_PortRef
+3
+-fct
+f
+f
+0
+1286376845
+0
+0
+f
+1
+-bs_ActorCoord
+0
+0.393333
+1
+>20101006165926-103
+>20101006165926-104
+f
+0
+0
+1286376770
+-bs_ActorStructure
+7
+-bs_PortRefList
+1
+-Port
+0
+1286376845
+0
+t
+>20101006165926-169
+>20101006165926-170
+f
+-bs_SAPRefList
+1
+-SAP
+0
+1286376770
+0
+f
+t
+-bs_ActorRefList
+1
+-ActorRef
+0
+1286376770
+0
+f
+-bs_BindingContractList
+1
+-BindingContract
+0
+1286376770
+0
+f
+-bs_SizeFactors
+0
+1.8
+1
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286376770
+-bs_PrtvRefList
+1
+-Primitive
+0
+1286376770
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286376770
+0
+f
+0
+1286376770
+-bs_ActorBehaviour
+7
+<20101006165926-182
+-bs_RefCounter
+0
+<20101006165926-183
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1286376770
+5
+f
+-bs_StateGraph
+8
+<20101006165926-186
+-bs_RefCounter
+0
+<20101006165926-187
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1286376770
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1286376770
+0
+t
+<20101006165926-190
+-bs_RefCounter
+0
+<20101006165926-191
+-bs_Choicepoint
+3
+-CP1
+f
+f
+0
+1286377205
+2
+-bs_CPBranchList
+1
+-CPBranchListDummyName
+0
+1286376897
+0
+t
+<20101006165926-193
+-bs_RefCounter
+0
+<20101006165926-194
+-bs_CPBranch
+3
+-[data==2]
+f
+f
+0
+1286376916
+1
+t
+<20101006170015-1
+-bs_RefCounter
+0
+<20101006170015-2
+-bs_CPBranch
+3
+-[data==3]
+f
+f
+0
+1286377199
+1
+f
+<20101006165926-195
+-bs_RefCounter
+0
+<20101006165926-196
+-bs_CPBranch
+3
+-
+f
+f
+0
+1286376909
+1
+-bs_ContextCoord
+0
+0.576825
+0.610317
+8
+f
+-bs_TrPointList
+1
+-TrP
+0
+1286376770
+0
+t
+<20101006165926-199
+-bs_RefCounter
+0
+<20101006165926-200
+-bs_TrPoint
+3
+-TrP1
+f
+f
+0
+1286376892
+1
+0
+-1
+-bs_ContextCoord
+0
+1
+0.698889
+9
+f
+-bs_StateList
+1
+-State
+0
+1286376770
+0
+t
+<20101006165926-203
+-bs_RefCounter
+0
+<20101006165926-204
+-bs_State
+3
+-State1
+f
+f
+0
+1286376871
+5
+-
+-
+-1
+-1
+<20101006165926-205
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.407381
+0.802619
+-bs_SizeFactors
+0
+1
+1
+f
+f
+1
+-1
+t
+<20101006165926-208
+-bs_RefCounter
+0
+<20101006165926-209
+-bs_State
+3
+-State2
+f
+f
+0
+1286376875
+5
+-
+-
+-1
+-1
+<20101006165926-210
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.432698
+0.405397
+-bs_SizeFactors
+0
+1
+1
+f
+f
+2
+-1
+t
+<20101006165926-213
+-bs_RefCounter
+0
+<20101006165926-214
+-bs_State
+3
+-State3
+f
+f
+0
+1286376881
+5
+-
+-
+-1
+-1
+<20101006165926-215
+-bs_RefCounter
+0
+<20101006165926-216
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1286376981
+5
+f
+-bs_StateGraph
+8
+<20101006165926-219
+-bs_RefCounter
+0
+<20101006165926-220
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1286376981
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1286376981
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1286376981
+0
+t
+<20101006165926-224
+-bs_RefCounter
+0
+<20101006165926-225
+-bs_TrPoint
+3
+-TrP1
+f
+f
+0
+1286376981
+1
+1
+4
+-bs_ContextCoord
+0
+0.0389161
+1
+10
+t
+<20101006165926-227
+-bs_RefCounter
+0
+<20101006165926-228
+-bs_TrPoint
+3
+-TrP2
+f
+f
+0
+1286376981
+1
+1
+5
+-bs_ContextCoord
+0
+0.929832
+1
+11
+t
+<20101006170448-1
+-bs_RefCounter
+0
+<20101006170448-2
+-bs_TrPoint
+3
+-TrP3
+f
+f
+0
+1286377368
+1
+0
+-1
+-bs_ContextCoord
+0
+1
+0.281508
+12
+t
+<20101006170448-4
+-bs_RefCounter
+0
+<20101006170448-5
+-bs_TrPoint
+3
+-TrP412863773960
+f
+f
+0
+1286377396
+1
+2
+7
+-bs_ContextCoord
+0
+0.230692
+0
+13
+t
+<20101006170448-7
+-bs_RefCounter
+0
+<20101006170448-8
+-bs_TrPoint
+3
+-TrP412863774570
+f
+f
+0
+1286377457
+1
+2
+8
+-bs_ContextCoord
+0
+0
+0.48431
+14
+f
+-bs_StateList
+1
+-State
+0
+1286376981
+0
+t
+<20101006165926-231
+-bs_RefCounter
+0
+<20101006165926-232
+-bs_State
+3
+-State1
+f
+f
+0
+1286376987
+5
+-
+-
+-1
+-1
+<20101006165926-233
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.457937
+0.751984
+-bs_SizeFactors
+0
+1
+1
+f
+f
+5
+-1
+t
+<20101006165926-236
+-bs_RefCounter
+0
+<20101006165926-237
+-bs_State
+3
+-State2
+f
+f
+0
+1286376992
+5
+-
+-
+-1
+-1
+<20101006165926-238
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.222698
+0.407937
+-bs_SizeFactors
+0
+1
+1
+f
+f
+6
+-1
+t
+<20101006165926-241
+-bs_RefCounter
+0
+<20101006165926-242
+-bs_State
+3
+-State3
+f
+f
+0
+1286376994
+5
+-
+-
+-1
+-1
+<20101006165926-243
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.73373
+0.387698
+-bs_SizeFactors
+0
+1
+1
+f
+f
+7
+-1
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1286376981
+0
+t
+<20101006165926-247
+-bs_RefCounter
+0
+<20101006165926-248
+-bs_TrSegment
+3
+-init
+f
+f
+0
+1286376999
+5
+0
+>20101006165926-220
+1
+>20101006165926-232
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286376999
+0
+f
+-
+-1
+-bs_ContextCoord
+0
+0.263968
+0.840992
+9
+-1
+t
+<20101006165926-251
+-bs_RefCounter
+0
+<20101006165926-252
+-bs_TrSegment
+3
+-
+f
+f
+0
+1286377002
+5
+3
+>20101006165926-228
+1
+>20101006165926-242
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286377002
+0
+f
+-
+-1
+-bs_ContextCoord
+0
+0.831781
+0.693849
+10
+-1
+t
+<20101006165926-255
+-bs_RefCounter
+0
+<20101006165926-256
+-bs_TrSegment
+3
+-b
+f
+f
+0
+1286377019
+5
+1
+>20101006165926-232
+1
+>20101006165926-237
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286377003
+0
+t
+<20101006165926-258
+-bs_RefCounter
+0
+<20101006165926-259
+-bs_SimpleTriggerSpec
+3
+-b
+f
+f
+0
+1286377019
+1
+-fct
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.340317
+0.57996
+11
+-1
+t
+<20101006165926-261
+-bs_RefCounter
+0
+<20101006165926-262
+-bs_TrSegment
+3
+-c
+f
+f
+0
+1286377027
+5
+1
+>20101006165926-237
+1
+>20101006165926-242
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286377004
+0
+t
+<20101006165926-264
+-bs_RefCounter
+0
+<20101006165926-265
+-bs_SimpleTriggerSpec
+3
+-c
+f
+f
+0
+1286377027
+1
+-fct
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.478214
+0.397817
+12
+-1
+t
+<20101006165926-267
+-bs_RefCounter
+0
+<20101006165926-268
+-bs_TrSegment
+3
+-a
+f
+f
+0
+1286377035
+5
+1
+>20101006165926-242
+1
+>20101006165926-232
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286377006
+0
+t
+<20101006165926-270
+-bs_RefCounter
+0
+<20101006165926-271
+-bs_SimpleTriggerSpec
+3
+-a
+f
+f
+0
+1286377035
+1
+-fct
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.595833
+0.569841
+13
+-1
+t
+<20101006170448-10
+-bs_RefCounter
+0
+<20101006170448-11
+-bs_TrSegment
+3
+-b
+f
+f
+0
+1286377388
+5
+3
+>20101006170448-2
+1
+>20101006165926-242
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286377372
+0
+t
+<20101006170448-13
+-bs_RefCounter
+0
+<20101006170448-14
+-bs_SimpleTriggerSpec
+3
+-b
+f
+f
+0
+1286377388
+1
+-fct
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.866865
+0.334603
+14
+-1
+t
+<20101006170448-16
+-bs_RefCounter
+0
+<20101006170448-17
+-bs_TrSegment
+3
+-c
+f
+f
+0
+1286377447
+5
+1
+>20101006165926-242
+3
+>20101006170448-5
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286377422
+0
+t
+<20101006170448-19
+-bs_RefCounter
+0
+<20101006170448-20
+-bs_SimpleTriggerSpec
+3
+-c
+f
+f
+0
+1286377447
+1
+-fct
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.482211
+0.193849
+15
+-1
+f
+-bs_NoteList
+1
+-Note
+0
+1286376981
+0
+f
+t
+65535
+f
+f
+0
+1286377422
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1286376981
+-bs_ContextCoord
+0
+0.756429
+0.415556
+-bs_SizeFactors
+0
+1
+1
+f
+f
+3
+-1
+t
+<20101006170015-3
+-bs_RefCounter
+0
+<20101006170015-4
+-bs_State
+3
+-State4
+f
+f
+0
+1286377183
+5
+-
+-
+-1
+-1
+<20101006170015-5
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.751429
+0.830397
+-bs_SizeFactors
+0
+1
+1
+f
+f
+4
+-1
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1286376770
+0
+t
+<20101006165926-278
+-bs_RefCounter
+0
+<20101006165926-279
+-bs_TrSegment
+3
+-init
+f
+f
+0
+1286376902
+5
+0
+>20101006165926-187
+1
+>20101006165926-204
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286376902
+0
+f
+-
+-1
+-bs_ContextCoord
+0
+0.23869
+0.86631
+0
+-1
+t
+<20101006165926-282
+-bs_RefCounter
+0
+<20101006165926-283
+-bs_TrSegment
+3
+-a
+f
+f
+0
+1286376941
+5
+1
+>20101006165926-204
+1
+>20101006165926-209
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286376904
+0
+t
+<20101006165926-285
+-bs_RefCounter
+0
+<20101006165926-286
+-bs_SimpleTriggerSpec
+3
+-a
+f
+f
+0
+1286376941
+1
+-fct
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.42004
+0.604008
+1
+-1
+t
+<20101006165926-288
+-bs_RefCounter
+0
+<20101006165926-289
+-bs_TrSegment
+3
+-b
+f
+f
+0
+1286376947
+5
+1
+>20101006165926-209
+2
+>20101006165926-191
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286376906
+0
+t
+<20101006165926-291
+-bs_RefCounter
+0
+<20101006165926-292
+-bs_SimpleTriggerSpec
+3
+-b
+f
+f
+0
+1286376947
+1
+-fct
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.504762
+0.507857
+2
+-1
+t
+<20101006165926-294
+-bs_RefCounter
+0
+<20101006165926-295
+-bs_TrSegment
+3
+-
+f
+f
+0
+1286376909
+5
+2
+>20101006165926-196
+1
+>20101006165926-204
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286376909
+0
+f
+-
+-1
+-bs_ContextCoord
+0
+0.492103
+0.706468
+3
+-1
+t
+<20101006165926-298
+-bs_RefCounter
+0
+<20101006165926-299
+-bs_TrSegment
+3
+-
+f
+f
+0
+1286377205
+5
+2
+>20101006165926-194
+1
+>20101006165926-214
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286376916
+0
+t
+<20101006170015-8
+-bs_RefCounter
+0
+<20101006170015-9
+-bs_SimpleTriggerSpec
+3
+-
+f
+f
+0
+1286377205
+1
+-
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.666627
+0.512937
+4
+-1
+t
+<20101006165926-302
+-bs_RefCounter
+0
+<20101006165926-303
+-bs_TrSegment
+3
+-a
+f
+f
+0
+1286377483
+5
+3
+>20101006165926-200
+1
+>20101006165926-214
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286376931
+0
+t
+<20101006170448-22
+-bs_RefCounter
+0
+<20101006170448-23
+-bs_SimpleTriggerSpec
+3
+-a
+f
+f
+0
+1286377483
+1
+-fct
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.878214
+0.557222
+5
+-1
+t
+<20101006170015-10
+-bs_RefCounter
+0
+<20101006170015-11
+-bs_TrSegment
+3
+-
+f
+f
+0
+1286377199
+5
+2
+>20101006170015-2
+1
+>20101006170015-4
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286377199
+0
+f
+-
+-1
+-bs_ContextCoord
+0
+0.664127
+0.720357
+6
+-1
+t
+<20101006170448-24
+-bs_RefCounter
+0
+<20101006170448-25
+-bs_TrSegment
+3
+-
+f
+f
+0
+1286377403
+5
+1
+>20101006165926-214
+1
+>20101006165926-209
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286377396
+0
+f
+-
+-1
+-bs_ContextCoord
+0
+0.650159
+0.218254
+7
+-1
+t
+<20101006170448-28
+-bs_RefCounter
+0
+<20101006170448-29
+-bs_TrSegment
+3
+-c
+f
+f
+0
+1286377468
+5
+1
+>20101006165926-214
+1
+>20101006165926-209
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286377457
+0
+t
+<20101006170448-31
+-bs_RefCounter
+0
+<20101006170448-32
+-bs_SimpleTriggerSpec
+3
+-c
+f
+f
+0
+1286377468
+1
+-fct
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.594563
+0.410476
+8
+-1
+f
+-bs_NoteList
+1
+-Note
+0
+1286376770
+0
+f
+t
+65535
+f
+f
+0
+1286377457
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1286376770
+-
+-
+-
+1024
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286376770
+0
+1286376770
+-bs_ActorMemberFct
+1
+f
+0
+1286376770
+t
+f
+f
+f
+-------------------------------
+
+
+ROOM_CONFIGURATION_DATA
+
+106
+
+# Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# PersObj-Version: 4 standard
+#
+-bs_ConfigurationList
+-bs_ConfigurationList
+1
+-Configuration
+0
+1286376755
+0
+t
+<20101006165926-311
+-bs_RefCounter
+0
+<20101006165926-312
+-bs_Configuration
+3
+-StdConfig
+f
+f
+0
+1286376755
+6
+<20101006165926-313
+-bs_RefCounter
+0
+N
+-bs_TargetList
+1
+-Target
+0
+1286376755
+0
+t
+<20101006165926-315
+-bs_RefCounter
+0
+<20101006165926-316
+-bs_Target
+3
+-PC
+f
+f
+0
+1286376755
+5
+-pc_id
+0
+0
+2
+2
+-bs_FileList
+1
+-FileListDummyName
+0
+1286376755
+0
+f
+f
+-bs_ContextCoord
+0
+0.5
+0.5
+-bs_SizeFactors
+0
+1
+1
+f
+-bs_NoteList
+1
+-Note
+0
+1286376755
+0
+f
+-bs_PrtvDescriptorList
+1
+-PrtvInstance
+0
+1286376755
+0
+f
+-bs_ActorInstanceList
+1
+-ActorInstance
+0
+1286376755
+0
+f
+>20101006165926-315
+>20101006165926-316
+0
+-bs_PropertySet
+0
+f
+-bs_ViewMementoList
+1
+-ViewMemento
+0
+1292431746
+0
+t
+<20101215174906-162
+-bs_RefCounter
+0
+<20101215174906-163
+-bs_ViewMemento
+3
+-
+f
+f
+0
+1292431746
+1
+1
+1
+25
+25
+906
+543
+>20101006165926-165
+>20101006165926-166
+t
+<20101215174906-164
+-bs_RefCounter
+0
+<20101215174906-165
+-bs_ViewMemento
+3
+-
+f
+f
+0
+1292431746
+1
+2
+1
+607
+146
+1085
+646
+>20101006165926-165
+>20101006165926-166
+>20101006165926-182
+>20101006165926-183
+-TOP
+f
+f
+>20101006165926-311
+>20101006165926-312
+-842150451
+-bs_DataObjHist
+0
+0
diff --git a/tests/org.eclipse.etrice.generator.tests/models/states_inheritance.room b/tests/org.eclipse.etrice.generator.tests/models/states_inheritance.room
new file mode 100644
index 000000000..7bc097885
--- /dev/null
+++ b/tests/org.eclipse.etrice.generator.tests/models/states_inheritance.room
@@ -0,0 +1,249 @@
+RoomModel states_inheritance.t {
+
+ ProtocolClass PTimer {
+ incoming {
+ Message start (time_ms : int32)
+ Message kill ()
+ }
+ outgoing {
+ Message timerTick ()
+ }
+ }
+
+ ProtocolClass PTimeout {
+ incoming {
+ Message start (time_ms : int32)
+ Message kill ()
+ }
+ outgoing {
+ Message timeoutTick ()
+ }
+ }
+
+ ActorClass ATimingService {
+ Interface {
+ SPP timerSPP: PTimer
+ SPP timeoutSPP: PTimeout
+ }
+ Structure {
+ ServiceImplementation of timerSPP
+ ServiceImplementation of timeoutSPP
+ }
+ }
+
+ ProtocolClass PTest1 {
+ incoming {
+ Message a ()
+ Message b (x : int32)
+ Message c ()
+ }
+ outgoing {
+ Message x ()
+ }
+ }
+
+ ProtocolClass PTest2 {
+ incoming {
+ Message x ()
+ Message y ()
+ Message z ()
+ }
+ outgoing {
+ Message a ()
+ }
+ }
+
+ ProtocolClass PTest3 {
+ incoming {
+ Message a ()
+ }
+ outgoing {
+ Message b ()
+ }
+ }
+
+ SubSystemClass CMain {
+ ActorRef application : AApplication_CMain
+ ActorRef timingService : ATimingService
+
+ LayerConnection ref application satisfied_by timingService.timerSPP
+ LayerConnection ref application satisfied_by timingService.timeoutSPP
+ }
+
+ // automatically inserted AApplication_CMain
+ ActorClass AApplication_CMain {
+ Structure {
+ ActorRef test : ADerived
+ }
+ }
+
+ ActorClass ATest {
+ Interface {
+ Port fct : PTest1
+ }
+ Structure {
+ external Port fct
+ Port sub : PTest2
+ SAP timer: PTimer
+ SAP timeout: PTimeout
+ }
+ Behavior {
+ StateMachine {
+ State State1 {}
+ State State2 {}
+ State State3 {
+ subgraph {
+ State State1 {}
+ State State2 {}
+ State State3 {}
+ EntryPoint tp1
+ TransitionPoint tp2
+ ExitPoint tp3
+ handler TransitionPoint tp5
+ Transition tr0: initial -> State1 {}
+ Transition tr1: my tp1 -> State3 {}
+ Transition tr2: State1 -> State2 {
+ triggers {
+ <b:fct>
+ }
+ }
+ Transition tr3: State2 -> State3 {
+ triggers {
+ <c:fct>
+ }
+ }
+ Transition tr4: State3 -> State1 {
+ triggers {
+ <a:fct>
+ }
+ }
+ Transition tr5: my tp2 -> State3 {
+ triggers {
+ <b:fct>
+ }
+ }
+ Transition tr6: State3 -> my tp3 {
+ triggers {
+ <c:fct>
+ }
+ }
+ Transition tr7: my tp5 -> my tp5 {
+ triggers {
+ <timeoutTick:timeout>
+ }
+ }
+ }
+ }
+ State State4 {}
+ TransitionPoint tp0
+ TransitionPoint tp1
+ ChoicePoint CP1
+ Transition tr0: initial -> State1 {}
+ Transition tr1: State1 -> State2 {
+ triggers {
+ <a:fct>
+ }
+ }
+ Transition tr2: State2 -> cp CP1 {
+ triggers {
+ <b:fct>
+ }
+ }
+ Transition tr3: cp CP1 -> State1 {}
+ Transition tr4: cp CP1 -> State3 {
+ cond {
+ "data==2"
+ }
+ }
+ Transition tr5: my tp0 -> tp1 of State3 {
+ triggers {
+ <a:fct>
+ }
+ }
+ Transition tr6: cp CP1 -> State4 {
+ cond {
+ "data==3"
+ }
+ }
+ Transition tr7: tp3 of State3 -> State2 {}
+ Transition tr8: State3 -> State2 {
+ triggers {
+ <c:fct>
+ }
+ }
+ Transition tr9: my tp1 -> State2 {
+ triggers {
+ <timerTick:timer>
+ }
+ }
+ }
+ }
+ }
+
+ ActorClass ADerived extends ATest {
+ Interface {
+ Port port : PTest3
+ }
+ Structure {
+ external Port port
+ SAP timer: PTimer
+ SAP timeout: PTimeout
+ }
+ Behavior {
+ StateMachine {
+ RefinedState State3 {
+ subgraph {
+ State State4 {}
+ EntryPoint tp6
+ TransitionPoint tp7
+ Transition tr8: my tp6 -> State2 {}
+ Transition tr9: my tp7 -> my tp7 {
+ triggers {
+ <z:sub>
+ }
+ }
+ Transition tr10: State2 -> State4 {
+ triggers {
+ <y:sub>
+ }
+ }
+ Transition tr11: State4 -> my tp3 {
+ triggers {
+ <z:sub>
+ }
+ }
+ }
+ }
+ RefinedState State4 {
+ subgraph {
+ State State1 {}
+ State State2 {}
+ Transition tr0: initial -> State1 {}
+ Transition tr1: State1 -> State2 {
+ triggers {
+ <a:port>
+ }
+ }
+ }
+ }
+ State State5 {}
+ Transition tr10: State1 -> State5 {
+ triggers {
+ <a:port>
+ }
+ }
+ Transition tr11: cp CP1 -> State5 {
+ cond {
+ "data==4"
+ }
+ }
+ Transition tr12: State5 -> tp6 of State3 {
+ triggers {
+ <a:port>
+ }
+ }
+ }
+ }
+ }
+
+}
diff --git a/tests/org.eclipse.etrice.generator.tests/models/states_inheritance.t.room b/tests/org.eclipse.etrice.generator.tests/models/states_inheritance.t.room
new file mode 100644
index 000000000..adb74c9ae
--- /dev/null
+++ b/tests/org.eclipse.etrice.generator.tests/models/states_inheritance.t.room
@@ -0,0 +1,222 @@
+RoomModel states_inheritance.t {
+
+ import room.basic.service.timing.*
+
+ ProtocolClass PTest1 {
+ incoming {
+ Message a ()
+ Message b (x : int32)
+ Message c ()
+ }
+ outgoing {
+ Message x ()
+ }
+ }
+
+ ProtocolClass PTest2 {
+ incoming {
+ Message x ()
+ Message y ()
+ Message z ()
+ }
+ outgoing {
+ Message a ()
+ }
+ }
+
+ ProtocolClass PTest3 {
+ incoming {
+ Message a ()
+ }
+ outgoing {
+ Message b ()
+ }
+ }
+
+ LogicalSystem SystemMain {
+ SubSystemRef subsystem : SubSystemMain
+ }
+
+ SubSystemClass SubSystemMain {
+ ActorRef application : App_SubSystemMain
+ ActorRef services : ATimingService
+
+ LayerConnection sub_actor application satisfied_by services.timer
+ LayerConnection sub_actor application satisfied_by services.timeout
+ }
+
+ // automatically inserted App_SubSystemMain
+ ActorClass App_SubSystemMain {
+ Structure {
+ ActorRef derived : ADerived
+ }
+ }
+
+ ActorClass ATest {
+ Interface {
+ Port fct : PTest1
+ }
+ Structure {
+ external Port fct
+ Port sub : PTest2
+ SAP timer: PTimer
+ SAP timeout: PTimeout
+ }
+ Behavior {
+ StateMachine {
+ State State1 {}
+ State State2 {}
+ State State3 {
+ subgraph {
+ State State1 {}
+ State State2 {}
+ State State3 {}
+ EntryPoint tp1
+ TransitionPoint tp2
+ ExitPoint tp3
+ handler TransitionPoint tp5
+ Transition tr0: initial -> State1 {}
+ Transition tr1: my tp1 -> State3 {}
+ Transition tr2: State1 -> State2 {
+ triggers {
+ <b:fct>
+ }
+ }
+ Transition tr3: State2 -> State3 {
+ triggers {
+ <c:fct>
+ }
+ }
+ Transition tr4: State3 -> State1 {
+ triggers {
+ <a:fct>
+ }
+ }
+ Transition tr5: my tp2 -> State3 {
+ triggers {
+ <b:fct>
+ }
+ }
+ Transition tr6: State3 -> my tp3 {
+ triggers {
+ <c:fct>
+ }
+ }
+ Transition tr7: my tp5 -> my tp5 {
+ triggers {
+ <timeoutTick:timeout>
+ }
+ }
+ }
+ }
+ State State4 {}
+ TransitionPoint tp0
+ TransitionPoint tp1
+ ChoicePoint CP1
+ Transition tr0: initial -> State1 {}
+ Transition tr1: State1 -> State2 {
+ triggers {
+ <a:fct>
+ }
+ }
+ Transition tr2: State2 -> cp CP1 {
+ triggers {
+ <b:fct>
+ }
+ }
+ Transition tr3: cp CP1 -> State1 {}
+ Transition tr4: cp CP1 -> State3 {
+ cond {
+ "data==2"
+ }
+ }
+ Transition tr5: my tp0 -> tp1 of State3 {
+ triggers {
+ <a:fct>
+ }
+ }
+ Transition tr6: cp CP1 -> State4 {
+ cond {
+ "data==3"
+ }
+ }
+ Transition tr7: tp3 of State3 -> State2 {}
+ Transition tr8: State3 -> State2 {
+ triggers {
+ <c:fct>
+ }
+ }
+ Transition tr9: my tp1 -> State2 {
+ triggers {
+ <timerTick:timer>
+ }
+ }
+ }
+ }
+ }
+
+ ActorClass ADerived extends ATest {
+ Interface {
+ Port port : PTest3
+ }
+ Structure {
+ external Port port
+ }
+ Behavior {
+ StateMachine {
+ RefinedState State3 {
+ subgraph {
+ State State4 {}
+ EntryPoint tp6
+ TransitionPoint tp7
+ Transition tr8: my tp6 -> State2 {}
+ Transition tr9: my tp7 -> my tp7 {
+ triggers {
+ <z:sub>
+ }
+ }
+ Transition tr10: State2 -> State4 {
+ triggers {
+ <y:sub>
+ }
+ }
+ Transition tr11: State4 -> my tp3 {
+ triggers {
+ <z:sub>
+ }
+ }
+ }
+ }
+ RefinedState State4 {
+ subgraph {
+ State State1 {}
+ State State2 {}
+ Transition tr0: initial -> State1 {}
+ Transition tr1: State1 -> State2 {
+ triggers {
+ <a:port>
+ }
+ }
+ }
+ }
+ State State5 {}
+ Transition tr10: State1 -> State5 {
+ triggers {
+ <a:port>
+ }
+ }
+ Transition tr11: cp CP1 -> State5 {
+ cond {
+ "data==4"
+ }
+ }
+ Transition tr12: State5 -> tp6 of State3 {
+ triggers {
+ <a:port>
+ }
+ }
+ }
+ }
+ }
+
+}
diff --git a/tests/org.eclipse.etrice.generator.tests/models/states_inheritance.t.trp b/tests/org.eclipse.etrice.generator.tests/models/states_inheritance.t.trp
new file mode 100644
index 000000000..2344d9d9b
--- /dev/null
+++ b/tests/org.eclipse.etrice.generator.tests/models/states_inheritance.t.trp
@@ -0,0 +1,5243 @@
+114
+
+# Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# PersObj-Version: 4 standard
+#
+-bs_DataClassList
+-bs_DataClassList
+1
+-DataClass
+0
+1286376755
+0
+t
+<20101006165926-2
+-bs_RefCounter
+0
+<20101006165926-3
+-bs_DataClass
+3
+-boolean
+f
+f
+0
+1286376755
+0
+1
+5
+13
+t
+<20101006165926-4
+-bs_RefCounter
+0
+<20101006165926-5
+-bs_DataClass
+3
+-char
+f
+f
+0
+1286376755
+0
+1
+5
+7
+t
+<20101006165926-6
+-bs_RefCounter
+0
+<20101006165926-7
+-bs_DataClass
+3
+-uchar
+f
+f
+0
+1286376755
+0
+1
+5
+14
+t
+<20101006165926-8
+-bs_RefCounter
+0
+<20101006165926-9
+-bs_DataClass
+3
+-int8
+f
+f
+0
+1286376755
+0
+1
+5
+15
+t
+<20101006165926-10
+-bs_RefCounter
+0
+<20101006165926-11
+-bs_DataClass
+3
+-uint8
+f
+f
+0
+1286376755
+0
+1
+5
+18
+t
+<20101006165926-12
+-bs_RefCounter
+0
+<20101006165926-13
+-bs_DataClass
+3
+-int16
+f
+f
+0
+1286376755
+0
+1
+5
+16
+t
+<20101006165926-14
+-bs_RefCounter
+0
+<20101006165926-15
+-bs_DataClass
+3
+-uint16
+f
+f
+0
+1286376755
+0
+1
+5
+19
+t
+<20101006165926-16
+-bs_RefCounter
+0
+<20101006165926-17
+-bs_DataClass
+3
+-int32
+f
+f
+0
+1286376755
+0
+1
+5
+17
+t
+<20101006165926-18
+-bs_RefCounter
+0
+<20101006165926-19
+-bs_DataClass
+3
+-uint32
+f
+f
+0
+1286376755
+0
+1
+5
+20
+t
+<20101006165926-20
+-bs_RefCounter
+0
+<20101006165926-21
+-bs_DataClass
+3
+-float32
+f
+f
+0
+1286376755
+0
+1
+5
+21
+t
+<20101006165926-22
+-bs_RefCounter
+0
+<20101006165926-23
+-bs_DataClass
+3
+-float64
+f
+f
+0
+1286376755
+0
+1
+5
+22
+t
+<20101006165926-24
+-bs_RefCounter
+0
+<20101006165926-25
+-bs_DataClass
+3
+-char*
+f
+f
+0
+1286376755
+0
+1
+5
+12
+-
+t
+<20101006165926-26
+-bs_RefCounter
+0
+<20101006165926-27
+-bs_DataClass
+3
+-void*
+f
+f
+0
+1286376755
+0
+1
+5
+12
+-
+f
+-------------------------------
+# Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# PersObj-Version: 4 standard
+#
+-bs_ProtocolClassList
+-bs_ProtocolClassList
+1
+-ProtocolClass
+0
+1286459525
+0
+t
+<20101006165926-29
+-bs_RefCounter
+0
+<20101006165926-30
+-bs_ProtocolClass
+3
+-p_Timer
+t
+f
+0
+1286376755
+0
+1
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286376755
+0
+t
+<20101006165926-32
+-bs_RefCounter
+0
+<20101006165926-33
+-bs_MsgType
+3
+-Start
+f
+f
+0
+1286376755
+0
+>20101006165926-16
+>20101006165926-17
+t
+<20101006165926-34
+-bs_RefCounter
+0
+<20101006165926-35
+-bs_MsgType
+3
+-Kill
+f
+f
+0
+1286376755
+0
+<20101006165926-36
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286376755
+0
+t
+<20101006165926-38
+-bs_RefCounter
+0
+<20101006165926-39
+-bs_MsgType
+3
+-timerTick
+f
+f
+0
+1286376755
+0
+<20101006165926-40
+-bs_RefCounter
+0
+N
+f
+-ProtocolSemantics
+1
+0
+1286376755
+-ProtocolRuleSet
+0
+0
+1286376755
+t
+<20101006165926-43
+-ProtocolRule
+0
+0
+1286376755
+-Message
+0
+0
+1286376755
+0
+-Start
+t
+<20101006165926-45
+-MessageImplication
+0
+0
+1286376755
+-ProtocolRule
+0
+0
+1286376755
+-Message
+0
+0
+1286376755
+0
+-Kill
+f
+t
+<20101006165926-48
+-MessageImplication
+0
+0
+1286376755
+-ProtocolRule
+0
+0
+1286376755
+-Message
+0
+0
+1286376755
+1
+-timerTick
+f
+f
+f
+t
+<20101006165926-51
+-bs_RefCounter
+0
+<20101006165926-52
+-bs_ProtocolClass
+3
+-p_Timeout
+t
+f
+0
+1286376755
+0
+1
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286376755
+0
+t
+<20101006165926-54
+-bs_RefCounter
+0
+<20101006165926-55
+-bs_MsgType
+3
+-Start
+f
+f
+0
+1286376755
+0
+>20101006165926-16
+>20101006165926-17
+t
+<20101006165926-56
+-bs_RefCounter
+0
+<20101006165926-57
+-bs_MsgType
+3
+-Kill
+f
+f
+0
+1286376755
+0
+<20101006165926-58
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286376755
+0
+t
+<20101006165926-60
+-bs_RefCounter
+0
+<20101006165926-61
+-bs_MsgType
+3
+-timeoutTick
+f
+f
+0
+1286376755
+0
+<20101006165926-62
+-bs_RefCounter
+0
+N
+f
+-ProtocolSemantics
+1
+0
+1286376755
+-ProtocolRuleSet
+0
+0
+1286376755
+t
+<20101006165926-65
+-ProtocolRule
+0
+0
+1286376755
+-Message
+0
+0
+1286376755
+0
+-Start
+t
+<20101006165926-67
+-MessageImplication
+0
+0
+1286376755
+-ProtocolRule
+0
+0
+1286376755
+-Message
+0
+0
+1286376755
+0
+-Kill
+f
+t
+<20101006165926-70
+-MessageImplication
+0
+0
+1286376755
+-ProtocolRule
+0
+0
+1286376755
+-Message
+0
+0
+1286376755
+1
+-timeoutTick
+f
+f
+f
+t
+<20101006165926-73
+-bs_RefCounter
+0
+<20101006165926-74
+-bs_ProtocolClass
+3
+-p_DigitalInput
+t
+f
+0
+1286376755
+0
+1
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286376755
+0
+t
+<20101006165926-76
+-bs_RefCounter
+0
+<20101006165926-77
+-bs_MsgType
+3
+-getStatus
+f
+f
+0
+1286376755
+0
+<20101006165926-78
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286376755
+0
+t
+<20101006165926-80
+-bs_RefCounter
+0
+<20101006165926-81
+-bs_MsgType
+3
+-inputChanged
+f
+f
+0
+1286376755
+0
+>20101006165926-12
+>20101006165926-13
+f
+-ProtocolSemantics
+1
+0
+1286376755
+-ProtocolRuleSet
+0
+0
+1286376755
+t
+<20101006165926-84
+-ProtocolRule
+0
+0
+1286376755
+-Message
+0
+0
+1286376755
+0
+-getStatus
+t
+<20101006165926-86
+-MessageImplication
+0
+0
+1286376755
+-ProtocolRule
+0
+0
+1286376755
+-Message
+0
+0
+1286376755
+1
+-inputChanged
+f
+f
+f
+t
+<20101006165926-89
+-bs_RefCounter
+0
+<20101006165926-90
+-bs_ProtocolClass
+3
+-p_DigitalOutput
+t
+f
+0
+1286376755
+0
+1
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286376755
+0
+t
+<20101006165926-92
+-bs_RefCounter
+0
+<20101006165926-93
+-bs_MsgType
+3
+-Set
+f
+f
+0
+1286376755
+0
+>20101006165926-2
+>20101006165926-3
+t
+<20101006165926-94
+-bs_RefCounter
+0
+<20101006165926-95
+-bs_MsgType
+3
+-SetOn
+f
+f
+0
+1286376755
+0
+<20101006165926-96
+-bs_RefCounter
+0
+N
+t
+<20101006165926-97
+-bs_RefCounter
+0
+<20101006165926-98
+-bs_MsgType
+3
+-SetOff
+f
+f
+0
+1286376755
+0
+<20101006165926-99
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286376755
+0
+f
+-ProtocolSemantics
+1
+0
+1286376755
+-ProtocolRuleSet
+0
+0
+1286376755
+f
+t
+<20101006165926-103
+-bs_RefCounter
+0
+<20101006165926-104
+-bs_ProtocolClass
+3
+-PTest1
+f
+f
+0
+1286376836
+0
+0
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286376856
+0
+t
+<20101006165926-106
+-bs_RefCounter
+0
+<20101006165926-107
+-bs_MsgType
+3
+-a
+f
+f
+0
+1286376832
+0
+<20101006165926-108
+-bs_RefCounter
+0
+N
+t
+<20101006165926-109
+-bs_RefCounter
+0
+<20101006165926-110
+-bs_MsgType
+3
+-b
+f
+f
+0
+1286376853
+0
+>20101006165926-16
+>20101006165926-17
+t
+<20101006165926-111
+-bs_RefCounter
+0
+<20101006165926-112
+-bs_MsgType
+3
+-c
+f
+f
+0
+1286376855
+0
+<20101006165926-113
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286376836
+0
+t
+<20101006165926-115
+-bs_RefCounter
+0
+<20101006165926-116
+-bs_MsgType
+3
+-x
+f
+f
+0
+1286376835
+0
+<20101006165926-117
+-bs_RefCounter
+0
+N
+f
+-ProtocolSemantics
+1
+0
+1286376824
+-ProtocolRuleSet
+0
+0
+1286376824
+f
+t
+<20101006181214-36
+-bs_RefCounter
+0
+<20101006181214-37
+-bs_ProtocolClass
+3
+-PTest2
+f
+f
+0
+1286381323
+0
+0
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286381323
+0
+t
+<20101006181214-39
+-bs_RefCounter
+0
+<20101006181214-40
+-bs_MsgType
+3
+-x
+f
+f
+0
+1286381314
+0
+<20101006181214-41
+-bs_RefCounter
+0
+N
+t
+<20101006181214-42
+-bs_RefCounter
+0
+<20101006181214-43
+-bs_MsgType
+3
+-y
+f
+f
+0
+1286381316
+0
+<20101006181214-44
+-bs_RefCounter
+0
+N
+t
+<20101006181214-45
+-bs_RefCounter
+0
+<20101006181214-46
+-bs_MsgType
+3
+-z
+f
+f
+0
+1286381317
+0
+<20101006181214-47
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286381323
+0
+t
+<20101006181214-49
+-bs_RefCounter
+0
+<20101006181214-50
+-bs_MsgType
+3
+-a
+f
+f
+0
+1286381321
+0
+<20101006181214-51
+-bs_RefCounter
+0
+N
+f
+-ProtocolSemantics
+1
+0
+1286381308
+-ProtocolRuleSet
+0
+0
+1286381308
+f
+t
+<20101007155720-1
+-bs_RefCounter
+0
+<20101007155720-2
+-bs_ProtocolClass
+3
+-PTest3
+f
+f
+0
+1286459525
+0
+0
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286459525
+0
+t
+<20101007155720-4
+-bs_RefCounter
+0
+<20101007155720-5
+-bs_MsgType
+3
+-a
+f
+f
+0
+1286459520
+0
+<20101007155720-6
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286459525
+0
+t
+<20101007155720-8
+-bs_RefCounter
+0
+<20101007155720-9
+-bs_MsgType
+3
+-b
+f
+f
+0
+1286459523
+0
+<20101007155720-10
+-bs_RefCounter
+0
+N
+f
+-ProtocolSemantics
+1
+0
+1286459512
+-ProtocolRuleSet
+0
+0
+1286459512
+f
+f
+-------------------------------
+# Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# PersObj-Version: 4 standard
+#
+-bs_SAPClassList
+-bs_SAPClassList
+1
+-SAP
+0
+1286376755
+0
+t
+<20101006165926-121
+-bs_RefCounter
+0
+<20101006165926-122
+-bs_SAPClass
+3
+-Timer
+f
+f
+0
+1286376755
+0
+1
+0
+1
+>20101006165926-29
+>20101006165926-30
+t
+<20101006165926-123
+-bs_RefCounter
+0
+<20101006165926-124
+-bs_SAPClass
+3
+-Timeout
+f
+f
+0
+1286376755
+0
+1
+0
+2
+>20101006165926-51
+>20101006165926-52
+t
+<20101006165926-125
+-bs_RefCounter
+0
+<20101006165926-126
+-bs_SAPClass
+3
+-DigitalInput
+f
+f
+0
+1286376755
+0
+1
+0
+4
+>20101006165926-73
+>20101006165926-74
+t
+<20101006165926-127
+-bs_RefCounter
+0
+<20101006165926-128
+-bs_SAPClass
+3
+-DigitalOutput
+f
+f
+0
+1286376755
+0
+1
+0
+5
+>20101006165926-89
+>20101006165926-90
+f
+-------------------------------
+# Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# PersObj-Version: 4 standard
+#
+-bs_PrtvClassList
+-bs_PrtvClassList
+1
+-PrimitiveClass
+0
+1286376755
+0
+f
+-------------------------------
+# Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# PersObj-Version: 4 standard
+#
+-bs_ActorClassList
+-bs_ActorClassList
+1
+-ActorClass
+0
+1286459528
+0
+t
+<20101006165926-131
+-bs_RefCounter
+0
+<20101006165926-132
+-bs_ActorClass
+3
+-SubSystemMain
+f
+f
+0
+1288949083
+0
+0
+8
+-
+f
+-bs_ActorInterface
+3
+-bs_PortRefList
+1
+-Port
+0
+1286376763
+0
+f
+0
+0
+1286376763
+-bs_ActorStructure
+7
+-bs_PortRefList
+1
+-Port
+0
+1286376763
+0
+f
+-bs_SAPRefList
+1
+-SAP
+0
+1288949083
+0
+f
+t
+-bs_ActorRefList
+1
+-ActorRef
+0
+1286462127
+0
+t
+<20101007163532-1
+-bs_RefCounter
+0
+<20101007163532-2
+-bs_ActorRef
+3
+-derived
+f
+f
+0
+1286462127
+1
+-bs_ActorCoord
+0
+0.372639
+0.636875
+-bs_SizeFactors
+0
+3
+1
+-bs_CompPortRefList
+1
+-PortInstListDummyName
+0
+1286462127
+0
+f
+3
+-ADerived
+f
+-bs_BindingContractList
+1
+-BindingContract
+0
+1286376763
+0
+f
+-bs_SizeFactors
+0
+1.8
+1
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286376763
+-bs_PrtvRefList
+1
+-Primitive
+0
+1286376763
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286376763
+0
+f
+0
+1286376763
+-bs_ActorBehaviour
+7
+<20101006165926-150
+-bs_RefCounter
+0
+<20101006165926-151
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1286376763
+5
+f
+-bs_StateGraph
+8
+<20101006165926-154
+-bs_RefCounter
+0
+<20101006165926-155
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1286376763
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1286376763
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1286376763
+0
+f
+-bs_StateList
+1
+-State
+0
+1286376763
+0
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1286376763
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286376763
+0
+f
+t
+65535
+f
+f
+0
+1286376763
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1286376763
+-
+-
+-
+1024
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286376763
+0
+1286376763
+-bs_ActorMemberFct
+1
+f
+0
+1286376763
+t
+f
+f
+t
+<20101006165926-165
+-bs_RefCounter
+0
+<20101006165926-166
+-bs_ActorClass
+3
+-ATest
+f
+f
+0
+1286381382
+0
+0
+8
+-
+f
+-bs_ActorInterface
+3
+-bs_PortRefList
+1
+-Port
+0
+1286381439
+0
+t
+<20101006165926-169
+-bs_RefCounter
+0
+<20101006165926-170
+-bs_PortRef
+3
+-fct
+f
+f
+0
+1286376845
+0
+0
+f
+1
+-bs_ActorCoord
+0
+0.393333
+1
+>20101006165926-103
+>20101006165926-104
+f
+0
+0
+1286376770
+-bs_ActorStructure
+7
+-bs_PortRefList
+1
+-Port
+0
+1286381340
+0
+t
+>20101006165926-169
+>20101006165926-170
+t
+<20101006181214-88
+-bs_RefCounter
+0
+<20101006181214-89
+-bs_PortRef
+3
+-sub
+f
+f
+0
+1286381454
+0
+0
+f
+1
+-bs_ActorCoord
+0
+0.372778
+0.477625
+>20101006181214-36
+>20101006181214-37
+f
+-bs_SAPRefList
+1
+-SAP
+0
+1286381382
+0
+t
+<20101006181214-92
+-bs_RefCounter
+0
+<20101006181214-93
+-bs_SAPRef
+3
+-timer
+f
+f
+0
+1286381382
+0
+0
+>20101006165926-121
+>20101006165926-122
+1
+t
+<20101006181214-94
+-bs_RefCounter
+0
+<20101006181214-95
+-bs_SAPRef
+3
+-timeout
+f
+f
+0
+1286381382
+0
+0
+>20101006165926-123
+>20101006165926-124
+1
+f
+t
+-bs_ActorRefList
+1
+-ActorRef
+0
+1286376770
+0
+f
+-bs_BindingContractList
+1
+-BindingContract
+0
+1286376770
+0
+f
+-bs_SizeFactors
+0
+1.8
+1
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286376770
+-bs_PrtvRefList
+1
+-Primitive
+0
+1286376770
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286376770
+0
+f
+0
+1286376770
+-bs_ActorBehaviour
+7
+<20101006165926-182
+-bs_RefCounter
+0
+<20101006165926-183
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1286376770
+5
+f
+-bs_StateGraph
+8
+<20101006165926-186
+-bs_RefCounter
+0
+<20101006165926-187
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1286376770
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1286376770
+0
+t
+<20101006165926-190
+-bs_RefCounter
+0
+<20101006165926-191
+-bs_Choicepoint
+3
+-CP1
+f
+f
+0
+1286377205
+2
+-bs_CPBranchList
+1
+-CPBranchListDummyName
+0
+1286376897
+0
+t
+<20101006165926-193
+-bs_RefCounter
+0
+<20101006165926-194
+-bs_CPBranch
+3
+-[data==2]
+f
+f
+0
+1286376916
+1
+t
+<20101006170015-1
+-bs_RefCounter
+0
+<20101006170015-2
+-bs_CPBranch
+3
+-[data==3]
+f
+f
+0
+1286377199
+1
+f
+<20101006165926-195
+-bs_RefCounter
+0
+<20101006165926-196
+-bs_CPBranch
+3
+-
+f
+f
+0
+1286376909
+1
+-bs_ContextCoord
+0
+0.576825
+0.610317
+8
+f
+-bs_TrPointList
+1
+-TrP
+0
+1286376770
+0
+t
+<20101006165926-199
+-bs_RefCounter
+0
+<20101006165926-200
+-bs_TrPoint
+3
+-TrP1
+f
+f
+0
+1286376892
+1
+0
+-1
+-bs_ContextCoord
+0
+1
+0.698889
+9
+t
+<20101006181214-111
+-bs_RefCounter
+0
+<20101006181214-112
+-bs_TrPoint
+3
+-TrP2
+f
+f
+0
+1286381401
+1
+0
+-1
+-bs_ContextCoord
+0
+0.175159
+0
+10
+f
+-bs_StateList
+1
+-State
+0
+1286376770
+0
+t
+<20101006165926-203
+-bs_RefCounter
+0
+<20101006165926-204
+-bs_State
+3
+-State1
+f
+f
+0
+1286376871
+5
+-
+-
+-1
+-1
+<20101006165926-205
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.407381
+0.802619
+-bs_SizeFactors
+0
+1
+1
+f
+f
+1
+-1
+t
+<20101006165926-208
+-bs_RefCounter
+0
+<20101006165926-209
+-bs_State
+3
+-State2
+f
+f
+0
+1286376875
+5
+-
+-
+-1
+-1
+<20101006165926-210
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.432698
+0.405397
+-bs_SizeFactors
+0
+1
+1
+f
+f
+2
+-1
+t
+<20101006165926-213
+-bs_RefCounter
+0
+<20101006165926-214
+-bs_State
+3
+-State3
+f
+f
+0
+1286376881
+5
+-
+-
+-1
+-1
+<20101006165926-215
+-bs_RefCounter
+0
+<20101006165926-216
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1286376981
+5
+f
+-bs_StateGraph
+8
+<20101006165926-219
+-bs_RefCounter
+0
+<20101006165926-220
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1286376981
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1286376981
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1286376981
+0
+t
+<20101006165926-224
+-bs_RefCounter
+0
+<20101006165926-225
+-bs_TrPoint
+3
+-TrP1
+f
+f
+0
+1286376981
+1
+1
+4
+-bs_ContextCoord
+0
+0.0389161
+1
+11
+t
+<20101006165926-227
+-bs_RefCounter
+0
+<20101006165926-228
+-bs_TrPoint
+3
+-TrP2
+f
+f
+0
+1286376981
+1
+1
+5
+-bs_ContextCoord
+0
+0.929832
+1
+12
+t
+<20101006170448-1
+-bs_RefCounter
+0
+<20101006170448-2
+-bs_TrPoint
+3
+-TrP3
+f
+f
+0
+1286377368
+1
+0
+-1
+-bs_ContextCoord
+0
+1
+0.281508
+13
+t
+<20101006170448-4
+-bs_RefCounter
+0
+<20101006170448-5
+-bs_TrPoint
+3
+-TrP412863773960
+f
+f
+0
+1286377396
+1
+2
+7
+-bs_ContextCoord
+0
+0.230692
+0
+14
+t
+<20101006170448-7
+-bs_RefCounter
+0
+<20101006170448-8
+-bs_TrPoint
+3
+-TrP412863774570
+f
+f
+0
+1286377457
+1
+2
+8
+-bs_ContextCoord
+0
+0
+0.48431
+15
+t
+<20101006181214-129
+-bs_RefCounter
+0
+<20101006181214-130
+-bs_TrPoint
+3
+-TrP4
+f
+f
+0
+1286381511
+1
+3
+-1
+-bs_ContextCoord
+0
+0.543968
+1
+16
+f
+-bs_StateList
+1
+-State
+0
+1286376981
+0
+t
+<20101006165926-231
+-bs_RefCounter
+0
+<20101006165926-232
+-bs_State
+3
+-State1
+f
+f
+0
+1286376987
+5
+-
+-
+-1
+-1
+<20101006165926-233
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.457937
+0.751984
+-bs_SizeFactors
+0
+1
+1
+f
+f
+5
+-1
+t
+<20101006165926-236
+-bs_RefCounter
+0
+<20101006165926-237
+-bs_State
+3
+-State2
+f
+f
+0
+1286376992
+5
+-
+-
+-1
+-1
+<20101006165926-238
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.222698
+0.407937
+-bs_SizeFactors
+0
+1
+1
+f
+f
+6
+-1
+t
+<20101006165926-241
+-bs_RefCounter
+0
+<20101006165926-242
+-bs_State
+3
+-State3
+f
+f
+0
+1286376994
+5
+-
+-
+-1
+-1
+<20101006165926-243
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.73373
+0.387698
+-bs_SizeFactors
+0
+1
+1
+f
+f
+7
+-1
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1286376981
+0
+t
+<20101006165926-247
+-bs_RefCounter
+0
+<20101006165926-248
+-bs_TrSegment
+3
+-init
+f
+f
+0
+1286376999
+5
+0
+>20101006165926-220
+1
+>20101006165926-232
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286376999
+0
+f
+-
+-1
+-bs_ContextCoord
+0
+0.263968
+0.840992
+10
+-1
+t
+<20101006165926-251
+-bs_RefCounter
+0
+<20101006165926-252
+-bs_TrSegment
+3
+-
+f
+f
+0
+1286377002
+5
+3
+>20101006165926-228
+1
+>20101006165926-242
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286377002
+0
+f
+-
+-1
+-bs_ContextCoord
+0
+0.831781
+0.693849
+11
+-1
+t
+<20101006165926-255
+-bs_RefCounter
+0
+<20101006165926-256
+-bs_TrSegment
+3
+-b
+f
+f
+0
+1286377019
+5
+1
+>20101006165926-232
+1
+>20101006165926-237
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286377003
+0
+t
+<20101006165926-258
+-bs_RefCounter
+0
+<20101006165926-259
+-bs_SimpleTriggerSpec
+3
+-b
+f
+f
+0
+1286377019
+1
+-fct
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.340317
+0.57996
+12
+-1
+t
+<20101006165926-261
+-bs_RefCounter
+0
+<20101006165926-262
+-bs_TrSegment
+3
+-c
+f
+f
+0
+1286377027
+5
+1
+>20101006165926-237
+1
+>20101006165926-242
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286377004
+0
+t
+<20101006165926-264
+-bs_RefCounter
+0
+<20101006165926-265
+-bs_SimpleTriggerSpec
+3
+-c
+f
+f
+0
+1286377027
+1
+-fct
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.478214
+0.397817
+13
+-1
+t
+<20101006165926-267
+-bs_RefCounter
+0
+<20101006165926-268
+-bs_TrSegment
+3
+-a
+f
+f
+0
+1286377035
+5
+1
+>20101006165926-242
+1
+>20101006165926-232
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286377006
+0
+t
+<20101006165926-270
+-bs_RefCounter
+0
+<20101006165926-271
+-bs_SimpleTriggerSpec
+3
+-a
+f
+f
+0
+1286377035
+1
+-fct
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.595833
+0.569841
+14
+-1
+t
+<20101006170448-10
+-bs_RefCounter
+0
+<20101006170448-11
+-bs_TrSegment
+3
+-b
+f
+f
+0
+1286377388
+5
+3
+>20101006170448-2
+1
+>20101006165926-242
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286377372
+0
+t
+<20101006170448-13
+-bs_RefCounter
+0
+<20101006170448-14
+-bs_SimpleTriggerSpec
+3
+-b
+f
+f
+0
+1286377388
+1
+-fct
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.866865
+0.334603
+15
+-1
+t
+<20101006170448-16
+-bs_RefCounter
+0
+<20101006170448-17
+-bs_TrSegment
+3
+-c
+f
+f
+0
+1286377447
+5
+1
+>20101006165926-242
+3
+>20101006170448-5
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286377422
+0
+t
+<20101006170448-19
+-bs_RefCounter
+0
+<20101006170448-20
+-bs_SimpleTriggerSpec
+3
+-c
+f
+f
+0
+1286377447
+1
+-fct
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.482211
+0.193849
+16
+-1
+t
+<20101006181214-154
+-bs_RefCounter
+0
+<20101006181214-155
+-bs_TrSegment
+3
+-timeoutTick
+f
+f
+0
+1286381509
+5
+3
+>20101006181214-130
+3
+>20101006181214-130
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286381498
+0
+t
+<20101006181214-157
+-bs_RefCounter
+0
+<20101006181214-158
+-bs_SimpleTriggerSpec
+3
+-timeoutTick
+f
+f
+0
+1286381509
+1
+-timeout
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.612302
+0.845556
+17
+-1
+f
+-bs_NoteList
+1
+-Note
+0
+1286376981
+0
+f
+t
+65535
+f
+f
+0
+1286381498
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1286376981
+-bs_ContextCoord
+0
+0.756429
+0.415556
+-bs_SizeFactors
+0
+1
+1
+f
+f
+3
+-1
+t
+<20101006170015-3
+-bs_RefCounter
+0
+<20101006170015-4
+-bs_State
+3
+-State4
+f
+f
+0
+1286377183
+5
+-
+-
+-1
+-1
+<20101007163532-6
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.751429
+0.830397
+-bs_SizeFactors
+0
+1
+1
+f
+f
+4
+-1
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1286376770
+0
+t
+<20101006165926-278
+-bs_RefCounter
+0
+<20101006165926-279
+-bs_TrSegment
+3
+-init
+f
+f
+0
+1286376902
+5
+0
+>20101006165926-187
+1
+>20101006165926-204
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286376902
+0
+f
+-
+-1
+-bs_ContextCoord
+0
+0.23869
+0.86631
+0
+-1
+t
+<20101006165926-282
+-bs_RefCounter
+0
+<20101006165926-283
+-bs_TrSegment
+3
+-a
+f
+f
+0
+1286376941
+5
+1
+>20101006165926-204
+1
+>20101006165926-209
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286376904
+0
+t
+<20101006165926-285
+-bs_RefCounter
+0
+<20101006165926-286
+-bs_SimpleTriggerSpec
+3
+-a
+f
+f
+0
+1286376941
+1
+-fct
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.42004
+0.604008
+1
+-1
+t
+<20101006165926-288
+-bs_RefCounter
+0
+<20101006165926-289
+-bs_TrSegment
+3
+-b
+f
+f
+0
+1286376947
+5
+1
+>20101006165926-209
+2
+>20101006165926-191
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286376906
+0
+t
+<20101006165926-291
+-bs_RefCounter
+0
+<20101006165926-292
+-bs_SimpleTriggerSpec
+3
+-b
+f
+f
+0
+1286376947
+1
+-fct
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.504762
+0.507857
+2
+-1
+t
+<20101006165926-294
+-bs_RefCounter
+0
+<20101006165926-295
+-bs_TrSegment
+3
+-
+f
+f
+0
+1286376909
+5
+2
+>20101006165926-196
+1
+>20101006165926-204
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286376909
+0
+f
+-
+-1
+-bs_ContextCoord
+0
+0.492103
+0.706468
+3
+-1
+t
+<20101006165926-298
+-bs_RefCounter
+0
+<20101006165926-299
+-bs_TrSegment
+3
+-
+f
+f
+0
+1286377205
+5
+2
+>20101006165926-194
+1
+>20101006165926-214
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286376916
+0
+t
+<20101006170015-8
+-bs_RefCounter
+0
+<20101006170015-9
+-bs_SimpleTriggerSpec
+3
+-
+f
+f
+0
+1286377205
+1
+-
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.666627
+0.512937
+4
+-1
+t
+<20101006165926-302
+-bs_RefCounter
+0
+<20101006165926-303
+-bs_TrSegment
+3
+-a
+f
+f
+0
+1286377483
+5
+3
+>20101006165926-200
+1
+>20101006165926-214
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286376931
+0
+t
+<20101006170448-22
+-bs_RefCounter
+0
+<20101006170448-23
+-bs_SimpleTriggerSpec
+3
+-a
+f
+f
+0
+1286377483
+1
+-fct
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.878214
+0.557222
+5
+-1
+t
+<20101006170015-10
+-bs_RefCounter
+0
+<20101006170015-11
+-bs_TrSegment
+3
+-
+f
+f
+0
+1286377199
+5
+2
+>20101006170015-2
+1
+>20101006170015-4
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286377199
+0
+f
+-
+-1
+-bs_ContextCoord
+0
+0.664127
+0.720357
+6
+-1
+t
+<20101006170448-24
+-bs_RefCounter
+0
+<20101006170448-25
+-bs_TrSegment
+3
+-
+f
+f
+0
+1286377403
+5
+1
+>20101006165926-214
+1
+>20101006165926-209
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286377396
+0
+f
+-
+-1
+-bs_ContextCoord
+0
+0.650159
+0.218254
+7
+-1
+t
+<20101006170448-28
+-bs_RefCounter
+0
+<20101006170448-29
+-bs_TrSegment
+3
+-c
+f
+f
+0
+1286377468
+5
+1
+>20101006165926-214
+1
+>20101006165926-209
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286377457
+0
+t
+<20101006170448-31
+-bs_RefCounter
+0
+<20101006170448-32
+-bs_SimpleTriggerSpec
+3
+-c
+f
+f
+0
+1286377468
+1
+-fct
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.594563
+0.410476
+8
+-1
+t
+<20101006181214-185
+-bs_RefCounter
+0
+<20101006181214-186
+-bs_TrSegment
+3
+-timerTick
+f
+f
+0
+1286381416
+5
+3
+>20101006181214-112
+1
+>20101006165926-209
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286381405
+0
+t
+<20101006181214-188
+-bs_RefCounter
+0
+<20101006181214-189
+-bs_SimpleTriggerSpec
+3
+-timerTick
+f
+f
+0
+1286381416
+1
+-timer
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.303928
+0.202699
+9
+-1
+f
+-bs_NoteList
+1
+-Note
+0
+1286376770
+0
+f
+t
+65535
+f
+f
+0
+1286381405
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1286376770
+-
+-
+-
+1024
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286376770
+0
+1286376770
+-bs_ActorMemberFct
+1
+f
+0
+1286376770
+t
+f
+f
+t
+<20101007155720-14
+-bs_RefCounter
+0
+<20101007155720-15
+-bs_ActorClass
+3
+-ADerived
+f
+f
+0
+1286459536
+0
+0
+8
+-ATest
+f
+-bs_ActorInterface
+3
+-bs_PortRefList
+1
+-Port
+0
+1286459562
+0
+t
+>20101006165926-169
+>20101006165926-170
+t
+<20101007155720-18
+-bs_RefCounter
+0
+<20101007155720-19
+-bs_PortRef
+3
+-port
+f
+f
+0
+1286459562
+0
+0
+f
+1
+-bs_ActorCoord
+0
+0.644236
+1
+>20101007155720-1
+>20101007155720-2
+f
+0
+0
+1286459528
+-bs_ActorStructure
+7
+-bs_PortRefList
+1
+-Port
+0
+1286459562
+0
+t
+>20101006165926-169
+>20101006165926-170
+t
+>20101006181214-88
+>20101006181214-89
+t
+>20101007155720-18
+>20101007155720-19
+f
+-bs_SAPRefList
+1
+-SAP
+0
+1286459528
+0
+t
+>20101006181214-92
+>20101006181214-93
+t
+>20101006181214-94
+>20101006181214-95
+f
+t
+-bs_ActorRefList
+1
+-ActorRef
+0
+1286459528
+0
+f
+-bs_BindingContractList
+1
+-BindingContract
+0
+1286459528
+0
+f
+-bs_SizeFactors
+0
+1.8
+1
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286459528
+-bs_PrtvRefList
+1
+-Primitive
+0
+1286459528
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286459528
+0
+f
+0
+1286459528
+-bs_ActorBehaviour
+7
+<20101007155720-31
+-bs_RefCounter
+0
+<20101007155720-32
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1286459528
+5
+f
+-bs_StateGraph
+8
+<20101007155720-35
+-bs_RefCounter
+0
+<20101007155720-36
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1286459528
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1286459528
+0
+t
+<20101007155720-39
+-bs_RefCounter
+0
+<20101006165926-191
+-bs_Choicepoint
+3
+-CP1
+f
+t
+0
+1286459696
+2
+-bs_CPBranchList
+1
+-CPBranchListDummyName
+0
+1286376897
+0
+t
+<20101006165926-193
+-bs_RefCounter
+0
+<20101006165926-194
+-bs_CPBranch
+3
+-[data==2]
+f
+f
+0
+1286376916
+1
+t
+<20101006170015-1
+-bs_RefCounter
+0
+<20101006170015-2
+-bs_CPBranch
+3
+-[data==3]
+f
+f
+0
+1286377199
+1
+t
+<20101007155720-40
+-bs_RefCounter
+0
+<20101007155720-41
+-bs_CPBranch
+3
+-[data==4]
+f
+f
+0
+1286459696
+1
+f
+<20101006165926-195
+-bs_RefCounter
+0
+<20101006165926-196
+-bs_CPBranch
+3
+-
+f
+f
+0
+1286376909
+1
+-bs_ContextCoord
+0
+0.576825
+0.610317
+12
+f
+-bs_TrPointList
+1
+-TrP
+0
+1286459528
+0
+t
+<20101007155720-43
+-bs_RefCounter
+0
+<20101006165926-200
+-bs_TrPoint
+3
+-TrP1
+f
+t
+0
+1286376892
+1
+0
+-1
+-bs_ContextCoord
+0
+1
+0.698889
+13
+t
+<20101007155720-44
+-bs_RefCounter
+0
+<20101006181214-112
+-bs_TrPoint
+3
+-TrP2
+f
+t
+0
+1286381401
+1
+0
+-1
+-bs_ContextCoord
+0
+0.175159
+0
+14
+f
+-bs_StateList
+1
+-State
+0
+1286459528
+0
+t
+<20101007155720-46
+-bs_RefCounter
+0
+<20101006165926-204
+-bs_State
+3
+-State1
+f
+t
+0
+1286376871
+5
+-
+-
+-1
+-1
+>20101006165926-205
+N
+-bs_ContextCoord
+0
+0.407381
+0.802619
+-bs_SizeFactors
+0
+1
+1
+f
+f
+1
+1
+t
+<20101007155720-47
+-bs_RefCounter
+0
+<20101006165926-209
+-bs_State
+3
+-State2
+f
+t
+0
+1286376875
+5
+-
+-
+-1
+-1
+>20101006165926-210
+N
+-bs_ContextCoord
+0
+0.432698
+0.405397
+-bs_SizeFactors
+0
+1
+1
+f
+f
+2
+2
+t
+<20101007155720-48
+-bs_RefCounter
+0
+<20101006165926-214
+-bs_State
+3
+-State3
+f
+t
+0
+1286376881
+5
+-
+-
+-1
+-1
+<20101006165926-215
+-bs_RefCounter
+0
+<20101006165926-216
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1286376981
+5
+f
+-bs_StateGraph
+8
+<20101006165926-219
+-bs_RefCounter
+0
+<20101006165926-220
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1286376981
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1286376981
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1286376981
+0
+t
+<20101006165926-224
+-bs_RefCounter
+0
+<20101006165926-225
+-bs_TrPoint
+3
+-TrP1
+f
+t
+0
+1286376981
+1
+1
+4
+-bs_ContextCoord
+0
+0.0389161
+1
+15
+t
+<20101006165926-227
+-bs_RefCounter
+0
+<20101006165926-228
+-bs_TrPoint
+3
+-TrP2
+f
+t
+0
+1286376981
+1
+1
+5
+-bs_ContextCoord
+0
+0.929832
+1
+16
+t
+<20101006170448-1
+-bs_RefCounter
+0
+<20101006170448-2
+-bs_TrPoint
+3
+-TrP3
+f
+t
+0
+1286377368
+1
+0
+-1
+-bs_ContextCoord
+0
+1
+0.281508
+17
+t
+<20101006170448-4
+-bs_RefCounter
+0
+<20101006170448-5
+-bs_TrPoint
+3
+-TrP412863773960
+f
+t
+0
+1286377396
+1
+2
+7
+-bs_ContextCoord
+0
+0.230692
+0
+18
+t
+<20101006170448-7
+-bs_RefCounter
+0
+<20101006170448-8
+-bs_TrPoint
+3
+-TrP412863774570
+f
+t
+0
+1286377457
+1
+2
+8
+-bs_ContextCoord
+0
+0
+0.48431
+19
+t
+<20101006181214-129
+-bs_RefCounter
+0
+<20101006181214-130
+-bs_TrPoint
+3
+-TrP4
+f
+t
+0
+1286381511
+1
+3
+-1
+-bs_ContextCoord
+0
+0.543968
+1
+20
+t
+<20101007155720-49
+-bs_RefCounter
+0
+<20101007155720-50
+-bs_TrPoint
+3
+-TrP512864597290
+f
+f
+0
+1286459729
+1
+1
+12
+-bs_ContextCoord
+0
+0
+0.705057
+21
+t
+<20101007155720-52
+-bs_RefCounter
+0
+<20101007155720-53
+-bs_TrPoint
+3
+-TrP5
+f
+f
+0
+1286459758
+1
+0
+-1
+-bs_ContextCoord
+0
+0.796905
+0
+22
+f
+-bs_StateList
+1
+-State
+0
+1286376981
+0
+t
+<20101006165926-231
+-bs_RefCounter
+0
+<20101006165926-232
+-bs_State
+3
+-State1
+f
+t
+0
+1286376987
+5
+-
+-
+-1
+-1
+>20101006165926-233
+N
+-bs_ContextCoord
+0
+0.457937
+0.751984
+-bs_SizeFactors
+0
+1
+1
+f
+f
+6
+5
+t
+<20101006165926-236
+-bs_RefCounter
+0
+<20101006165926-237
+-bs_State
+3
+-State2
+f
+t
+0
+1286376992
+5
+-
+-
+-1
+-1
+>20101006165926-238
+N
+-bs_ContextCoord
+0
+0.222698
+0.407937
+-bs_SizeFactors
+0
+1
+1
+f
+f
+7
+6
+t
+<20101006165926-241
+-bs_RefCounter
+0
+<20101006165926-242
+-bs_State
+3
+-State3
+f
+t
+0
+1286376994
+5
+-
+-
+-1
+-1
+>20101006165926-243
+N
+-bs_ContextCoord
+0
+0.73373
+0.387698
+-bs_SizeFactors
+0
+1
+1
+f
+f
+8
+7
+t
+<20101007155720-55
+-bs_RefCounter
+0
+<20101007155720-56
+-bs_State
+3
+-State4
+f
+f
+0
+1286459792
+5
+-
+-
+-1
+-1
+<20101007155720-57
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.224365
+0.279921
+-bs_SizeFactors
+0
+1
+1
+f
+f
+9
+-1
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1286376981
+0
+t
+<20101006165926-247
+-bs_RefCounter
+0
+<20101006165926-248
+-bs_TrSegment
+3
+-init
+f
+t
+0
+1286376999
+5
+0
+>20101006165926-220
+1
+>20101006165926-232
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286376999
+0
+f
+-
+-1
+-bs_ContextCoord
+0
+0.263968
+0.840992
+13
+10
+t
+<20101006165926-251
+-bs_RefCounter
+0
+<20101006165926-252
+-bs_TrSegment
+3
+-
+f
+t
+0
+1286377002
+5
+3
+>20101006165926-228
+1
+>20101006165926-242
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286377002
+0
+f
+-
+-1
+-bs_ContextCoord
+0
+0.831781
+0.693849
+14
+11
+t
+<20101006165926-255
+-bs_RefCounter
+0
+<20101006165926-256
+-bs_TrSegment
+3
+-b
+f
+t
+0
+1286377019
+5
+1
+>20101006165926-232
+1
+>20101006165926-237
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286377003
+0
+t
+<20101006165926-258
+-bs_RefCounter
+0
+<20101006165926-259
+-bs_SimpleTriggerSpec
+3
+-b
+f
+f
+0
+1286377019
+1
+-fct
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.340317
+0.57996
+15
+12
+t
+<20101006165926-261
+-bs_RefCounter
+0
+<20101006165926-262
+-bs_TrSegment
+3
+-c
+f
+t
+0
+1286377027
+5
+1
+>20101006165926-237
+1
+>20101006165926-242
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286377004
+0
+t
+<20101006165926-264
+-bs_RefCounter
+0
+<20101006165926-265
+-bs_SimpleTriggerSpec
+3
+-c
+f
+f
+0
+1286377027
+1
+-fct
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.478214
+0.397817
+16
+13
+t
+<20101006165926-267
+-bs_RefCounter
+0
+<20101006165926-268
+-bs_TrSegment
+3
+-a
+f
+t
+0
+1286377035
+5
+1
+>20101006165926-242
+1
+>20101006165926-232
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286377006
+0
+t
+<20101006165926-270
+-bs_RefCounter
+0
+<20101006165926-271
+-bs_SimpleTriggerSpec
+3
+-a
+f
+f
+0
+1286377035
+1
+-fct
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.595833
+0.569841
+17
+14
+t
+<20101006170448-10
+-bs_RefCounter
+0
+<20101006170448-11
+-bs_TrSegment
+3
+-b
+f
+t
+0
+1286377388
+5
+3
+>20101006170448-2
+1
+>20101006165926-242
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286377372
+0
+t
+<20101006170448-13
+-bs_RefCounter
+0
+<20101006170448-14
+-bs_SimpleTriggerSpec
+3
+-b
+f
+f
+0
+1286377388
+1
+-fct
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.866865
+0.334603
+18
+15
+t
+<20101006170448-16
+-bs_RefCounter
+0
+<20101006170448-17
+-bs_TrSegment
+3
+-c
+f
+t
+0
+1286377447
+5
+1
+>20101006165926-242
+3
+>20101006170448-5
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286377422
+0
+t
+<20101006170448-19
+-bs_RefCounter
+0
+<20101006170448-20
+-bs_SimpleTriggerSpec
+3
+-c
+f
+f
+0
+1286377447
+1
+-fct
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.482211
+0.193849
+19
+16
+t
+<20101006181214-154
+-bs_RefCounter
+0
+<20101006181214-155
+-bs_TrSegment
+3
+-timeoutTick
+f
+t
+0
+1286381509
+5
+3
+>20101006181214-130
+3
+>20101006181214-130
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286381498
+0
+t
+<20101006181214-157
+-bs_RefCounter
+0
+<20101006181214-158
+-bs_SimpleTriggerSpec
+3
+-timeoutTick
+f
+f
+0
+1286381509
+1
+-timeout
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.612302
+0.845556
+20
+17
+t
+<20101007155720-60
+-bs_RefCounter
+0
+<20101007155720-61
+-bs_TrSegment
+3
+-
+f
+f
+0
+1286459745
+5
+3
+>20101007155720-50
+1
+>20101006165926-237
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286459745
+0
+f
+-
+-1
+-bs_ContextCoord
+0
+0.111349
+0.556497
+21
+-1
+t
+<20101007155720-64
+-bs_RefCounter
+0
+<20101007155720-65
+-bs_TrSegment
+3
+-z
+f
+f
+0
+1286459775
+5
+3
+>20101007155720-53
+3
+>20101007155720-53
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286459765
+0
+t
+<20101007155720-67
+-bs_RefCounter
+0
+<20101007155720-68
+-bs_SimpleTriggerSpec
+3
+-z
+f
+f
+0
+1286459775
+1
+-sub
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.748889
+0.225476
+22
+-1
+t
+<20101007155720-70
+-bs_RefCounter
+0
+<20101007155720-71
+-bs_TrSegment
+3
+-y
+f
+f
+0
+1286459813
+5
+1
+>20101006165926-237
+1
+>20101007155720-56
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286459798
+0
+t
+<20101007155720-73
+-bs_RefCounter
+0
+<20101007155720-74
+-bs_SimpleTriggerSpec
+3
+-y
+f
+f
+0
+1286459813
+1
+-sub
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.223532
+0.343929
+23
+-1
+t
+<20101007155720-76
+-bs_RefCounter
+0
+<20101007155720-77
+-bs_TrSegment
+3
+-z
+f
+f
+0
+1286459832
+5
+1
+>20101007155720-56
+3
+>20101006170448-5
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286459824
+0
+t
+<20101007155720-79
+-bs_RefCounter
+0
+<20101007155720-80
+-bs_SimpleTriggerSpec
+3
+-z
+f
+f
+0
+1286459832
+1
+-sub
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.227529
+0.13996
+24
+-1
+f
+-bs_NoteList
+1
+-Note
+0
+1286376981
+0
+f
+t
+65535
+f
+f
+0
+1286459824
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1286376981
+-bs_ContextCoord
+0
+0.756429
+0.415556
+-bs_SizeFactors
+0
+1
+1
+f
+f
+3
+3
+t
+<20101007155720-82
+-bs_RefCounter
+0
+<20101006170015-4
+-bs_State
+3
+-State4
+f
+t
+0
+1286377183
+5
+-
+-
+-1
+-1
+<20101006170015-5
+-bs_RefCounter
+0
+<20101007155720-83
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1286459630
+5
+f
+-bs_StateGraph
+8
+<20101007155720-86
+-bs_RefCounter
+0
+<20101007155720-87
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1286459630
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1286459630
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1286459630
+0
+t
+<20101007155720-91
+-bs_RefCounter
+0
+<20101007155720-92
+-bs_TrPoint
+3
+-TrP1
+f
+t
+0
+1286459630
+1
+1
+6
+-bs_ContextCoord
+0
+0.103317
+0
+23
+f
+-bs_StateList
+1
+-State
+0
+1286459630
+0
+t
+<20101007155720-95
+-bs_RefCounter
+0
+<20101007155720-96
+-bs_State
+3
+-State1
+f
+f
+0
+1286459634
+5
+-
+-
+-1
+-1
+<20101007155720-97
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.545794
+0.780476
+-bs_SizeFactors
+0
+1
+1
+f
+f
+10
+-1
+t
+<20101007155720-100
+-bs_RefCounter
+0
+<20101007155720-101
+-bs_State
+3
+-State2
+f
+f
+0
+1286459636
+5
+-
+-
+-1
+-1
+<20101007155720-102
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.525
+0.455794
+-bs_SizeFactors
+0
+1
+1
+f
+f
+11
+-1
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1286459630
+0
+t
+<20101007155720-106
+-bs_RefCounter
+0
+<20101007155720-107
+-bs_TrSegment
+3
+-init
+f
+f
+0
+1286459640
+5
+0
+>20101007155720-87
+1
+>20101007155720-96
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286459640
+0
+f
+-
+-1
+-bs_ContextCoord
+0
+0.307897
+0.855238
+25
+-1
+t
+<20101007155720-110
+-bs_RefCounter
+0
+<20101007155720-111
+-bs_TrSegment
+3
+-a
+f
+f
+0
+1286459660
+5
+1
+>20101007155720-96
+1
+>20101007155720-101
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286459642
+0
+t
+<20101007155720-113
+-bs_RefCounter
+0
+<20101007155720-114
+-bs_SimpleTriggerSpec
+3
+-a
+f
+f
+0
+1286459660
+1
+-port
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.535397
+0.618135
+26
+-1
+f
+-bs_NoteList
+1
+-Note
+0
+1286459630
+0
+f
+t
+65535
+f
+f
+0
+1286459642
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1286459630
+-bs_ContextCoord
+0
+0.751429
+0.830397
+-bs_SizeFactors
+0
+1
+1
+f
+f
+4
+4
+t
+<20101007155720-118
+-bs_RefCounter
+0
+<20101007155720-119
+-bs_State
+3
+-State5
+f
+f
+0
+1286459584
+5
+-
+-
+-1
+-1
+<20101007155720-120
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.133492
+0.671032
+-bs_SizeFactors
+0
+1
+1
+f
+f
+5
+-1
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1286459528
+0
+t
+<20101007155720-124
+-bs_RefCounter
+0
+<20101006165926-279
+-bs_TrSegment
+3
+-init
+f
+t
+0
+1286376902
+5
+0
+>20101007155720-36
+1
+>20101006165926-204
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286376902
+0
+f
+-
+-1
+-bs_ContextCoord
+0
+0.23869
+0.86631
+0
+0
+t
+<20101007155720-125
+-bs_RefCounter
+0
+<20101006165926-283
+-bs_TrSegment
+3
+-a
+f
+t
+0
+1286376941
+5
+1
+>20101006165926-204
+1
+>20101006165926-209
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286376904
+0
+t
+<20101006165926-285
+-bs_RefCounter
+0
+<20101006165926-286
+-bs_SimpleTriggerSpec
+3
+-a
+f
+f
+0
+1286376941
+1
+-fct
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.42004
+0.604008
+1
+1
+t
+<20101007155720-126
+-bs_RefCounter
+0
+<20101006165926-289
+-bs_TrSegment
+3
+-b
+f
+t
+0
+1286376947
+5
+1
+>20101006165926-209
+2
+>20101006165926-191
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286376906
+0
+t
+<20101006165926-291
+-bs_RefCounter
+0
+<20101006165926-292
+-bs_SimpleTriggerSpec
+3
+-b
+f
+f
+0
+1286376947
+1
+-fct
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.504762
+0.507857
+2
+2
+t
+<20101007155720-127
+-bs_RefCounter
+0
+<20101006165926-295
+-bs_TrSegment
+3
+-
+f
+t
+0
+1286376909
+5
+2
+>20101006165926-196
+1
+>20101006165926-204
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286376909
+0
+f
+-
+-1
+-bs_ContextCoord
+0
+0.492103
+0.706468
+3
+3
+t
+<20101006165926-298
+-bs_RefCounter
+0
+<20101006165926-299
+-bs_TrSegment
+3
+-
+f
+t
+0
+1286377205
+5
+2
+>20101006165926-194
+1
+>20101006165926-214
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286376916
+0
+t
+<20101006170015-8
+-bs_RefCounter
+0
+<20101006170015-9
+-bs_SimpleTriggerSpec
+3
+-
+f
+f
+0
+1286377205
+1
+-
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.666627
+0.512937
+4
+4
+t
+<20101006165926-302
+-bs_RefCounter
+0
+<20101006165926-303
+-bs_TrSegment
+3
+-a
+f
+t
+0
+1286377483
+5
+3
+>20101006165926-200
+1
+>20101006165926-214
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286376931
+0
+t
+<20101006170448-22
+-bs_RefCounter
+0
+<20101006170448-23
+-bs_SimpleTriggerSpec
+3
+-a
+f
+f
+0
+1286377483
+1
+-fct
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.878214
+0.557222
+5
+5
+t
+<20101007155720-128
+-bs_RefCounter
+0
+<20101006170015-11
+-bs_TrSegment
+3
+-
+f
+t
+0
+1286377199
+5
+2
+>20101006170015-2
+1
+>20101006170015-4
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286377199
+0
+f
+-
+-1
+-bs_ContextCoord
+0
+0.664127
+0.720357
+6
+6
+t
+<20101006170448-24
+-bs_RefCounter
+0
+<20101006170448-25
+-bs_TrSegment
+3
+-
+f
+t
+0
+1286377403
+5
+1
+>20101006165926-214
+1
+>20101006165926-209
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286377396
+0
+f
+-
+-1
+-bs_ContextCoord
+0
+0.650159
+0.218254
+7
+7
+t
+<20101006170448-28
+-bs_RefCounter
+0
+<20101006170448-29
+-bs_TrSegment
+3
+-c
+f
+t
+0
+1286377468
+5
+1
+>20101006165926-214
+1
+>20101006165926-209
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286377457
+0
+t
+<20101006170448-31
+-bs_RefCounter
+0
+<20101006170448-32
+-bs_SimpleTriggerSpec
+3
+-c
+f
+f
+0
+1286377468
+1
+-fct
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.594563
+0.410476
+8
+8
+t
+<20101007155720-129
+-bs_RefCounter
+0
+<20101006181214-186
+-bs_TrSegment
+3
+-timerTick
+f
+t
+0
+1286381416
+5
+3
+>20101006181214-112
+1
+>20101006165926-209
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286381405
+0
+t
+<20101006181214-188
+-bs_RefCounter
+0
+<20101006181214-189
+-bs_SimpleTriggerSpec
+3
+-timerTick
+f
+f
+0
+1286381416
+1
+-timer
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.303928
+0.202699
+9
+9
+t
+<20101007155720-130
+-bs_RefCounter
+0
+<20101007155720-131
+-bs_TrSegment
+3
+-a
+f
+f
+0
+1286459608
+5
+1
+>20101006165926-204
+1
+>20101007155720-119
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286459591
+0
+t
+<20101007155720-133
+-bs_RefCounter
+0
+<20101007155720-134
+-bs_SimpleTriggerSpec
+3
+-a
+f
+f
+0
+1286459608
+1
+-port
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.270437
+0.736825
+10
+-1
+t
+<20101007155720-136
+-bs_RefCounter
+0
+<20101007155720-137
+-bs_TrSegment
+3
+-
+f
+f
+0
+1286459696
+5
+2
+>20101007155720-41
+1
+>20101007155720-119
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286459696
+0
+f
+-
+-1
+-bs_ContextCoord
+0
+0.355159
+0.640674
+11
+-1
+t
+<20101007155720-140
+-bs_RefCounter
+0
+<20101007155720-141
+-bs_TrSegment
+3
+-a
+f
+f
+0
+1286459736
+5
+1
+>20101007155720-119
+1
+>20101006165926-214
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286459729
+0
+t
+<20101007155720-143
+-bs_RefCounter
+0
+<20101007155720-144
+-bs_SimpleTriggerSpec
+3
+-a
+f
+f
+0
+1286459736
+1
+-port
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.444961
+0.543294
+12
+-1
+f
+-bs_NoteList
+1
+-Note
+0
+1286459528
+0
+f
+t
+65535
+f
+f
+0
+1286459729
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1286459528
+-
+-
+-
+1024
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286459528
+0
+1286459528
+-bs_ActorMemberFct
+1
+f
+0
+1286459528
+t
+f
+f
+f
+-------------------------------
+
+
+ROOM_CONFIGURATION_DATA
+
+106
+
+# Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# PersObj-Version: 4 standard
+#
+-bs_ConfigurationList
+-bs_ConfigurationList
+1
+-Configuration
+0
+1286376755
+0
+t
+<20101006165926-311
+-bs_RefCounter
+0
+<20101006165926-312
+-bs_Configuration
+3
+-StdConfig
+f
+f
+0
+1286376755
+6
+<20101006165926-313
+-bs_RefCounter
+0
+N
+-bs_TargetList
+1
+-Target
+0
+1286376755
+0
+t
+<20101006165926-315
+-bs_RefCounter
+0
+<20101006165926-316
+-bs_Target
+3
+-PC
+f
+f
+0
+1286376755
+5
+-pc_id
+0
+0
+2
+2
+-bs_FileList
+1
+-FileListDummyName
+0
+1286376755
+0
+f
+f
+-bs_ContextCoord
+0
+0.5
+0.5
+-bs_SizeFactors
+0
+1
+1
+f
+-bs_NoteList
+1
+-Note
+0
+1286376755
+0
+f
+-bs_PrtvDescriptorList
+1
+-PrtvInstance
+0
+1286376755
+0
+f
+-bs_ActorInstanceList
+1
+-ActorInstance
+0
+1286376755
+0
+f
+>20101006165926-315
+>20101006165926-316
+0
+-bs_PropertySet
+0
+f
+-bs_ViewMementoList
+1
+-ViewMemento
+0
+1292431731
+0
+t
+<20101215174851-308
+-bs_RefCounter
+0
+<20101215174851-309
+-bs_ViewMemento
+3
+-
+f
+f
+0
+1292431731
+1
+2
+1
+269
+79
+747
+579
+>20101006165926-165
+>20101006165926-166
+>20101006165926-182
+>20101006165926-183
+-TOP/State3
+t
+<20101215174851-310
+-bs_RefCounter
+0
+<20101215174851-311
+-bs_ViewMemento
+3
+-
+f
+f
+0
+1292431731
+1
+2
+1
+75
+75
+553
+575
+>20101007155720-14
+>20101007155720-15
+>20101007155720-31
+>20101007155720-32
+-TOP
+t
+<20101215174851-312
+-bs_RefCounter
+0
+<20101215174851-313
+-bs_ViewMemento
+3
+-
+f
+f
+0
+1292431731
+1
+1
+3
+100
+100
+1454
+604
+>20101006165926-131
+>20101006165926-132
+f
+f
+>20101006165926-311
+>20101006165926-312
+-842150451
+-bs_DataObjHist
+0
+0
diff --git a/tests/org.eclipse.etrice.generator.tests/models/states_triggers.room b/tests/org.eclipse.etrice.generator.tests/models/states_triggers.room
new file mode 100644
index 000000000..f56796278
--- /dev/null
+++ b/tests/org.eclipse.etrice.generator.tests/models/states_triggers.room
@@ -0,0 +1,174 @@
+RoomModel states_trigers {
+
+ ProtocolClass PTimer {
+ incoming {
+ Message start (time_ms : int32)
+ Message kill ()
+ }
+ outgoing {
+ Message timerTick ()
+ }
+ }
+
+ ProtocolClass PTimeout {
+ incoming {
+ Message start (time_ms : int32)
+ Message kill ()
+ }
+ outgoing {
+ Message timeoutTick ()
+ }
+ }
+
+ ActorClass ATimingService {
+ Interface {
+ SPP timerSPP: PTimer
+ SPP timeoutSPP: PTimeout
+ }
+ Structure {
+ ServiceImplementation of timerSPP
+ ServiceImplementation of timeoutSPP
+ }
+ }
+
+ ProtocolClass PTest1 {
+ incoming {
+ Message a ()
+ Message b (x : int32)
+ Message c ()
+ }
+ outgoing {
+ Message x ()
+ }
+ }
+
+ ProtocolClass PTest2 {
+ incoming {
+ Message x ()
+ Message y ()
+ Message z ()
+ }
+ outgoing {
+ Message a ()
+ }
+ }
+
+ SubSystemClass CMain {
+ ActorRef application : AApplication_CMain
+ ActorRef timingService : ATimingService
+
+ LayerConnection ref application satisfied_by timingService.timerSPP
+ LayerConnection ref application satisfied_by timingService.timeoutSPP
+ }
+
+ // automatically inserted AApplication_CMain
+ ActorClass AApplication_CMain {
+ Structure {
+ ActorRef test : ATest
+ }
+ }
+
+ ActorClass ATest {
+ Interface {
+ Port fct : PTest1
+ }
+ Structure {
+ external Port fct
+ Port sub : PTest2
+ SAP timer: PTimer
+ SAP timeout: PTimeout
+ }
+ Behavior {
+ StateMachine {
+ State State1 {}
+ State State2 {}
+ State State3 {
+ subgraph {
+ State State1 {}
+ State State2 {}
+ State State3 {}
+ EntryPoint tp1
+ TransitionPoint tp2
+ ExitPoint tp3
+ handler TransitionPoint tp5
+ Transition tr0: initial -> State1 {}
+ Transition tr1: my tp1 -> State3 {}
+ Transition tr2: State1 -> State2 {
+ triggers {
+ <b:fct>
+ }
+ }
+ Transition tr3: State2 -> State3 {
+ triggers {
+ <x:sub>
+ }
+ }
+ Transition tr4: State3 -> State1 {
+ triggers {
+ <a:fct>
+ }
+ }
+ Transition tr5: my tp2 -> State3 {
+ triggers {
+ <b:fct>
+ }
+ }
+ Transition tr6: State3 -> my tp3 {
+ triggers {
+ <y:sub>
+ }
+ }
+ Transition tr7: my tp5 -> my tp5 {
+ triggers {
+ <timeoutTick:timeout>
+ }
+ }
+ }
+ }
+ State State4 {}
+ TransitionPoint tp0
+ TransitionPoint tp1
+ ChoicePoint CP1
+ Transition tr0: initial -> State1 {}
+ Transition tr1: State1 -> State2 {
+ triggers {
+ <a:fct>
+ }
+ }
+ Transition tr2: State2 -> cp CP1 {
+ triggers {
+ <b:fct>
+ }
+ }
+ Transition tr3: cp CP1 -> State1 {}
+ Transition tr4: cp CP1 -> State3 {
+ cond {
+ "data==2"
+ }
+ }
+ Transition tr5: my tp0 -> tp1 of State3 {
+ triggers {
+ <a:fct>
+ }
+ }
+ Transition tr6: cp CP1 -> State4 {
+ cond {
+ "data==3"
+ }
+ }
+ Transition tr7: tp3 of State3 -> State2 {}
+ Transition tr8: State3 -> State2 {
+ triggers {
+ <c:fct>
+ }
+ }
+ Transition tr9: my tp1 -> State2 {
+ triggers {
+ <timerTick:timer>
+ }
+ }
+ }
+ }
+ }
+
+}
diff --git a/tests/org.eclipse.etrice.generator.tests/models/states_triggers.t.room b/tests/org.eclipse.etrice.generator.tests/models/states_triggers.t.room
new file mode 100644
index 000000000..e795b576b
--- /dev/null
+++ b/tests/org.eclipse.etrice.generator.tests/models/states_triggers.t.room
@@ -0,0 +1,145 @@
+RoomModel statees_trig {
+
+ import room.basic.service.timing.*
+
+ ProtocolClass PTest1 {
+ incoming {
+ Message a ()
+ Message b (x : int32)
+ Message c ()
+ }
+ outgoing {
+ Message x ()
+ }
+ }
+
+ ProtocolClass PTest2 {
+ incoming {
+ Message x ()
+ Message y ()
+ Message z ()
+ }
+ outgoing {
+ Message a ()
+ }
+ }
+
+ ComponentClass CMain {
+ ActorRef application : AApplication_CMain
+ ActorRef timingService : ATimingService
+
+ LayerConnection sub_actor application satisfied_by timingService.timerSPP
+ LayerConnection sub_actor application satisfied_by timingService.timeoutSPP
+ }
+
+ // automatically inserted AApplication_CMain
+ ActorClass AApplication_CMain {
+ Structure {
+ ActorRef test : ATest
+ }
+ }
+
+ ActorClass ATest {
+ Interface {
+ Port fct : PTest1
+ }
+ Structure {
+ external Port fct
+ Port sub : PTest2
+ SAP timer: PTimer
+ SAP timeout: PTimeout
+ }
+ Behavior {
+ StateMachine {
+ State State1 {}
+ State State2 {}
+ State State3 {
+ subgraph {
+ State State1 {}
+ State State2 {}
+ State State3 {}
+ EntryPoint tp1
+ TransitionPoint tp2
+ ExitPoint tp3
+ handler TransitionPoint tp5
+ Transition tr0: initial -> State1 {}
+ Transition tr1: my tp1 -> State3 {}
+ Transition tr2: State1 -> State2 {
+ triggers {
+ <b:fct>
+ }
+ }
+ Transition tr3: State2 -> State3 {
+ triggers {
+ <c:fct>
+ }
+ }
+ Transition tr4: State3 -> State1 {
+ triggers {
+ <a:fct>
+ }
+ }
+ Transition tr5: my tp2 -> State3 {
+ triggers {
+ <b:fct>
+ }
+ }
+ Transition tr6: State3 -> my tp3 {
+ triggers {
+ <c:fct>
+ }
+ }
+ Transition tr7: my tp5 -> my tp5 {
+ triggers {
+ <timeoutTick:timeout>
+ }
+ }
+ }
+ }
+ State State4 {}
+ TransitionPoint tp0
+ TransitionPoint tp1
+ ChoicePoint CP1
+ Transition tr0: initial -> State1 {}
+ Transition tr1: State1 -> State2 {
+ triggers {
+ <a:fct>
+ }
+ }
+ Transition tr2: State2 -> cp CP1 {
+ triggers {
+ <b:fct>
+ }
+ }
+ Transition tr3: cp CP1 -> State1 {}
+ Transition tr4: cp CP1 -> State3 {
+ cond {
+ "data==2"
+ }
+ }
+ Transition tr5: my tp0 -> tp1 of State3 {
+ triggers {
+ <a:fct>
+ }
+ }
+ Transition tr6: cp CP1 -> State4 {
+ cond {
+ "data==3"
+ }
+ }
+ Transition tr7: tp3 of State3 -> State2 {}
+ Transition tr8: State3 -> State2 {
+ triggers {
+ <c:fct>
+ }
+ }
+ Transition tr9: my tp1 -> State2 {
+ triggers {
+ <timerTick:timer>
+ }
+ }
+ }
+ }
+ }
+
+}
diff --git a/tests/org.eclipse.etrice.generator.tests/models/states_triggers.t.trp b/tests/org.eclipse.etrice.generator.tests/models/states_triggers.t.trp
new file mode 100644
index 000000000..ce91d0218
--- /dev/null
+++ b/tests/org.eclipse.etrice.generator.tests/models/states_triggers.t.trp
@@ -0,0 +1,2981 @@
+114
+
+# Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# PersObj-Version: 4 standard
+#
+-bs_DataClassList
+-bs_DataClassList
+1
+-DataClass
+0
+1286376755
+0
+t
+<20101006165926-2
+-bs_RefCounter
+0
+<20101006165926-3
+-bs_DataClass
+3
+-boolean
+f
+f
+0
+1286376755
+0
+1
+5
+13
+t
+<20101006165926-4
+-bs_RefCounter
+0
+<20101006165926-5
+-bs_DataClass
+3
+-char
+f
+f
+0
+1286376755
+0
+1
+5
+7
+t
+<20101006165926-6
+-bs_RefCounter
+0
+<20101006165926-7
+-bs_DataClass
+3
+-uchar
+f
+f
+0
+1286376755
+0
+1
+5
+14
+t
+<20101006165926-8
+-bs_RefCounter
+0
+<20101006165926-9
+-bs_DataClass
+3
+-int8
+f
+f
+0
+1286376755
+0
+1
+5
+15
+t
+<20101006165926-10
+-bs_RefCounter
+0
+<20101006165926-11
+-bs_DataClass
+3
+-uint8
+f
+f
+0
+1286376755
+0
+1
+5
+18
+t
+<20101006165926-12
+-bs_RefCounter
+0
+<20101006165926-13
+-bs_DataClass
+3
+-int16
+f
+f
+0
+1286376755
+0
+1
+5
+16
+t
+<20101006165926-14
+-bs_RefCounter
+0
+<20101006165926-15
+-bs_DataClass
+3
+-uint16
+f
+f
+0
+1286376755
+0
+1
+5
+19
+t
+<20101006165926-16
+-bs_RefCounter
+0
+<20101006165926-17
+-bs_DataClass
+3
+-int32
+f
+f
+0
+1286376755
+0
+1
+5
+17
+t
+<20101006165926-18
+-bs_RefCounter
+0
+<20101006165926-19
+-bs_DataClass
+3
+-uint32
+f
+f
+0
+1286376755
+0
+1
+5
+20
+t
+<20101006165926-20
+-bs_RefCounter
+0
+<20101006165926-21
+-bs_DataClass
+3
+-float32
+f
+f
+0
+1286376755
+0
+1
+5
+21
+t
+<20101006165926-22
+-bs_RefCounter
+0
+<20101006165926-23
+-bs_DataClass
+3
+-float64
+f
+f
+0
+1286376755
+0
+1
+5
+22
+t
+<20101006165926-24
+-bs_RefCounter
+0
+<20101006165926-25
+-bs_DataClass
+3
+-char*
+f
+f
+0
+1286376755
+0
+1
+5
+12
+-
+t
+<20101006165926-26
+-bs_RefCounter
+0
+<20101006165926-27
+-bs_DataClass
+3
+-void*
+f
+f
+0
+1286376755
+0
+1
+5
+12
+-
+f
+-------------------------------
+# Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# PersObj-Version: 4 standard
+#
+-bs_ProtocolClassList
+-bs_ProtocolClassList
+1
+-ProtocolClass
+0
+1286381323
+0
+t
+<20101006165926-29
+-bs_RefCounter
+0
+<20101006165926-30
+-bs_ProtocolClass
+3
+-p_Timer
+t
+f
+0
+1286376755
+0
+1
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286376755
+0
+t
+<20101006165926-32
+-bs_RefCounter
+0
+<20101006165926-33
+-bs_MsgType
+3
+-Start
+f
+f
+0
+1286376755
+0
+>20101006165926-16
+>20101006165926-17
+t
+<20101006165926-34
+-bs_RefCounter
+0
+<20101006165926-35
+-bs_MsgType
+3
+-Kill
+f
+f
+0
+1286376755
+0
+<20101006165926-36
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286376755
+0
+t
+<20101006165926-38
+-bs_RefCounter
+0
+<20101006165926-39
+-bs_MsgType
+3
+-timerTick
+f
+f
+0
+1286376755
+0
+<20101006165926-40
+-bs_RefCounter
+0
+N
+f
+-ProtocolSemantics
+1
+0
+1286376755
+-ProtocolRuleSet
+0
+0
+1286376755
+t
+<20101006165926-43
+-ProtocolRule
+0
+0
+1286376755
+-Message
+0
+0
+1286376755
+0
+-Start
+t
+<20101006165926-45
+-MessageImplication
+0
+0
+1286376755
+-ProtocolRule
+0
+0
+1286376755
+-Message
+0
+0
+1286376755
+0
+-Kill
+f
+t
+<20101006165926-48
+-MessageImplication
+0
+0
+1286376755
+-ProtocolRule
+0
+0
+1286376755
+-Message
+0
+0
+1286376755
+1
+-timerTick
+f
+f
+f
+t
+<20101006165926-51
+-bs_RefCounter
+0
+<20101006165926-52
+-bs_ProtocolClass
+3
+-p_Timeout
+t
+f
+0
+1286376755
+0
+1
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286376755
+0
+t
+<20101006165926-54
+-bs_RefCounter
+0
+<20101006165926-55
+-bs_MsgType
+3
+-Start
+f
+f
+0
+1286376755
+0
+>20101006165926-16
+>20101006165926-17
+t
+<20101006165926-56
+-bs_RefCounter
+0
+<20101006165926-57
+-bs_MsgType
+3
+-Kill
+f
+f
+0
+1286376755
+0
+<20101006165926-58
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286376755
+0
+t
+<20101006165926-60
+-bs_RefCounter
+0
+<20101006165926-61
+-bs_MsgType
+3
+-timeoutTick
+f
+f
+0
+1286376755
+0
+<20101006165926-62
+-bs_RefCounter
+0
+N
+f
+-ProtocolSemantics
+1
+0
+1286376755
+-ProtocolRuleSet
+0
+0
+1286376755
+t
+<20101006165926-65
+-ProtocolRule
+0
+0
+1286376755
+-Message
+0
+0
+1286376755
+0
+-Start
+t
+<20101006165926-67
+-MessageImplication
+0
+0
+1286376755
+-ProtocolRule
+0
+0
+1286376755
+-Message
+0
+0
+1286376755
+0
+-Kill
+f
+t
+<20101006165926-70
+-MessageImplication
+0
+0
+1286376755
+-ProtocolRule
+0
+0
+1286376755
+-Message
+0
+0
+1286376755
+1
+-timeoutTick
+f
+f
+f
+t
+<20101006165926-73
+-bs_RefCounter
+0
+<20101006165926-74
+-bs_ProtocolClass
+3
+-p_DigitalInput
+t
+f
+0
+1286376755
+0
+1
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286376755
+0
+t
+<20101006165926-76
+-bs_RefCounter
+0
+<20101006165926-77
+-bs_MsgType
+3
+-getStatus
+f
+f
+0
+1286376755
+0
+<20101006165926-78
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286376755
+0
+t
+<20101006165926-80
+-bs_RefCounter
+0
+<20101006165926-81
+-bs_MsgType
+3
+-inputChanged
+f
+f
+0
+1286376755
+0
+>20101006165926-12
+>20101006165926-13
+f
+-ProtocolSemantics
+1
+0
+1286376755
+-ProtocolRuleSet
+0
+0
+1286376755
+t
+<20101006165926-84
+-ProtocolRule
+0
+0
+1286376755
+-Message
+0
+0
+1286376755
+0
+-getStatus
+t
+<20101006165926-86
+-MessageImplication
+0
+0
+1286376755
+-ProtocolRule
+0
+0
+1286376755
+-Message
+0
+0
+1286376755
+1
+-inputChanged
+f
+f
+f
+t
+<20101006165926-89
+-bs_RefCounter
+0
+<20101006165926-90
+-bs_ProtocolClass
+3
+-p_DigitalOutput
+t
+f
+0
+1286376755
+0
+1
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286376755
+0
+t
+<20101006165926-92
+-bs_RefCounter
+0
+<20101006165926-93
+-bs_MsgType
+3
+-Set
+f
+f
+0
+1286376755
+0
+>20101006165926-2
+>20101006165926-3
+t
+<20101006165926-94
+-bs_RefCounter
+0
+<20101006165926-95
+-bs_MsgType
+3
+-SetOn
+f
+f
+0
+1286376755
+0
+<20101006165926-96
+-bs_RefCounter
+0
+N
+t
+<20101006165926-97
+-bs_RefCounter
+0
+<20101006165926-98
+-bs_MsgType
+3
+-SetOff
+f
+f
+0
+1286376755
+0
+<20101006165926-99
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286376755
+0
+f
+-ProtocolSemantics
+1
+0
+1286376755
+-ProtocolRuleSet
+0
+0
+1286376755
+f
+t
+<20101006165926-103
+-bs_RefCounter
+0
+<20101006165926-104
+-bs_ProtocolClass
+3
+-PTest1
+f
+f
+0
+1286376836
+0
+0
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286376856
+0
+t
+<20101006165926-106
+-bs_RefCounter
+0
+<20101006165926-107
+-bs_MsgType
+3
+-a
+f
+f
+0
+1286376832
+0
+<20101006165926-108
+-bs_RefCounter
+0
+N
+t
+<20101006165926-109
+-bs_RefCounter
+0
+<20101006165926-110
+-bs_MsgType
+3
+-b
+f
+f
+0
+1286376853
+0
+>20101006165926-16
+>20101006165926-17
+t
+<20101006165926-111
+-bs_RefCounter
+0
+<20101006165926-112
+-bs_MsgType
+3
+-c
+f
+f
+0
+1286376855
+0
+<20101006165926-113
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286376836
+0
+t
+<20101006165926-115
+-bs_RefCounter
+0
+<20101006165926-116
+-bs_MsgType
+3
+-x
+f
+f
+0
+1286376835
+0
+<20101006165926-117
+-bs_RefCounter
+0
+N
+f
+-ProtocolSemantics
+1
+0
+1286376824
+-ProtocolRuleSet
+0
+0
+1286376824
+f
+t
+<20101006181214-36
+-bs_RefCounter
+0
+<20101006181214-37
+-bs_ProtocolClass
+3
+-PTest2
+f
+f
+0
+1286381323
+0
+0
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286381323
+0
+t
+<20101006181214-39
+-bs_RefCounter
+0
+<20101006181214-40
+-bs_MsgType
+3
+-x
+f
+f
+0
+1286381314
+0
+<20101006181214-41
+-bs_RefCounter
+0
+N
+t
+<20101006181214-42
+-bs_RefCounter
+0
+<20101006181214-43
+-bs_MsgType
+3
+-y
+f
+f
+0
+1286381316
+0
+<20101006181214-44
+-bs_RefCounter
+0
+N
+t
+<20101006181214-45
+-bs_RefCounter
+0
+<20101006181214-46
+-bs_MsgType
+3
+-z
+f
+f
+0
+1286381317
+0
+<20101006181214-47
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286381323
+0
+t
+<20101006181214-49
+-bs_RefCounter
+0
+<20101006181214-50
+-bs_MsgType
+3
+-a
+f
+f
+0
+1286381321
+0
+<20101006181214-51
+-bs_RefCounter
+0
+N
+f
+-ProtocolSemantics
+1
+0
+1286381308
+-ProtocolRuleSet
+0
+0
+1286381308
+f
+f
+-------------------------------
+# Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# PersObj-Version: 4 standard
+#
+-bs_SAPClassList
+-bs_SAPClassList
+1
+-SAP
+0
+1286376755
+0
+t
+<20101006165926-121
+-bs_RefCounter
+0
+<20101006165926-122
+-bs_SAPClass
+3
+-Timer
+f
+f
+0
+1286376755
+0
+1
+0
+1
+>20101006165926-29
+>20101006165926-30
+t
+<20101006165926-123
+-bs_RefCounter
+0
+<20101006165926-124
+-bs_SAPClass
+3
+-Timeout
+f
+f
+0
+1286376755
+0
+1
+0
+2
+>20101006165926-51
+>20101006165926-52
+t
+<20101006165926-125
+-bs_RefCounter
+0
+<20101006165926-126
+-bs_SAPClass
+3
+-DigitalInput
+f
+f
+0
+1286376755
+0
+1
+0
+4
+>20101006165926-73
+>20101006165926-74
+t
+<20101006165926-127
+-bs_RefCounter
+0
+<20101006165926-128
+-bs_SAPClass
+3
+-DigitalOutput
+f
+f
+0
+1286376755
+0
+1
+0
+5
+>20101006165926-89
+>20101006165926-90
+f
+-------------------------------
+# Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# PersObj-Version: 4 standard
+#
+-bs_PrtvClassList
+-bs_PrtvClassList
+1
+-PrimitiveClass
+0
+1286376755
+0
+f
+-------------------------------
+# Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# PersObj-Version: 4 standard
+#
+-bs_ActorClassList
+-bs_ActorClassList
+1
+-ActorClass
+0
+1286376770
+0
+t
+<20101006165926-131
+-bs_RefCounter
+0
+<20101006165926-132
+-bs_ActorClass
+3
+-ComponentMain
+f
+f
+0
+1286376767
+0
+0
+8
+-
+f
+-bs_ActorInterface
+3
+-bs_PortRefList
+1
+-Port
+0
+1286376763
+0
+f
+0
+0
+1286376763
+-bs_ActorStructure
+7
+-bs_PortRefList
+1
+-Port
+0
+1286376763
+0
+f
+-bs_SAPRefList
+1
+-SAP
+0
+1286376763
+0
+f
+t
+-bs_ActorRefList
+1
+-ActorRef
+0
+1286376802
+0
+t
+<20101006165926-139
+-bs_RefCounter
+0
+<20101006165926-140
+-bs_ActorRef
+3
+-test
+f
+f
+0
+1286376803
+1
+-bs_ActorCoord
+0
+0.458194
+0.507625
+-bs_SizeFactors
+0
+3.01
+1.01188
+-bs_CompPortRefList
+1
+-PortInstListDummyName
+0
+1286376802
+0
+f
+3
+-ATest
+f
+-bs_BindingContractList
+1
+-BindingContract
+0
+1286376763
+0
+f
+-bs_SizeFactors
+0
+1.8
+1
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286376763
+-bs_PrtvRefList
+1
+-Primitive
+0
+1286376763
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286376763
+0
+f
+0
+1286376763
+-bs_ActorBehaviour
+7
+<20101006165926-150
+-bs_RefCounter
+0
+<20101006165926-151
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1286376763
+5
+f
+-bs_StateGraph
+8
+<20101006165926-154
+-bs_RefCounter
+0
+<20101006165926-155
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1286376763
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1286376763
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1286376763
+0
+f
+-bs_StateList
+1
+-State
+0
+1286376763
+0
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1286376763
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286376763
+0
+f
+t
+65535
+f
+f
+0
+1286376763
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1286376763
+-
+-
+-
+1024
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286376763
+0
+1286376763
+-bs_ActorMemberFct
+1
+f
+0
+1286376763
+t
+f
+f
+t
+<20101006165926-165
+-bs_RefCounter
+0
+<20101006165926-166
+-bs_ActorClass
+3
+-ATest
+f
+f
+0
+1286381382
+0
+0
+8
+-
+f
+-bs_ActorInterface
+3
+-bs_PortRefList
+1
+-Port
+0
+1286381439
+0
+t
+<20101006165926-169
+-bs_RefCounter
+0
+<20101006165926-170
+-bs_PortRef
+3
+-fct
+f
+f
+0
+1286376845
+0
+0
+f
+1
+-bs_ActorCoord
+0
+0.393333
+1
+>20101006165926-103
+>20101006165926-104
+f
+0
+0
+1286376770
+-bs_ActorStructure
+7
+-bs_PortRefList
+1
+-Port
+0
+1286381340
+0
+t
+>20101006165926-169
+>20101006165926-170
+t
+<20101006181214-88
+-bs_RefCounter
+0
+<20101006181214-89
+-bs_PortRef
+3
+-sub
+f
+f
+0
+1286381454
+0
+0
+f
+1
+-bs_ActorCoord
+0
+0.372778
+0.477625
+>20101006181214-36
+>20101006181214-37
+f
+-bs_SAPRefList
+1
+-SAP
+0
+1286381382
+0
+t
+<20101006181214-92
+-bs_RefCounter
+0
+<20101006181214-93
+-bs_SAPRef
+3
+-timer
+f
+f
+0
+1286381382
+0
+0
+>20101006165926-121
+>20101006165926-122
+1
+t
+<20101006181214-94
+-bs_RefCounter
+0
+<20101006181214-95
+-bs_SAPRef
+3
+-timeout
+f
+f
+0
+1286381382
+0
+0
+>20101006165926-123
+>20101006165926-124
+1
+f
+t
+-bs_ActorRefList
+1
+-ActorRef
+0
+1286376770
+0
+f
+-bs_BindingContractList
+1
+-BindingContract
+0
+1286376770
+0
+f
+-bs_SizeFactors
+0
+1.8
+1
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286376770
+-bs_PrtvRefList
+1
+-Primitive
+0
+1286376770
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286376770
+0
+f
+0
+1286376770
+-bs_ActorBehaviour
+7
+<20101006165926-182
+-bs_RefCounter
+0
+<20101006165926-183
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1286376770
+5
+f
+-bs_StateGraph
+8
+<20101006165926-186
+-bs_RefCounter
+0
+<20101006165926-187
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1286376770
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1286376770
+0
+t
+<20101006165926-190
+-bs_RefCounter
+0
+<20101006165926-191
+-bs_Choicepoint
+3
+-CP1
+f
+f
+0
+1286377205
+2
+-bs_CPBranchList
+1
+-CPBranchListDummyName
+0
+1286376897
+0
+t
+<20101006165926-193
+-bs_RefCounter
+0
+<20101006165926-194
+-bs_CPBranch
+3
+-[data==2]
+f
+f
+0
+1286376916
+1
+t
+<20101006170015-1
+-bs_RefCounter
+0
+<20101006170015-2
+-bs_CPBranch
+3
+-[data==3]
+f
+f
+0
+1286377199
+1
+f
+<20101006165926-195
+-bs_RefCounter
+0
+<20101006165926-196
+-bs_CPBranch
+3
+-
+f
+f
+0
+1286376909
+1
+-bs_ContextCoord
+0
+0.576825
+0.610317
+8
+f
+-bs_TrPointList
+1
+-TrP
+0
+1286376770
+0
+t
+<20101006165926-199
+-bs_RefCounter
+0
+<20101006165926-200
+-bs_TrPoint
+3
+-TrP1
+f
+f
+0
+1286376892
+1
+0
+-1
+-bs_ContextCoord
+0
+1
+0.698889
+9
+t
+<20101006181214-111
+-bs_RefCounter
+0
+<20101006181214-112
+-bs_TrPoint
+3
+-TrP2
+f
+f
+0
+1286381401
+1
+0
+-1
+-bs_ContextCoord
+0
+0.175159
+0
+10
+f
+-bs_StateList
+1
+-State
+0
+1286376770
+0
+t
+<20101006165926-203
+-bs_RefCounter
+0
+<20101006165926-204
+-bs_State
+3
+-State1
+f
+f
+0
+1286376871
+5
+-
+-
+-1
+-1
+<20101006165926-205
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.407381
+0.802619
+-bs_SizeFactors
+0
+1
+1
+f
+f
+1
+-1
+t
+<20101006165926-208
+-bs_RefCounter
+0
+<20101006165926-209
+-bs_State
+3
+-State2
+f
+f
+0
+1286376875
+5
+-
+-
+-1
+-1
+<20101006165926-210
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.432698
+0.405397
+-bs_SizeFactors
+0
+1
+1
+f
+f
+2
+-1
+t
+<20101006165926-213
+-bs_RefCounter
+0
+<20101006165926-214
+-bs_State
+3
+-State3
+f
+f
+0
+1286376881
+5
+-
+-
+-1
+-1
+<20101006165926-215
+-bs_RefCounter
+0
+<20101006165926-216
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1286376981
+5
+f
+-bs_StateGraph
+8
+<20101006165926-219
+-bs_RefCounter
+0
+<20101006165926-220
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1286376981
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1286376981
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1286376981
+0
+t
+<20101006165926-224
+-bs_RefCounter
+0
+<20101006165926-225
+-bs_TrPoint
+3
+-TrP1
+f
+f
+0
+1286376981
+1
+1
+4
+-bs_ContextCoord
+0
+0.0389161
+1
+11
+t
+<20101006165926-227
+-bs_RefCounter
+0
+<20101006165926-228
+-bs_TrPoint
+3
+-TrP2
+f
+f
+0
+1286376981
+1
+1
+5
+-bs_ContextCoord
+0
+0.929832
+1
+12
+t
+<20101006170448-1
+-bs_RefCounter
+0
+<20101006170448-2
+-bs_TrPoint
+3
+-TrP3
+f
+f
+0
+1286377368
+1
+0
+-1
+-bs_ContextCoord
+0
+1
+0.281508
+13
+t
+<20101006170448-4
+-bs_RefCounter
+0
+<20101006170448-5
+-bs_TrPoint
+3
+-TrP412863773960
+f
+f
+0
+1286377396
+1
+2
+7
+-bs_ContextCoord
+0
+0.230692
+0
+14
+t
+<20101006170448-7
+-bs_RefCounter
+0
+<20101006170448-8
+-bs_TrPoint
+3
+-TrP412863774570
+f
+f
+0
+1286377457
+1
+2
+8
+-bs_ContextCoord
+0
+0
+0.48431
+15
+t
+<20101006181214-129
+-bs_RefCounter
+0
+<20101006181214-130
+-bs_TrPoint
+3
+-TrP4
+f
+f
+0
+1286381511
+1
+3
+-1
+-bs_ContextCoord
+0
+0.543968
+1
+16
+f
+-bs_StateList
+1
+-State
+0
+1286376981
+0
+t
+<20101006165926-231
+-bs_RefCounter
+0
+<20101006165926-232
+-bs_State
+3
+-State1
+f
+f
+0
+1286376987
+5
+-
+-
+-1
+-1
+<20101006165926-233
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.457937
+0.751984
+-bs_SizeFactors
+0
+1
+1
+f
+f
+5
+-1
+t
+<20101006165926-236
+-bs_RefCounter
+0
+<20101006165926-237
+-bs_State
+3
+-State2
+f
+f
+0
+1286376992
+5
+-
+-
+-1
+-1
+<20101006165926-238
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.222698
+0.407937
+-bs_SizeFactors
+0
+1
+1
+f
+f
+6
+-1
+t
+<20101006165926-241
+-bs_RefCounter
+0
+<20101006165926-242
+-bs_State
+3
+-State3
+f
+f
+0
+1286376994
+5
+-
+-
+-1
+-1
+<20101006165926-243
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.73373
+0.387698
+-bs_SizeFactors
+0
+1
+1
+f
+f
+7
+-1
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1286376981
+0
+t
+<20101006165926-247
+-bs_RefCounter
+0
+<20101006165926-248
+-bs_TrSegment
+3
+-init
+f
+f
+0
+1286376999
+5
+0
+>20101006165926-220
+1
+>20101006165926-232
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286376999
+0
+f
+-
+-1
+-bs_ContextCoord
+0
+0.263968
+0.840992
+10
+-1
+t
+<20101006165926-251
+-bs_RefCounter
+0
+<20101006165926-252
+-bs_TrSegment
+3
+-
+f
+f
+0
+1286377002
+5
+3
+>20101006165926-228
+1
+>20101006165926-242
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286377002
+0
+f
+-
+-1
+-bs_ContextCoord
+0
+0.831781
+0.693849
+11
+-1
+t
+<20101006165926-255
+-bs_RefCounter
+0
+<20101006165926-256
+-bs_TrSegment
+3
+-b
+f
+f
+0
+1286377019
+5
+1
+>20101006165926-232
+1
+>20101006165926-237
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286377003
+0
+t
+<20101006165926-258
+-bs_RefCounter
+0
+<20101006165926-259
+-bs_SimpleTriggerSpec
+3
+-b
+f
+f
+0
+1286377019
+1
+-fct
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.340317
+0.57996
+12
+-1
+t
+<20101006165926-261
+-bs_RefCounter
+0
+<20101006165926-262
+-bs_TrSegment
+3
+-c
+f
+f
+0
+1286377027
+5
+1
+>20101006165926-237
+1
+>20101006165926-242
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286377004
+0
+t
+<20101006165926-264
+-bs_RefCounter
+0
+<20101006165926-265
+-bs_SimpleTriggerSpec
+3
+-c
+f
+f
+0
+1286377027
+1
+-fct
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.478214
+0.397817
+13
+-1
+t
+<20101006165926-267
+-bs_RefCounter
+0
+<20101006165926-268
+-bs_TrSegment
+3
+-a
+f
+f
+0
+1286377035
+5
+1
+>20101006165926-242
+1
+>20101006165926-232
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286377006
+0
+t
+<20101006165926-270
+-bs_RefCounter
+0
+<20101006165926-271
+-bs_SimpleTriggerSpec
+3
+-a
+f
+f
+0
+1286377035
+1
+-fct
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.595833
+0.569841
+14
+-1
+t
+<20101006170448-10
+-bs_RefCounter
+0
+<20101006170448-11
+-bs_TrSegment
+3
+-b
+f
+f
+0
+1286377388
+5
+3
+>20101006170448-2
+1
+>20101006165926-242
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286377372
+0
+t
+<20101006170448-13
+-bs_RefCounter
+0
+<20101006170448-14
+-bs_SimpleTriggerSpec
+3
+-b
+f
+f
+0
+1286377388
+1
+-fct
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.866865
+0.334603
+15
+-1
+t
+<20101006170448-16
+-bs_RefCounter
+0
+<20101006170448-17
+-bs_TrSegment
+3
+-c
+f
+f
+0
+1286377447
+5
+1
+>20101006165926-242
+3
+>20101006170448-5
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286377422
+0
+t
+<20101006170448-19
+-bs_RefCounter
+0
+<20101006170448-20
+-bs_SimpleTriggerSpec
+3
+-c
+f
+f
+0
+1286377447
+1
+-fct
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.482211
+0.193849
+16
+-1
+t
+<20101006181214-154
+-bs_RefCounter
+0
+<20101006181214-155
+-bs_TrSegment
+3
+-timeoutTick
+f
+f
+0
+1286381509
+5
+3
+>20101006181214-130
+3
+>20101006181214-130
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286381498
+0
+t
+<20101006181214-157
+-bs_RefCounter
+0
+<20101006181214-158
+-bs_SimpleTriggerSpec
+3
+-timeoutTick
+f
+f
+0
+1286381509
+1
+-timeout
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.612302
+0.845556
+17
+-1
+f
+-bs_NoteList
+1
+-Note
+0
+1286376981
+0
+f
+t
+65535
+f
+f
+0
+1286381498
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1286376981
+-bs_ContextCoord
+0
+0.756429
+0.415556
+-bs_SizeFactors
+0
+1
+1
+f
+f
+3
+-1
+t
+<20101006170015-3
+-bs_RefCounter
+0
+<20101006170015-4
+-bs_State
+3
+-State4
+f
+f
+0
+1286377183
+5
+-
+-
+-1
+-1
+<20101006170015-5
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.751429
+0.830397
+-bs_SizeFactors
+0
+1
+1
+f
+f
+4
+-1
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1286376770
+0
+t
+<20101006165926-278
+-bs_RefCounter
+0
+<20101006165926-279
+-bs_TrSegment
+3
+-init
+f
+f
+0
+1286376902
+5
+0
+>20101006165926-187
+1
+>20101006165926-204
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286376902
+0
+f
+-
+-1
+-bs_ContextCoord
+0
+0.23869
+0.86631
+0
+-1
+t
+<20101006165926-282
+-bs_RefCounter
+0
+<20101006165926-283
+-bs_TrSegment
+3
+-a
+f
+f
+0
+1286376941
+5
+1
+>20101006165926-204
+1
+>20101006165926-209
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286376904
+0
+t
+<20101006165926-285
+-bs_RefCounter
+0
+<20101006165926-286
+-bs_SimpleTriggerSpec
+3
+-a
+f
+f
+0
+1286376941
+1
+-fct
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.42004
+0.604008
+1
+-1
+t
+<20101006165926-288
+-bs_RefCounter
+0
+<20101006165926-289
+-bs_TrSegment
+3
+-b
+f
+f
+0
+1286376947
+5
+1
+>20101006165926-209
+2
+>20101006165926-191
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286376906
+0
+t
+<20101006165926-291
+-bs_RefCounter
+0
+<20101006165926-292
+-bs_SimpleTriggerSpec
+3
+-b
+f
+f
+0
+1286376947
+1
+-fct
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.504762
+0.507857
+2
+-1
+t
+<20101006165926-294
+-bs_RefCounter
+0
+<20101006165926-295
+-bs_TrSegment
+3
+-
+f
+f
+0
+1286376909
+5
+2
+>20101006165926-196
+1
+>20101006165926-204
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286376909
+0
+f
+-
+-1
+-bs_ContextCoord
+0
+0.492103
+0.706468
+3
+-1
+t
+<20101006165926-298
+-bs_RefCounter
+0
+<20101006165926-299
+-bs_TrSegment
+3
+-
+f
+f
+0
+1286377205
+5
+2
+>20101006165926-194
+1
+>20101006165926-214
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286376916
+0
+t
+<20101006170015-8
+-bs_RefCounter
+0
+<20101006170015-9
+-bs_SimpleTriggerSpec
+3
+-
+f
+f
+0
+1286377205
+1
+-
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.666627
+0.512937
+4
+-1
+t
+<20101006165926-302
+-bs_RefCounter
+0
+<20101006165926-303
+-bs_TrSegment
+3
+-a
+f
+f
+0
+1286377483
+5
+3
+>20101006165926-200
+1
+>20101006165926-214
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286376931
+0
+t
+<20101006170448-22
+-bs_RefCounter
+0
+<20101006170448-23
+-bs_SimpleTriggerSpec
+3
+-a
+f
+f
+0
+1286377483
+1
+-fct
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.878214
+0.557222
+5
+-1
+t
+<20101006170015-10
+-bs_RefCounter
+0
+<20101006170015-11
+-bs_TrSegment
+3
+-
+f
+f
+0
+1286377199
+5
+2
+>20101006170015-2
+1
+>20101006170015-4
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286377199
+0
+f
+-
+-1
+-bs_ContextCoord
+0
+0.664127
+0.720357
+6
+-1
+t
+<20101006170448-24
+-bs_RefCounter
+0
+<20101006170448-25
+-bs_TrSegment
+3
+-
+f
+f
+0
+1286377403
+5
+1
+>20101006165926-214
+1
+>20101006165926-209
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286377396
+0
+f
+-
+-1
+-bs_ContextCoord
+0
+0.650159
+0.218254
+7
+-1
+t
+<20101006170448-28
+-bs_RefCounter
+0
+<20101006170448-29
+-bs_TrSegment
+3
+-c
+f
+f
+0
+1286377468
+5
+1
+>20101006165926-214
+1
+>20101006165926-209
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286377457
+0
+t
+<20101006170448-31
+-bs_RefCounter
+0
+<20101006170448-32
+-bs_SimpleTriggerSpec
+3
+-c
+f
+f
+0
+1286377468
+1
+-fct
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.594563
+0.410476
+8
+-1
+t
+<20101006181214-185
+-bs_RefCounter
+0
+<20101006181214-186
+-bs_TrSegment
+3
+-timerTick
+f
+f
+0
+1286381416
+5
+3
+>20101006181214-112
+1
+>20101006165926-209
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1286381405
+0
+t
+<20101006181214-188
+-bs_RefCounter
+0
+<20101006181214-189
+-bs_SimpleTriggerSpec
+3
+-timerTick
+f
+f
+0
+1286381416
+1
+-timer
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.303928
+0.202699
+9
+-1
+f
+-bs_NoteList
+1
+-Note
+0
+1286376770
+0
+f
+t
+65535
+f
+f
+0
+1286381405
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1286376770
+-
+-
+-
+1024
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286376770
+0
+1286376770
+-bs_ActorMemberFct
+1
+f
+0
+1286376770
+t
+f
+f
+f
+-------------------------------
+
+
+ROOM_CONFIGURATION_DATA
+
+106
+
+# Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# PersObj-Version: 4 standard
+#
+-bs_ConfigurationList
+-bs_ConfigurationList
+1
+-Configuration
+0
+1286376755
+0
+t
+<20101006165926-311
+-bs_RefCounter
+0
+<20101006165926-312
+-bs_Configuration
+3
+-StdConfig
+f
+f
+0
+1286376755
+6
+<20101006165926-313
+-bs_RefCounter
+0
+N
+-bs_TargetList
+1
+-Target
+0
+1286376755
+0
+t
+<20101006165926-315
+-bs_RefCounter
+0
+<20101006165926-316
+-bs_Target
+3
+-PC
+f
+f
+0
+1286376755
+5
+-pc_id
+0
+0
+2
+2
+-bs_FileList
+1
+-FileListDummyName
+0
+1286376755
+0
+f
+f
+-bs_ContextCoord
+0
+0.5
+0.5
+-bs_SizeFactors
+0
+1
+1
+f
+-bs_NoteList
+1
+-Note
+0
+1286376755
+0
+f
+-bs_PrtvDescriptorList
+1
+-PrtvInstance
+0
+1286376755
+0
+f
+-bs_ActorInstanceList
+1
+-ActorInstance
+0
+1286376755
+0
+f
+>20101006165926-315
+>20101006165926-316
+0
+-bs_PropertySet
+0
+f
+-bs_ViewMementoList
+1
+-ViewMemento
+0
+1292431739
+0
+t
+<20101215174859-173
+-bs_RefCounter
+0
+<20101215174859-174
+-bs_ViewMemento
+3
+-
+f
+f
+0
+1292431739
+1
+2
+1
+679
+53
+1157
+553
+>20101006165926-165
+>20101006165926-166
+>20101006165926-182
+>20101006165926-183
+-TOP/State3
+t
+<20101215174859-175
+-bs_RefCounter
+0
+<20101215174859-176
+-bs_ViewMemento
+3
+-
+f
+f
+0
+1292431739
+1
+1
+1
+25
+25
+905
+543
+>20101006165926-165
+>20101006165926-166
+f
+f
+>20101006165926-311
+>20101006165926-312
+-842150451
+-bs_DataObjHist
+0
+0
diff --git a/tests/org.eclipse.etrice.generator.tests/models/structure_inheritance.room b/tests/org.eclipse.etrice.generator.tests/models/structure_inheritance.room
new file mode 100644
index 000000000..72c4e33f0
--- /dev/null
+++ b/tests/org.eclipse.etrice.generator.tests/models/structure_inheritance.room
@@ -0,0 +1,206 @@
+RoomModel structure_inherit {
+
+ ProtocolClass PTimer {
+ incoming {
+ Message start (time_ms : int32)
+ Message kill ()
+ }
+ outgoing {
+ Message timerTick ()
+ }
+ }
+
+ ProtocolClass PTimeout {
+ incoming {
+ Message start (time_ms : int32)
+ Message kill ()
+ }
+ outgoing {
+ Message timeoutTick ()
+ }
+ }
+
+ ActorClass ATimingService {
+ Interface {
+ SPP timerSPP: PTimer
+ SPP timeoutSPP: PTimeout
+ }
+ Structure {
+ ServiceImplementation of timerSPP
+ ServiceImplementation of timeoutSPP
+ }
+ }
+
+ ProtocolClass PBase {
+ incoming {
+ Message a ()
+ Message b ()
+ }
+ outgoing {
+ Message x ()
+ Message y ()
+ }
+ }
+
+ ProtocolClass PFunctionA {
+ incoming {
+ Message d ()
+ Message e ()
+ }
+ outgoing {
+ Message r ()
+ Message s ()
+ }
+ }
+
+ ProtocolClass PControl {
+ incoming {
+ Message c ()
+ }
+ outgoing {
+ Message d ()
+ }
+ }
+
+ ProtocolClass PFunctionB {
+ incoming {
+ Message h ()
+ }
+ outgoing {
+ Message i ()
+ }
+ }
+
+ SubSystemClass CMain {
+ ActorRef application : AApplication_CMain
+ ActorRef timingService : ATimingService
+
+ LayerConnection ref application satisfied_by timingService.timerSPP
+ LayerConnection ref application satisfied_by timingService.timeoutSPP
+ }
+
+ // automatically inserted AApplication_CMain
+ ActorClass AApplication_CMain {
+ Structure {
+ ActorRef controller : AController
+ ActorRef fcta : AFunctionA
+ ActorRef fctb : AFunctionB
+ ActorRef client : AClient
+ Binding controller.base and fcta.base
+ Binding controller.ctrl and fcta.ctrl
+ Binding controller.base and fctb.base
+ Binding controller.ctrl and fctb.ctrl
+ Binding controller.base and client.base
+ Binding controller.ctrl and client.ctrl
+ Binding fcta.fct1 and client.pa1
+ Binding fctb.fct and client.pb
+ Binding client.pa2 and fcta.fct2
+ }
+ }
+
+ ActorClass ACommonBase {
+ Interface {
+ Port base : PBase
+ }
+ Structure {
+ external Port base
+ conjugated Port subbase [10] : PBase
+ }
+ Behavior {
+ }
+ }
+
+ ActorClass AControl extends ACommonBase {
+ Interface {
+ Port ctrl : PControl
+ }
+ Structure {
+ external Port ctrl
+ conjugated Port subctrl [10] : PControl
+ SAP ctrltimeout: PTimeout
+ }
+ Behavior {
+ }
+ }
+
+ ActorClass ABaseController {
+ Interface {
+ conjugated Port base [10] : PBase
+ }
+ Structure {
+ external Port base
+ }
+ Behavior {
+ }
+ }
+
+ ActorClass AController extends ABaseController {
+ Interface {
+ conjugated Port ctrl [10] : PControl
+ }
+ Structure {
+ external Port ctrl
+ }
+ Behavior {
+ }
+ }
+
+ ActorClass ASubA extends AControl {
+ Interface {
+ Port fct : PFunctionA
+ }
+ Structure {
+ external Port fct
+ SAP timeout: PTimeout
+ }
+ Behavior {
+ }
+ }
+
+ ActorClass AFunctionA extends AControl {
+ Interface {
+ Port fct1 : PFunctionA
+ Port fct2 : PFunctionA
+ }
+ Structure {
+ SAP timeout: PTimeout
+ ActorRef sub1 : ASubA
+ ActorRef sub2 : ASubA
+ Binding subbase and sub1.base
+ Binding subctrl and sub1.ctrl
+ Binding subbase and sub2.base
+ Binding subctrl and sub2.ctrl
+ Binding fct1 and sub2.fct
+ Binding fct2 and sub1.fct
+ }
+ Behavior {
+ }
+ }
+
+ ActorClass AFunctionB extends AControl {
+ Interface {
+ Port fct : PFunctionB
+ }
+ Structure {
+ external Port fct
+ }
+ Behavior {
+ }
+ }
+
+ ActorClass AClient extends AControl {
+ Interface {
+ conjugated Port pa1 : PFunctionA
+ conjugated Port pb : PFunctionB
+ conjugated Port pa2 : PFunctionA
+ }
+ Structure {
+ external Port pa1
+ external Port pb
+ external Port pa2
+ }
+ Behavior {
+ }
+ }
+
+}
diff --git a/tests/org.eclipse.etrice.generator.tests/models/structure_inheritance.t.room b/tests/org.eclipse.etrice.generator.tests/models/structure_inheritance.t.room
new file mode 100644
index 000000000..2d14345a9
--- /dev/null
+++ b/tests/org.eclipse.etrice.generator.tests/models/structure_inheritance.t.room
@@ -0,0 +1,177 @@
+RoomModel structure_inheritance.t {
+
+ import room.basic.service.timing.*
+
+ ProtocolClass PBase {
+ incoming {
+ Message a ()
+ Message b ()
+ }
+ outgoing {
+ Message x ()
+ Message y ()
+ }
+ }
+
+ ProtocolClass PFunctionA {
+ incoming {
+ Message d ()
+ Message e ()
+ }
+ outgoing {
+ Message r ()
+ Message s ()
+ }
+ }
+
+ ProtocolClass PControl {
+ incoming {
+ Message c ()
+ }
+ outgoing {
+ Message d ()
+ }
+ }
+
+ ProtocolClass PFunctionB {
+ incoming {
+ Message h ()
+ }
+ outgoing {
+ Message i ()
+ }
+ }
+
+ ComponentClass CMain {
+ ActorRef application : AApplication_CMain
+ ActorRef timingService : ATimingService
+
+ LayerConnection sub_actor application satisfied_by timingService.timerSPP
+ LayerConnection sub_actor application satisfied_by timingService.timeoutSPP
+ }
+
+ // automatically inserted AApplication_CMain
+ ActorClass AApplication_CMain {
+ Structure {
+ ActorRef controller : AController
+ ActorRef fcta : AFunctionA
+ ActorRef fctb : AFunctionB
+ ActorRef client : AClient
+ Binding controller.base and fcta.base
+ Binding controller.ctrl and fcta.ctrl
+ Binding controller.base and fctb.base
+ Binding controller.ctrl and fctb.ctrl
+ Binding controller.base and client.base
+ Binding controller.ctrl and client.ctrl
+ Binding fcta.fct1 and client.pa1
+ Binding fctb.fct and client.pb
+ Binding client.pa2 and fcta.fct2
+ }
+ }
+
+ ActorClass ACommonBase {
+ Interface {
+ Port base : PBase
+ }
+ Structure {
+ external Port base
+ conjugated Port subbase [10] : PBase
+ }
+ Behavior {
+ }
+ }
+
+ ActorClass AControl extends ACommonBase {
+ Interface {
+ Port ctrl : PControl
+ }
+ Structure {
+ external Port ctrl
+ conjugated Port subctrl [10] : PControl
+ SAP ctrltimout: PTimeout
+ }
+ Behavior {
+ }
+ }
+
+ ActorClass ABaseController {
+ Interface {
+ conjugated Port base [10] : PBase
+ }
+ Structure {
+ external Port base
+ }
+ Behavior {
+ }
+ }
+
+ ActorClass AController extends ABaseController {
+ Interface {
+ conjugated Port ctrl [10] : PControl
+ }
+ Structure {
+ external Port ctrl
+ }
+ Behavior {
+ }
+ }
+
+ ActorClass ASubA extends AControl {
+ Interface {
+ Port fct : PFunctionA
+ }
+ Structure {
+ external Port fct
+ SAP timeout: PTimeout
+ }
+ Behavior {
+ }
+ }
+
+ ActorClass AFunctionA extends AControl {
+ Interface {
+ Port fct1 : PFunctionA
+ Port fct2 : PFunctionA
+ }
+ Structure {
+ SAP timeout: PTimeout
+ ActorRef sub1 : ASubA
+ ActorRef sub2 : ASubA
+ Binding subbase and sub1.base
+ Binding subctrl and sub1.ctrl
+ Binding subbase and sub2.base
+ Binding subctrl and sub2.ctrl
+ Binding fct1 and sub2.fct
+ Binding fct2 and sub1.fct
+ }
+ Behavior {
+ }
+ }
+
+ ActorClass AFunctionB extends AControl {
+ Interface {
+ Port fct : PFunctionB
+ }
+ Structure {
+ external Port fct
+ }
+ Behavior {
+ }
+ }
+
+ ActorClass AClient extends AControl {
+ Interface {
+ conjugated Port pa1 : PFunctionA
+ conjugated Port pb : PFunctionB
+ conjugated Port pa2 : PFunctionA
+ }
+ Structure {
+ external Port pa1
+ external Port pb
+ external Port pa2
+ }
+ Behavior {
+ }
+ }
+
+}
diff --git a/tests/org.eclipse.etrice.generator.tests/models/structure_inheritance.t.trp b/tests/org.eclipse.etrice.generator.tests/models/structure_inheritance.t.trp
new file mode 100644
index 000000000..a7ace6b14
--- /dev/null
+++ b/tests/org.eclipse.etrice.generator.tests/models/structure_inheritance.t.trp
@@ -0,0 +1,4606 @@
+114
+
+# Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# PersObj-Version: 4 standard
+#
+-bs_DataClassList
+-bs_DataClassList
+1
+-DataClass
+0
+1286433752
+0
+t
+<20101007085502-2
+-bs_RefCounter
+0
+<20101007085502-3
+-bs_DataClass
+3
+-boolean
+f
+f
+0
+1286433748
+0
+1
+5
+13
+t
+<20101007085502-4
+-bs_RefCounter
+0
+<20101007085502-5
+-bs_DataClass
+3
+-char
+f
+f
+0
+1286433748
+0
+1
+5
+7
+t
+<20101007085502-6
+-bs_RefCounter
+0
+<20101007085502-7
+-bs_DataClass
+3
+-uchar
+f
+f
+0
+1286433748
+0
+1
+5
+14
+t
+<20101007085502-8
+-bs_RefCounter
+0
+<20101007085502-9
+-bs_DataClass
+3
+-int8
+f
+f
+0
+1286433748
+0
+1
+5
+15
+t
+<20101007085502-10
+-bs_RefCounter
+0
+<20101007085502-11
+-bs_DataClass
+3
+-uint8
+f
+f
+0
+1286433748
+0
+1
+5
+18
+t
+<20101007085502-12
+-bs_RefCounter
+0
+<20101007085502-13
+-bs_DataClass
+3
+-int16
+f
+f
+0
+1286433748
+0
+1
+5
+16
+t
+<20101007085502-14
+-bs_RefCounter
+0
+<20101007085502-15
+-bs_DataClass
+3
+-uint16
+f
+f
+0
+1286433748
+0
+1
+5
+19
+t
+<20101007085502-16
+-bs_RefCounter
+0
+<20101007085502-17
+-bs_DataClass
+3
+-int32
+f
+f
+0
+1286433748
+0
+1
+5
+17
+t
+<20101007085502-18
+-bs_RefCounter
+0
+<20101007085502-19
+-bs_DataClass
+3
+-uint32
+f
+f
+0
+1286433748
+0
+1
+5
+20
+t
+<20101007085502-20
+-bs_RefCounter
+0
+<20101007085502-21
+-bs_DataClass
+3
+-float32
+f
+f
+0
+1286433748
+0
+1
+5
+21
+t
+<20101007085502-22
+-bs_RefCounter
+0
+<20101007085502-23
+-bs_DataClass
+3
+-float64
+f
+f
+0
+1286433748
+0
+1
+5
+22
+t
+<20101007085502-24
+-bs_RefCounter
+0
+<20101007085502-25
+-bs_DataClass
+3
+-char*
+f
+f
+0
+1286433748
+0
+1
+5
+12
+-
+t
+<20101007085502-26
+-bs_RefCounter
+0
+<20101007085502-27
+-bs_DataClass
+3
+-void*
+f
+f
+0
+1286433748
+0
+1
+5
+12
+-
+f
+-------------------------------
+# Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# PersObj-Version: 4 standard
+#
+-bs_ProtocolClassList
+-bs_ProtocolClassList
+1
+-ProtocolClass
+0
+1286434265
+0
+t
+<20101007085502-29
+-bs_RefCounter
+0
+<20101007085502-30
+-bs_ProtocolClass
+3
+-p_Timer
+t
+f
+0
+1286433748
+0
+1
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286433748
+0
+t
+<20101007085502-32
+-bs_RefCounter
+0
+<20101007085502-33
+-bs_MsgType
+3
+-Start
+f
+f
+0
+1286433748
+0
+>20101007085502-16
+>20101007085502-17
+t
+<20101007085502-34
+-bs_RefCounter
+0
+<20101007085502-35
+-bs_MsgType
+3
+-Kill
+f
+f
+0
+1286433748
+0
+<20101007085502-36
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286433748
+0
+t
+<20101007085502-38
+-bs_RefCounter
+0
+<20101007085502-39
+-bs_MsgType
+3
+-timerTick
+f
+f
+0
+1286433748
+0
+<20101007085502-40
+-bs_RefCounter
+0
+N
+f
+-ProtocolSemantics
+1
+0
+1286433748
+-ProtocolRuleSet
+0
+0
+1286433748
+t
+<20101007085502-43
+-ProtocolRule
+0
+0
+1286433748
+-Message
+0
+0
+1286433748
+0
+-Start
+t
+<20101007085502-45
+-MessageImplication
+0
+0
+1286433748
+-ProtocolRule
+0
+0
+1286433748
+-Message
+0
+0
+1286433748
+0
+-Kill
+f
+t
+<20101007085502-48
+-MessageImplication
+0
+0
+1286433748
+-ProtocolRule
+0
+0
+1286433748
+-Message
+0
+0
+1286433748
+1
+-timerTick
+f
+f
+f
+t
+<20101007085502-51
+-bs_RefCounter
+0
+<20101007085502-52
+-bs_ProtocolClass
+3
+-p_Timeout
+t
+f
+0
+1286433748
+0
+1
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286433748
+0
+t
+<20101007085502-54
+-bs_RefCounter
+0
+<20101007085502-55
+-bs_MsgType
+3
+-Start
+f
+f
+0
+1286433748
+0
+>20101007085502-16
+>20101007085502-17
+t
+<20101007085502-56
+-bs_RefCounter
+0
+<20101007085502-57
+-bs_MsgType
+3
+-Kill
+f
+f
+0
+1286433748
+0
+<20101007085502-58
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286433748
+0
+t
+<20101007085502-60
+-bs_RefCounter
+0
+<20101007085502-61
+-bs_MsgType
+3
+-timeoutTick
+f
+f
+0
+1286433748
+0
+<20101007085502-62
+-bs_RefCounter
+0
+N
+f
+-ProtocolSemantics
+1
+0
+1286433748
+-ProtocolRuleSet
+0
+0
+1286433748
+t
+<20101007085502-65
+-ProtocolRule
+0
+0
+1286433748
+-Message
+0
+0
+1286433748
+0
+-Start
+t
+<20101007085502-67
+-MessageImplication
+0
+0
+1286433748
+-ProtocolRule
+0
+0
+1286433748
+-Message
+0
+0
+1286433748
+0
+-Kill
+f
+t
+<20101007085502-70
+-MessageImplication
+0
+0
+1286433748
+-ProtocolRule
+0
+0
+1286433748
+-Message
+0
+0
+1286433748
+1
+-timeoutTick
+f
+f
+f
+t
+<20101007085502-73
+-bs_RefCounter
+0
+<20101007085502-74
+-bs_ProtocolClass
+3
+-p_DigitalInput
+t
+f
+0
+1286433748
+0
+1
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286433748
+0
+t
+<20101007085502-76
+-bs_RefCounter
+0
+<20101007085502-77
+-bs_MsgType
+3
+-getStatus
+f
+f
+0
+1286433748
+0
+<20101007085502-78
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286433748
+0
+t
+<20101007085502-80
+-bs_RefCounter
+0
+<20101007085502-81
+-bs_MsgType
+3
+-inputChanged
+f
+f
+0
+1286433748
+0
+>20101007085502-12
+>20101007085502-13
+f
+-ProtocolSemantics
+1
+0
+1286433748
+-ProtocolRuleSet
+0
+0
+1286433748
+t
+<20101007085502-84
+-ProtocolRule
+0
+0
+1286433748
+-Message
+0
+0
+1286433748
+0
+-getStatus
+t
+<20101007085502-86
+-MessageImplication
+0
+0
+1286433748
+-ProtocolRule
+0
+0
+1286433748
+-Message
+0
+0
+1286433748
+1
+-inputChanged
+f
+f
+f
+t
+<20101007085502-89
+-bs_RefCounter
+0
+<20101007085502-90
+-bs_ProtocolClass
+3
+-p_DigitalOutput
+t
+f
+0
+1286433748
+0
+1
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286433748
+0
+t
+<20101007085502-92
+-bs_RefCounter
+0
+<20101007085502-93
+-bs_MsgType
+3
+-Set
+f
+f
+0
+1286433748
+0
+>20101007085502-2
+>20101007085502-3
+t
+<20101007085502-94
+-bs_RefCounter
+0
+<20101007085502-95
+-bs_MsgType
+3
+-SetOn
+f
+f
+0
+1286433748
+0
+<20101007085502-96
+-bs_RefCounter
+0
+N
+t
+<20101007085502-97
+-bs_RefCounter
+0
+<20101007085502-98
+-bs_MsgType
+3
+-SetOff
+f
+f
+0
+1286433748
+0
+<20101007085502-99
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286433748
+0
+f
+-ProtocolSemantics
+1
+0
+1286433748
+-ProtocolRuleSet
+0
+0
+1286433748
+f
+t
+<20101007085502-103
+-bs_RefCounter
+0
+<20101007085502-104
+-bs_ProtocolClass
+3
+-PBase
+f
+f
+0
+1286433772
+0
+0
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286433772
+0
+t
+<20101007085502-106
+-bs_RefCounter
+0
+<20101007085502-107
+-bs_MsgType
+3
+-a
+f
+f
+0
+1286433764
+0
+<20101007085502-108
+-bs_RefCounter
+0
+N
+t
+<20101007085502-109
+-bs_RefCounter
+0
+<20101007085502-110
+-bs_MsgType
+3
+-b
+f
+f
+0
+1286433765
+0
+<20101007085502-111
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286433772
+0
+t
+<20101007085502-113
+-bs_RefCounter
+0
+<20101007085502-114
+-bs_MsgType
+3
+-x
+f
+f
+0
+1286433768
+0
+<20101007085502-115
+-bs_RefCounter
+0
+N
+t
+<20101007085502-116
+-bs_RefCounter
+0
+<20101007085502-117
+-bs_MsgType
+3
+-y
+f
+f
+0
+1286433770
+0
+<20101007085502-118
+-bs_RefCounter
+0
+N
+f
+-ProtocolSemantics
+1
+0
+1286433759
+-ProtocolRuleSet
+0
+0
+1286433759
+f
+t
+<20101007085502-121
+-bs_RefCounter
+0
+<20101007085502-122
+-bs_ProtocolClass
+3
+-PFunctionA
+f
+f
+0
+1286433824
+0
+0
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286433824
+0
+t
+<20101007085502-124
+-bs_RefCounter
+0
+<20101007085502-125
+-bs_MsgType
+3
+-d
+f
+f
+0
+1286433817
+0
+<20101007085502-126
+-bs_RefCounter
+0
+N
+t
+<20101007085502-127
+-bs_RefCounter
+0
+<20101007085502-128
+-bs_MsgType
+3
+-e
+f
+f
+0
+1286433819
+0
+<20101007085502-129
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286433824
+0
+t
+<20101007085502-131
+-bs_RefCounter
+0
+<20101007085502-132
+-bs_MsgType
+3
+-r
+f
+f
+0
+1286433822
+0
+<20101007085502-133
+-bs_RefCounter
+0
+N
+t
+<20101007085502-134
+-bs_RefCounter
+0
+<20101007085502-135
+-bs_MsgType
+3
+-s
+f
+f
+0
+1286433823
+0
+<20101007085502-136
+-bs_RefCounter
+0
+N
+f
+-ProtocolSemantics
+1
+0
+1286433809
+-ProtocolRuleSet
+0
+0
+1286433809
+f
+t
+<20101007085502-139
+-bs_RefCounter
+0
+<20101007085502-140
+-bs_ProtocolClass
+3
+-PControl
+f
+f
+0
+1286433846
+0
+0
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286433846
+0
+t
+<20101007085502-142
+-bs_RefCounter
+0
+<20101007085502-143
+-bs_MsgType
+3
+-c
+f
+f
+0
+1286433840
+0
+<20101007085502-144
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286433846
+0
+t
+<20101007085502-146
+-bs_RefCounter
+0
+<20101007085502-147
+-bs_MsgType
+3
+-d
+f
+f
+0
+1286433844
+0
+<20101007085502-148
+-bs_RefCounter
+0
+N
+f
+-ProtocolSemantics
+1
+0
+1286433833
+-ProtocolRuleSet
+0
+0
+1286433833
+f
+t
+<20101007085502-151
+-bs_RefCounter
+0
+<20101007085502-152
+-bs_ProtocolClass
+3
+-PFunctionB
+f
+f
+0
+1286434265
+0
+0
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286434265
+0
+t
+<20101007085502-154
+-bs_RefCounter
+0
+<20101007085502-155
+-bs_MsgType
+3
+-h
+f
+f
+0
+1286434261
+0
+<20101007085502-156
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1286434265
+0
+t
+<20101007085502-158
+-bs_RefCounter
+0
+<20101007085502-159
+-bs_MsgType
+3
+-i
+f
+f
+0
+1286434264
+0
+<20101007085502-160
+-bs_RefCounter
+0
+N
+f
+-ProtocolSemantics
+1
+0
+1286434250
+-ProtocolRuleSet
+0
+0
+1286434250
+f
+f
+-------------------------------
+# Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# PersObj-Version: 4 standard
+#
+-bs_SAPClassList
+-bs_SAPClassList
+1
+-SAP
+0
+1286433748
+0
+t
+<20101007085502-164
+-bs_RefCounter
+0
+<20101007085502-165
+-bs_SAPClass
+3
+-Timer
+f
+f
+0
+1286433748
+0
+1
+0
+1
+>20101007085502-29
+>20101007085502-30
+t
+<20101007085502-166
+-bs_RefCounter
+0
+<20101007085502-167
+-bs_SAPClass
+3
+-Timeout
+f
+f
+0
+1286433748
+0
+1
+0
+2
+>20101007085502-51
+>20101007085502-52
+t
+<20101007085502-168
+-bs_RefCounter
+0
+<20101007085502-169
+-bs_SAPClass
+3
+-DigitalInput
+f
+f
+0
+1286433748
+0
+1
+0
+4
+>20101007085502-73
+>20101007085502-74
+t
+<20101007085502-170
+-bs_RefCounter
+0
+<20101007085502-171
+-bs_SAPClass
+3
+-DigitalOutput
+f
+f
+0
+1286433748
+0
+1
+0
+5
+>20101007085502-89
+>20101007085502-90
+f
+-------------------------------
+# Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# PersObj-Version: 4 standard
+#
+-bs_PrtvClassList
+-bs_PrtvClassList
+1
+-PrimitiveClass
+0
+1286433748
+0
+f
+-------------------------------
+# Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# PersObj-Version: 4 standard
+#
+-bs_ActorClassList
+-bs_ActorClassList
+1
+-ActorClass
+0
+1286434548
+0
+t
+<20101007085502-174
+-bs_RefCounter
+0
+<20101007085502-175
+-bs_ActorClass
+3
+-ComponentMain
+f
+f
+0
+1286433778
+0
+0
+8
+-
+f
+-bs_ActorInterface
+3
+-bs_PortRefList
+1
+-Port
+0
+1286433774
+0
+f
+0
+0
+1286433774
+-bs_ActorStructure
+7
+-bs_PortRefList
+1
+-Port
+0
+1286433774
+0
+f
+-bs_SAPRefList
+1
+-SAP
+0
+1286433774
+0
+f
+t
+-bs_ActorRefList
+1
+-ActorRef
+0
+1286434568
+0
+t
+<20101007085502-182
+-bs_RefCounter
+0
+<20101007085502-183
+-bs_ActorRef
+3
+-controller
+f
+f
+0
+1286434477
+1
+-bs_ActorCoord
+0
+0.412083
+0.85125
+-bs_SizeFactors
+0
+3.01
+0.99875
+-bs_CompPortRefList
+1
+-PortInstListDummyName
+0
+1286434236
+0
+f
+3
+-AController
+t
+<20101007085502-187
+-bs_RefCounter
+0
+<20101007085502-188
+-bs_ActorRef
+3
+-fcta
+f
+f
+0
+1286434479
+1
+-bs_ActorCoord
+0
+0.239028
+0.492
+-bs_SizeFactors
+0
+3.01063
+1.01188
+-bs_CompPortRefList
+1
+-PortInstListDummyName
+0
+1286434320
+0
+f
+3
+-AFunctionA
+t
+<20101007085843-1
+-bs_RefCounter
+0
+<20101007085843-2
+-bs_ActorRef
+3
+-fctb
+f
+f
+0
+1286434539
+1
+-bs_ActorCoord
+0
+0.736458
+0.479125
+-bs_SizeFactors
+0
+3.01
+1.01188
+-bs_CompPortRefList
+1
+-PortInstListDummyName
+0
+1286434537
+0
+f
+3
+-AFunctionB
+t
+<20101007085843-6
+-bs_RefCounter
+0
+<20101007085843-7
+-bs_ActorRef
+3
+-client
+f
+f
+0
+1286434570
+1
+-bs_ActorCoord
+0
+0.510069
+0.172875
+-bs_SizeFactors
+0
+3.01063
+1.01125
+-bs_CompPortRefList
+1
+-PortInstListDummyName
+0
+1286434568
+0
+f
+3
+-AClient
+f
+-bs_BindingContractList
+1
+-BindingContract
+0
+1286434712
+0
+t
+<20101007085502-193
+-bs_RefCounter
+0
+<20101007085502-194
+-bs_BindingContract
+3
+-BindingContract1
+f
+f
+0
+1286434424
+0
+-bs_BCEndPoint
+1
+>20101007085502-182
+>20101007085502-183
+<20101007085502-196
+-bs_RefCounter
+0
+<20101007085502-197
+-bs_PortRef
+3
+-base
+f
+f
+0
+1286434454
+0
+0
+t
+10
+-bs_ActorCoord
+0
+0.16125
+0
+>20101007085502-103
+>20101007085502-104
+<20101007085502-199
+-bs_RefCounter
+0
+N
+-bs_BCEndPoint
+1
+>20101007085502-187
+>20101007085502-188
+<20101007085502-201
+-bs_RefCounter
+0
+<20101007085502-202
+-bs_PortRef
+3
+-base
+f
+f
+0
+1286433868
+0
+0
+f
+1
+-bs_ActorCoord
+0
+0.158333
+1.0005
+>20101007085502-103
+>20101007085502-104
+<20101007085502-204
+-bs_RefCounter
+0
+N
+t
+<20101007085502-205
+-bs_RefCounter
+0
+<20101007085502-206
+-bs_BindingContract
+3
+-BindingContract2
+f
+f
+0
+1286434427
+0
+-bs_BCEndPoint
+1
+>20101007085502-182
+>20101007085502-183
+<20101007085502-208
+-bs_RefCounter
+0
+<20101007085502-209
+-bs_PortRef
+3
+-ctrl
+f
+f
+0
+1286434439
+0
+0
+t
+10
+-bs_ActorCoord
+0
+0.365903
+0
+>20101007085502-139
+>20101007085502-140
+<20101007085502-211
+-bs_RefCounter
+0
+N
+-bs_BCEndPoint
+1
+>20101007085502-187
+>20101007085502-188
+<20101007085502-213
+-bs_RefCounter
+0
+<20101007085502-214
+-bs_PortRef
+3
+-ctrl
+f
+f
+0
+1286433903
+0
+0
+f
+1
+-bs_ActorCoord
+0
+0.44375
+1
+>20101007085502-139
+>20101007085502-140
+<20101007085502-216
+-bs_RefCounter
+0
+N
+t
+<20101007085843-11
+-bs_RefCounter
+0
+<20101007085843-12
+-bs_BindingContract
+3
+-BindingContract3
+f
+f
+0
+1286434541
+0
+-bs_BCEndPoint
+1
+>20101007085502-182
+>20101007085502-183
+>20101007085502-196
+>20101007085502-197
+<20101007085843-14
+-bs_RefCounter
+0
+N
+-bs_BCEndPoint
+1
+>20101007085843-1
+>20101007085843-2
+>20101007085502-201
+>20101007085502-202
+<20101007085843-16
+-bs_RefCounter
+0
+N
+t
+<20101007085843-17
+-bs_RefCounter
+0
+<20101007085843-18
+-bs_BindingContract
+3
+-BindingContract4
+f
+f
+0
+1286434544
+0
+-bs_BCEndPoint
+1
+>20101007085502-182
+>20101007085502-183
+>20101007085502-208
+>20101007085502-209
+<20101007085843-20
+-bs_RefCounter
+0
+N
+-bs_BCEndPoint
+1
+>20101007085843-1
+>20101007085843-2
+>20101007085502-213
+>20101007085502-214
+<20101007085843-22
+-bs_RefCounter
+0
+N
+t
+<20101007085843-23
+-bs_RefCounter
+0
+<20101007085843-24
+-bs_BindingContract
+3
+-BindingContract5
+f
+f
+0
+1286434573
+0
+-bs_BCEndPoint
+1
+>20101007085502-182
+>20101007085502-183
+>20101007085502-196
+>20101007085502-197
+<20101007085843-26
+-bs_RefCounter
+0
+N
+-bs_BCEndPoint
+1
+>20101007085843-6
+>20101007085843-7
+>20101007085502-201
+>20101007085502-202
+<20101007085843-28
+-bs_RefCounter
+0
+N
+t
+<20101007085843-29
+-bs_RefCounter
+0
+<20101007085843-30
+-bs_BindingContract
+3
+-BindingContract6
+f
+f
+0
+1286434579
+0
+-bs_BCEndPoint
+1
+>20101007085502-182
+>20101007085502-183
+>20101007085502-208
+>20101007085502-209
+<20101007085843-32
+-bs_RefCounter
+0
+N
+-bs_BCEndPoint
+1
+>20101007085843-6
+>20101007085843-7
+>20101007085502-213
+>20101007085502-214
+<20101007085843-34
+-bs_RefCounter
+0
+N
+t
+<20101007085843-35
+-bs_RefCounter
+0
+<20101007085843-36
+-bs_BindingContract
+3
+-BindingContract7
+f
+f
+0
+1286434620
+0
+-bs_BCEndPoint
+1
+>20101007085502-187
+>20101007085502-188
+<20101007085502-392
+-bs_RefCounter
+0
+<20101007085502-393
+-bs_PortRef
+3
+-fct1
+f
+f
+0
+1286434673
+0
+0
+f
+1
+-bs_ActorCoord
+0
+0.715556
+-0.000375
+>20101007085502-121
+>20101007085502-122
+<20101007085843-39
+-bs_RefCounter
+0
+N
+-bs_BCEndPoint
+1
+>20101007085843-6
+>20101007085843-7
+<20101007085843-41
+-bs_RefCounter
+0
+<20101007085843-42
+-bs_PortRef
+3
+-pa1
+f
+f
+0
+1286434696
+0
+0
+t
+1
+-bs_ActorCoord
+0
+0.000416667
+0.718375
+>20101007085502-121
+>20101007085502-122
+<20101007085843-44
+-bs_RefCounter
+0
+N
+t
+<20101007085843-45
+-bs_RefCounter
+0
+<20101007085843-46
+-bs_BindingContract
+3
+-BindingContract8
+f
+f
+0
+1286434622
+0
+-bs_BCEndPoint
+1
+>20101007085843-1
+>20101007085843-2
+<20101007085843-48
+-bs_RefCounter
+0
+<20101007085843-49
+-bs_PortRef
+3
+-fct
+f
+f
+0
+1286434615
+0
+0
+f
+1
+-bs_ActorCoord
+0
+0.405347
+0
+>20101007085502-151
+>20101007085502-152
+<20101007085843-51
+-bs_RefCounter
+0
+N
+-bs_BCEndPoint
+1
+>20101007085843-6
+>20101007085843-7
+<20101007085843-53
+-bs_RefCounter
+0
+<20101007085843-54
+-bs_PortRef
+3
+-pb
+f
+f
+0
+1286434606
+0
+0
+t
+1
+-bs_ActorCoord
+0
+1
+0.511625
+>20101007085502-151
+>20101007085502-152
+<20101007085843-56
+-bs_RefCounter
+0
+N
+t
+<20101007085843-57
+-bs_RefCounter
+0
+<20101007085843-58
+-bs_BindingContract
+3
+-BindingContract9
+f
+f
+0
+1286434712
+0
+-bs_BCEndPoint
+1
+>20101007085843-6
+>20101007085843-7
+<20101007085843-60
+-bs_RefCounter
+0
+<20101007085843-61
+-bs_PortRef
+3
+-pa2
+f
+f
+0
+1286434707
+0
+0
+t
+1
+-bs_ActorCoord
+0
+0
+0.2685
+>20101007085502-121
+>20101007085502-122
+<20101007085843-63
+-bs_RefCounter
+0
+N
+-bs_BCEndPoint
+1
+>20101007085502-187
+>20101007085502-188
+<20101007085843-65
+-bs_RefCounter
+0
+<20101007085843-66
+-bs_PortRef
+3
+-fct2
+f
+f
+0
+1286434683
+0
+0
+f
+1
+-bs_ActorCoord
+0
+0.307639
+0
+>20101007085502-121
+>20101007085502-122
+<20101007085843-68
+-bs_RefCounter
+0
+N
+f
+-bs_SizeFactors
+0
+1.8
+1
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286433774
+-bs_PrtvRefList
+1
+-Primitive
+0
+1286433774
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286433774
+0
+f
+0
+1286433774
+-bs_ActorBehaviour
+7
+<20101007085502-222
+-bs_RefCounter
+0
+<20101007085502-223
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1286433774
+5
+f
+-bs_StateGraph
+8
+<20101007085502-226
+-bs_RefCounter
+0
+<20101007085502-227
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1286433774
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1286433774
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1286433774
+0
+f
+-bs_StateList
+1
+-State
+0
+1286433774
+0
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1286433774
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286433774
+0
+f
+t
+65535
+f
+f
+0
+1286433774
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1286433774
+-
+-
+-
+1024
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286433774
+0
+1286433774
+-bs_ActorMemberFct
+1
+f
+0
+1286433774
+t
+f
+f
+t
+<20101007085502-237
+-bs_RefCounter
+0
+<20101007085502-238
+-bs_ActorClass
+3
+-ACommonBase
+f
+f
+0
+1286433800
+0
+0
+8
+-
+f
+-bs_ActorInterface
+3
+-bs_PortRefList
+1
+-Port
+0
+1286433858
+0
+t
+>20101007085502-201
+>20101007085502-202
+f
+0
+0
+1286433780
+-bs_ActorStructure
+7
+-bs_PortRefList
+1
+-Port
+0
+1286433979
+0
+t
+>20101007085502-201
+>20101007085502-202
+t
+<20101007085502-243
+-bs_RefCounter
+0
+<20101007085502-244
+-bs_PortRef
+3
+-subbase
+f
+f
+0
+1286434036
+0
+0
+t
+10
+-bs_ActorCoord
+0
+0.155139
+0.79675
+>20101007085502-103
+>20101007085502-104
+f
+-bs_SAPRefList
+1
+-SAP
+0
+1286433780
+0
+f
+t
+-bs_ActorRefList
+1
+-ActorRef
+0
+1286433780
+0
+f
+-bs_BindingContractList
+1
+-BindingContract
+0
+1286433780
+0
+f
+-bs_SizeFactors
+0
+1.8
+1
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286433780
+-bs_PrtvRefList
+1
+-Primitive
+0
+1286433780
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286433780
+0
+f
+0
+1286433780
+-bs_ActorBehaviour
+7
+<20101007085502-254
+-bs_RefCounter
+0
+<20101007085502-255
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1286433780
+5
+f
+-bs_StateGraph
+8
+<20101007085502-258
+-bs_RefCounter
+0
+<20101007085502-259
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1286433780
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1286433780
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1286433780
+0
+f
+-bs_StateList
+1
+-State
+0
+1286433780
+0
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1286433780
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286433780
+0
+f
+t
+65535
+f
+f
+0
+1286433780
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1286433780
+-
+-
+-
+1024
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286433780
+0
+1286433780
+-bs_ActorMemberFct
+1
+f
+0
+1286433780
+t
+f
+f
+t
+<20101007085502-269
+-bs_RefCounter
+0
+<20101007085502-270
+-bs_ActorClass
+3
+-AControl
+f
+f
+0
+1286435435
+0
+0
+8
+-ACommonBase
+f
+-bs_ActorInterface
+3
+-bs_PortRefList
+1
+-Port
+0
+1286433903
+0
+t
+>20101007085502-201
+>20101007085502-202
+t
+>20101007085502-213
+>20101007085502-214
+f
+0
+0
+1286433871
+-bs_ActorStructure
+7
+-bs_PortRefList
+1
+-Port
+0
+1286434021
+0
+t
+>20101007085502-201
+>20101007085502-202
+t
+>20101007085502-213
+>20101007085502-214
+t
+>20101007085502-243
+>20101007085502-244
+t
+<20101007085502-275
+-bs_RefCounter
+0
+<20101007085502-276
+-bs_PortRef
+3
+-subctrl
+f
+f
+0
+1286434026
+0
+0
+t
+10
+-bs_ActorCoord
+0
+0.44375
+0.831875
+>20101007085502-139
+>20101007085502-140
+f
+-bs_SAPRefList
+1
+-SAP
+0
+1286435435
+0
+t
+<20101007091211-144
+-bs_RefCounter
+0
+<20101007091211-145
+-bs_SAPRef
+3
+-ctrltimout
+f
+f
+0
+1286435435
+0
+0
+>20101007085502-166
+>20101007085502-167
+1
+f
+t
+-bs_ActorRefList
+1
+-ActorRef
+0
+1286433871
+0
+f
+-bs_BindingContractList
+1
+-BindingContract
+0
+1286433871
+0
+f
+-bs_SizeFactors
+0
+1.8
+1
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286433871
+-bs_PrtvRefList
+1
+-Primitive
+0
+1286433871
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286433871
+0
+f
+0
+1286433871
+-bs_ActorBehaviour
+7
+<20101007085502-286
+-bs_RefCounter
+0
+<20101007085502-287
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1286433871
+5
+f
+-bs_StateGraph
+8
+<20101007085502-290
+-bs_RefCounter
+0
+<20101007085502-291
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1286433871
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1286433871
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1286433871
+0
+f
+-bs_StateList
+1
+-State
+0
+1286433871
+0
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1286433871
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286433871
+0
+f
+t
+65535
+f
+f
+0
+1286433871
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1286433871
+-
+-
+-
+1024
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286433871
+0
+1286433871
+-bs_ActorMemberFct
+1
+f
+0
+1286433871
+t
+f
+f
+t
+<20101007085502-301
+-bs_RefCounter
+0
+<20101007085502-302
+-bs_ActorClass
+3
+-ABaseController
+f
+f
+0
+1286434097
+0
+0
+8
+-
+f
+-bs_ActorInterface
+3
+-bs_PortRefList
+1
+-Port
+0
+1286434170
+0
+t
+>20101007085502-196
+>20101007085502-197
+f
+0
+0
+1286434064
+-bs_ActorStructure
+7
+-bs_PortRefList
+1
+-Port
+0
+1286434170
+0
+t
+>20101007085502-196
+>20101007085502-197
+f
+-bs_SAPRefList
+1
+-SAP
+0
+1286434064
+0
+f
+t
+-bs_ActorRefList
+1
+-ActorRef
+0
+1286434064
+0
+f
+-bs_BindingContractList
+1
+-BindingContract
+0
+1286434064
+0
+f
+-bs_SizeFactors
+0
+1.8
+1
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286434064
+-bs_PrtvRefList
+1
+-Primitive
+0
+1286434064
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286434064
+0
+f
+0
+1286434064
+-bs_ActorBehaviour
+7
+<20101007085502-315
+-bs_RefCounter
+0
+<20101007085502-316
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1286434064
+5
+f
+-bs_StateGraph
+8
+<20101007085502-319
+-bs_RefCounter
+0
+<20101007085502-320
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1286434064
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1286434064
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1286434064
+0
+f
+-bs_StateList
+1
+-State
+0
+1286434064
+0
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1286434064
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286434064
+0
+f
+t
+65535
+f
+f
+0
+1286434064
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1286434064
+-
+-
+-
+1024
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286434064
+0
+1286434064
+-bs_ActorMemberFct
+1
+f
+0
+1286434064
+t
+f
+f
+t
+<20101007085502-330
+-bs_RefCounter
+0
+<20101007085502-331
+-bs_ActorClass
+3
+-AController
+f
+f
+0
+1286434140
+0
+0
+8
+-ABaseController
+f
+-bs_ActorInterface
+3
+-bs_PortRefList
+1
+-Port
+0
+1286434201
+0
+t
+>20101007085502-196
+>20101007085502-197
+t
+>20101007085502-208
+>20101007085502-209
+f
+0
+0
+1286434128
+-bs_ActorStructure
+7
+-bs_PortRefList
+1
+-Port
+0
+1286434201
+0
+t
+>20101007085502-196
+>20101007085502-197
+t
+>20101007085502-208
+>20101007085502-209
+f
+-bs_SAPRefList
+1
+-SAP
+0
+1286434128
+0
+f
+t
+-bs_ActorRefList
+1
+-ActorRef
+0
+1286434128
+0
+f
+-bs_BindingContractList
+1
+-BindingContract
+0
+1286434128
+0
+f
+-bs_SizeFactors
+0
+1.8
+1
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286434128
+-bs_PrtvRefList
+1
+-Primitive
+0
+1286434128
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286434128
+0
+f
+0
+1286434128
+-bs_ActorBehaviour
+7
+<20101007085502-344
+-bs_RefCounter
+0
+<20101007085502-345
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1286434128
+5
+f
+-bs_StateGraph
+8
+<20101007085502-348
+-bs_RefCounter
+0
+<20101007085502-349
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1286434128
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1286434128
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1286434128
+0
+f
+-bs_StateList
+1
+-State
+0
+1286434128
+0
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1286434128
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286434128
+0
+f
+t
+65535
+f
+f
+0
+1286434128
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1286434128
+-
+-
+-
+1024
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286434128
+0
+1286434128
+-bs_ActorMemberFct
+1
+f
+0
+1286434128
+t
+f
+f
+t
+<20101007085502-359
+-bs_RefCounter
+0
+<20101007085502-360
+-bs_ActorClass
+3
+-ASubA
+f
+f
+0
+1286435487
+0
+0
+8
+-AControl
+f
+-bs_ActorInterface
+3
+-bs_PortRefList
+1
+-Port
+0
+1286434643
+0
+t
+>20101007085502-201
+>20101007085502-202
+t
+>20101007085502-213
+>20101007085502-214
+t
+<20101007085843-69
+-bs_RefCounter
+0
+<20101007085843-70
+-bs_PortRef
+3
+-fct
+f
+f
+0
+1286434643
+0
+0
+f
+1
+-bs_ActorCoord
+0
+0.465417
+0
+>20101007085502-121
+>20101007085502-122
+f
+0
+0
+1286434277
+-bs_ActorStructure
+7
+-bs_PortRefList
+1
+-Port
+0
+1286434643
+0
+t
+>20101007085502-201
+>20101007085502-202
+t
+>20101007085502-213
+>20101007085502-214
+t
+>20101007085502-243
+>20101007085502-244
+t
+>20101007085502-275
+>20101007085502-276
+t
+>20101007085843-69
+>20101007085843-70
+f
+-bs_SAPRefList
+1
+-SAP
+0
+1286435487
+0
+t
+>20101007091211-144
+>20101007091211-145
+t
+<20101007091211-216
+-bs_RefCounter
+0
+<20101007091211-217
+-bs_SAPRef
+3
+-timeout
+f
+f
+0
+1286435487
+0
+0
+>20101007085502-166
+>20101007085502-167
+1
+f
+t
+-bs_ActorRefList
+1
+-ActorRef
+0
+1286434277
+0
+f
+-bs_BindingContractList
+1
+-BindingContract
+0
+1286434277
+0
+f
+-bs_SizeFactors
+0
+1.8
+1
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286434277
+-bs_PrtvRefList
+1
+-Primitive
+0
+1286434277
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286434277
+0
+f
+0
+1286434277
+-bs_ActorBehaviour
+7
+<20101007085502-373
+-bs_RefCounter
+0
+<20101007085502-374
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1286434277
+5
+f
+-bs_StateGraph
+8
+<20101007085502-377
+-bs_RefCounter
+0
+<20101007085502-378
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1286434277
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1286434277
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1286434277
+0
+f
+-bs_StateList
+1
+-State
+0
+1286434277
+0
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1286434277
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286434277
+0
+f
+t
+65535
+f
+f
+0
+1286434277
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1286434277
+-
+-
+-
+1024
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286434277
+0
+1286434277
+-bs_ActorMemberFct
+1
+f
+0
+1286434277
+t
+f
+f
+t
+<20101007085502-388
+-bs_RefCounter
+0
+<20101007085502-389
+-bs_ActorClass
+3
+-AFunctionA
+f
+f
+0
+1286435504
+0
+0
+8
+-AControl
+f
+-bs_ActorInterface
+3
+-bs_PortRefList
+1
+-Port
+0
+1286434683
+0
+t
+>20101007085502-201
+>20101007085502-202
+t
+>20101007085502-213
+>20101007085502-214
+t
+>20101007085502-392
+>20101007085502-393
+t
+>20101007085843-65
+>20101007085843-66
+f
+0
+0
+1286434302
+-bs_ActorStructure
+7
+-bs_PortRefList
+1
+-Port
+0
+1286434685
+0
+t
+>20101007085502-201
+>20101007085502-202
+t
+>20101007085502-213
+>20101007085502-214
+t
+>20101007085502-243
+>20101007085502-244
+t
+>20101007085502-275
+>20101007085502-276
+f
+-bs_SAPRefList
+1
+-SAP
+0
+1286435501
+0
+t
+>20101007091211-144
+>20101007091211-145
+t
+<20101007091211-241
+-bs_RefCounter
+0
+<20101007091211-242
+-bs_SAPRef
+3
+-timeout
+f
+f
+0
+1286435460
+0
+0
+>20101007085502-166
+>20101007085502-167
+1
+f
+t
+-bs_ActorRefList
+1
+-ActorRef
+0
+1286434397
+0
+t
+<20101007085502-399
+-bs_RefCounter
+0
+<20101007085502-400
+-bs_ActorRef
+3
+-sub1
+f
+f
+0
+1286434384
+1
+-bs_ActorCoord
+0
+0.303125
+0.282
+-bs_SizeFactors
+0
+3.00188
+1
+-bs_CompPortRefList
+1
+-PortInstListDummyName
+0
+1286434382
+0
+f
+3
+-ASubA
+t
+<20101007085502-404
+-bs_RefCounter
+0
+<20101007085502-405
+-bs_ActorRef
+3
+-sub2
+f
+f
+0
+1286434399
+1
+-bs_ActorCoord
+0
+0.740347
+0.25225
+-bs_SizeFactors
+0
+3.00188
+1
+-bs_CompPortRefList
+1
+-PortInstListDummyName
+0
+1286434397
+0
+f
+3
+-ASubA
+f
+-bs_BindingContractList
+1
+-BindingContract
+0
+1286434685
+0
+t
+<20101007085502-410
+-bs_RefCounter
+0
+<20101007085502-411
+-bs_BindingContract
+3
+-BindingContract1
+f
+f
+0
+1286434386
+0
+-bs_BCEndPoint
+1
+<20101007085502-413
+-bs_RefCounter
+0
+N
+>20101007085502-243
+>20101007085502-244
+<20101007085502-414
+-bs_RefCounter
+0
+N
+-bs_BCEndPoint
+1
+>20101007085502-399
+>20101007085502-400
+>20101007085502-201
+>20101007085502-202
+<20101007085502-416
+-bs_RefCounter
+0
+N
+t
+<20101007085502-417
+-bs_RefCounter
+0
+<20101007085502-418
+-bs_BindingContract
+3
+-BindingContract2
+f
+f
+0
+1286434389
+0
+-bs_BCEndPoint
+1
+<20101007085502-420
+-bs_RefCounter
+0
+N
+>20101007085502-275
+>20101007085502-276
+<20101007085502-421
+-bs_RefCounter
+0
+N
+-bs_BCEndPoint
+1
+>20101007085502-399
+>20101007085502-400
+>20101007085502-213
+>20101007085502-214
+<20101007085502-423
+-bs_RefCounter
+0
+N
+t
+<20101007085502-424
+-bs_RefCounter
+0
+<20101007085502-425
+-bs_BindingContract
+3
+-BindingContract3
+f
+f
+0
+1286434402
+0
+-bs_BCEndPoint
+1
+<20101007085502-427
+-bs_RefCounter
+0
+N
+>20101007085502-243
+>20101007085502-244
+<20101007085502-428
+-bs_RefCounter
+0
+N
+-bs_BCEndPoint
+1
+>20101007085502-404
+>20101007085502-405
+>20101007085502-201
+>20101007085502-202
+<20101007085502-430
+-bs_RefCounter
+0
+N
+t
+<20101007085502-431
+-bs_RefCounter
+0
+<20101007085502-432
+-bs_BindingContract
+3
+-BindingContract4
+f
+f
+0
+1286434404
+0
+-bs_BCEndPoint
+1
+<20101007085502-434
+-bs_RefCounter
+0
+N
+>20101007085502-275
+>20101007085502-276
+<20101007085502-435
+-bs_RefCounter
+0
+N
+-bs_BCEndPoint
+1
+>20101007085502-404
+>20101007085502-405
+>20101007085502-213
+>20101007085502-214
+<20101007085502-437
+-bs_RefCounter
+0
+N
+t
+<20101007085843-72
+-bs_RefCounter
+0
+<20101007085843-73
+-bs_BindingContract
+3
+-BindingContract5
+f
+f
+0
+1286434653
+0
+-bs_BCEndPoint
+1
+<20101007085843-75
+-bs_RefCounter
+0
+N
+>20101007085502-392
+>20101007085502-393
+<20101007085843-76
+-bs_RefCounter
+0
+N
+-bs_BCEndPoint
+1
+>20101007085502-404
+>20101007085502-405
+>20101007085843-69
+>20101007085843-70
+<20101007085843-78
+-bs_RefCounter
+0
+N
+t
+<20101007085843-79
+-bs_RefCounter
+0
+<20101007085843-80
+-bs_BindingContract
+3
+-BindingContract6
+f
+f
+0
+1286434685
+0
+-bs_BCEndPoint
+1
+<20101007085843-82
+-bs_RefCounter
+0
+N
+>20101007085843-65
+>20101007085843-66
+<20101007085843-83
+-bs_RefCounter
+0
+N
+-bs_BCEndPoint
+1
+>20101007085502-399
+>20101007085502-400
+>20101007085843-69
+>20101007085843-70
+<20101007085843-85
+-bs_RefCounter
+0
+N
+f
+-bs_SizeFactors
+0
+1.8
+1
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286434302
+-bs_PrtvRefList
+1
+-Primitive
+0
+1286434302
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286434302
+0
+f
+0
+1286434302
+-bs_ActorBehaviour
+7
+<20101007085502-443
+-bs_RefCounter
+0
+<20101007085502-444
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1286434302
+5
+f
+-bs_StateGraph
+8
+<20101007085502-447
+-bs_RefCounter
+0
+<20101007085502-448
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1286434302
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1286434302
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1286434302
+0
+f
+-bs_StateList
+1
+-State
+0
+1286434302
+0
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1286434302
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286434302
+0
+f
+t
+65535
+f
+f
+0
+1286434302
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1286434302
+-
+-
+-
+1024
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286434302
+0
+1286434302
+-bs_ActorMemberFct
+1
+f
+0
+1286434302
+t
+f
+f
+t
+<20101007085843-86
+-bs_RefCounter
+0
+<20101007085843-87
+-bs_ActorClass
+3
+-AFunctionB
+f
+f
+0
+1286449811
+0
+0
+8
+-AControl
+f
+-bs_ActorInterface
+3
+-bs_PortRefList
+1
+-Port
+0
+1286434615
+0
+t
+>20101007085502-201
+>20101007085502-202
+t
+>20101007085502-213
+>20101007085502-214
+t
+>20101007085843-48
+>20101007085843-49
+f
+0
+0
+1286434509
+-bs_ActorStructure
+7
+-bs_PortRefList
+1
+-Port
+0
+1286434615
+0
+t
+>20101007085502-201
+>20101007085502-202
+t
+>20101007085502-213
+>20101007085502-214
+t
+>20101007085502-243
+>20101007085502-244
+t
+>20101007085502-275
+>20101007085502-276
+t
+>20101007085843-48
+>20101007085843-49
+f
+-bs_SAPRefList
+1
+-SAP
+0
+1286449811
+0
+t
+>20101007091211-144
+>20101007091211-145
+f
+t
+-bs_ActorRefList
+1
+-ActorRef
+0
+1286434509
+0
+f
+-bs_BindingContractList
+1
+-BindingContract
+0
+1286434509
+0
+f
+-bs_SizeFactors
+0
+1.8
+1
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286434509
+-bs_PrtvRefList
+1
+-Primitive
+0
+1286434509
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286434509
+0
+f
+0
+1286434509
+-bs_ActorBehaviour
+7
+<20101007085843-100
+-bs_RefCounter
+0
+<20101007085843-101
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1286434509
+5
+f
+-bs_StateGraph
+8
+<20101007085843-104
+-bs_RefCounter
+0
+<20101007085843-105
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1286434509
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1286434509
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1286434509
+0
+f
+-bs_StateList
+1
+-State
+0
+1286434509
+0
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1286434509
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286434509
+0
+f
+t
+65535
+f
+f
+0
+1286434509
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1286434509
+-
+-
+-
+1024
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286434509
+0
+1286434509
+-bs_ActorMemberFct
+1
+f
+0
+1286434509
+t
+f
+f
+t
+<20101007085843-115
+-bs_RefCounter
+0
+<20101007085843-116
+-bs_ActorClass
+3
+-AClient
+f
+f
+0
+1286434559
+0
+0
+8
+-AControl
+f
+-bs_ActorInterface
+3
+-bs_PortRefList
+1
+-Port
+0
+1286434707
+0
+t
+>20101007085502-201
+>20101007085502-202
+t
+>20101007085502-213
+>20101007085502-214
+t
+>20101007085843-41
+>20101007085843-42
+t
+>20101007085843-53
+>20101007085843-54
+t
+>20101007085843-60
+>20101007085843-61
+f
+0
+0
+1286434548
+-bs_ActorStructure
+7
+-bs_PortRefList
+1
+-Port
+0
+1286434707
+0
+t
+>20101007085502-201
+>20101007085502-202
+t
+>20101007085502-213
+>20101007085502-214
+t
+>20101007085502-243
+>20101007085502-244
+t
+>20101007085502-275
+>20101007085502-276
+t
+>20101007085843-41
+>20101007085843-42
+t
+>20101007085843-53
+>20101007085843-54
+t
+>20101007085843-60
+>20101007085843-61
+f
+-bs_SAPRefList
+1
+-SAP
+0
+1286434548
+0
+t
+>20101007091211-144
+>20101007091211-145
+f
+t
+-bs_ActorRefList
+1
+-ActorRef
+0
+1286434548
+0
+f
+-bs_BindingContractList
+1
+-BindingContract
+0
+1286434548
+0
+f
+-bs_SizeFactors
+0
+1.8
+1
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286434548
+-bs_PrtvRefList
+1
+-Primitive
+0
+1286434548
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286434548
+0
+f
+0
+1286434548
+-bs_ActorBehaviour
+7
+<20101007085843-129
+-bs_RefCounter
+0
+<20101007085843-130
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1286434548
+5
+f
+-bs_StateGraph
+8
+<20101007085843-133
+-bs_RefCounter
+0
+<20101007085843-134
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1286434548
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1286434548
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1286434548
+0
+f
+-bs_StateList
+1
+-State
+0
+1286434548
+0
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1286434548
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1286434548
+0
+f
+t
+65535
+f
+f
+0
+1286434548
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1286434548
+-
+-
+-
+1024
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1286434548
+0
+1286434548
+-bs_ActorMemberFct
+1
+f
+0
+1286434548
+t
+f
+f
+f
+-------------------------------
+
+
+ROOM_CONFIGURATION_DATA
+
+106
+
+# Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# PersObj-Version: 4 standard
+#
+-bs_ConfigurationList
+-bs_ConfigurationList
+1
+-Configuration
+0
+1286433748
+0
+t
+<20101007085502-459
+-bs_RefCounter
+0
+<20101007085502-460
+-bs_Configuration
+3
+-StdConfig
+f
+f
+0
+1286433748
+6
+>20101007085502-174
+>20101007085502-175
+-bs_TargetList
+1
+-Target
+0
+1286433748
+0
+t
+<20101007085502-463
+-bs_RefCounter
+0
+<20101007085502-464
+-bs_Target
+3
+-PC
+f
+f
+0
+1286433748
+5
+-pc_id
+0
+0
+2
+2
+-bs_FileList
+1
+-FileListDummyName
+0
+1286433748
+0
+f
+f
+-bs_ContextCoord
+0
+0.5
+0.5
+-bs_SizeFactors
+0
+1
+1
+f
+-bs_NoteList
+1
+-Note
+0
+1286433748
+0
+f
+-bs_PrtvDescriptorList
+1
+-PrtvInstance
+0
+1286433748
+0
+f
+-bs_ActorInstanceList
+1
+-ActorInstance
+0
+1286433748
+0
+t
+<20101007090643-1
+-bs_RefCounter
+0
+<20101007090643-2
+-bs_ActorInstance
+3
+-ComponentMain
+f
+f
+0
+1286435175
+5
+8
+<20101007090643-3
+-bs_RefCounter
+0
+N
+0
+f
+<20101007091211-333
+-bs_DataMemberList
+1
+-var
+0
+1286435378
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1286435175
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1286435175
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1286435175
+0
+f
+t
+1024
+t
+<20101007090643-7
+-bs_RefCounter
+0
+<20101007090643-8
+-bs_ActorInstance
+3
+-ComponentMain/controller
+f
+f
+0
+1286435175
+5
+8
+<20101007090643-9
+-bs_RefCounter
+0
+N
+0
+f
+<20101007091211-337
+-bs_DataMemberList
+1
+-var
+0
+1286435378
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1286435175
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1286435175
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1286435175
+0
+f
+t
+1024
+t
+<20101007090643-13
+-bs_RefCounter
+0
+<20101007090643-14
+-bs_ActorInstance
+3
+-ComponentMain/fcta
+f
+f
+0
+1286435175
+5
+8
+<20101007090643-15
+-bs_RefCounter
+0
+N
+0
+f
+<20101007091211-341
+-bs_DataMemberList
+1
+-var
+0
+1286435378
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1286435175
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1286435175
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1286435504
+0
+f
+t
+1024
+t
+<20101007090643-19
+-bs_RefCounter
+0
+<20101007090643-20
+-bs_ActorInstance
+3
+-ComponentMain/fcta/sub1
+f
+f
+0
+1286435175
+5
+8
+<20101007090643-21
+-bs_RefCounter
+0
+N
+0
+f
+<20101007091211-345
+-bs_DataMemberList
+1
+-var
+0
+1286435378
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1286435175
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1286435175
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1286435487
+0
+f
+t
+1024
+t
+<20101007090643-25
+-bs_RefCounter
+0
+<20101007090643-26
+-bs_ActorInstance
+3
+-ComponentMain/fcta/sub2
+f
+f
+0
+1286435175
+5
+8
+<20101007090643-27
+-bs_RefCounter
+0
+N
+0
+f
+<20101007091211-349
+-bs_DataMemberList
+1
+-var
+0
+1286435378
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1286435175
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1286435175
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1286435487
+0
+f
+t
+1024
+t
+<20101007090643-31
+-bs_RefCounter
+0
+<20101007090643-32
+-bs_ActorInstance
+3
+-ComponentMain/fctb
+f
+f
+0
+1286435175
+5
+8
+<20101007090643-33
+-bs_RefCounter
+0
+N
+0
+f
+<20101007091211-353
+-bs_DataMemberList
+1
+-var
+0
+1286435378
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1286435175
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1286435175
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1286449811
+0
+f
+t
+1024
+t
+<20101007090643-37
+-bs_RefCounter
+0
+<20101007090643-38
+-bs_ActorInstance
+3
+-ComponentMain/client
+f
+f
+0
+1286435175
+5
+8
+<20101007090643-39
+-bs_RefCounter
+0
+N
+0
+f
+<20101007091211-357
+-bs_DataMemberList
+1
+-var
+0
+1286435378
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1286435175
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1286435175
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1286435175
+0
+f
+t
+1024
+f
+>20101007085502-463
+>20101007085502-464
+0
+-bs_PropertySet
+0
+f
+-bs_ViewMementoList
+1
+-ViewMemento
+0
+1292431751
+0
+t
+<20101215174911-350
+-bs_RefCounter
+0
+<20101215174911-351
+-bs_ViewMemento
+3
+-
+f
+f
+0
+1292431751
+1
+0
+1
+25
+25
+872
+524
+>20101007085502-174
+>20101007085502-175
+-ComponentMain/fcta
+f
+f
+>20101007085502-459
+>20101007085502-460
+-842150451
+-bs_DataObjHist
+0
+0
diff --git a/tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/InstanceTestsActivator.java b/tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/InstanceTestsActivator.java
new file mode 100644
index 000000000..be7fd55f3
--- /dev/null
+++ b/tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/InstanceTestsActivator.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
+ *
+ *******************************************************************************/
+
+package org.eclipse.etrice.generator;
+import org.eclipse.core.runtime.Plugin;
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+
+
+public class InstanceTestsActivator extends Plugin implements BundleActivator {
+
+ private static InstanceTestsActivator instance = null;
+
+ public static InstanceTestsActivator getInstance() {
+ return instance;
+ }
+
+ @Override
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+
+ instance = this;
+ }
+}
diff --git a/tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestConnectedPorts.java b/tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestConnectedPorts.java
new file mode 100644
index 000000000..2823073f9
--- /dev/null
+++ b/tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestConnectedPorts.java
@@ -0,0 +1,90 @@
+/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
+ *
+ *******************************************************************************/
+
+package org.eclipse.etrice.generator;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.etrice.generator.etricegen.ETriceGenPackage;
+import org.eclipse.etrice.generator.etricegen.PortInstance;
+import org.eclipse.etrice.generator.etricegen.PortKind;
+import org.eclipse.etrice.generator.etricegen.Root;
+import org.junit.Before;
+import org.junit.Test;
+
+
+public class TestConnectedPorts extends TestInstanceModelBuilderBase {
+
+ private Root root;
+ private HashMap<EClass, ArrayList<EObject>> instances;
+
+ @Before
+ public void setUp() {
+ prepare();
+
+ root = buildInstanceModel("connected_ports.room");
+ instances = collectInstances(root);
+ }
+
+ @Test
+ public void testPortNumbers() {
+ ArrayList<EObject> ports = instances.get(ETriceGenPackage.eINSTANCE.getPortInstance());
+ assertEquals("Number of PortInstances", 19, ports.size());
+ }
+
+ @Test
+ public void testRelayPort() {
+ ArrayList<EObject> ports = instances.get(ETriceGenPackage.eINSTANCE.getPortInstance());
+
+ PortInstance p = (PortInstance) getInstance(ports, "/CMain/test_a1/relay");
+ assertNotNull("port expected", p);
+ assertEquals("relay port expected", PortKind.RELAY, p.getKind());
+ assertFalse("no conjuagted port expected", p.getPort().isConjugated());
+ }
+
+ @Test
+ public void testInternalEndPort() {
+ ArrayList<EObject> ports = instances.get(ETriceGenPackage.eINSTANCE.getPortInstance());
+
+ PortInstance p = (PortInstance) getInstance(ports, "/CMain/test_a2/int_end");
+ assertNotNull("port expected", p);
+ assertEquals("internal port expected", PortKind.INTERNAL, p.getKind());
+ assertTrue("conjuagted port expected", p.getPort().isConjugated());
+ assertEquals("port connected once", 1, p.getPeers().size());
+ PortInstance peer = (PortInstance) getInstance(p.getPeers(), "/CMain/test_a2/sub/p2");
+ assertNotNull("peer expected", peer);
+ PortInstance start = (PortInstance) getInstance(peer.getPeers(), "/CMain/test_a2/int_end");
+ assertNotNull("peer expected", start);
+ assertEquals("peer of peer is start", p, start);
+ }
+
+ @Test
+ public void testExternalEndPortConnectedToRelayPort() {
+ ArrayList<EObject> ports = instances.get(ETriceGenPackage.eINSTANCE.getPortInstance());
+
+ PortInstance p = (PortInstance) getInstance(ports, "/CMain/test_a2/sub/p1");
+ assertNotNull("port expected", p);
+ assertEquals("external port expected", PortKind.EXTERNAL, p.getKind());
+ assertEquals("port connected once", 1, p.getPeers().size());
+ PortInstance peer = (PortInstance) getInstance(p.getPeers(), "/CMain/test_b/sub1/p");
+ assertEquals("port connected twice", 2, peer.getPeers().size());
+ }
+
+}
diff --git a/tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestHierarchy.java b/tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestHierarchy.java
new file mode 100644
index 000000000..2038f5396
--- /dev/null
+++ b/tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestHierarchy.java
@@ -0,0 +1,57 @@
+/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
+ *
+ *******************************************************************************/
+
+package org.eclipse.etrice.generator;
+
+import static org.junit.Assert.*;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.etrice.generator.etricegen.ActorInstance;
+import org.eclipse.etrice.generator.etricegen.ETriceGenPackage;
+import org.eclipse.etrice.generator.etricegen.Root;
+import org.junit.Before;
+import org.junit.Test;
+
+
+public class TestHierarchy extends TestInstanceModelBuilderBase {
+
+ private Root root;
+
+ @Before
+ public void setUp() {
+ prepare();
+
+ root = buildInstanceModel("hierarchy.room");
+ }
+
+ @Test
+ public void testInstances() {
+
+ HashMap<EClass,ArrayList<EObject>> instances = collectInstances(root);
+
+ assertEquals("Number of ComponentInstances", 1, instances.get(ETriceGenPackage.eINSTANCE.getSubSystemInstance()).size());
+ assertEquals("Number of ActorInstances", 18, instances.get(ETriceGenPackage.eINSTANCE.getActorInstance()).size());
+
+ ActorInstance ai = root.getSubSystems().get(0).getInstances().get(0);
+ assertEquals("Instance Path", "/CMain/l1a", ai.getPath());
+
+ ai = ai.getInstances().get(1);
+ assertEquals("Instance Path", "/CMain/l1a/l2b", ai.getPath());
+
+ ai = ai.getInstances().get(2);
+ assertEquals("Instance Path", "/CMain/l1a/l2b/l3c", ai.getPath());
+ }
+}
diff --git a/tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestInstanceModelBuilderBase.java b/tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestInstanceModelBuilderBase.java
new file mode 100644
index 000000000..673694c88
--- /dev/null
+++ b/tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestInstanceModelBuilderBase.java
@@ -0,0 +1,158 @@
+/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
+ *
+ *******************************************************************************/
+
+package org.eclipse.etrice.generator;
+
+import static org.junit.Assert.fail;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.emf.common.util.TreeIterator;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.etrice.core.naming.RoomNameProvider;
+import org.eclipse.xtext.resource.XtextResource;
+import org.eclipse.xtext.resource.XtextResourceSet;
+
+import org.eclipse.etrice.core.room.RoomModel;
+import org.eclipse.etrice.core.room.StateGraphItem;
+import org.eclipse.etrice.generator.builder.ILogger;
+import org.eclipse.etrice.generator.builder.InstanceModelBuilder;
+import org.eclipse.etrice.generator.etricegen.IDiagnostician;
+import org.eclipse.etrice.generator.etricegen.InstanceBase;
+import org.eclipse.etrice.generator.etricegen.Root;
+
+public class TestInstanceModelBuilderBase {
+
+ class Logger implements ILogger {
+
+ @Override
+ public void logInfo(String text) {
+ }
+
+ @Override
+ public void logError(String text, EObject obj) {
+ }
+
+ }
+
+ class Diagnostician implements IDiagnostician {
+
+ @Override
+ public void warning(String msg, EObject source) {
+ }
+
+ @Override
+ public void warning(String msg, EObject source, int feature) {
+ }
+
+ @Override
+ public void error(String msg, EObject source) {
+ fail(msg+RoomNameProvider.getLocation(source));
+ }
+
+ @Override
+ public void error(String msg, EObject source, int feature) {
+ fail(msg+RoomNameProvider.getLocation(source));
+ }
+
+ @Override
+ public boolean isFailed() {
+ return false;
+ }
+
+ }
+
+ private String basePath;
+
+ protected void prepare() {
+ try {
+ URL modelsDir = InstanceTestsActivator.getInstance().getBundle().getEntry("models");
+ URL fileURL = FileLocator.toFileURL(modelsDir);
+ basePath = fileURL.getFile();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+ protected LinkedList<RoomModel> getModels(String modelName) {
+ LinkedList<RoomModel> models = new LinkedList<RoomModel>();
+ XtextResourceSet rs = new XtextResourceSet();
+ rs.addLoadOption(XtextResource.OPTION_RESOLVE_ALL, Boolean.TRUE);
+ String path = basePath + modelName;
+ URI uri = URI.createFileURI(path);
+ Resource resource = rs.getResource(uri, true);
+ Object root = resource.getContents().get(0);
+ if (root instanceof RoomModel)
+ models.add((RoomModel) root);
+ else
+ fail("File contains no RoomModel as root object");
+
+ return models;
+ }
+
+ protected Root buildInstanceModel(String modelName) {
+ InstanceModelBuilder builder = new InstanceModelBuilder(new Logger(), new Diagnostician());
+ LinkedList<RoomModel> models = getModels(modelName);
+ Root root = builder.createInstanceModel(models);
+ return root;
+ }
+
+ protected HashMap<EClass, ArrayList<EObject>> collectInstances(EObject root) {
+ HashMap<EClass, ArrayList<EObject>> result = new HashMap<EClass, ArrayList<EObject>>();
+
+ TreeIterator<EObject> it = root.eAllContents();
+ while (it.hasNext()) {
+ EObject obj = it.next();
+ EClass ecl = obj.eClass();
+ ArrayList<EObject> instances = result.get(ecl);
+ if (instances==null) {
+ instances = new ArrayList<EObject>();
+ result.put(ecl, instances);
+ }
+ instances.add(obj);
+ }
+
+ return result;
+ }
+
+ protected InstanceBase getInstance(List<? extends EObject> objects, String path) {
+ for (EObject obj : objects) {
+ if (obj instanceof InstanceBase) {
+ InstanceBase inst = (InstanceBase) obj;
+ if (inst.getPath().equals(path))
+ return inst;
+ }
+ }
+ return null;
+ }
+
+ protected StateGraphItem getStateGraphItem(List<? extends EObject> objects, String path) {
+ for (EObject obj : objects) {
+ if (obj instanceof StateGraphItem) {
+ StateGraphItem item = (StateGraphItem) obj;
+ if (RoomNameProvider.getFullPath(item).equals(path))
+ return item;
+ }
+ }
+ return null;
+ }
+
+}
diff --git a/tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestLayers.java b/tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestLayers.java
new file mode 100644
index 000000000..b8bb08a37
--- /dev/null
+++ b/tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestLayers.java
@@ -0,0 +1,73 @@
+/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
+ *
+ *******************************************************************************/
+
+package org.eclipse.etrice.generator;
+
+import static org.junit.Assert.*;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.etrice.generator.etricegen.ETriceGenPackage;
+import org.eclipse.etrice.generator.etricegen.InterfaceItemInstance;
+import org.eclipse.etrice.generator.etricegen.Root;
+import org.eclipse.etrice.generator.etricegen.SAPInstance;
+import org.eclipse.etrice.generator.etricegen.ServiceImplInstance;
+import org.junit.Before;
+import org.junit.Test;
+
+
+public class TestLayers extends TestInstanceModelBuilderBase {
+
+ private Root root;
+ private HashMap<EClass, ArrayList<EObject>> instances;
+
+ @Before
+ public void setUp() {
+ prepare();
+
+ root = buildInstanceModel("layers.room");
+ instances = collectInstances(root);
+ }
+
+ @Test
+ public void testInstanceNumbers() {
+ ArrayList<EObject> saps = instances.get(ETriceGenPackage.eINSTANCE.getSAPInstance());
+ assertEquals("Number of SAPInstances", 6, saps.size());
+
+ ArrayList<EObject> spps = instances.get(ETriceGenPackage.eINSTANCE.getSPPInstance());
+ assertEquals("Number of SPPInstances", 7, spps.size());
+
+ ArrayList<EObject> svcs = instances.get(ETriceGenPackage.eINSTANCE.getServiceImplInstance());
+ assertEquals("Number of ServiceImplInstances", 3, svcs.size());
+ }
+
+ @Test
+ public void testLayerConnections() {
+ ArrayList<EObject> saps = instances.get(ETriceGenPackage.eINSTANCE.getSAPInstance());
+
+ for (EObject obj : saps) {
+ assertEquals("SAP has one peer", 1, ((SAPInstance)obj).getPeers().size());
+ }
+
+ SAPInstance sap = (SAPInstance) getInstance(saps, "/CMain/app/subsysA/userX/sap");
+ assertNotNull("sap expected", sap);
+ InterfaceItemInstance peer = ((SAPInstance)sap).getPeers().get(0);
+ assertTrue("peer is a service", (peer instanceof ServiceImplInstance));
+ ServiceImplInstance svc = (ServiceImplInstance) peer;
+ assertEquals("number of serviceA peers", 3, svc.getPeers().size());
+ assertEquals("sap and service have same protocol", sap.getSap().getProtocol(), svc.getSvcImpl().getSpp().getProtocol());
+ }
+
+}
diff --git a/tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestPorts.java b/tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestPorts.java
new file mode 100644
index 000000000..ac093315f
--- /dev/null
+++ b/tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestPorts.java
@@ -0,0 +1,58 @@
+/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
+ *
+ *******************************************************************************/
+
+package org.eclipse.etrice.generator;
+
+import static org.junit.Assert.assertEquals;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.etrice.generator.etricegen.ETriceGenPackage;
+import org.eclipse.etrice.generator.etricegen.PortInstance;
+import org.eclipse.etrice.generator.etricegen.Root;
+import org.junit.Before;
+import org.junit.Test;
+
+
+public class TestPorts extends TestInstanceModelBuilderBase {
+
+ private Root root;
+
+ @Before
+ public void setUp() {
+ prepare();
+
+ root = buildInstanceModel("ports.room");
+ }
+
+ @Test
+ public void testPortNumbers() {
+ HashMap<EClass, ArrayList<EObject>> instances = collectInstances(root);
+ assertEquals("Number of PortInstances", 3, instances.get(ETriceGenPackage.eINSTANCE.getPortInstance()).size());
+ }
+
+ @Test
+ public void testPortInstancePaths() {
+ PortInstance pi = root.getSubSystems().get(0).getInstances().get(0).getPorts().get(0);
+ assertEquals("Port Name", "/CMain/test/externalEnd", pi.getPath());
+
+ pi = root.getSubSystems().get(0).getInstances().get(0).getPorts().get(1);
+ assertEquals("Port Name", "/CMain/test/internalEnd", pi.getPath());
+
+ pi = root.getSubSystems().get(0).getInstances().get(0).getPorts().get(2);
+ assertEquals("Port Name", "/CMain/test/relay", pi.getPath());
+ }
+
+}
diff --git a/tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestStates.java b/tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestStates.java
new file mode 100644
index 000000000..1500f48ba
--- /dev/null
+++ b/tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestStates.java
@@ -0,0 +1,120 @@
+/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
+ *
+ *******************************************************************************/
+
+package org.eclipse.etrice.generator;
+
+import static org.junit.Assert.*;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.etrice.core.naming.RoomNameProvider;
+import org.junit.Before;
+import org.junit.Test;
+
+import org.eclipse.etrice.core.room.ChoicePoint;
+import org.eclipse.etrice.core.room.ContinuationTransition;
+import org.eclipse.etrice.core.room.RoomPackage;
+import org.eclipse.etrice.core.room.State;
+import org.eclipse.etrice.core.room.Transition;
+import org.eclipse.etrice.generator.etricegen.ExpandedActorClass;
+import org.eclipse.etrice.generator.etricegen.Root;
+import org.eclipse.etrice.generator.etricegen.TransitionChain;
+
+public class TestStates extends TestInstanceModelBuilderBase {
+
+ private Root root;
+ private HashMap<EClass, ArrayList<EObject>> instances;
+
+ @Before
+ public void setUp() {
+ prepare();
+
+ root = buildInstanceModel("states.room");
+ instances = collectInstances(root.getXpActorClasses().get(0));
+ }
+
+ @Test
+ public void testNumbers() {
+ assertEquals("number of states", 7, instances.get(RoomPackage.eINSTANCE.getBaseState()).size());
+ assertEquals("number of choice points", 1, instances.get(RoomPackage.eINSTANCE.getChoicePoint()).size());
+ assertEquals("number of transition points", 2, instances.get(RoomPackage.eINSTANCE.getTransitionPoint()).size());
+ assertEquals("number of entry points", 1, instances.get(RoomPackage.eINSTANCE.getEntryPoint()).size());
+ assertEquals("number of exit points", 1, instances.get(RoomPackage.eINSTANCE.getExitPoint()).size());
+ assertEquals("number of initial transitions", 2, instances.get(RoomPackage.eINSTANCE.getInitialTransition()).size());
+ assertEquals("number of triggered transitions", 9, instances.get(RoomPackage.eINSTANCE.getTriggeredTransition()).size());
+ assertEquals("number of continuation transitions", 3, instances.get(RoomPackage.eINSTANCE.getContinuationTransition()).size());
+ assertEquals("number of branch transitions", 2, instances.get(RoomPackage.eINSTANCE.getCPBranchTransition()).size());
+ }
+
+ @Test
+ public void testXPACGeneral() {
+ ExpandedActorClass xpac = root.getXpActorClasses().get(0);
+ assertEquals("actor class", xpac.getActorClass().getName(), "ATest");
+ EList<TransitionChain> chains = xpac.getTransitionChains();
+ assertEquals("number of chains", 11, chains.size());
+ assertEquals("numer of triggers", 3, xpac.getTriggers().size());
+ }
+
+ @Test
+ public void testGraph() {
+ ArrayList<EObject> states = instances.get(RoomPackage.eINSTANCE.getBaseState());
+// for (EObject obj : states) {
+// LogicalSystem.out.println("state "+RoomNameProvider.getFullPath((StateGraphItem) obj));
+// }
+
+ ExpandedActorClass xpac = root.getXpActorClasses().get(0);
+
+ State s = (State) getStateGraphItem(states, "State3_State3");
+ assertNotNull("state exists", s);
+ assertEquals("number of incoming transitions", 3, xpac.getIncomingTransitions(s).size());
+ assertEquals("number of outgoing transitions", 2, xpac.getOutgoingTransitions(s).size());
+
+ assertEquals("active triggers", 3, xpac.getActiveTriggers(s).size());
+
+ s = (State) getStateGraphItem(states, "State2");
+ assertNotNull("state exists", s);
+ assertEquals("number of incoming transitions", 3, xpac.getIncomingTransitions(s).size());
+ assertEquals("number of outgoing transitions", 1, xpac.getOutgoingTransitions(s).size());
+
+ assertEquals("active triggers", 2, xpac.getActiveTriggers(s).size());
+
+ ArrayList<EObject> cps = instances.get(RoomPackage.eINSTANCE.getChoicePoint());
+
+ ChoicePoint cp = (ChoicePoint) cps.get(0);
+ assertEquals("choicepoint name", "CP1", RoomNameProvider.getFullPath(cp));
+ assertEquals("number of incoming transitions", 1, xpac.getIncomingTransitions(cp).size());
+ assertEquals("number of outgoing transitions", 3, xpac.getOutgoingTransitions(cp).size());
+
+ ContinuationTransition dflt = xpac.getDefaultBranch(xpac.getOutgoingTransitions(cp));
+ assertNotNull("default branch", dflt);
+ }
+
+ @Test
+ public void testChains() {
+ ArrayList<EObject> cts = instances.get(RoomPackage.eINSTANCE.getContinuationTransition());
+// for (EObject obj : cts) {
+// LogicalSystem.out.println("ct "+RoomNameProvider.getFullPath((StateGraphItem) obj));
+// }
+
+ Transition t = (Transition) getStateGraphItem(cts, "State3_TRANS_tp1_TO_State3");
+ assertNotNull("transition", t);
+
+ ExpandedActorClass xpac = root.getXpActorClasses().get(0);
+ TransitionChain chain = xpac.getChain(t);
+ assertNotNull("chain", chain);
+ assertEquals("chain name", "TRANS_tp0_TO_State3_tp1_BY_afct", RoomNameProvider.getFullPath(chain.getTransition()));
+ }
+}
diff --git a/tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestStatesAndTriggers.java b/tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestStatesAndTriggers.java
new file mode 100644
index 000000000..8d3787a1b
--- /dev/null
+++ b/tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestStatesAndTriggers.java
@@ -0,0 +1,144 @@
+/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
+ *
+ *******************************************************************************/
+package org.eclipse.etrice.generator;
+
+import static org.junit.Assert.*;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.etrice.core.naming.RoomNameProvider;
+import org.junit.Before;
+import org.junit.Test;
+
+import org.eclipse.etrice.core.room.ChoicePoint;
+import org.eclipse.etrice.core.room.ContinuationTransition;
+import org.eclipse.etrice.core.room.Port;
+import org.eclipse.etrice.core.room.RoomPackage;
+import org.eclipse.etrice.core.room.SAPRef;
+import org.eclipse.etrice.core.room.State;
+import org.eclipse.etrice.core.room.Transition;
+import org.eclipse.etrice.generator.etricegen.ExpandedActorClass;
+import org.eclipse.etrice.generator.etricegen.Root;
+import org.eclipse.etrice.generator.etricegen.TransitionChain;
+
+public class TestStatesAndTriggers extends TestInstanceModelBuilderBase {
+
+ private Root root;
+ private ExpandedActorClass xpac;
+ private HashMap<EClass, ArrayList<EObject>> instances;
+
+ @Before
+ public void setUp() {
+ prepare();
+
+ root = buildInstanceModel("states_triggers.room");
+ xpac = getTestee();
+ instances = collectInstances(xpac);
+ }
+
+ private ExpandedActorClass getTestee() {
+ for (ExpandedActorClass xpac : root.getXpActorClasses()) {
+ if (xpac.getActorClass().getName().equals("ATest"))
+ return xpac;
+ }
+ return null;
+ }
+
+ @Test
+ public void testNumbers() {
+ assertEquals("number of states", 7, instances.get(RoomPackage.eINSTANCE.getBaseState()).size());
+ assertEquals("number of choice points", 1, instances.get(RoomPackage.eINSTANCE.getChoicePoint()).size());
+ assertEquals("number of transition points", 4, instances.get(RoomPackage.eINSTANCE.getTransitionPoint()).size());
+ assertEquals("number of entry points", 1, instances.get(RoomPackage.eINSTANCE.getEntryPoint()).size());
+ assertEquals("number of exit points", 1, instances.get(RoomPackage.eINSTANCE.getExitPoint()).size());
+ assertEquals("number of initial transitions", 2, instances.get(RoomPackage.eINSTANCE.getInitialTransition()).size());
+ assertEquals("number of triggered transitions", 11, instances.get(RoomPackage.eINSTANCE.getTriggeredTransition()).size());
+ assertEquals("number of continuation transitions", 3, instances.get(RoomPackage.eINSTANCE.getContinuationTransition()).size());
+ assertEquals("number of branch transitions", 2, instances.get(RoomPackage.eINSTANCE.getCPBranchTransition()).size());
+ }
+
+ @Test
+ public void testXPACGeneral() {
+ EList<TransitionChain> chains = xpac.getTransitionChains();
+ assertEquals("number of chains", 13, chains.size());
+ assertEquals("numer of triggers", 7, xpac.getTriggers().size());
+ }
+
+ @Test
+ public void testGraph() {
+ ArrayList<EObject> states = instances.get(RoomPackage.eINSTANCE.getBaseState());
+// for (EObject obj : states) {
+// LogicalSystem.out.println("state "+RoomNameProvider.getFullPath((StateGraphItem) obj));
+// }
+
+ State s = (State) getStateGraphItem(states, "State3_State3");
+ assertNotNull("state exists", s);
+ assertEquals("number of incoming transitions", 3, xpac.getIncomingTransitions(s).size());
+ assertEquals("number of outgoing transitions", 2, xpac.getOutgoingTransitions(s).size());
+
+ assertEquals("active triggers", 6, xpac.getActiveTriggers(s).size());
+
+ s = (State) getStateGraphItem(states, "State2");
+ assertNotNull("state exists", s);
+ assertEquals("number of incoming transitions", 4, xpac.getIncomingTransitions(s).size());
+ assertEquals("number of outgoing transitions", 1, xpac.getOutgoingTransitions(s).size());
+
+ assertEquals("active triggers", 3, xpac.getActiveTriggers(s).size());
+
+ ArrayList<EObject> cps = instances.get(RoomPackage.eINSTANCE.getChoicePoint());
+
+ ChoicePoint cp = (ChoicePoint) cps.get(0);
+ assertEquals("choicepoint name", "CP1", RoomNameProvider.getFullPath(cp));
+ assertEquals("number of incoming transitions", 1, xpac.getIncomingTransitions(cp).size());
+ assertEquals("number of outgoing transitions", 3, xpac.getOutgoingTransitions(cp).size());
+
+ ContinuationTransition dflt = xpac.getDefaultBranch(xpac.getOutgoingTransitions(cp));
+ assertNotNull("default branch", dflt);
+ }
+
+ @Test
+ public void testChains() {
+ ArrayList<EObject> cts = instances.get(RoomPackage.eINSTANCE.getContinuationTransition());
+// for (EObject obj : cts) {
+// LogicalSystem.out.println("ct "+RoomNameProvider.getFullPath((StateGraphItem) obj));
+// }
+
+ Transition t = (Transition) getStateGraphItem(cts, "State3_TRANS_tp1_TO_State3");
+ assertNotNull("transition", t);
+
+ TransitionChain chain = xpac.getChain(t);
+ assertNotNull("chain", chain);
+ assertEquals("chain name", "TRANS_tp0_TO_State3_tp1_BY_afct", RoomNameProvider.getFullPath(chain.getTransition()));
+ }
+
+ @Test
+ public void testIfItems() {
+ Port fct = xpac.getActorClass().getIfPorts().get(0);
+ Port sub = xpac.getActorClass().getIntPorts().get(0);
+ SAPRef timer = xpac.getActorClass().getStrSAPs().get(0);
+ SAPRef timeout = xpac.getActorClass().getStrSAPs().get(1);
+
+ assertEquals("port name", "fct", fct.getName());
+ assertEquals("port name", "sub", sub.getName());
+ assertEquals("sap name", "timer", timer.getName());
+ assertEquals("sap name", "timeout", timeout.getName());
+
+ assertEquals("port local id", 0, xpac.getInterfaceItemLocalId(fct));
+ assertEquals("port local id", 1, xpac.getInterfaceItemLocalId(sub));
+ assertEquals("sap local id", 2, xpac.getInterfaceItemLocalId(timer));
+ assertEquals("sap local id", 3, xpac.getInterfaceItemLocalId(timeout));
+ }
+}
diff --git a/tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestStatesInheritance.java b/tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestStatesInheritance.java
new file mode 100644
index 000000000..1dd5f931c
--- /dev/null
+++ b/tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestStatesInheritance.java
@@ -0,0 +1,144 @@
+/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
+ *
+ *******************************************************************************/
+
+package org.eclipse.etrice.generator;
+
+import static org.junit.Assert.*;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.etrice.core.naming.RoomNameProvider;
+import org.junit.Before;
+import org.junit.Test;
+
+import org.eclipse.etrice.core.room.ChoicePoint;
+import org.eclipse.etrice.core.room.ContinuationTransition;
+import org.eclipse.etrice.core.room.RoomPackage;
+import org.eclipse.etrice.core.room.State;
+import org.eclipse.etrice.core.room.Transition;
+import org.eclipse.etrice.generator.etricegen.ExpandedActorClass;
+import org.eclipse.etrice.generator.etricegen.Root;
+import org.eclipse.etrice.generator.etricegen.TransitionChain;
+
+public class TestStatesInheritance extends TestInstanceModelBuilderBase {
+
+ private Root root;
+ private HashMap<EClass, ArrayList<EObject>> instances;
+ private ExpandedActorClass xpac;
+
+ @Before
+ public void setUp() {
+ prepare();
+
+ root = buildInstanceModel("states_inheritance.room");
+ xpac = getTestee();
+ instances = collectInstances(xpac);
+ }
+
+ private ExpandedActorClass getTestee() {
+ for (ExpandedActorClass xpac : root.getXpActorClasses()) {
+ if (xpac.getActorClass().getName().equals("ADerived"))
+ return xpac;
+ }
+ return null;
+ }
+
+// private void assertEquals(String msg, int exp, int is) {
+// LogicalSystem.out.println(msg+" exp:"+exp+" is:"+is);
+// }
+//
+// private void assertEquals(String msg, String exp, String is) {
+// LogicalSystem.out.println(msg+" exp:"+exp+" is:"+is);
+// }
+//
+// private void assertEquals(String msg, EObject exp, EObject is) {
+// LogicalSystem.out.println(msg+" exp:"+exp+" is:"+is);
+// }
+
+ @Test
+ public void testNumbers() {
+ assertEquals("number of states", 11, instances.get(RoomPackage.eINSTANCE.getBaseState()).size());
+ assertEquals("number of choice points", 1, instances.get(RoomPackage.eINSTANCE.getChoicePoint()).size());
+ assertEquals("number of transition points", 5, instances.get(RoomPackage.eINSTANCE.getTransitionPoint()).size());
+ assertEquals("number of entry points", 2, instances.get(RoomPackage.eINSTANCE.getEntryPoint()).size());
+ assertEquals("number of exit points", 1, instances.get(RoomPackage.eINSTANCE.getExitPoint()).size());
+ assertEquals("number of initial transitions", 3, instances.get(RoomPackage.eINSTANCE.getInitialTransition()).size());
+ assertEquals("number of triggered transitions", 17, instances.get(RoomPackage.eINSTANCE.getTriggeredTransition()).size());
+ assertEquals("number of continuation transitions", 4, instances.get(RoomPackage.eINSTANCE.getContinuationTransition()).size());
+ assertEquals("number of branch transitions", 3, instances.get(RoomPackage.eINSTANCE.getCPBranchTransition()).size());
+ }
+
+ @Test
+ public void testXPACGeneral() {
+ EList<TransitionChain> chains = xpac.getTransitionChains();
+ assertEquals("number of chains", 20, chains.size());
+ assertEquals("numer of triggers", 8, xpac.getTriggers().size());
+ }
+
+ @Test
+ public void testGraph() {
+ ArrayList<EObject> states = instances.get(RoomPackage.eINSTANCE.getBaseState());
+// for (EObject obj : states) {
+// LogicalSystem.out.println("state "+RoomNameProvider.getFullPath((StateGraphItem) obj));
+// }
+
+ State s = (State) getStateGraphItem(states, "State3_State3");
+ assertNotNull("state exists", s);
+ assertEquals("number of incoming transitions", 3, xpac.getIncomingTransitions(s).size());
+ assertEquals("number of outgoing transitions", 2, xpac.getOutgoingTransitions(s).size());
+
+ assertEquals("active triggers", 6, xpac.getActiveTriggers(s).size());
+
+ s = (State) getStateGraphItem(states, "State2");
+ assertNotNull("state exists", s);
+ assertEquals("number of incoming transitions", 4, xpac.getIncomingTransitions(s).size());
+ assertEquals("number of outgoing transitions", 1, xpac.getOutgoingTransitions(s).size());
+
+ assertEquals("active triggers", 3, xpac.getActiveTriggers(s).size());
+
+ ArrayList<EObject> cps = instances.get(RoomPackage.eINSTANCE.getChoicePoint());
+
+ ChoicePoint cp = (ChoicePoint) cps.get(0);
+ assertEquals("choicepoint name", "CP1", RoomNameProvider.getFullPath(cp));
+ assertEquals("number of incoming transitions", 1, xpac.getIncomingTransitions(cp).size());
+ assertEquals("number of outgoing transitions", 4, xpac.getOutgoingTransitions(cp).size());
+
+ ContinuationTransition dflt = xpac.getDefaultBranch(xpac.getOutgoingTransitions(cp));
+ assertNotNull("default branch", dflt);
+ }
+
+ @Test
+ public void testChains() {
+ ArrayList<EObject> cts = instances.get(RoomPackage.eINSTANCE.getContinuationTransition());
+// for (EObject obj : cts) {
+// LogicalSystem.out.println("ct "+RoomNameProvider.getFullPath((StateGraphItem) obj));
+// }
+
+ Transition t = (Transition) getStateGraphItem(cts, "State3_TRANS_tp1_TO_State3");
+ assertNotNull("transition", t);
+
+ TransitionChain chain = xpac.getChain(t);
+ assertNotNull("chain", chain);
+ assertEquals("chain name", "TRANS_tp0_TO_State3_tp1_BY_afct", RoomNameProvider.getFullPath(chain.getTransition()));
+
+ t = (Transition) getStateGraphItem(cts, "State3_TRANS_tp6_TO_State2");
+ assertNotNull("transition", t);
+
+ chain = xpac.getChain(t);
+ assertNotNull("chain", chain);
+ assertEquals("chain name", "TRANS_State5_TO_State3_tp6_BY_aport", RoomNameProvider.getFullPath(chain.getTransition()));
+ }
+}
diff --git a/tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestStructureInheritance.java b/tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestStructureInheritance.java
new file mode 100644
index 000000000..2f1f22d1c
--- /dev/null
+++ b/tests/org.eclipse.etrice.generator.tests/src/org/eclipse/etrice/generator/TestStructureInheritance.java
@@ -0,0 +1,174 @@
+/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
+ *
+ *******************************************************************************/
+
+package org.eclipse.etrice.generator;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.fail;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.junit.Before;
+import org.junit.Test;
+
+import org.eclipse.etrice.core.room.ActorClass;
+import org.eclipse.etrice.core.room.Port;
+import org.eclipse.etrice.core.room.SAPRef;
+import org.eclipse.etrice.generator.etricegen.ETriceGenPackage;
+import org.eclipse.etrice.generator.etricegen.ExpandedActorClass;
+import org.eclipse.etrice.generator.etricegen.InterfaceItemInstance;
+import org.eclipse.etrice.generator.etricegen.PortInstance;
+import org.eclipse.etrice.generator.etricegen.PortKind;
+import org.eclipse.etrice.generator.etricegen.Root;
+import org.eclipse.etrice.generator.etricegen.SAPInstance;
+import org.eclipse.etrice.generator.etricegen.ServiceImplInstance;
+
+public class TestStructureInheritance extends TestInstanceModelBuilderBase {
+
+ private Root root;
+ private ExpandedActorClass xpac;
+ private HashMap<EClass, ArrayList<EObject>> instances;
+
+ @Before
+ public void setUp() {
+ prepare();
+
+ root = buildInstanceModel("structure_inheritance.room");
+ xpac = getTestee();
+ instances = collectInstances(root);
+ }
+
+ private ExpandedActorClass getTestee() {
+ for (ExpandedActorClass xpac : root.getXpActorClasses()) {
+ if (xpac.getActorClass().getName().equals("AFunctionA"))
+ return xpac;
+ }
+ return null;
+ }
+
+// private void assertEquals(String msg, int exp, int is) {
+// LogicalSystem.out.println(msg+" exp:"+exp+" is:"+is);
+// }
+//
+// private void assertEquals(String msg, EObject exp, EObject is) {
+// LogicalSystem.out.println(msg+" exp:"+exp+" is:"+is);
+// }
+
+ @Test
+ public void testInstanceNumbers() {
+ ArrayList<EObject> actors = instances.get(ETriceGenPackage.eINSTANCE.getActorInstance());
+ assertEquals("Number of ActorInstances", 8, actors.size());
+
+ ArrayList<EObject> ports = instances.get(ETriceGenPackage.eINSTANCE.getPortInstance());
+ assertEquals("Number of PortInstances", 30, ports.size());
+
+ ArrayList<EObject> saps = instances.get(ETriceGenPackage.eINSTANCE.getSAPInstance());
+ assertEquals("Number of SAPInstances", 8, saps.size());
+
+ ArrayList<EObject> spps = instances.get(ETriceGenPackage.eINSTANCE.getSPPInstance());
+ assertEquals("Number of SPPInstances", 2, spps.size());
+
+ ArrayList<EObject> svcs = instances.get(ETriceGenPackage.eINSTANCE.getServiceImplInstance());
+ assertEquals("Number of ServiceImplInstances", 2, svcs.size());
+ }
+
+ @Test
+ public void testLayerConnections() {
+ ArrayList<EObject> saps = instances.get(ETriceGenPackage.eINSTANCE.getSAPInstance());
+
+ for (EObject obj : saps) {
+ assertEquals("SAP has one peer", 1, ((SAPInstance)obj).getPeers().size());
+ }
+
+ SAPInstance sap = (SAPInstance) getInstance(saps, "/CMain/application/fcta/sub2/timeout");
+ assertNotNull("sap expected", sap);
+ InterfaceItemInstance peer = ((SAPInstance)sap).getPeers().get(0);
+ assertTrue("peer is a service", (peer instanceof ServiceImplInstance));
+ ServiceImplInstance svc = (ServiceImplInstance) peer;
+ assertEquals("number of serviceA peers", 8, svc.getPeers().size());
+ assertEquals("sap and service have same protocol", sap.getSap().getProtocol(), svc.getSvcImpl().getSpp().getProtocol());
+ }
+
+ private Port getPort(ActorClass ac, String name) {
+ for (Port p : ac.getIfPorts()) {
+ if (p.getName().equals(name))
+ return p;
+ }
+ for (Port p : ac.getIntPorts()) {
+ if (p.getName().equals(name))
+ return p;
+ }
+
+ if (ac.getBase()!=null)
+ return getPort(ac.getBase(), name);
+
+ fail("port "+name+" not found");
+ return null;
+ }
+
+ private SAPRef getSAP(ActorClass ac, String name) {
+ for (SAPRef sap : ac.getStrSAPs()) {
+ if (sap.getName().equals(name))
+ return sap;
+ }
+
+ if (ac.getBase()!=null)
+ return getSAP(ac.getBase(), name);
+
+ fail("sap "+name+" not found");
+ return null;
+ }
+
+ @Test
+ public void testIfItems() {
+ Port base = getPort(xpac.getActorClass(), "base");
+ Port subbase = getPort(xpac.getActorClass(), "subbase");
+ Port ctrl = getPort(xpac.getActorClass(), "ctrl");
+ Port subctrl = getPort(xpac.getActorClass(), "subctrl");
+ Port fct1 = getPort(xpac.getActorClass(), "fct1");
+ Port fct2 = getPort(xpac.getActorClass(), "fct2");
+ SAPRef ctrltimeout = getSAP(xpac.getActorClass(), "ctrltimeout");
+ SAPRef timeout = getSAP(xpac.getActorClass(), "timeout");
+
+ int lid = 0;
+ assertEquals("port local id", lid++, xpac.getInterfaceItemLocalId(base));
+ assertEquals("port local id", lid++, xpac.getInterfaceItemLocalId(subbase));
+ assertEquals("port local id", lid++, xpac.getInterfaceItemLocalId(ctrl));
+ assertEquals("port local id", lid++, xpac.getInterfaceItemLocalId(subctrl));
+ assertEquals("sap local id", lid++, xpac.getInterfaceItemLocalId(ctrltimeout));
+ assertEquals("sap local id", lid++, xpac.getInterfaceItemLocalId(timeout));
+ assertEquals("relay port local id", -1, xpac.getInterfaceItemLocalId(fct1));
+ assertEquals("relay port local id", -1, xpac.getInterfaceItemLocalId(fct2));
+ }
+
+ @Test
+ public void testPortConnection() {
+ ArrayList<EObject> ports = instances.get(ETriceGenPackage.eINSTANCE.getPortInstance());
+
+ PortInstance p = (PortInstance) getInstance(ports, "/CMain/application/fcta/sub2/fct");
+ assertNotNull("port expected", p);
+ assertEquals("external port expected", PortKind.EXTERNAL.getValue(), p.getKind().getValue());
+ assertFalse("no conjuagted port expected", p.getPort().isConjugated());
+ assertEquals("port connected once", 1, p.getPeers().size());
+ PortInstance peer = (PortInstance) getInstance(p.getPeers(), "/CMain/application/client/pa1");
+ assertNotNull("peer expected", peer);
+ peer = (PortInstance) getInstance(peer.getPeers(), "/CMain/application/fcta/sub2/fct");
+ assertNotNull("peer expected", peer);
+ assertEquals("peer of peer is start", p, peer);
+ }
+}
diff --git a/tests/org.eclipse.etrice.integration.tests/.gitignore b/tests/org.eclipse.etrice.integration.tests/.gitignore
new file mode 100644
index 000000000..ba077a403
--- /dev/null
+++ b/tests/org.eclipse.etrice.integration.tests/.gitignore
@@ -0,0 +1 @@
+bin
diff --git a/tests/org.eclipse.etrice.integration.tests/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.etrice.integration.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..e21c83faa
--- /dev/null
+++ b/tests/org.eclipse.etrice.integration.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,12 @@
+#Fri Sep 17 19:48:42 CEST 2010
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/tests/org.eclipse.etrice.integration.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.etrice.integration.tests/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..1e51648d3
--- /dev/null
+++ b/tests/org.eclipse.etrice.integration.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,21 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: eTrice Integration Tests
+Bundle-SymbolicName: org.eclipse.etrice.integration.tests
+Bundle-Version: 0.1.0
+Export-Package: org.eclipse.etrice.integration.tests
+Require-Bundle: org.eclipse.etrice.generator;bundle-version="0.1.0",
+ org.eclipse.etrice.generator.java;bundle-version="0.1.0",
+ org.eclipse.emf.mwe2.launch;bundle-version="1.0.1";resolution:=optional,
+ org.eclipse.emf.mwe.utils;bundle-version="1.0.0";visibility:=reexport,
+ org.apache.log4j;bundle-version="1.2.15",
+ org.apache.commons.logging;bundle-version="1.0.4",
+ org.eclipse.jface.text;bundle-version="3.6.0",
+ org.eclipse.jdt.core;bundle-version="3.6.0",
+ org.eclipse.xtend.util.stdlib;bundle-version="1.0.0",
+ org.eclipse.core.runtime;bundle-version="3.6.0",
+ org.eclipse.core.resources;bundle-version="3.6.0",
+ org.junit4;bundle-version="4.8.1",
+ org.eclipse.xtext.generator;bundle-version="1.0.0"
+Bundle-Vendor: eTrice (Incubation)
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/tests/org.eclipse.etrice.integration.tests/about.html b/tests/org.eclipse.etrice.integration.tests/about.html
new file mode 100644
index 000000000..f47dbddbb
--- /dev/null
+++ b/tests/org.eclipse.etrice.integration.tests/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2006</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/tests/org.eclipse.etrice.integration.tests/build.properties b/tests/org.eclipse.etrice.integration.tests/build.properties
new file mode 100644
index 000000000..2d6ac57da
--- /dev/null
+++ b/tests/org.eclipse.etrice.integration.tests/build.properties
@@ -0,0 +1,4 @@
+source.. = src/,\
+ src-gen/
+bin.includes = META-INF/,\
+ .
diff --git a/tests/org.eclipse.etrice.integration.tests/model/IntegrationTestFSMGenerator.room b/tests/org.eclipse.etrice.integration.tests/model/IntegrationTestFSMGenerator.room
new file mode 100644
index 000000000..6b2abdde5
--- /dev/null
+++ b/tests/org.eclipse.etrice.integration.tests/model/IntegrationTestFSMGenerator.room
@@ -0,0 +1,319 @@
+RoomModel org.eclipse.etrice.integration.tests {
+
+ DataClass d_Packet {
+ Attribute data : int32
+ }
+
+ ProtocolClass p_SimpleProtocol {
+ incoming {
+ Message data ()
+ }
+ outgoing {
+ Message ack ()
+ Message nak ()
+ Message poll ()
+ }
+ }
+
+ ProtocolClass p_HFSM {
+ incoming {
+ Message m1 ()
+ Message m2 ()
+ Message m3 ()
+ Message m4 ()
+ Message m5 ()
+ Message m6 ()
+ Message reset ()
+ Message m7 ()
+ Message m8 ()
+ Message m9 ()
+ }
+ outgoing {
+ Message init_action ()
+ Message s1_entry ()
+ Message s1_exit ()
+ Message s2_entry ()
+ Message s2_exit ()
+ Message s3_entry ()
+ Message s3_exit ()
+ Message s4_entry ()
+ Message s4_exit ()
+ Message s2s1_entry ()
+ Message s2s1_exit ()
+ Message s2s2_entry ()
+ Message s2s2_exit ()
+ Message s1_m1_s2_action ()
+ Message s2_m1_s2s1_action ()
+ Message s2s1_m2_s2s2_action ()
+ Message s2s2_m3_action ()
+ Message s2_m4_s4_action ()
+ Message s2_m5_s2_action ()
+ Message s2_m6_s2_action ()
+ Message s2__s3_action ()
+ Message s2_m7_s2_action ()
+ Message top_s8_top_action ()
+ Message top_s9_top_action ()
+ Message top_reset_s2_action ()
+ }
+ }
+
+ ActorClass a_HFSM_Tests {
+ Interface {
+ }
+ Structure {
+ ActorRef HFSM : a_HFSM
+ ActorRef Tester : a_HFSM_Tester
+ Binding Tester.testee and HFSM.fct
+ }
+ Behavior {
+ }
+ }
+
+ ActorClass a_HFSM {
+ Interface {
+ Port fct : p_HFSM
+ }
+ Structure {
+ external Port fct
+ }
+ Behavior {
+ StateMachine {
+ State State1 {
+ entry {
+ "fct.s1_entry();"
+ ""
+ }
+ exit {
+ "fct.s1_exit();"
+ }
+ }
+ State State2 {
+ entry {
+ "fct.s2_entry();"
+ }
+ exit {
+ "fct.s2_exit();"
+ }
+ subgraph {
+ State State1 {
+ entry {
+ "fct.s2s1_entry();"
+ }
+ exit {
+ "fct.s2s1_exit();"
+ }
+ }
+ State State2 {
+ entry {
+ "fct.s2s2_entry();"
+ }
+ exit {
+ "fct.s2s2_exit();"
+ }
+ }
+ EntryPoint tp0
+ ExitPoint tp1
+ TransitionPoint tp3
+ handler TransitionPoint tp4
+ Transition tr0: my tp0 -> State1 {
+ action {
+ "fct.s2_m1_s2s1_action();"
+ ""
+ }
+ }
+ Transition tr1: State1 -> State2 {
+ triggers {
+ <m2:fct>
+ }
+ action {
+ "fct.s2s1_m2_s2s2_action();"
+ ""
+ }
+ }
+ Transition tr2: State2 -> my tp1 {
+ triggers {
+ <m3:fct>
+ }
+ action {
+ "fct.s2s2_m3_action();"
+ ""
+ }
+ }
+ Transition tr3: my tp3 -> my tp3 {
+ triggers {
+ <m5:fct>
+ }
+ action {
+ "fct.s2_m5_s2_action();"
+ ""
+ }
+ }
+ Transition tr4: my tp4 -> my tp4 {
+ triggers {
+ <m6:fct>
+ }
+ action {
+ "fct.s2_m6_s2_action();"
+ ""
+ }
+ }
+ }
+ }
+ State State3 {
+ entry {
+ "fct.s3_entry();"
+ }
+ exit {
+ "fct.s3_exit();"
+ }
+ }
+ State State4 {
+ entry {
+ "fct.s4_entry();"
+ }
+ exit {
+ "fct.s4_exit();"
+ }
+ }
+ TransitionPoint tp0
+ TransitionPoint tp1
+ handler TransitionPoint tp2
+ Transition tr0: initial -> State1 {
+ action {
+ "fct.init_action();"
+ ""
+ }
+ }
+ Transition tr1: State1 -> tp0 of State2 {
+ triggers {
+ <m1:fct>
+ }
+ action {
+ "fct.s1_m1_s2_action();"
+ ""
+ }
+ }
+ Transition tr2: tp1 of State2 -> State3 {
+ action {
+ "fct.s2__s3_action();"
+ ""
+ }
+ }
+ Transition tr3: State2 -> State4 {
+ triggers {
+ <m4:fct>
+ }
+ action {
+ "fct.s2_m4_s4_action();"
+ ""
+ }
+ }
+ Transition tr4: my tp0 -> State1 {
+ triggers {
+ <reset:fct>
+ }
+ action {
+ "fct.top_reset_s2_action();"
+ ""
+ }
+ }
+ Transition tr5: State2 -> State2 {
+ triggers {
+ <m7:fct>
+ }
+ action {
+ "fct.s2_m7_s2_action();"
+ ""
+ }
+ }
+ Transition tr6: my tp1 -> my tp1 {
+ triggers {
+ <m8:fct>
+ }
+ action {
+ "fct.top_s8_top_action();"
+ ""
+ }
+ }
+ Transition tr7: my tp2 -> my tp2 {
+ triggers {
+ <m9:fct>
+ }
+ action {
+ "fct.top_s9_top_action();"
+ }
+ }
+ }
+ }
+ }
+
+ ActorClass a_HFSM_Tester {
+ Interface {
+ conjugated Port testee : p_HFSM
+ }
+ Structure {
+ external Port testee
+ }
+ Behavior {
+ StateMachine {
+ State State1 {}
+ State State2 {}
+ State State3 {}
+ State State4 {}
+ State State5 {}
+ State State6 {}
+ State State7 {}
+ State TestPass {
+ entry {
+ "SubSystemClassBase.getInstance().terminate();"
+ }
+ }
+ Transition tr0: initial -> State1 {}
+ Transition tr1: State1 -> State2 {
+ triggers {
+ <init_action:testee>
+ }
+ }
+ Transition tr2: State2 -> State3 {
+ triggers {
+ <s1_entry:testee>
+ }
+ action {
+ "testee.m1();"
+ ""
+ }
+ }
+ Transition tr3: State3 -> State4 {
+ triggers {
+ <s1_exit:testee>
+ }
+ }
+ Transition tr4: State4 -> State5 {
+ triggers {
+ <s1_m1_s2_action:testee>
+ }
+ }
+ Transition tr5: State5 -> State6 {
+ triggers {
+ <s2_entry:testee>
+ }
+ }
+ Transition tr6: State6 -> State7 {
+ triggers {
+ <s2_m1_s2s1_action:testee>
+ }
+ }
+ Transition tr7: State7 -> TestPass {
+ triggers {
+ <s2s1_entry:testee>
+ }
+ }
+ }
+ }
+ }
+
+ SubSystemClass ComponentMain {
+ ActorRef HFSM_Tests : a_HFSM_Tests
+ }
+
+}
diff --git a/tests/org.eclipse.etrice.integration.tests/model/IntegrationTestFSMGenerator.trp b/tests/org.eclipse.etrice.integration.tests/model/IntegrationTestFSMGenerator.trp
new file mode 100644
index 000000000..3c2864617
--- /dev/null
+++ b/tests/org.eclipse.etrice.integration.tests/model/IntegrationTestFSMGenerator.trp
@@ -0,0 +1,4670 @@
+114
+
+# Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# PersObj-Version: 4 standard
+#
+-bs_DataClassList
+-bs_DataClassList
+1
+-DataClass
+0
+1282842070
+0
+t
+<20100826185605-2
+-bs_RefCounter
+0
+<20100826185605-3
+-bs_DataClass
+3
+-boolean
+f
+f
+0
+1282841742
+0
+1
+5
+13
+t
+<20100826185605-4
+-bs_RefCounter
+0
+<20100826185605-5
+-bs_DataClass
+3
+-char
+f
+f
+0
+1282841742
+0
+1
+5
+7
+t
+<20100826185605-6
+-bs_RefCounter
+0
+<20100826185605-7
+-bs_DataClass
+3
+-uchar
+f
+f
+0
+1282841742
+0
+1
+5
+14
+t
+<20100826185605-8
+-bs_RefCounter
+0
+<20100826185605-9
+-bs_DataClass
+3
+-int8
+f
+f
+0
+1282841742
+0
+1
+5
+15
+t
+<20100826185605-10
+-bs_RefCounter
+0
+<20100826185605-11
+-bs_DataClass
+3
+-uint8
+f
+f
+0
+1282841742
+0
+1
+5
+18
+t
+<20100826185605-12
+-bs_RefCounter
+0
+<20100826185605-13
+-bs_DataClass
+3
+-int16
+f
+f
+0
+1282841742
+0
+1
+5
+16
+t
+<20100826185605-14
+-bs_RefCounter
+0
+<20100826185605-15
+-bs_DataClass
+3
+-uint16
+f
+f
+0
+1282841742
+0
+1
+5
+19
+t
+<20100826185605-16
+-bs_RefCounter
+0
+<20100826185605-17
+-bs_DataClass
+3
+-int32
+f
+f
+0
+1282841742
+0
+1
+5
+17
+t
+<20100826185605-18
+-bs_RefCounter
+0
+<20100826185605-19
+-bs_DataClass
+3
+-uint32
+f
+f
+0
+1282841742
+0
+1
+5
+20
+t
+<20100826185605-20
+-bs_RefCounter
+0
+<20100826185605-21
+-bs_DataClass
+3
+-float32
+f
+f
+0
+1282841742
+0
+1
+5
+21
+t
+<20100826185605-22
+-bs_RefCounter
+0
+<20100826185605-23
+-bs_DataClass
+3
+-float64
+f
+f
+0
+1282841742
+0
+1
+5
+22
+t
+<20100826185605-24
+-bs_RefCounter
+0
+<20100826185605-25
+-bs_DataClass
+3
+-char*
+f
+f
+0
+1282841742
+0
+1
+5
+12
+-
+t
+<20100826185605-26
+-bs_RefCounter
+0
+<20100826185605-27
+-bs_DataClass
+3
+-void*
+f
+f
+0
+1282841742
+0
+1
+5
+12
+-
+t
+<20100826190408-1
+-bs_RefCounter
+0
+<20100826190408-2
+-bs_DataClass
+3
+-d_Packet
+f
+f
+0
+1282842070
+0
+0
+5
+0
+-bs_DataMemberList
+1
+-var
+0
+1282842089
+5
+t
+<20100826190408-4
+-bs_RefCounter
+0
+<20100826190408-5
+-bs_DataMember
+3
+-data
+f
+f
+0
+1282842078
+0
+-int32
+1
+-
+<20100826190408-6
+-bs_DataClassObjList
+1
+-var1Obj
+0
+1282842078
+4
+t
+t
+1
+-data
+-int32
+1282842089
+t
+-0
+1282842089
+17
+t
+f
+f
+f
+-bs_ActorMemberFct
+1
+f
+0
+1282842070
+f
+-------------------------------
+# Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# PersObj-Version: 4 standard
+#
+-bs_ProtocolClassList
+-bs_ProtocolClassList
+1
+-ProtocolClass
+0
+1283097947
+0
+t
+<20100826185605-29
+-bs_RefCounter
+0
+<20100826185605-30
+-bs_ProtocolClass
+3
+-p_Timer
+t
+f
+0
+1282841742
+0
+1
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1282841742
+0
+t
+<20100826185605-32
+-bs_RefCounter
+0
+<20100826185605-33
+-bs_MsgType
+3
+-Start
+f
+f
+0
+1282841742
+0
+>20100826185605-16
+>20100826185605-17
+t
+<20100826185605-34
+-bs_RefCounter
+0
+<20100826185605-35
+-bs_MsgType
+3
+-Kill
+f
+f
+0
+1282841742
+0
+<20100826185605-36
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1282841742
+0
+t
+<20100826185605-38
+-bs_RefCounter
+0
+<20100826185605-39
+-bs_MsgType
+3
+-timerTick
+f
+f
+0
+1282841742
+0
+<20100826185605-40
+-bs_RefCounter
+0
+N
+f
+-ProtocolSemantics
+1
+0
+1282841742
+-ProtocolRuleSet
+0
+0
+1282841742
+t
+<20100826185605-43
+-ProtocolRule
+0
+0
+1282841742
+-Message
+0
+0
+1282841742
+0
+-Start
+t
+<20100826185605-45
+-MessageImplication
+0
+0
+1282841742
+-ProtocolRule
+0
+0
+1282841742
+-Message
+0
+0
+1282841742
+0
+-Kill
+f
+t
+<20100826185605-48
+-MessageImplication
+0
+0
+1282841742
+-ProtocolRule
+0
+0
+1282841742
+-Message
+0
+0
+1282841742
+1
+-timerTick
+f
+f
+f
+t
+<20100826185605-51
+-bs_RefCounter
+0
+<20100826185605-52
+-bs_ProtocolClass
+3
+-p_Timeout
+t
+f
+0
+1282841742
+0
+1
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1282841742
+0
+t
+<20100826185605-54
+-bs_RefCounter
+0
+<20100826185605-55
+-bs_MsgType
+3
+-Start
+f
+f
+0
+1282841742
+0
+>20100826185605-16
+>20100826185605-17
+t
+<20100826185605-56
+-bs_RefCounter
+0
+<20100826185605-57
+-bs_MsgType
+3
+-Kill
+f
+f
+0
+1282841742
+0
+<20100826185605-58
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1282841742
+0
+t
+<20100826185605-60
+-bs_RefCounter
+0
+<20100826185605-61
+-bs_MsgType
+3
+-timeoutTick
+f
+f
+0
+1282841742
+0
+<20100826185605-62
+-bs_RefCounter
+0
+N
+f
+-ProtocolSemantics
+1
+0
+1282841742
+-ProtocolRuleSet
+0
+0
+1282841742
+t
+<20100826185605-65
+-ProtocolRule
+0
+0
+1282841742
+-Message
+0
+0
+1282841742
+0
+-Start
+t
+<20100826185605-67
+-MessageImplication
+0
+0
+1282841742
+-ProtocolRule
+0
+0
+1282841742
+-Message
+0
+0
+1282841742
+0
+-Kill
+f
+t
+<20100826185605-70
+-MessageImplication
+0
+0
+1282841742
+-ProtocolRule
+0
+0
+1282841742
+-Message
+0
+0
+1282841742
+1
+-timeoutTick
+f
+f
+f
+t
+<20100826185605-73
+-bs_RefCounter
+0
+<20100826185605-74
+-bs_ProtocolClass
+3
+-p_DigitalInput
+t
+f
+0
+1282841742
+0
+1
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1282841742
+0
+t
+<20100826185605-76
+-bs_RefCounter
+0
+<20100826185605-77
+-bs_MsgType
+3
+-getStatus
+f
+f
+0
+1282841742
+0
+<20100826185605-78
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1282841742
+0
+t
+<20100826185605-80
+-bs_RefCounter
+0
+<20100826185605-81
+-bs_MsgType
+3
+-inputChanged
+f
+f
+0
+1282841742
+0
+>20100826185605-12
+>20100826185605-13
+f
+-ProtocolSemantics
+1
+0
+1282841742
+-ProtocolRuleSet
+0
+0
+1282841742
+t
+<20100826185605-84
+-ProtocolRule
+0
+0
+1282841742
+-Message
+0
+0
+1282841742
+0
+-getStatus
+t
+<20100826185605-86
+-MessageImplication
+0
+0
+1282841742
+-ProtocolRule
+0
+0
+1282841742
+-Message
+0
+0
+1282841742
+1
+-inputChanged
+f
+f
+f
+t
+<20100826185605-89
+-bs_RefCounter
+0
+<20100826185605-90
+-bs_ProtocolClass
+3
+-p_DigitalOutput
+t
+f
+0
+1282841742
+0
+1
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1282841742
+0
+t
+<20100826185605-92
+-bs_RefCounter
+0
+<20100826185605-93
+-bs_MsgType
+3
+-Set
+f
+f
+0
+1282841742
+0
+>20100826185605-2
+>20100826185605-3
+t
+<20100826185605-94
+-bs_RefCounter
+0
+<20100826185605-95
+-bs_MsgType
+3
+-SetOn
+f
+f
+0
+1282841742
+0
+<20100826185605-96
+-bs_RefCounter
+0
+N
+t
+<20100826185605-97
+-bs_RefCounter
+0
+<20100826185605-98
+-bs_MsgType
+3
+-SetOff
+f
+f
+0
+1282841742
+0
+<20100826185605-99
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1282841742
+0
+f
+-ProtocolSemantics
+1
+0
+1282841742
+-ProtocolRuleSet
+0
+0
+1282841742
+f
+t
+<20100826190408-8
+-bs_RefCounter
+0
+<20100826190408-9
+-bs_ProtocolClass
+3
+-p_SimpleProtocol
+f
+f
+0
+1282842067
+0
+0
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1282842067
+0
+t
+<20100826190408-11
+-bs_RefCounter
+0
+<20100826190408-12
+-bs_MsgType
+3
+-data
+f
+f
+0
+1282841872
+0
+<20100826190408-13
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1282921398
+0
+t
+<20100826190408-15
+-bs_RefCounter
+0
+<20100826190408-16
+-bs_MsgType
+3
+-ack
+f
+f
+0
+1282841884
+0
+<20100826190408-17
+-bs_RefCounter
+0
+N
+t
+<20100826190408-18
+-bs_RefCounter
+0
+<20100826190408-19
+-bs_MsgType
+3
+-nak
+f
+f
+0
+1282841908
+0
+<20100826190408-20
+-bs_RefCounter
+0
+N
+t
+<20100827170346-36
+-bs_RefCounter
+0
+<20100827170346-37
+-bs_MsgType
+3
+-poll
+f
+f
+0
+1282921396
+0
+<20100827170346-38
+-bs_RefCounter
+0
+N
+f
+-ProtocolSemantics
+1
+0
+1282841852
+-ProtocolRuleSet
+0
+0
+1282841852
+f
+t
+<20100829182239-38
+-bs_RefCounter
+0
+<20100829182239-39
+-bs_ProtocolClass
+3
+-p_HFSM
+f
+f
+0
+1283097947
+0
+0
+2
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1284577762
+0
+t
+<20100829182239-41
+-bs_RefCounter
+0
+<20100829182239-42
+-bs_MsgType
+3
+-m1
+f
+f
+0
+1283097933
+0
+<20100829182239-43
+-bs_RefCounter
+0
+N
+t
+<20100829182239-44
+-bs_RefCounter
+0
+<20100829182239-45
+-bs_MsgType
+3
+-m2
+f
+f
+0
+1283097935
+0
+<20100829182239-46
+-bs_RefCounter
+0
+N
+t
+<20100829182239-47
+-bs_RefCounter
+0
+<20100829182239-48
+-bs_MsgType
+3
+-m3
+f
+f
+0
+1283097937
+0
+<20100829182239-49
+-bs_RefCounter
+0
+N
+t
+<20100829182239-50
+-bs_RefCounter
+0
+<20100829182239-51
+-bs_MsgType
+3
+-m4
+f
+f
+0
+1283097939
+0
+<20100829182239-52
+-bs_RefCounter
+0
+N
+t
+<20100829182239-53
+-bs_RefCounter
+0
+<20100829182239-54
+-bs_MsgType
+3
+-m5
+f
+f
+0
+1283097940
+0
+<20100829182239-55
+-bs_RefCounter
+0
+N
+t
+<20100829182239-56
+-bs_RefCounter
+0
+<20100829182239-57
+-bs_MsgType
+3
+-m6
+f
+f
+0
+1283097942
+0
+<20100829182239-58
+-bs_RefCounter
+0
+N
+t
+<20100829182239-59
+-bs_RefCounter
+0
+<20100829182239-60
+-bs_MsgType
+3
+-reset
+f
+f
+0
+1283098248
+0
+<20100829182239-61
+-bs_RefCounter
+0
+N
+t
+<20100829182833-2
+-bs_RefCounter
+0
+<20100829182833-3
+-bs_MsgType
+3
+-m7
+f
+f
+0
+1283099182
+0
+<20100829182833-4
+-bs_RefCounter
+0
+N
+t
+<20100829182919-2
+-bs_RefCounter
+0
+<20100829182919-3
+-bs_MsgType
+3
+-m8
+f
+f
+0
+1283099349
+0
+<20100829182919-4
+-bs_RefCounter
+0
+N
+t
+<20100915211026-2
+-bs_RefCounter
+0
+<20100915211026-3
+-bs_MsgType
+3
+-m9
+f
+f
+0
+1284577746
+0
+<20100915211026-4
+-bs_RefCounter
+0
+N
+f
+-bs_MsgTypeList
+1
+-MsgTypeListDummyName
+0
+1284577865
+0
+t
+<20100829182239-63
+-bs_RefCounter
+0
+<20100829182239-64
+-bs_MsgType
+3
+-init_action
+f
+f
+0
+1283098311
+0
+<20100829222431-40
+-bs_RefCounter
+0
+N
+t
+<20100915210134-40
+-bs_RefCounter
+0
+<20100915210134-41
+-bs_MsgType
+3
+-s1_entry
+f
+f
+0
+1284577108
+0
+<20100915210134-42
+-bs_RefCounter
+0
+N
+t
+<20100915210134-43
+-bs_RefCounter
+0
+<20100915210134-44
+-bs_MsgType
+3
+-s1_exit
+f
+f
+0
+1284577118
+0
+<20100915210134-45
+-bs_RefCounter
+0
+N
+t
+<20100915210134-46
+-bs_RefCounter
+0
+<20100915210134-47
+-bs_MsgType
+3
+-s2_entry
+f
+f
+0
+1284577228
+0
+<20100915210134-48
+-bs_RefCounter
+0
+N
+t
+<20100915210134-49
+-bs_RefCounter
+0
+<20100915210134-50
+-bs_MsgType
+3
+-s2_exit
+f
+f
+0
+1284577235
+0
+<20100915210134-51
+-bs_RefCounter
+0
+N
+t
+<20100915210134-52
+-bs_RefCounter
+0
+<20100915210134-53
+-bs_MsgType
+3
+-s3_entry
+f
+f
+0
+1284577246
+0
+<20100915210134-54
+-bs_RefCounter
+0
+N
+t
+<20100915210134-55
+-bs_RefCounter
+0
+<20100915210134-56
+-bs_MsgType
+3
+-s3_exit
+f
+f
+0
+1284577252
+0
+<20100915210134-57
+-bs_RefCounter
+0
+N
+t
+<20100915210134-58
+-bs_RefCounter
+0
+<20100915210134-59
+-bs_MsgType
+3
+-s4_entry
+f
+f
+0
+1284577275
+0
+<20100915210134-60
+-bs_RefCounter
+0
+N
+t
+<20100915210134-61
+-bs_RefCounter
+0
+<20100915210134-62
+-bs_MsgType
+3
+-s4_exit
+f
+f
+0
+1284577278
+0
+<20100915210134-63
+-bs_RefCounter
+0
+N
+t
+<20100915210555-2
+-bs_RefCounter
+0
+<20100915210555-3
+-bs_MsgType
+3
+-s2s1_entry
+f
+f
+0
+1284577309
+0
+<20100915210555-4
+-bs_RefCounter
+0
+N
+t
+<20100915210555-5
+-bs_RefCounter
+0
+<20100915210555-6
+-bs_MsgType
+3
+-s2s1_exit
+f
+f
+0
+1284577319
+0
+<20100915210555-7
+-bs_RefCounter
+0
+N
+t
+<20100915210555-8
+-bs_RefCounter
+0
+<20100915210555-9
+-bs_MsgType
+3
+-s2s2_entry
+f
+f
+0
+1284577325
+0
+<20100915210555-10
+-bs_RefCounter
+0
+N
+t
+<20100915210555-11
+-bs_RefCounter
+0
+<20100915210555-12
+-bs_MsgType
+3
+-s2s2_exit
+f
+f
+0
+1284577332
+0
+<20100915210555-13
+-bs_RefCounter
+0
+N
+t
+<20100915210555-14
+-bs_RefCounter
+0
+<20100915210555-15
+-bs_MsgType
+3
+-s1_m1_s2_action
+f
+f
+0
+1284577362
+0
+<20100915210555-16
+-bs_RefCounter
+0
+N
+t
+<20100915210555-17
+-bs_RefCounter
+0
+<20100915210555-18
+-bs_MsgType
+3
+-s2_m1_s2s1_action
+f
+f
+0
+1284577465
+0
+<20100915210555-19
+-bs_RefCounter
+0
+N
+t
+<20100915210555-20
+-bs_RefCounter
+0
+<20100915210555-21
+-bs_MsgType
+3
+-s2s1_m2_s2s2_action
+f
+f
+0
+1284577506
+0
+<20100915210555-22
+-bs_RefCounter
+0
+N
+t
+<20100915210555-23
+-bs_RefCounter
+0
+<20100915210555-24
+-bs_MsgType
+3
+-s2s2_m3_action
+f
+f
+0
+1284577548
+0
+<20100915210555-25
+-bs_RefCounter
+0
+N
+t
+<20100915211026-6
+-bs_RefCounter
+0
+<20100915211026-7
+-bs_MsgType
+3
+-s2_m4_s4_action
+f
+f
+0
+1284577585
+0
+<20100915211026-8
+-bs_RefCounter
+0
+N
+t
+<20100915211026-9
+-bs_RefCounter
+0
+<20100915211026-10
+-bs_MsgType
+3
+-s2_m5_s2_action
+f
+f
+0
+1284577617
+0
+<20100915211026-11
+-bs_RefCounter
+0
+N
+t
+<20100915211026-12
+-bs_RefCounter
+0
+<20100915211026-13
+-bs_MsgType
+3
+-s2_m6_s2_action
+f
+f
+0
+1284577629
+0
+<20100915211026-14
+-bs_RefCounter
+0
+N
+t
+<20100915211026-15
+-bs_RefCounter
+0
+<20100915211026-16
+-bs_MsgType
+3
+-s2__s3_action
+f
+f
+0
+1284577677
+0
+<20100915211026-17
+-bs_RefCounter
+0
+N
+t
+<20100915211026-18
+-bs_RefCounter
+0
+<20100915211026-19
+-bs_MsgType
+3
+-s2_m7_s2_action
+f
+f
+0
+1284577711
+0
+<20100915211026-20
+-bs_RefCounter
+0
+N
+t
+<20100915211026-21
+-bs_RefCounter
+0
+<20100915211026-22
+-bs_MsgType
+3
+-top_s8_top_action
+f
+f
+0
+1284577738
+0
+<20100915211026-23
+-bs_RefCounter
+0
+N
+t
+<20100915211026-24
+-bs_RefCounter
+0
+<20100915211026-25
+-bs_MsgType
+3
+-top_s9_top_action
+f
+f
+0
+1284577760
+0
+<20100915211026-26
+-bs_RefCounter
+0
+N
+t
+<20100915211107-2
+-bs_RefCounter
+0
+<20100915211107-3
+-bs_MsgType
+3
+-top_reset_s2_action
+f
+f
+0
+1284577854
+0
+<20100915211107-4
+-bs_RefCounter
+0
+N
+f
+-ProtocolSemantics
+1
+0
+1283097914
+-ProtocolRuleSet
+0
+0
+1283097914
+f
+f
+-------------------------------
+# Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# PersObj-Version: 4 standard
+#
+-bs_SAPClassList
+-bs_SAPClassList
+1
+-SAP
+0
+1282841742
+0
+t
+<20100826185605-104
+-bs_RefCounter
+0
+<20100826185605-105
+-bs_SAPClass
+3
+-Timer
+f
+f
+0
+1282841742
+0
+1
+0
+1
+>20100826185605-29
+>20100826185605-30
+t
+<20100826185605-106
+-bs_RefCounter
+0
+<20100826185605-107
+-bs_SAPClass
+3
+-Timeout
+f
+f
+0
+1282841742
+0
+1
+0
+2
+>20100826185605-51
+>20100826185605-52
+t
+<20100826185605-108
+-bs_RefCounter
+0
+<20100826185605-109
+-bs_SAPClass
+3
+-DigitalInput
+f
+f
+0
+1282841742
+0
+1
+0
+4
+>20100826185605-73
+>20100826185605-74
+t
+<20100826185605-110
+-bs_RefCounter
+0
+<20100826185605-111
+-bs_SAPClass
+3
+-DigitalOutput
+f
+f
+0
+1282841742
+0
+1
+0
+5
+>20100826185605-89
+>20100826185605-90
+f
+-------------------------------
+# Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# PersObj-Version: 4 standard
+#
+-bs_PrtvClassList
+-bs_PrtvClassList
+1
+-PrimitiveClass
+0
+1282841742
+0
+f
+-------------------------------
+# Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# PersObj-Version: 4 standard
+#
+-bs_ActorClassList
+-bs_ActorClassList
+1
+-ActorClass
+0
+1284627427
+0
+t
+<20100829182239-182
+-bs_RefCounter
+0
+<20100829182239-183
+-bs_ActorClass
+3
+-a_HFSM_Tests
+f
+f
+0
+1284627418
+0
+0
+8
+-
+f
+-bs_ActorInterface
+3
+-bs_PortRefList
+1
+-Port
+0
+1283097831
+0
+f
+0
+0
+1283097831
+-bs_ActorStructure
+7
+-bs_PortRefList
+1
+-Port
+0
+1283097831
+0
+f
+-bs_SAPRefList
+1
+-SAP
+0
+1284627418
+0
+f
+t
+-bs_ActorRefList
+1
+-ActorRef
+0
+1283097904
+0
+t
+<20100829182239-190
+-bs_RefCounter
+0
+<20100829182239-191
+-bs_ActorRef
+3
+-HFSM
+f
+f
+0
+1283097994
+1
+-bs_ActorCoord
+0
+0.748403
+0.659875
+-bs_SizeFactors
+0
+3
+0.994375
+-bs_CompPortRefList
+1
+-PortInstListDummyName
+0
+1283097892
+0
+f
+3
+-a_HFSM
+t
+<20100829182239-195
+-bs_RefCounter
+0
+<20100829182239-196
+-bs_ActorRef
+3
+-Tester
+f
+f
+0
+1283097908
+1
+-bs_ActorCoord
+0
+0.234583
+0.658375
+-bs_SizeFactors
+0
+3
+0.995
+-bs_CompPortRefList
+1
+-PortInstListDummyName
+0
+1283097904
+0
+f
+3
+-a_HFSM_Tester
+f
+-bs_BindingContractList
+1
+-BindingContract
+0
+1283100141
+0
+t
+<20100829184224-1
+-bs_RefCounter
+0
+<20100829184224-2
+-bs_BindingContract
+3
+-BindingContract1
+f
+f
+0
+1283100141
+0
+-bs_BCEndPoint
+1
+>20100829182239-195
+>20100829182239-196
+<20100829182239-359
+-bs_RefCounter
+0
+<20100829182239-360
+-bs_PortRef
+3
+-testee
+f
+f
+0
+1283097991
+0
+0
+t
+1
+-bs_ActorCoord
+0
+1
+0.5465
+>20100829182239-38
+>20100829182239-39
+<20100829184224-4
+-bs_RefCounter
+0
+N
+-bs_BCEndPoint
+1
+>20100829182239-190
+>20100829182239-191
+<20100829182239-225
+-bs_RefCounter
+0
+<20100829182239-226
+-bs_PortRef
+3
+-fct
+f
+f
+0
+1283097979
+0
+0
+f
+1
+-bs_ActorCoord
+0
+0
+0.540625
+>20100829182239-38
+>20100829182239-39
+<20100829184224-6
+-bs_RefCounter
+0
+N
+f
+-bs_SizeFactors
+0
+1.8
+1
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1283097831
+-bs_PrtvRefList
+1
+-Primitive
+0
+1283097831
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1283097831
+0
+f
+0
+1283097831
+-bs_ActorBehaviour
+7
+<20100829182239-206
+-bs_RefCounter
+0
+<20100829182239-207
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1283097831
+5
+f
+-bs_StateGraph
+8
+<20100829182239-210
+-bs_RefCounter
+0
+<20100829182239-211
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1283097831
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1283097831
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1283097831
+0
+f
+-bs_StateList
+1
+-State
+0
+1283097831
+0
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1283097831
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1283097831
+0
+f
+t
+65535
+f
+f
+0
+1283097831
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1283097831
+-
+-
+-
+1024
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1283097831
+0
+1283097831
+-bs_ActorMemberFct
+1
+f
+0
+1283097831
+t
+f
+f
+t
+<20100829182239-221
+-bs_RefCounter
+0
+<20100829182239-222
+-bs_ActorClass
+3
+-a_HFSM
+f
+f
+0
+1283097873
+0
+0
+8
+-
+f
+-bs_ActorInterface
+3
+-bs_PortRefList
+1
+-Port
+0
+1283097979
+0
+t
+>20100829182239-225
+>20100829182239-226
+f
+0
+0
+1283097862
+-bs_ActorStructure
+7
+-bs_PortRefList
+1
+-Port
+0
+1283097979
+0
+t
+>20100829182239-225
+>20100829182239-226
+f
+-bs_SAPRefList
+1
+-SAP
+0
+1283097862
+0
+f
+t
+-bs_ActorRefList
+1
+-ActorRef
+0
+1283097862
+0
+f
+-bs_BindingContractList
+1
+-BindingContract
+0
+1283097862
+0
+f
+-bs_SizeFactors
+0
+1.8
+1
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1283097862
+-bs_PrtvRefList
+1
+-Primitive
+0
+1283097862
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1283097862
+0
+f
+0
+1283097862
+-bs_ActorBehaviour
+7
+<20100829182239-238
+-bs_RefCounter
+0
+<20100829182239-239
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1283097862
+5
+f
+-bs_StateGraph
+8
+<20100829182239-242
+-bs_RefCounter
+0
+<20100829182239-243
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1283097862
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1283097862
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1283097862
+0
+t
+<20100829182239-247
+-bs_RefCounter
+0
+<20100829182239-248
+-bs_TrPoint
+3
+-TrP1
+f
+f
+0
+1283099052
+1
+0
+-1
+-bs_ContextCoord
+0
+0.741825
+0.998651
+7
+t
+<20100829182919-5
+-bs_RefCounter
+0
+<20100829182919-6
+-bs_TrPoint
+3
+-TrP2
+f
+f
+0
+1283099595
+1
+0
+-1
+-bs_ContextCoord
+0
+1
+0.73495
+8
+t
+<20100915211026-27
+-bs_RefCounter
+0
+<20100915211026-28
+-bs_TrPoint
+3
+-TrP3
+f
+f
+0
+1284577768
+1
+3
+-1
+-bs_ContextCoord
+0
+1
+0.637185
+9
+f
+-bs_StateList
+1
+-State
+0
+1283097862
+0
+t
+<20100829182239-251
+-bs_RefCounter
+0
+<20100829182239-252
+-bs_State
+3
+-State1
+f
+f
+0
+1284577916
+5
++fct.s1_entry();
+-
+-fct.s1_exit();
+-1
+-1
+<20100829182239-253
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.47047
+0.777442
+-bs_SizeFactors
+0
+1
+1
+f
+f
+1
+-1
+t
+<20100829182239-256
+-bs_RefCounter
+0
+<20100829182239-257
+-bs_State
+3
+-State2
+f
+f
+0
+1284578005
+5
+-fct.s2_entry();
+-fct.s2_exit();
+-1
+-1
+<20100829182239-258
+-bs_RefCounter
+0
+<20100829182239-259
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1283098020
+5
+f
+-bs_StateGraph
+8
+<20100829182239-262
+-bs_RefCounter
+0
+<20100829182239-263
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1283098020
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1283098020
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1283098020
+0
+t
+<20100829182239-267
+-bs_RefCounter
+0
+<20100829182239-268
+-bs_TrPoint
+3
+-TrP1
+f
+f
+0
+1283098020
+1
+1
+1
+-bs_ContextCoord
+0
+0.50602
+1
+10
+t
+<20100829182239-270
+-bs_RefCounter
+0
+<20100829182239-271
+-bs_TrPoint
+3
+-TrP212830980720
+f
+f
+0
+1283098072
+1
+2
+2
+-bs_ContextCoord
+0
+1
+0.48331
+11
+t
+<20100829182239-273
+-bs_RefCounter
+0
+<20100829182239-274
+-bs_TrPoint
+3
+-TrP212830981910
+f
+f
+0
+1283098191
+1
+2
+3
+-bs_ContextCoord
+0
+5.55112e-017
+0.48791
+12
+t
+<20100829182611-2
+-bs_RefCounter
+0
+<20100829182611-3
+-bs_TrPoint
+3
+-TrP2
+f
+f
+0
+1283099072
+1
+0
+-1
+-bs_ContextCoord
+0
+1
+0.260873
+13
+t
+<20100829182611-5
+-bs_RefCounter
+0
+<20100829182611-6
+-bs_TrPoint
+3
+-TrP3
+f
+f
+0
+1283099088
+1
+3
+-1
+-bs_ContextCoord
+0
+1
+0.123651
+14
+t
+<20100829182833-9
+-bs_RefCounter
+0
+<20100829182833-10
+-bs_TrPoint
+3
+-TrP412830992440
+f
+f
+0
+1283099244
+1
+2
+5
+-bs_ContextCoord
+0
+0.214282
+0
+15
+t
+<20100829182833-12
+-bs_RefCounter
+0
+<20100829182833-13
+-bs_TrPoint
+3
+-TrP412830992441
+f
+f
+0
+1283099244
+1
+1
+5
+-bs_ContextCoord
+0
+0.214282
+0
+16
+f
+-bs_StateList
+1
+-State
+0
+1283098020
+0
+t
+<20100829182239-277
+-bs_RefCounter
+0
+<20100829182239-278
+-bs_State
+3
+-State1
+f
+f
+0
+1284578127
+5
+-fct.s2s1_entry();
+-fct.s2s1_exit();
+-1
+-1
+<20100829182239-279
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.310873
+0.743968
+-bs_SizeFactors
+0
+1
+1
+f
+f
+5
+-1
+t
+<20100829182239-282
+-bs_RefCounter
+0
+<20100829182239-283
+-bs_State
+3
+-State2
+f
+f
+0
+1284578143
+5
+-fct.s2s2_entry();
+-fct.s2s2_exit();
+-1
+-1
+<20100829182239-284
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.327381
+0.424206
+-bs_SizeFactors
+0
+1
+1
+f
+f
+6
+-1
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1283098020
+0
+t
+<20100829182239-288
+-bs_RefCounter
+0
+<20100829182239-289
+-bs_TrSegment
+3
+-
+f
+f
+0
+1284578105
+5
+3
+>20100829182239-268
+1
+>20100829182239-278
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1283098027
+0
+t
+<20100829182239-291
+-bs_RefCounter
+0
+<20100829182239-292
+-bs_SimpleTriggerSpec
+3
+-
+f
+f
+0
+1284578105
+1
+-
+-
+f
++fct.s2_m1_s2s1_action();
+-
+-1
+-bs_ContextCoord
+0
+0.404065
+0.871984
+8
+-1
+t
+<20100829182239-294
+-bs_RefCounter
+0
+<20100829182239-295
+-bs_TrSegment
+3
+-m2
+f
+f
+0
+1284578156
+5
+1
+>20100829182239-278
+1
+>20100829182239-283
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1283098052
+0
+t
+<20100829182239-297
+-bs_RefCounter
+0
+<20100829182239-298
+-bs_SimpleTriggerSpec
+3
+-m2
+f
+f
+0
+1284578156
+1
+-fct
+-
+f
++fct.s2s1_m2_s2s2_action();
+-
+-1
+-bs_ContextCoord
+0
+0.319127
+0.584087
+9
+-1
+t
+<20100829182239-300
+-bs_RefCounter
+0
+<20100829182239-301
+-bs_TrSegment
+3
+-m3
+f
+f
+0
+1284578172
+5
+1
+>20100829182239-283
+3
+>20100829182239-271
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1283098077
+0
+t
+<20100829182239-303
+-bs_RefCounter
+0
+<20100829182239-304
+-bs_SimpleTriggerSpec
+3
+-m3
+f
+f
+0
+1284578172
+1
+-fct
+-
+f
++fct.s2s2_m3_action();
+-
+-1
+-bs_ContextCoord
+0
+0.663651
+0.436587
+10
+-1
+t
+<20100829182611-8
+-bs_RefCounter
+0
+<20100829182611-9
+-bs_TrSegment
+3
+-m5
+f
+f
+0
+1284578182
+5
+3
+>20100829182611-3
+3
+>20100829182611-3
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1283099100
+0
+t
+<20100829182611-11
+-bs_RefCounter
+0
+<20100829182611-12
+-bs_SimpleTriggerSpec
+3
+-m5
+f
+f
+0
+1284578182
+1
+-fct
+-
+f
++fct.s2_m5_s2_action();
+-
+-1
+-bs_ContextCoord
+0
+0.660873
+0.27873
+11
+-1
+t
+<20100829182611-14
+-bs_RefCounter
+0
+<20100829182611-15
+-bs_TrSegment
+3
+-m6
+f
+f
+0
+1284578193
+5
+3
+>20100829182611-6
+3
+>20100829182611-6
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1283099146
+0
+t
+<20100829182611-17
+-bs_RefCounter
+0
+<20100829182611-18
+-bs_SimpleTriggerSpec
+3
+-m6
+f
+f
+0
+1284578193
+1
+-fct
+-
+f
++fct.s2_m6_s2_action();
+-
+-1
+-bs_ContextCoord
+0
+0.652619
+0.142857
+12
+-1
+f
+-bs_NoteList
+1
+-Note
+0
+1283098020
+0
+f
+t
+65535
+f
+f
+0
+1284744107
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1283098020
+-bs_ContextCoord
+0
+0.471562
+0.572565
+-bs_SizeFactors
+0
+1
+1
+f
+f
+2
+-1
+t
+<20100829182239-310
+-bs_RefCounter
+0
+<20100829182239-311
+-bs_State
+3
+-State3
+f
+f
+0
+1284578086
+5
+-fct.s3_entry();
+-fct.s3_exit();
+-1
+-1
+<20100829182239-312
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.884535
+0.559813
+-bs_SizeFactors
+0
+1
+1
+f
+f
+3
+-1
+t
+<20100829182239-315
+-bs_RefCounter
+0
+<20100829182239-316
+-bs_State
+3
+-State4
+f
+f
+0
+1284577988
+5
+-fct.s4_entry();
+-fct.s4_exit();
+-1
+-1
+<20100829182239-317
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.134821
+0.568292
+-bs_SizeFactors
+0
+1
+1
+f
+f
+4
+-1
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1283097862
+0
+t
+<20100829182239-321
+-bs_RefCounter
+0
+<20100829182239-322
+-bs_TrSegment
+3
+-
+f
+f
+0
+1284577891
+5
+0
+>20100829182239-243
+1
+>20100829182239-252
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1283098010
+0
+t
+<20100829182239-324
+-bs_RefCounter
+0
+<20100829182239-325
+-bs_SimpleTriggerSpec
+3
+-
+f
+f
+0
+1284577891
+1
+-
+-
+f
++fct.init_action();
+-
+-1
+-bs_ContextCoord
+0
+0.173433
+0.894242
+0
+-1
+t
+<20100829182239-327
+-bs_RefCounter
+0
+<20100829182239-328
+-bs_TrSegment
+3
+-m1
+f
+f
+0
+1284578082
+5
+1
+>20100829182239-252
+1
+>20100829182239-257
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1283098019
+0
+t
+<20100829182239-330
+-bs_RefCounter
+0
+<20100829182239-331
+-bs_SimpleTriggerSpec
+3
+-m1
+f
+f
+0
+1284577942
+1
+-fct
+-
+f
++fct.s1_m1_s2_action();
+-
+-1
+-bs_ContextCoord
+0
+0.473051
+0.696214
+1
+-1
+t
+<20100829182239-333
+-bs_RefCounter
+0
+<20100829182239-334
+-bs_TrSegment
+3
+-
+f
+f
+0
+1284578062
+5
+1
+>20100829182239-257
+1
+>20100829182239-311
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1283098072
+0
+t
+<20100829182239-336
+-bs_RefCounter
+0
+<20100829182239-337
+-bs_SimpleTriggerSpec
+3
+-
+f
+f
+0
+1284578062
+1
+-
+-
+f
++fct.s2__s3_action();
+-
+-1
+-bs_ContextCoord
+0
+0.684228
+0.565466
+2
+-1
+t
+<20100829182239-339
+-bs_RefCounter
+0
+<20100829182239-340
+-bs_TrSegment
+3
+-m4
+f
+f
+0
+1284578048
+5
+1
+>20100829182239-257
+1
+>20100829182239-316
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1283098191
+0
+t
+<20100829182239-342
+-bs_RefCounter
+0
+<20100829182239-343
+-bs_SimpleTriggerSpec
+3
+-m4
+f
+f
+0
+1284578048
+1
+-fct
+-
+f
++fct.s2_m4_s4_action();
+-
+-1
+-bs_ContextCoord
+0
+0.294878
+0.568292
+3
+-1
+t
+<20100829182239-345
+-bs_RefCounter
+0
+<20100829182239-346
+-bs_TrSegment
+3
+-reset
+f
+f
+0
+1284577970
+5
+3
+>20100829182239-248
+1
+>20100829182239-252
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1283098239
+0
+t
+<20100829182239-348
+-bs_RefCounter
+0
+<20100829182239-349
+-bs_SimpleTriggerSpec
+3
+-reset
+f
+f
+0
+1284577970
+1
+-fct
+-
+f
++fct.top_reset_s2_action();
+-
+-1
+-bs_ContextCoord
+0
+0.578912
+0.904851
+4
+-1
+t
+<20100829182833-23
+-bs_RefCounter
+0
+<20100829182833-24
+-bs_TrSegment
+3
+-m7
+f
+f
+0
+1284578074
+5
+1
+>20100829182239-257
+1
+>20100829182239-257
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1283099244
+0
+t
+<20100829182833-26
+-bs_RefCounter
+0
+<20100829182833-27
+-bs_SimpleTriggerSpec
+3
+-m7
+f
+f
+0
+1284578074
+1
+-fct
+-
+f
++fct.s2_m7_s2_action();
+-
+-1
+-bs_ContextCoord
+0
+0.416274
+0.475812
+5
+-1
+t
+<20100829182919-8
+-bs_RefCounter
+0
+<20100829182919-9
+-bs_TrSegment
+3
+-m8
+f
+f
+0
+1284577951
+5
+3
+>20100829182919-6
+3
+>20100829182919-6
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1283099335
+0
+t
+<20100829182919-11
+-bs_RefCounter
+0
+<20100829182919-12
+-bs_SimpleTriggerSpec
+3
+-m8
+f
+f
+0
+1284577951
+1
+-fct
+-
+f
++fct.top_s8_top_action();
+-
+-1
+-bs_ContextCoord
+0
+0.78185
+0.769966
+6
+-1
+t
+<20100915211026-30
+-bs_RefCounter
+0
+<20100915211026-31
+-bs_TrSegment
+3
+-m9
+f
+f
+0
+1284577824
+5
+3
+>20100915211026-28
+3
+>20100915211026-28
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1284577772
+0
+t
+<20100915211026-33
+-bs_RefCounter
+0
+<20100915211026-34
+-bs_SimpleTriggerSpec
+3
+-m9
+f
+f
+0
+1284577824
+1
+-fct
+-
+f
+-fct.top_s9_top_action();
+-1
+-bs_ContextCoord
+0
+0.761154
+0.664596
+7
+-1
+f
+-bs_NoteList
+1
+-Note
+0
+1283099798
+0
+t
+<20100829183714-18
+-bs_RefCounter
+0
+<20100829183714-19
+-bs_Note
+3
+-Nt_a_HFSM
+f
+f
+0
+1283100016
+0
++Testee FSM:
++covers simple situations for hierarchical FSMs without:
++- priorities (inner transitions wins for same trigger)
++- history
++- inner init transitions
++- choicepoints
+-
+f
+-bs_ContextCoord
+0
+0.460842
+0.222624
+-bs_SizeFactors
+0
+13.815
+4.56333
+f
+t
+65535
+f
+f
+0
+1284744107
+-bs_SizeFactors
+0
+1.59913
+1.20746
+t
+0
+1283097862
+-
+-
+-
+1024
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1283097862
+0
+1283097862
+-bs_ActorMemberFct
+1
+f
+0
+1283097862
+t
+f
+f
+t
+<20100829182239-355
+-bs_RefCounter
+0
+<20100829182239-356
+-bs_ActorClass
+3
+-a_HFSM_Tester
+f
+f
+0
+1283097884
+0
+0
+8
+-
+f
+-bs_ActorInterface
+3
+-bs_PortRefList
+1
+-Port
+0
+1283097991
+0
+t
+>20100829182239-359
+>20100829182239-360
+f
+0
+0
+1283097876
+-bs_ActorStructure
+7
+-bs_PortRefList
+1
+-Port
+0
+1283097991
+0
+t
+>20100829182239-359
+>20100829182239-360
+f
+-bs_SAPRefList
+1
+-SAP
+0
+1283097876
+0
+f
+t
+-bs_ActorRefList
+1
+-ActorRef
+0
+1283097876
+0
+f
+-bs_BindingContractList
+1
+-BindingContract
+0
+1283097876
+0
+f
+-bs_SizeFactors
+0
+1.8
+1
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1283097876
+-bs_PrtvRefList
+1
+-Primitive
+0
+1283097876
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1283097876
+0
+f
+0
+1283097876
+-bs_ActorBehaviour
+7
+<20100829182239-372
+-bs_RefCounter
+0
+<20100829182239-373
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1283097876
+5
+f
+-bs_StateGraph
+8
+<20100829182239-376
+-bs_RefCounter
+0
+<20100829182239-377
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1283097876
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1283097876
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1283097876
+0
+f
+-bs_StateList
+1
+-State
+0
+1283097876
+0
+t
+<20100829225123-287
+-bs_RefCounter
+0
+<20100829225123-288
+-bs_State
+3
+-State1
+f
+f
+0
+1284578397
+5
+-
+-
+-1
+-1
+<20100829225123-289
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.149526
+0.810939
+-bs_SizeFactors
+0
+1
+1
+f
+f
+1
+-1
+t
+<20100915212114-2
+-bs_RefCounter
+0
+<20100915212114-3
+-bs_State
+3
+-State2
+f
+f
+0
+1284578397
+5
+-
+-
+-1
+-1
+<20100915212114-4
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.146364
+0.709222
+-bs_SizeFactors
+0
+1
+1
+f
+f
+2
+-1
+t
+<20100915212114-7
+-bs_RefCounter
+0
+<20100915212114-8
+-bs_State
+3
+-State3
+f
+f
+0
+1284578397
+5
+-
+-
+-1
+-1
+<20100915212114-9
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.154629
+0.598254
+-bs_SizeFactors
+0
+1
+1
+f
+f
+3
+-1
+t
+<20100915212114-12
+-bs_RefCounter
+0
+<20100915212114-13
+-bs_State
+3
+-State4
+f
+f
+0
+1284578397
+5
+-
+-
+-1
+-1
+<20100915212114-14
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.155628
+0.487285
+-bs_SizeFactors
+0
+1
+1
+f
+f
+4
+-1
+t
+<20100915212114-17
+-bs_RefCounter
+0
+<20100915212114-18
+-bs_State
+3
+-State5
+f
+f
+0
+1284578397
+5
+-
+-
+-1
+-1
+<20100915212114-19
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.155628
+0.379385
+-bs_SizeFactors
+0
+1
+1
+f
+f
+5
+-1
+t
+<20100915212114-22
+-bs_RefCounter
+0
+<20100915212114-23
+-bs_State
+3
+-State6
+f
+f
+0
+1284578402
+5
+-
+-
+-1
+-1
+<20100915212114-24
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.154851
+0.284545
+-bs_SizeFactors
+0
+1
+1
+f
+f
+6
+-1
+t
+<20100915212114-27
+-bs_RefCounter
+0
+<20100915212114-28
+-bs_State
+3
+-State7
+f
+f
+0
+1284578404
+5
+-
+-
+-1
+-1
+<20100915212114-29
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.148333
+0.183026
+-bs_SizeFactors
+0
+1
+1
+f
+f
+7
+-1
+t
+<20100915212114-32
+-bs_RefCounter
+0
+<20100915212114-33
+-bs_State
+3
+-TestPass
+f
+f
+0
+1285144822
+5
+-ComponentClassBase.getInstance().terminate();
+-
+-1
+-1
+<20100915212114-34
+-bs_RefCounter
+0
+N
+-bs_ContextCoord
+0
+0.15205
+0.0781923
+-bs_SizeFactors
+0
+1
+1
+f
+f
+8
+-1
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1283097876
+0
+t
+<20100829225123-293
+-bs_RefCounter
+0
+<20100829225123-294
+-bs_TrSegment
+3
+-init
+f
+f
+0
+1284578397
+5
+0
+>20100829182239-377
+1
+>20100829225123-288
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1283115072
+0
+f
+-
+-1
+-bs_ContextCoord
+0
+0.0916958
+0.880844
+0
+-1
+t
+<20100915212114-38
+-bs_RefCounter
+0
+<20100915212114-39
+-bs_TrSegment
+3
+-init_action
+f
+f
+0
+1284578397
+5
+1
+>20100829225123-288
+1
+>20100915212114-3
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1284578306
+0
+t
+<20100915212114-41
+-bs_RefCounter
+0
+<20100915212114-42
+-bs_SimpleTriggerSpec
+3
+-init_action
+f
+f
+0
+1284578314
+1
+-testee
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.147362
+0.756469
+1
+-1
+t
+<20100915212114-44
+-bs_RefCounter
+0
+<20100915212114-45
+-bs_TrSegment
+3
+-s1_entry
+f
+f
+0
+1284578397
+5
+1
+>20100915212114-3
+1
+>20100915212114-8
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1284578317
+0
+t
+<20100915212114-47
+-bs_RefCounter
+0
+<20100915212114-48
+-bs_SimpleTriggerSpec
+3
+-s1_entry
+f
+f
+0
+1284578334
+1
+-testee
+-
+f
++testee.m1();
+-
+-1
+-bs_ContextCoord
+0
+0.150496
+0.653762
+2
+-1
+t
+<20100915212114-50
+-bs_RefCounter
+0
+<20100915212114-51
+-bs_TrSegment
+3
+-s1_exit
+f
+f
+0
+1284578397
+5
+1
+>20100915212114-8
+1
+>20100915212114-13
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1284578336
+0
+t
+<20100915212114-53
+-bs_RefCounter
+0
+<20100915212114-54
+-bs_SimpleTriggerSpec
+3
+-s1_exit
+f
+f
+0
+1284578345
+1
+-testee
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.155128
+0.542794
+3
+-1
+t
+<20100915212114-56
+-bs_RefCounter
+0
+<20100915212114-57
+-bs_TrSegment
+3
+-s1_m1_s2_action
+f
+f
+0
+1284578423
+5
+1
+>20100915212114-13
+1
+>20100915212114-18
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1284578348
+0
+t
+<20100915212114-59
+-bs_RefCounter
+0
+<20100915212114-60
+-bs_SimpleTriggerSpec
+3
+-s1_m1_s2_action
+f
+f
+0
+1284578423
+1
+-testee
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.155628
+0.43331
+4
+-1
+t
+<20100915212114-62
+-bs_RefCounter
+0
+<20100915212114-63
+-bs_TrSegment
+3
+-s2_entry
+f
+f
+0
+1284578443
+5
+1
+>20100915212114-18
+1
+>20100915212114-23
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1284578434
+0
+t
+<20100915212114-65
+-bs_RefCounter
+0
+<20100915212114-66
+-bs_SimpleTriggerSpec
+3
+-s2_entry
+f
+f
+0
+1284578443
+1
+-testee
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.154851
+0.330307
+5
+-1
+t
+<20100915212114-68
+-bs_RefCounter
+0
+<20100915212114-69
+-bs_TrSegment
+3
+-s2_m1_s2s1_action
+f
+f
+0
+1284578457
+5
+1
+>20100915212114-23
+1
+>20100915212114-28
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1284578448
+0
+t
+<20100915212114-71
+-bs_RefCounter
+0
+<20100915212114-72
+-bs_SimpleTriggerSpec
+3
+-s2_m1_s2s1_action
+f
+f
+0
+1284578457
+1
+-testee
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.151592
+0.233785
+6
+-1
+t
+<20100915212114-74
+-bs_RefCounter
+0
+<20100915212114-75
+-bs_TrSegment
+3
+-s2s1_entry
+f
+f
+0
+1284578470
+5
+1
+>20100915212114-28
+1
+>20100915212114-33
+-bs_TrTrigger
+1
+-TriggerDummyName
+0
+1284578459
+0
+t
+<20100915212114-77
+-bs_RefCounter
+0
+<20100915212114-78
+-bs_SimpleTriggerSpec
+3
+-s2s1_entry
+f
+f
+0
+1284578470
+1
+-testee
+-
+f
+-
+-1
+-bs_ContextCoord
+0
+0.150191
+0.130609
+7
+-1
+f
+-bs_NoteList
+1
+-Note
+0
+1283097876
+0
+f
+t
+65535
+f
+f
+0
+1284578459
+-bs_SizeFactors
+0
+2.86143
+1.60421
+t
+0
+1283097876
+-
+-
+-
+1024
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1283097876
+0
+1283097876
+-bs_ActorMemberFct
+1
+f
+0
+1283097876
+t
+f
+f
+t
+<20100916105801-327
+-bs_RefCounter
+0
+<20100916105801-328
+-bs_ActorClass
+3
+-ComponentMain
+f
+f
+0
+1285144862
+0
+0
+8
+-
+f
+-bs_ActorInterface
+3
+-bs_PortRefList
+1
+-Port
+0
+1284627427
+0
+f
+0
+0
+1284627427
+-bs_ActorStructure
+7
+-bs_PortRefList
+1
+-Port
+0
+1284627427
+0
+f
+-bs_SAPRefList
+1
+-SAP
+0
+1285144862
+0
+f
+t
+-bs_ActorRefList
+1
+-ActorRef
+0
+1284746549
+0
+t
+<20100916105801-335
+-bs_RefCounter
+0
+<20100916105801-336
+-bs_ActorRef
+3
+-HFSM_Tests
+f
+f
+0
+1284746557
+1
+-bs_ActorCoord
+0
+0.412917
+0.6945
+-bs_SizeFactors
+0
+2.99625
+0.995625
+-bs_CompPortRefList
+1
+-PortInstListDummyName
+0
+1284627460
+0
+f
+3
+-a_HFSM_Tests
+f
+-bs_BindingContractList
+1
+-BindingContract
+0
+1284627427
+0
+f
+-bs_SizeFactors
+0
+1.8
+1
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1284627427
+-bs_PrtvRefList
+1
+-Primitive
+0
+1284627427
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1284627427
+0
+f
+0
+1284627427
+-bs_ActorBehaviour
+7
+<20100916105801-351
+-bs_RefCounter
+0
+<20100916105801-352
+-bs_StateMachine
+4
+-bs_DataMemberList
+1
+-var
+0
+1284627427
+5
+f
+-bs_StateGraph
+8
+<20100916105801-355
+-bs_RefCounter
+0
+<20100916105801-356
+-bs_InitialPoint
+3
+-
+f
+f
+0
+1284627427
+0
+-bs_ContextCoord
+0
+0.07
+0.93
+-bs_ChoicepointList
+1
+-CP
+0
+1284627427
+0
+f
+-bs_TrPointList
+1
+-TrP
+0
+1284627427
+0
+f
+-bs_StateList
+1
+-State
+0
+1284627427
+0
+f
+-bs_TrSegmentList
+1
+-TrSegmentListDummyName
+0
+1284627427
+0
+f
+-bs_NoteList
+1
+-Note
+0
+1284627427
+0
+f
+t
+65535
+f
+f
+0
+1284627427
+-bs_SizeFactors
+0
+1
+1
+t
+0
+1284627427
+-
+-
+-
+1024
+-bs_SnapInfo
+0
+1700
+1700
+30
+20
+0
+0
+1284627427
+0
+1284627427
+-bs_ActorMemberFct
+1
+f
+0
+1284627427
+t
+f
+f
+f
+-------------------------------
+
+
+ROOM_CONFIGURATION_DATA
+
+106
+
+# Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# PersObj-Version: 4 standard
+#
+-bs_ConfigurationList
+-bs_ConfigurationList
+1
+-Configuration
+0
+1284746699
+0
+t
+<20100917200516-354
+-bs_RefCounter
+0
+<20100826185605-116
+-bs_Configuration
+3
+-StdConfig
+f
+f
+0
+1282841742
+6
+>20100916105801-327
+>20100916105801-328
+-bs_TargetList
+1
+-Target
+0
+1282841742
+0
+t
+<20100826185605-119
+-bs_RefCounter
+0
+<20100826185605-120
+-bs_Target
+3
+-PC
+f
+f
+0
+1282841742
+5
+-pc_id
+0
+0
+2
+2
+-bs_FileList
+1
+-FileListDummyName
+0
+1282841742
+0
+f
+f
+-bs_ContextCoord
+0
+0.5
+0.5
+-bs_SizeFactors
+0
+1
+1
+f
+-bs_NoteList
+1
+-Note
+0
+1282841742
+0
+f
+-bs_PrtvDescriptorList
+1
+-PrtvInstance
+0
+1282841742
+0
+f
+-bs_ActorInstanceList
+1
+-ActorInstance
+0
+1282841742
+0
+t
+<20100917200516-362
+-bs_RefCounter
+0
+<20100917200516-363
+-bs_ActorInstance
+3
+-ComponentMain
+f
+f
+0
+1284746699
+5
+8
+<20100917200516-364
+-bs_RefCounter
+0
+N
+0
+f
+<20100921190524-249
+-bs_DataMemberList
+1
+-var
+0
+1285088685
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1284746699
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1284746699
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1285144862
+0
+f
+t
+1024
+t
+<20100917200516-368
+-bs_RefCounter
+0
+<20100917200516-369
+-bs_ActorInstance
+3
+-ComponentMain/HFSM_Tests
+f
+f
+0
+1284746699
+5
+8
+<20100917200516-370
+-bs_RefCounter
+0
+N
+0
+f
+<20100921190524-253
+-bs_DataMemberList
+1
+-var
+0
+1285088685
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1284746699
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1284746699
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1284746699
+0
+f
+t
+1024
+t
+<20100917200516-374
+-bs_RefCounter
+0
+<20100917200516-375
+-bs_ActorInstance
+3
+-ComponentMain/HFSM_Tests/HFSM
+f
+f
+0
+1284746699
+5
+8
+<20100917200516-376
+-bs_RefCounter
+0
+N
+0
+f
+<20100921190524-257
+-bs_DataMemberList
+1
+-var
+0
+1285088685
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1284746699
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1284746699
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1284746699
+0
+f
+t
+1024
+t
+<20100917200516-380
+-bs_RefCounter
+0
+<20100917200516-381
+-bs_ActorInstance
+3
+-ComponentMain/HFSM_Tests/Tester
+f
+f
+0
+1284746699
+5
+8
+<20100917200516-382
+-bs_RefCounter
+0
+N
+0
+f
+<20100921190524-261
+-bs_DataMemberList
+1
+-var
+0
+1285088685
+5
+f
+t
+t
+0
+0
+0
+0
+-bs_ProbeList
+1
+-ProbeListDummyName
+0
+1284746699
+0
+f
+-bs_PortInstanceList
+1
+-PortInstListDummyName
+0
+1284746699
+0
+f
+-bs_GUIItemList
+1
+-GUIItemListDummyName
+0
+1284746699
+0
+f
+t
+1024
+f
+>20100826185605-119
+>20100826185605-120
+0
+-bs_PropertySet
+0
+f
+-bs_ViewMementoList
+1
+-ViewMemento
+0
+1292421958
+0
+f
+f
+>20100917200516-354
+>20100826185605-116
+1284746699
+-bs_DataObjHist
+0
+0
diff --git a/tests/org.eclipse.etrice.integration.tests/src/org/eclipse/etrice/integration/tests/IntegrationTestFSMGenerator.java b/tests/org.eclipse.etrice.integration.tests/src/org/eclipse/etrice/integration/tests/IntegrationTestFSMGenerator.java
new file mode 100644
index 000000000..22b378d3e
--- /dev/null
+++ b/tests/org.eclipse.etrice.integration.tests/src/org/eclipse/etrice/integration/tests/IntegrationTestFSMGenerator.java
@@ -0,0 +1,64 @@
+/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
+ *
+ *******************************************************************************/
+
+package org.eclipse.etrice.integration.tests;
+
+
+import static org.junit.Assert.assertEquals;
+
+import org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher;
+import org.eclipse.etrice.integration.tests.ComponentMain;
+import org.eclipse.etrice.integration.tests.a_HFSM_Tester;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IWorkspace;
+import org.eclipse.core.resources.IncrementalProjectBuilder;
+import org.eclipse.core.resources.ResourcesPlugin;
+
+
+public class IntegrationTestFSMGenerator {
+
+ @Before
+ public void setUp() throws Exception {
+ // we have to launch a JUnit Plugin test since for the build we need an Eclipse environment
+ // in this context the Mwe2Launcher suffers from https://bugs.eclipse.org/bugs/show_bug.cgi?id=318721
+ /*
+ Mwe2Launcher.main(new String[]{"/org.eclipse.etrice.integration.tests/src/de/protos/etrice/integration/test/IntegrationTestFSMGenerator.mwe2"});
+ final IWorkspace workspace = ResourcesPlugin.getWorkspace();
+ final IProject project = workspace.getRoot().getProject("/org.eclipse.etrice.integration.tests");
+ project.build(IncrementalProjectBuilder.INCREMENTAL_BUILD, null);
+ */
+ }
+
+ @Test(timeout=1000)
+ public void testHFSM(){
+ ComponentMain main_component = new ComponentMain(null,"MainComponent");
+ main_component.init(); // lifecycle init
+ main_component.start(); // lifecycle start
+
+ main_component.waitTerminate();
+
+ assertEquals(a_HFSM_Tester.STATE_TestPass ,main_component.getInstance("/MainComponent/HFSM_Tests/Tester").getState());
+
+ // end the lifecycle
+ main_component.stop(); // lifecycle stop
+ main_component.destroy(); // lifecycle destroy
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ }
+
+
+}
diff --git a/tests/org.eclipse.etrice.integration.tests/src/org/eclipse/etrice/integration/tests/IntegrationTestFSMGenerator.mwe2 b/tests/org.eclipse.etrice.integration.tests/src/org/eclipse/etrice/integration/tests/IntegrationTestFSMGenerator.mwe2
new file mode 100644
index 000000000..d20cbe20a
--- /dev/null
+++ b/tests/org.eclipse.etrice.integration.tests/src/org/eclipse/etrice/integration/tests/IntegrationTestFSMGenerator.mwe2
@@ -0,0 +1,18 @@
+module integration_test_fsm
+
+import workflow.RoomGenerator
+import org.eclipse.emf.mwe.utils.*
+
+var destDir = "src-gen"
+
+Workflow {
+
+ component = DirectoryCleaner {
+ directory = destDir
+ }
+
+ component = @RoomGenerator {
+ sourceDir = "model"
+ targetDir = destDir
+ }
+} \ No newline at end of file
diff --git a/tests/org.eclipse.etrice.integration.tests/tmp/log/MainComponent_Async.seq b/tests/org.eclipse.etrice.integration.tests/tmp/log/MainComponent_Async.seq
new file mode 100644
index 000000000..58a2c1029
--- /dev/null
+++ b/tests/org.eclipse.etrice.integration.tests/tmp/log/MainComponent_Async.seq
@@ -0,0 +1,27 @@
+#generated MSC for Trace2UML
+ /MainComponent/HFSM_Tests/HFSM >-- /MainComponent/HFSM_Tests/Tester init_action
+ /MainComponent/HFSM_Tests/HFSM >-- /MainComponent/HFSM_Tests/Tester s1_entry
+ /MainComponent/HFSM_Tests/HFSM >>> State1
+ /MainComponent/HFSM_Tests/Tester >>> State1
+ /MainComponent/HFSM_Tests/HFSM --> /MainComponent/HFSM_Tests/Tester init_action
+ /MainComponent/HFSM_Tests/Tester >>> State2
+ /MainComponent/HFSM_Tests/HFSM --> /MainComponent/HFSM_Tests/Tester s1_entry
+ /MainComponent/HFSM_Tests/Tester >-- /MainComponent/HFSM_Tests/HFSM m1
+ /MainComponent/HFSM_Tests/Tester >>> State3
+ /MainComponent/HFSM_Tests/Tester --> /MainComponent/HFSM_Tests/HFSM m1
+ /MainComponent/HFSM_Tests/HFSM >-- /MainComponent/HFSM_Tests/Tester s1_exit
+ /MainComponent/HFSM_Tests/HFSM >-- /MainComponent/HFSM_Tests/Tester s1_m1_s2_action
+ /MainComponent/HFSM_Tests/HFSM >-- /MainComponent/HFSM_Tests/Tester s2_entry
+ /MainComponent/HFSM_Tests/HFSM >-- /MainComponent/HFSM_Tests/Tester s2_m1_s2s1_action
+ /MainComponent/HFSM_Tests/HFSM >-- /MainComponent/HFSM_Tests/Tester s2s1_entry
+ /MainComponent/HFSM_Tests/HFSM >>> State2_State1
+ /MainComponent/HFSM_Tests/HFSM --> /MainComponent/HFSM_Tests/Tester s1_exit
+ /MainComponent/HFSM_Tests/Tester >>> State4
+ /MainComponent/HFSM_Tests/HFSM --> /MainComponent/HFSM_Tests/Tester s1_m1_s2_action
+ /MainComponent/HFSM_Tests/Tester >>> State5
+ /MainComponent/HFSM_Tests/HFSM --> /MainComponent/HFSM_Tests/Tester s2_entry
+ /MainComponent/HFSM_Tests/Tester >>> State6
+ /MainComponent/HFSM_Tests/HFSM --> /MainComponent/HFSM_Tests/Tester s2_m1_s2s1_action
+ /MainComponent/HFSM_Tests/Tester >>> State7
+ /MainComponent/HFSM_Tests/HFSM --> /MainComponent/HFSM_Tests/Tester s2s1_entry
+ /MainComponent/HFSM_Tests/Tester >>> TestPass
diff --git a/tests/org.eclipse.etrice.integration.tests/tmp/log/MainComponent_Sync.seq b/tests/org.eclipse.etrice.integration.tests/tmp/log/MainComponent_Sync.seq
new file mode 100644
index 000000000..50058ecdd
--- /dev/null
+++ b/tests/org.eclipse.etrice.integration.tests/tmp/log/MainComponent_Sync.seq
@@ -0,0 +1 @@
+#generated MSC for Trace2UML
diff --git a/tests/org.eclipse.etrice.runtime.java.tests/.gitignore b/tests/org.eclipse.etrice.runtime.java.tests/.gitignore
new file mode 100644
index 000000000..ba077a403
--- /dev/null
+++ b/tests/org.eclipse.etrice.runtime.java.tests/.gitignore
@@ -0,0 +1 @@
+bin
diff --git a/tests/org.eclipse.etrice.runtime.java.tests/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.etrice.runtime.java.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..912f280ba
--- /dev/null
+++ b/tests/org.eclipse.etrice.runtime.java.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,12 @@
+#Fri Dec 03 09:11:14 CET 2010
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/tests/org.eclipse.etrice.runtime.java.tests/.settings/org.eclipse.ocl.modelregistry b/tests/org.eclipse.etrice.runtime.java.tests/.settings/org.eclipse.ocl.modelregistry
new file mode 100644
index 000000000..f350ed35e
--- /dev/null
+++ b/tests/org.eclipse.etrice.runtime.java.tests/.settings/org.eclipse.ocl.modelregistry
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="ASCII"?>
+<mreg:ModelRegistrySettings xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:mreg="http://www.eclipse.org/ocl/1.0/ModelRegistry"/>
diff --git a/tests/org.eclipse.etrice.runtime.java.tests/about.html b/tests/org.eclipse.etrice.runtime.java.tests/about.html
new file mode 100644
index 000000000..f47dbddbb
--- /dev/null
+++ b/tests/org.eclipse.etrice.runtime.java.tests/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2006</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/debugging/MSCLoggerTest.java b/tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/debugging/MSCLoggerTest.java
new file mode 100644
index 000000000..8e6524ce8
--- /dev/null
+++ b/tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/debugging/MSCLoggerTest.java
@@ -0,0 +1,37 @@
+/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+
+package org.eclipse.etrice.runtime.java.debugging;
+
+import org.eclipse.etrice.runtime.java.debugging.MSCLogger;
+
+import junit.framework.TestCase;
+
+public class MSCLoggerTest extends TestCase {
+
+ public void testMSCLogger() {
+ MSCLogger logger = new MSCLogger();
+ logger.setMSC("MSC1", ".\\");
+ logger.open();
+ logger.addMessageAsyncOut("Inst1", "Inst2", "msg1");
+ logger.addMessageAsyncIn("Inst1", "Inst2", "msg1");
+ logger.addMessageSyncCall("Inst1", "Inst2", "msg1");
+ logger.addMessageSyncReturn("Inst1", "Inst2", "msg1");
+ logger.addActorState("Actor1", "State1");
+ logger.close();
+
+ assertEquals("\tInst1 >-- Inst2 msg1", logger.getCommandList().get(0));
+ assertEquals("\tInst1 --> Inst2 msg1", logger.getCommandList().get(1));
+ assertEquals("\tInst1 ==> Inst2 msg1", logger.getCommandList().get(2));
+ assertEquals("\tInst1 <== Inst2 msg1", logger.getCommandList().get(3));
+ assertEquals("\tActor1 >>> State1", logger.getCommandList().get(4));
+
+ //TODO: how should we check generated files?
+
+ }
+}
diff --git a/tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/messaging/AddressTest.java b/tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/messaging/AddressTest.java
new file mode 100644
index 000000000..7375e2a64
--- /dev/null
+++ b/tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/messaging/AddressTest.java
@@ -0,0 +1,28 @@
+/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+
+package org.eclipse.etrice.runtime.java.messaging;
+
+import org.eclipse.etrice.runtime.java.messaging.Address;
+
+import junit.framework.TestCase;
+
+public class AddressTest extends TestCase {
+
+ public void testAddress() {
+ Address addr = new Address(1,2,3);
+ assertEquals(1, addr.nodeID);
+ assertEquals(2, addr.threadID);
+ assertEquals(3, addr.objectID);
+ }
+ public void testToString() {
+ Address addr = new Address(1,2,3);
+ assertEquals("Address(nodeID=1,threadID=2,objectID=3)", addr.toString());
+ }
+
+}
diff --git a/tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/messaging/DummyMessageReceiver.java b/tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/messaging/DummyMessageReceiver.java
new file mode 100644
index 000000000..fdf28bf90
--- /dev/null
+++ b/tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/messaging/DummyMessageReceiver.java
@@ -0,0 +1,49 @@
+/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+
+package org.eclipse.etrice.runtime.java.messaging;
+
+import org.eclipse.etrice.runtime.java.messaging.Address;
+import org.eclipse.etrice.runtime.java.messaging.IMessageReceiver;
+import org.eclipse.etrice.runtime.java.messaging.Message;
+
+// this class is purely for testing purposes
+// it remembers the last receive message
+public class DummyMessageReceiver implements IMessageReceiver {
+
+ DummyMessageReceiver (Address address){
+ this.address = address;
+ }
+
+ public void receive(Message msg) {
+ last_received_message = msg;
+ }
+
+ public Address getAddress() {
+ // TODO Auto-generated method stub
+ return this.address;
+ }
+
+ public Message getLastReceivedMessage(){
+ return last_received_message;
+ }
+
+ private Message last_received_message = null;
+ private Address address = null;
+
+ public String getInstancePath() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public String getInstancePathName() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+}
diff --git a/tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/messaging/MessageDispatcherTest.java b/tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/messaging/MessageDispatcherTest.java
new file mode 100644
index 000000000..dbe7f4c8c
--- /dev/null
+++ b/tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/messaging/MessageDispatcherTest.java
@@ -0,0 +1,69 @@
+/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+
+package org.eclipse.etrice.runtime.java.messaging;
+
+import org.eclipse.etrice.runtime.java.messaging.Address;
+import org.eclipse.etrice.runtime.java.messaging.Message;
+import org.eclipse.etrice.runtime.java.messaging.MessageDispatcher;
+
+import junit.framework.TestCase;
+
+public class MessageDispatcherTest extends TestCase {
+
+ public void testAddMessageReceiver() {
+ Address dispatcher_address = new Address(0,0,0);
+
+ // Create Receivers to check if the messages are delivered
+ DummyMessageReceiver receiver1 = new DummyMessageReceiver(new Address(0,0,1));
+ DummyMessageReceiver receiver2 = new DummyMessageReceiver(new Address(0,1,1));
+ DummyMessageReceiver receiver3 = new DummyMessageReceiver(new Address(1,1,1));
+ DummyMessageReceiver receiver4 = new DummyMessageReceiver(new Address(0,0,2));
+ DummyMessageReceiver receiver5 = new DummyMessageReceiver(new Address(0,1,2));
+ DummyMessageReceiver receiver6 = new DummyMessageReceiver(new Address(1,1,2));
+
+
+ // Add all Receivers to the Dispatcher
+ MessageDispatcher dispatcher = new MessageDispatcher(null, dispatcher_address, "Dispatcher1");
+ dispatcher.addMessageReceiver(receiver1);
+ dispatcher.addMessageReceiver(receiver2);
+ dispatcher.addMessageReceiver(receiver3);
+ dispatcher.addMessageReceiver(receiver4);
+ dispatcher.addMessageReceiver(receiver5);
+ dispatcher.addMessageReceiver(receiver6);
+
+
+ Message msg1 = new Message(new Address(0,0,1));
+ Message msg2 = new Message(new Address(0,1,1));
+ Message msg3 = new Message(new Address(1,1,1));
+ Message msg4 = new Message(new Address(0,0,2));
+ Message msg5 = new Message(new Address(0,1,2));
+ Message msg6 = new Message(new Address(1,1,2));
+
+ dispatcher.receive(msg1);
+ assertEquals(msg1, receiver1.getLastReceivedMessage());
+ dispatcher.receive(msg2);
+ assertEquals(msg2, receiver2.getLastReceivedMessage());
+ dispatcher.receive(msg3);
+ assertEquals(msg3, receiver3.getLastReceivedMessage());
+ dispatcher.receive(msg4);
+ assertEquals(msg4, receiver4.getLastReceivedMessage());
+ dispatcher.receive(msg5);
+ assertEquals(msg5, receiver5.getLastReceivedMessage());
+ dispatcher.receive(msg6);
+ assertEquals(msg6, receiver6.getLastReceivedMessage());
+
+ }
+
+ public void testInstanceId() {
+ Address dispatcher_address = new Address(0,0,0);
+ MessageDispatcher dispatcher = new MessageDispatcher(null, dispatcher_address, "Dispatcher1");
+ assertEquals("/Dispatcher1", dispatcher.getInstancePath());
+ }
+
+}
diff --git a/tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/messaging/MessageSeQueueTest.java b/tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/messaging/MessageSeQueueTest.java
new file mode 100644
index 000000000..440c46c2f
--- /dev/null
+++ b/tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/messaging/MessageSeQueueTest.java
@@ -0,0 +1,129 @@
+/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+
+package org.eclipse.etrice.runtime.java.messaging;
+
+import org.eclipse.etrice.runtime.java.messaging.Address;
+import org.eclipse.etrice.runtime.java.messaging.Message;
+import org.eclipse.etrice.runtime.java.messaging.MessageSeQueue;
+
+import junit.framework.TestCase;
+
+public class MessageSeQueueTest extends TestCase {
+
+ public void testPushPop() {
+ MessageSeQueue queue = new MessageSeQueue(null, "QueueName");
+ Message msg1 = new Message(new Address(0, 0, 0));
+ Message msg2 = new Message(new Address(0, 0, 0));
+ Message msg3 = new Message(new Address(0, 0, 0));
+
+ Message msg_received = null;
+
+ // check fresh queue
+ assertEquals(null, queue.getFirst());
+ assertEquals(null, queue.getLast());
+
+ // push first message
+ queue.push(msg1);
+ assertEquals(null, msg1.getNext());
+
+ assertEquals(msg1, queue.getFirst());
+ assertEquals(msg1, queue.getLast());
+
+ // push second message
+ queue.push(msg2);
+ assertEquals(msg2, msg1.getNext());
+ assertEquals(null, msg2.getNext());
+
+ assertEquals(msg1, queue.getFirst());
+ assertEquals(msg2, queue.getLast());
+
+ // push third message
+ queue.push(msg3);
+ assertEquals(msg2, msg1.getNext());
+ assertEquals(msg3, msg2.getNext());
+ assertEquals(null, msg3.getNext());
+
+ assertEquals(msg1, queue.getFirst());
+ assertEquals(msg3, queue.getLast());
+
+ // pop msg1
+ msg_received = queue.pop();
+ assertEquals(msg1, msg_received);
+ assertEquals(null, msg1.getNext());
+ assertEquals(msg3, msg2.getNext());
+ assertEquals(null, msg3.getNext());
+
+ assertEquals(msg2, queue.getFirst());
+ assertEquals(msg3, queue.getLast());
+
+
+ // pop msg2
+ msg_received = queue.pop();
+ assertEquals(msg2, msg_received);
+ assertEquals(null, msg2.getNext());
+ assertEquals(null, msg3.getNext());
+
+ assertEquals(msg3, queue.getFirst());
+ assertEquals(msg3, queue.getLast());
+
+ // pop msg3
+ msg_received = queue.pop();
+ assertEquals(msg3, msg_received);
+ assertEquals(null, msg3.getNext());
+
+ assertEquals(null, queue.getFirst());
+ assertEquals(null, queue.getLast());
+
+ msg_received = queue.pop();
+ assertEquals(null, msg_received);
+
+ }
+
+
+ public void testSizeAndHighwatermark() {
+ MessageSeQueue queue = new MessageSeQueue(null, "QueueName");
+ Message msg1 = new Message(new Address(0, 0, 0));
+ Message msg2 = new Message(new Address(0, 0, 0));
+ Message msg3 = new Message(new Address(0, 0, 0));
+
+ Message msg_received = null;
+
+ assertEquals(0, queue.getSize());
+ assertEquals(0, queue.getHightWaterMark());
+
+ queue.push(msg1);
+ assertEquals(1, queue.getSize());
+ assertEquals(1, queue.getHightWaterMark());
+
+ queue.push(msg2);
+ assertEquals(2, queue.getSize());
+ assertEquals(2, queue.getHightWaterMark());
+
+ queue.push(msg3);
+ assertEquals(3, queue.getSize());
+ assertEquals(3, queue.getHightWaterMark());
+
+ msg_received = queue.pop();
+ assertEquals(msg1, msg_received);
+ assertEquals(2, queue.getSize());
+ assertEquals(3, queue.getHightWaterMark());
+
+ msg_received = queue.pop();
+ assertEquals(msg2, msg_received);
+ assertEquals(1, queue.getSize());
+ assertEquals(3, queue.getHightWaterMark());
+
+ msg_received = queue.pop();
+ assertEquals(msg3, msg_received);
+ assertEquals(0, queue.getSize());
+ assertEquals(3, queue.getHightWaterMark());
+
+ }
+
+}
diff --git a/tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/messaging/MessageServiceTest.java b/tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/messaging/MessageServiceTest.java
new file mode 100644
index 000000000..2c03d7051
--- /dev/null
+++ b/tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/messaging/MessageServiceTest.java
@@ -0,0 +1,148 @@
+/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+
+package org.eclipse.etrice.runtime.java.messaging;
+
+import org.eclipse.etrice.runtime.java.messaging.Address;
+import org.eclipse.etrice.runtime.java.messaging.Message;
+import org.eclipse.etrice.runtime.java.messaging.MessageService;
+
+import junit.framework.TestCase;
+
+public class MessageServiceTest extends TestCase {
+
+
+ public void testRun() {
+
+ // testing basic functionality of MessageService and Dispatcher
+ Address addr = new Address(0,0,0);
+ MessageService msg_service = new MessageService(null, addr, "MessageService1");
+
+ DummyMessageReceiver receiver1 = new DummyMessageReceiver(new Address(0,0,1));
+ DummyMessageReceiver receiver2 = new DummyMessageReceiver(new Address(0,1,1));
+ DummyMessageReceiver receiver3 = new DummyMessageReceiver(new Address(1,1,1));
+ DummyMessageReceiver receiver4 = new DummyMessageReceiver(new Address(0,0,2));
+ DummyMessageReceiver receiver5 = new DummyMessageReceiver(new Address(0,1,2));
+ DummyMessageReceiver receiver6 = new DummyMessageReceiver(new Address(1,1,2));
+
+
+ msg_service.getMessageDispatcher().addMessageReceiver(receiver1);
+ msg_service.getMessageDispatcher().addMessageReceiver(receiver2);
+ msg_service.getMessageDispatcher().addMessageReceiver(receiver3);
+ msg_service.getMessageDispatcher().addMessageReceiver(receiver4);
+ msg_service.getMessageDispatcher().addMessageReceiver(receiver5);
+ msg_service.getMessageDispatcher().addMessageReceiver(receiver6);
+
+ Message msg1 = new Message(new Address(0,0,1));
+ Message msg2 = new Message(new Address(0,1,1));
+ Message msg3 = new Message(new Address(1,1,1));
+ Message msg4 = new Message(new Address(0,0,2));
+ Message msg5 = new Message(new Address(0,1,2));
+ Message msg6 = new Message(new Address(1,1,2));
+
+ msg_service.start();
+
+ msg_service.receive(msg1);
+ msg_service.receive(msg2);
+ msg_service.receive(msg3);
+ msg_service.receive(msg4);
+ msg_service.receive(msg5);
+ msg_service.receive(msg6);
+
+
+ try {
+ // give the other thread in MessageService a bit time to compute the queue
+ Thread.sleep(100);
+ } catch (InterruptedException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ assertEquals(msg1, receiver1.getLastReceivedMessage());
+ assertEquals(msg2, receiver2.getLastReceivedMessage());
+ assertEquals(msg3, receiver3.getLastReceivedMessage());
+ assertEquals(msg4, receiver4.getLastReceivedMessage());
+ assertEquals(msg5, receiver5.getLastReceivedMessage());
+ assertEquals(msg6, receiver6.getLastReceivedMessage());
+
+
+ }
+
+ public void testMassiveMessaging(){
+ // testing massive use of messaging between two threads
+ // current thread sends, MessageService has its own thread to dispatch the received messages
+ // implicit test of race conditions -> test breaks if you take out the synchronized keywords from the MessageService
+
+ Address addr = new Address(0,0,0);
+ MessageService msg_service = new MessageService(null, addr, "MessageService1");
+
+ int max=3000;
+ int max_iter=10;
+
+ // create and register message receivers
+ DummyMessageReceiver receiver[]=new DummyMessageReceiver[max];
+ for (int i=0; i<max; i++){
+ receiver[i] = new DummyMessageReceiver(new Address(0,0,1+i));
+ msg_service.getMessageDispatcher().addMessageReceiver(receiver[i]);
+ }
+
+
+ // Create all Messages
+ Message msg[][]=new Message[max][max_iter];
+ for (int j=0; j<max_iter; j++){
+ for (int i=0; i<max; i++){
+ msg[i][j] = new Message(new Address(0,0,i+1));
+ }
+ }
+
+ // Start Message Service before sending the Messages to test the synchronization
+ // This test fails without the synchronized keywords in the MessageService
+ msg_service.start();
+
+ // send all messages
+ for (int j=0; j<max_iter; j++){
+ for (int i=0; i<max; i++){
+ msg_service.receive(msg[i][j]);
+ }
+ }
+
+
+ try {
+ // give the other thread in MessageService a bit time to compute the queue
+ // TODO: maybe not a good choice to make a sleep in a test, a better strategy for multi threaded unit tests is needed
+ Thread.sleep(1000);
+ } catch (InterruptedException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ for (int i=0; i<max; i++){
+ assertEquals(msg[i][max_iter-1], receiver[i].getLastReceivedMessage());
+ }
+
+ }
+
+ public void testMessageService() {
+ Address addr = new Address(0,0,0);
+ MessageService msg_service = new MessageService(null, addr, "MessageService1");
+ assertEquals(addr, msg_service.getAddress());
+ assertEquals(msg_service.getMessageDispatcher().getAddress().objectID, msg_service.getAddress().objectID+1);
+ }
+
+ public void testInstanceId() {
+ Address addr = new Address(0,0,0);
+
+ // setInstanceId via Constructor
+ MessageService msg_service = new MessageService(null, addr, "MessageService1");
+ assertEquals("/MessageService1", msg_service.getInstancePath());
+ assertEquals("/MessageService1/Queue", msg_service.getMessageQueue().getInstancePath());
+ assertEquals("/MessageService1/Dispatcher", msg_service.getMessageDispatcher().getInstancePath());
+ }
+
+
+}
diff --git a/tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/messaging/MessageTest.java b/tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/messaging/MessageTest.java
new file mode 100644
index 000000000..0c89fb07f
--- /dev/null
+++ b/tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/messaging/MessageTest.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+
+package org.eclipse.etrice.runtime.java.messaging;
+
+import org.eclipse.etrice.runtime.java.messaging.Address;
+import org.eclipse.etrice.runtime.java.messaging.Message;
+
+import junit.framework.TestCase;
+
+public class MessageTest extends TestCase {
+
+ public void testSetGetNext() {
+ Message msg1 = new Message(new Address(0, 0, 0));
+ Message msg2 = new Message(new Address(0, 0, 0));
+ msg1.setNext(msg2);
+ msg2.setNext(msg1);
+ assertEquals(msg1.getNext(), msg2);
+ assertEquals(msg2.getNext(), msg1);
+ }
+
+ public void testToString() {
+ Message msg = new Message(new Address(1,2,3));
+ assertEquals("Message(Address(nodeID=1,threadID=2,objectID=3))", msg.toString());
+ }
+
+
+}
diff --git a/tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/modelbase/ActorClassBaseTest.java b/tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/modelbase/ActorClassBaseTest.java
new file mode 100644
index 000000000..8253f20c0
--- /dev/null
+++ b/tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/modelbase/ActorClassBaseTest.java
@@ -0,0 +1,63 @@
+/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+
+package org.eclipse.etrice.runtime.java.modelbase;
+
+import org.eclipse.etrice.runtime.java.messaging.Address;
+import org.eclipse.etrice.runtime.java.messaging.IRTObject;
+import org.eclipse.etrice.runtime.java.messaging.Message;
+import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
+import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
+
+import junit.framework.TestCase;
+
+
+
+public class ActorClassBaseTest extends TestCase {
+
+ public class TestActor extends ActorClassBase {
+ public TestActor(IRTObject parent, String name) {
+ super(parent, name, null);
+ }
+ public void receive(Message msg) {
+
+ }
+ public Address getAddress() {
+ return null;
+ }
+ public void receiveEvent(InterfaceItemBase ifitem, int evt, Object... data) {
+ }
+
+ @Override
+ public void init() {}
+ @Override
+ public void start() {}
+ @Override
+ public void stop() {}
+ @Override
+ public void destroy() {}
+ }
+
+
+ public void testActorClassBase() {
+ ActorClassBase actor = new TestActor(null, "Actor1");
+ assertEquals("/Actor1", actor.getInstancePath());
+ }
+
+ public void testToString() {
+ ActorClassBase actor = new TestActor(null, "Actor1");
+ actor.setClassName("ActorClassBase");
+ assertEquals("ActorClass(className=ActorClassBase, instancePath=/Actor1)", actor.toString());
+ }
+
+ public void testSetGetClassName() {
+ ActorClassBase actor = new TestActor(null, "Actor1");
+ actor.setClassName("ActorClassBase");
+ assertEquals("ActorClassBase", actor.getClassName());
+ }
+}
diff --git a/tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/modelbase/EventMessageTest.java b/tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/modelbase/EventMessageTest.java
new file mode 100644
index 000000000..13b29f616
--- /dev/null
+++ b/tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/modelbase/EventMessageTest.java
@@ -0,0 +1,34 @@
+/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+
+package org.eclipse.etrice.runtime.java.modelbase;
+
+import org.eclipse.etrice.runtime.java.messaging.Address;
+import org.eclipse.etrice.runtime.java.modelbase.EventMessage;
+
+import junit.framework.TestCase;
+
+public class EventMessageTest extends TestCase {
+
+ public void testSetGetNext() {
+ EventMessage msg1 = new EventMessage(new Address(0, 0, 0), 123);
+ EventMessage msg2 = new EventMessage(new Address(0, 0, 0), 456);
+ msg1.setNext(msg2);
+ msg2.setNext(msg1);
+ assertEquals(msg1.getNext(), msg2);
+ assertEquals(msg2.getNext(), msg1);
+
+ assertEquals(123, msg1.getEvtId());
+ assertEquals(456, msg2.getEvtId());
+ }
+
+ public void testToString() {
+ EventMessage msg = new EventMessage(new Address(1,2,3), 789);
+ assertEquals("EventMessage(Address(nodeID=1,threadID=2,objectID=3), evt=789)", msg.toString());
+ }
+}
diff --git a/tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/modelbase/EventWithDataMessageTest.java b/tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/modelbase/EventWithDataMessageTest.java
new file mode 100644
index 000000000..41f228d23
--- /dev/null
+++ b/tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/modelbase/EventWithDataMessageTest.java
@@ -0,0 +1,36 @@
+/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+
+package org.eclipse.etrice.runtime.java.modelbase;
+
+import org.eclipse.etrice.runtime.java.messaging.Address;
+import org.eclipse.etrice.runtime.java.modelbase.EventWithDataMessage;
+
+import junit.framework.TestCase;
+
+public class EventWithDataMessageTest extends TestCase {
+
+ public void testSetGetNext() {
+ EventWithDataMessage msg1 = new EventWithDataMessage(new Address(0, 0, 0), 123, "abc");
+ EventWithDataMessage msg2 = new EventWithDataMessage(new Address(0, 0, 0), 456, "def");
+ msg1.setNext(msg2);
+ msg2.setNext(msg1);
+ assertEquals(msg1.getNext(), msg2);
+ assertEquals(msg2.getNext(), msg1);
+
+ assertEquals(123, msg1.getEvtId());
+ assertEquals(456, msg2.getEvtId());
+ assertEquals("abc", msg1.getData()[0]);
+ assertEquals("def", msg2.getData()[0]);
+ }
+
+ public void testToString() {
+ EventWithDataMessage msg = new EventWithDataMessage(new Address(1,2,3), 789, "eTrice");
+ assertEquals("EventWithDataMessage(Address(nodeID=1,threadID=2,objectID=3), evt=789, data=eTrice)", msg.toString());
+ }
+}
diff --git a/tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/modelbase/PortBaseTest.java b/tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/modelbase/PortBaseTest.java
new file mode 100644
index 000000000..7b91b934f
--- /dev/null
+++ b/tests/org.eclipse.etrice.runtime.java.tests/src/org/eclipse/etrice/runtime/java/modelbase/PortBaseTest.java
@@ -0,0 +1,110 @@
+/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+
+package org.eclipse.etrice.runtime.java.modelbase;
+
+import org.eclipse.etrice.runtime.java.messaging.Address;
+import org.eclipse.etrice.runtime.java.messaging.IMessageReceiver;
+import org.eclipse.etrice.runtime.java.messaging.IRTObject;
+import org.eclipse.etrice.runtime.java.messaging.Message;
+import org.eclipse.etrice.runtime.java.messaging.MessageService;
+import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
+import org.eclipse.etrice.runtime.java.modelbase.IEventReceiver;
+import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
+import org.eclipse.etrice.runtime.java.modelbase.PortBase;
+
+import junit.framework.TestCase;
+
+public class PortBaseTest extends TestCase {
+
+ public class TestActor extends ActorClassBase {
+ public TestActor(IRTObject parent, String name) {
+ super(parent, name, null);
+ }
+ public void receive(Message msg) {
+
+ }
+ public Address getAddress() {
+ return null;
+ }
+ public void receiveEvent(InterfaceItemBase ifitem, int evt, Object... data) {
+ }
+ @Override
+ public void init() {}
+ @Override
+ public void start() {}
+ @Override
+ public void stop() {}
+ @Override
+ public void destroy() {}
+ }
+
+ class MyPortBase extends PortBase {
+ public MyPortBase(IEventReceiver parent, String name, int localId, int idx, Address address,
+ Address peerAddress, IMessageReceiver msgReceiver) {
+ super(parent, name, localId, idx, address, peerAddress, msgReceiver);
+ }
+
+ public void receive(Message msg) {
+ }
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+
+ public void testPortBase() {
+ MessageService msgService = new MessageService(null, new Address(4, 5, 6), "MessageService1");
+ Address portAddress = new Address(1, 2, 3);
+ Address peerAddress = new Address(3, 2, 1);
+ PortBase port = new MyPortBase(null, "Port1", 0, 0, portAddress, peerAddress, msgService);
+ assertEquals(msgService, port.getMsgReceiver());
+ assertEquals(portAddress, port.getAddress());
+ assertEquals(peerAddress, port.getPeerAddress());
+ }
+
+ public void testSetGetPeerAddress() {
+ Address peerAddress = new Address(3, 2, 1);
+ PortBase port = new MyPortBase(null, "", 0, 0, null, peerAddress, null);
+ assertEquals(peerAddress, port.getPeerAddress());
+ }
+
+ public void testSetGetMsgService() {
+ MessageService msgService = new MessageService(null, new Address(4, 5, 6), "MessageService1");
+ Address portAddress = new Address(1, 2, 3);
+ PortBase port = new MyPortBase(null, "", 0, 0, portAddress, null, msgService);
+ assertEquals(msgService, port.getMsgReceiver());
+ }
+
+ public void testSetInstanceId() {
+ PortBase port = new MyPortBase(null, "Port1", 0, 0, null, null, null);
+ assertEquals("/Port1", port.getInstancePath());
+ }
+
+ public void testGetLocalId() {
+ PortBase port = new MyPortBase(null, "Port1", 123, 0, null, null, null);
+ assertEquals(123, port.getLocalId());
+ }
+
+ public void testGetIdx() {
+ PortBase port = new MyPortBase(null, "Port1", 0, 456, null, null, null);
+ assertEquals(456, port.getIdx());
+ }
+
+ public void testSetGetParentObject(){
+ ActorClassBase actor = new TestActor(null, "Actor1");
+ PortBase port = new MyPortBase(actor, "Port1", 0, 0, null, null, null);
+
+ assertEquals("/Actor1/Port1", port.getInstancePath());
+ assertEquals(actor, port.getActor());
+ }
+}

Back to the top