diff options
author | Henrik Rentz-Reichert | 2013-10-09 07:18:39 +0000 |
---|---|---|
committer | Henrik Rentz-Reichert | 2013-10-09 07:18:39 +0000 |
commit | 87b9a0ae6bafcc69fa08e1f95180ac7628668896 (patch) | |
tree | f521448a715ac0ec4f222f749bcaaf2d3e81cbe5 | |
parent | 85f1638136d3f08f02515211973d516d4090fb42 (diff) | |
download | org.eclipse.etrice-87b9a0ae6bafcc69fa08e1f95180ac7628668896.tar.gz org.eclipse.etrice-87b9a0ae6bafcc69fa08e1f95180ac7628668896.tar.xz org.eclipse.etrice-87b9a0ae6bafcc69fa08e1f95180ac7628668896.zip |
[orga] added example model for wikipedia diagrams
25 files changed, 2408 insertions, 0 deletions
diff --git a/orga/spec/example models/WikiDiagrams/.classpath b/orga/spec/example models/WikiDiagrams/.classpath new file mode 100644 index 000000000..c3f482b27 --- /dev/null +++ b/orga/spec/example models/WikiDiagrams/.classpath @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src-gen"/> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="/org.eclipse.etrice.runtime.java"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/orga/spec/example models/WikiDiagrams/.project b/orga/spec/example models/WikiDiagrams/.project new file mode 100644 index 000000000..27a8654ba --- /dev/null +++ b/orga/spec/example models/WikiDiagrams/.project @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>WikiDiagrams</name> + <comment></comment> + <projects> + <project>org.eclipse.etrice.runtime.java</project> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.xtext.ui.shared.xtextBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.xtext.ui.shared.xtextNature</nature> + </natures> +</projectDescription> diff --git a/orga/spec/example models/WikiDiagrams/build.properties b/orga/spec/example models/WikiDiagrams/build.properties new file mode 100644 index 000000000..83655578d --- /dev/null +++ b/orga/spec/example models/WikiDiagrams/build.properties @@ -0,0 +1,2 @@ +source.. = src/,\ +src-gen/ diff --git a/orga/spec/example models/WikiDiagrams/gen_WikiDiagrams.launch b/orga/spec/example models/WikiDiagrams/gen_WikiDiagrams.launch new file mode 100644 index 000000000..de6fb7529 --- /dev/null +++ b/orga/spec/example models/WikiDiagrams/gen_WikiDiagrams.launch @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<launchConfiguration type="org.eclipse.etrice.generator.launch.java.launchConfigurationType"> +<booleanAttribute key="MSC" value="true"/> +<listAttribute key="ModelFiles"> +<listEntry value="${workspace_loc:/WikiDiagrams/model/WikiDiagrams.etmap}"/> +</listAttribute> +<listAttribute key="org.eclipse.debug.ui.favoriteGroups"> +<listEntry value="org.eclipse.debug.ui.launchGroup.run"/> +</listAttribute> +<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${workspace}"/> +</launchConfiguration> diff --git a/orga/spec/example models/WikiDiagrams/images/Behavior of ActorClass2.jpg b/orga/spec/example models/WikiDiagrams/images/Behavior of ActorClass2.jpg Binary files differnew file mode 100644 index 000000000..83c521d7a --- /dev/null +++ b/orga/spec/example models/WikiDiagrams/images/Behavior of ActorClass2.jpg diff --git a/orga/spec/example models/WikiDiagrams/images/Structure of AnActorClass.jpg b/orga/spec/example models/WikiDiagrams/images/Structure of AnActorClass.jpg Binary files differnew file mode 100644 index 000000000..fe1837284 --- /dev/null +++ b/orga/spec/example models/WikiDiagrams/images/Structure of AnActorClass.jpg diff --git a/orga/spec/example models/WikiDiagrams/model/WikiDiagrams.etmap b/orga/spec/example models/WikiDiagrams/model/WikiDiagrams.etmap new file mode 100644 index 000000000..805a2d22d --- /dev/null +++ b/orga/spec/example models/WikiDiagrams/model/WikiDiagrams.etmap @@ -0,0 +1,9 @@ +MappingModel WikiDiagrams { + import WikiDiagrams.* from "WikiDiagrams.room" + import WikiDiagrams.* from "WikiDiagrams.etphys" + Mapping LogSys1 -> PhysSys1 { + SubSystemMapping subSysRef1 -> nodeRef1 { + ThreadMapping defaultThread -> PhysicalThread1 + } + } +} diff --git a/orga/spec/example models/WikiDiagrams/model/WikiDiagrams.etphys b/orga/spec/example models/WikiDiagrams/model/WikiDiagrams.etphys new file mode 100644 index 000000000..fc10e7271 --- /dev/null +++ b/orga/spec/example models/WikiDiagrams/model/WikiDiagrams.etphys @@ -0,0 +1,25 @@ +PhysicalModel WikiDiagrams { + + PhysicalSystem PhysSys1 { + NodeRef nodeRef1 : NodeClass1 + } + + NodeClass NodeClass1 { + runtime = RuntimeClass1 + priomin = -10 + priomax = 10 + + DefaultThread PhysicalThread1 { + execmode = mixed + interval = 100ms + prio = 0 + stacksize = 1024 + msgblocksize = 32 + msgpoolsize = 10 + } + } + + RuntimeClass RuntimeClass1 { + model = multiThreaded + } +} diff --git a/orga/spec/example models/WikiDiagrams/model/WikiDiagrams.room b/orga/spec/example models/WikiDiagrams/model/WikiDiagrams.room new file mode 100644 index 000000000..49bfa2a29 --- /dev/null +++ b/orga/spec/example models/WikiDiagrams/model/WikiDiagrams.room @@ -0,0 +1,127 @@ +RoomModel WikiDiagrams { + + LogicalSystem LogSys1 { + SubSystemRef subSysRef1: SubSysClass1 + } + + SubSystemClass SubSysClass1 { + ActorRef actor: AnActorClass + LogicalThread defaultThread + } + + ActorClass AnActorClass { + Interface { + conjugated Port fct: AProtocolClass + conjugated Port rel: AProtocolClass + } + Structure { + external Port fct + Port a4: AProtocolClass + ActorRef actor2: ActorClass2 + ActorRef actor3A: ActorClass3 + ActorRef actor3B: ActorClass3 + ActorRef actor4: ActorClass4 + Binding actor2.fct1 and actor3A.fct + Binding actor2.fct2 and actor3B.fct + Binding a4 and actor4.fct + Binding rel and actor2.fct + } + Behavior { } + } + + ActorClass ActorClass2 { + Interface { + Port fct1: AProtocolClass + Port fct2: AProtocolClass + conjugated Port fct: AProtocolClass + } + Structure { + external Port fct1 + external Port fct2 + external Port fct + } + Behavior { + StateMachine { + Transition init: initial -> Initial { } + Transition tr0: Initial -> DoingThis { + triggers { + <doThis: fct1> + } + } + Transition tr1: Initial -> DoingThat { + triggers { + <doThat: fct1> + } + } + Transition tr2: DoingThis -> Initial { + triggers { + <reset: fct1> + } + } + Transition tr3: DoingThat -> Initial { + triggers { + <reset: fct1> + } + } + Transition tr4: Initial -> Error { + triggers { + <error: fct1> + } + } + Transition tr5: DoingThis -> Error { + triggers { + <error: fct1> + } + } + Transition tr6: DoingThat -> Error { + triggers { + <error: fct1> + } + } + Transition tr7: Error -> Initial { + triggers { + <error: fct1> + } + } + State Initial + State DoingThis + State DoingThat + State Error + } + } + } + + ActorClass ActorClass3 { + Interface { + conjugated Port fct: AProtocolClass + } + Structure { + external Port fct + } + Behavior { } + } + + ActorClass ActorClass4 { + Interface { + conjugated Port fct: AProtocolClass + } + Structure { + external Port fct + } + Behavior { } + } + + ProtocolClass AProtocolClass { + incoming { + Message doThis() + Message doThat() + Message reset() + Message error() + } + outgoing { + Message doneThis() + Message doneThat() + } + } + +}
\ No newline at end of file diff --git a/orga/spec/example models/WikiDiagrams/model/diagrams/WikiDiagrams.ActorClass2.behavior b/orga/spec/example models/WikiDiagrams/model/diagrams/WikiDiagrams.ActorClass2.behavior new file mode 100644 index 000000000..a9c9c1363 --- /dev/null +++ b/orga/spec/example models/WikiDiagrams/model/diagrams/WikiDiagrams.ActorClass2.behavior @@ -0,0 +1,397 @@ +<?xml version="1.0" encoding="ASCII"?> +<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.behavior" name="Behavior of ActorClass2" pictogramLinks="//@link //@children.0/@link //@children.0/@children.1/@link //@children.0/@children.2/@link //@children.0/@children.3/@link //@children.0/@children.4/@link //@connections.0/@link //@connections.1/@link //@connections.2/@link //@connections.3/@link //@connections.4/@link //@children.0/@children.5/@link //@connections.5/@link //@connections.6/@link //@connections.7/@link //@connections.8/@link" verticalGridUnit="10" version="0.10.0"> + <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="896" height="428"/> + <link> + <businessObjects href="../WikiDiagrams.room#ActorClass:ActorClass2"/> + </link> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="sg"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="916" height="448" x="-10" y="-10"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="836" height="368" x="40" y="40" cornerHeight="20" cornerWidth="20"/> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="836" height="368" x="40" y="40" cornerHeight="20" cornerWidth="20"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../WikiDiagrams.room#StateGraph:ActorClass2$sg"/> + </link> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="836" height="80" y="40" font="//@fonts.1" horizontalAlignment="ALIGNMENT_RIGHT" verticalAlignment="ALIGNMENT_TOP" value="/"/> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="trp"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="40" height="40" x="447" y="60"> + <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="10" y="10"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../WikiDiagrams.room#StateGraph:ActorClass2$sg"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="40" height="20" y="10" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="I"/> + </children> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="state"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="120" height="90" x="407" y="126"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="60" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="35" y="3" cornerHeight="5" cornerWidth="5"/> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24"> + <points x="-3" y="-3"/> + <points x="-3" y="3"/> + <points x="-11" y="3"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24"> + <points x="3" y="-3"/> + <points x="3" y="3"/> + <points x="11" y="3"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24"> + <points x="-2" y="-3"/> + <points x="-2" y="3"/> + <points x="2" y="3"/> + <points x="2" y="-3"/> + </graphicsAlgorithmChildren> + </graphicsAlgorithmChildren> + </graphicsAlgorithm> + <link> + <businessObjects href="../WikiDiagrams.room#SimpleState:ActorClass2$Initial"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.1 //@connections.2 //@connections.5" incomingConnections="//@connections.0 //@connections.3 //@connections.4 //@connections.8" referencedGraphicsAlgorithm="//@children.0/@children.2/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="Initial"/> + </children> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="state"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="120" height="90" x="183" y="222"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="60" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="35" y="3" cornerHeight="5" cornerWidth="5"/> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24"> + <points x="-3" y="-3"/> + <points x="-3" y="3"/> + <points x="-11" y="3"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24"> + <points x="3" y="-3"/> + <points x="3" y="3"/> + <points x="11" y="3"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24"> + <points x="-2" y="-3"/> + <points x="-2" y="3"/> + <points x="2" y="3"/> + <points x="2" y="-3"/> + </graphicsAlgorithmChildren> + </graphicsAlgorithmChildren> + </graphicsAlgorithm> + <link> + <businessObjects href="../WikiDiagrams.room#SimpleState:ActorClass2$DoingThis"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.3 //@connections.6" incomingConnections="//@connections.1"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="DoingThis"/> + </children> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="state"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="147" height="90" x="451" y="222"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="87" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="62" y="3" cornerHeight="5" cornerWidth="5"/> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="43" y="24"> + <points x="-3" y="-3"/> + <points x="-3" y="3"/> + <points x="-11" y="3"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="43" y="24"> + <points x="3" y="-3"/> + <points x="3" y="3"/> + <points x="11" y="3"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="43" y="24"> + <points x="-2" y="-3"/> + <points x="-2" y="3"/> + <points x="2" y="3"/> + <points x="2" y="-3"/> + </graphicsAlgorithmChildren> + </graphicsAlgorithmChildren> + </graphicsAlgorithm> + <link> + <businessObjects href="../WikiDiagrams.room#SimpleState:ActorClass2$DoingThat"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.4 //@connections.7" incomingConnections="//@connections.2"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="87" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="DoingThat"/> + </children> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="state"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="120" height="90" x="547" y="318"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="60" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="35" y="3" cornerHeight="5" cornerWidth="5"/> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24"> + <points x="-3" y="-3"/> + <points x="-3" y="3"/> + <points x="-11" y="3"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24"> + <points x="3" y="-3"/> + <points x="3" y="3"/> + <points x="11" y="3"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24"> + <points x="-2" y="-3"/> + <points x="-2" y="3"/> + <points x="2" y="3"/> + <points x="2" y="-3"/> + </graphicsAlgorithmChildren> + </graphicsAlgorithmChildren> + </graphicsAlgorithm> + <link> + <businessObjects href="../WikiDiagrams.room#SimpleState:ActorClass2$Error"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.8" incomingConnections="//@connections.5 //@connections.6 //@connections.7" referencedGraphicsAlgorithm="//@children.0/@children.5/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="Error"/> + </children> + </children> + </children> + <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.1/@anchors.0" end="//@children.0/@children.2/@anchors.0"> + <properties key="obj-type" value="trans"/> + <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/> + <link> + <businessObjects href="../WikiDiagrams.room#InitialTransition:ActorClass2$initial"/> + </link> + <connectionDecorators visible="true" locationRelative="true" location="1.0"> + <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0"> + <points x="-15" y="5"/> + <points/> + <points x="-15" y="-5"/> + </graphicsAlgorithm> + </connectionDecorators> + <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="2" y="-9" font="//@fonts.0" value="init"/> + </connectionDecorators> + <bendpoints x="457" y="91"/> + <bendpoints x="457" y="105"/> + <bendpoints x="457" y="119"/> + <bendpoints x="457" y="133"/> + </connections> + <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.2/@anchors.0" end="//@children.0/@children.3/@anchors.0"> + <properties key="obj-type" value="trans"/> + <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/> + <link> + <businessObjects href="../WikiDiagrams.room#TriggeredTransition:ActorClass2$tr0"/> + </link> + <connectionDecorators visible="true" locationRelative="true" location="1.0"> + <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0"> + <points x="-15" y="5"/> + <points/> + <points x="-15" y="-5"/> + </graphicsAlgorithm> + </connectionDecorators> + <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="-84" y="23" font="//@fonts.0" value="tr0: <doThis:fct1>"/> + </connectionDecorators> + <bendpoints x="359" y="165"/> + <bendpoints x="270" y="170"/> + <bendpoints x="180" y="177"/> + <bendpoints x="107" y="187"/> + <bendpoints x="68" y="201"/> + <bendpoints x="62" y="223"/> + <bendpoints x="82" y="239"/> + <bendpoints x="119" y="248"/> + <bendpoints x="163" y="253"/> + </connections> + <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.2/@anchors.0" end="//@children.0/@children.4/@anchors.0"> + <properties key="obj-type" value="trans"/> + <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/> + <link> + <businessObjects href="../WikiDiagrams.room#TriggeredTransition:ActorClass2$tr1"/> + </link> + <connectionDecorators visible="true" locationRelative="true" location="1.0"> + <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0"> + <points x="-15" y="5"/> + <points/> + <points x="-15" y="-5"/> + </graphicsAlgorithm> + </connectionDecorators> + <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="-5" y="-25" font="//@fonts.0" value="tr1: <doThat:fct1>"/> + </connectionDecorators> + <bendpoints x="408" y="175"/> + <bendpoints x="389" y="183"/> + <bendpoints x="374" y="192"/> + <bendpoints x="367" y="204"/> + <bendpoints x="371" y="217"/> + <bendpoints x="383" y="226"/> + <bendpoints x="401" y="234"/> + <bendpoints x="423" y="240"/> + <bendpoints x="447" y="246"/> + </connections> + <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.3/@anchors.0" end="//@children.0/@children.2/@anchors.0"> + <properties key="obj-type" value="trans"/> + <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/> + <link> + <businessObjects href="../WikiDiagrams.room#TriggeredTransition:ActorClass2$tr2"/> + </link> + <connectionDecorators visible="true" locationRelative="true" location="1.0"> + <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0"> + <points x="-15" y="5"/> + <points/> + <points x="-15" y="-5"/> + </graphicsAlgorithm> + </connectionDecorators> + <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="-56" y="22" font="//@fonts.0" value="tr2: <reset:fct1>"/> + </connectionDecorators> + <bendpoints x="241" y="234"/> + <bendpoints x="246" y="225"/> + <bendpoints x="251" y="216"/> + <bendpoints x="258" y="208"/> + <bendpoints x="265" y="201"/> + <bendpoints x="288" y="191"/> + <bendpoints x="320" y="182"/> + <bendpoints x="357" y="175"/> + <bendpoints x="395" y="169"/> + </connections> + <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.4/@anchors.0" end="//@children.0/@children.2/@anchors.0"> + <properties key="obj-type" value="trans"/> + <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/> + <link> + <businessObjects href="../WikiDiagrams.room#TriggeredTransition:ActorClass2$tr3"/> + </link> + <connectionDecorators visible="true" locationRelative="true" location="1.0"> + <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0"> + <points x="-15" y="5"/> + <points/> + <points x="-15" y="-5"/> + </graphicsAlgorithm> + </connectionDecorators> + <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="11" y="-6" font="//@fonts.0" value="tr3: <reset:fct1>"/> + </connectionDecorators> + <bendpoints x="503" y="235"/> + <bendpoints x="498" y="227"/> + <bendpoints x="494" y="218"/> + <bendpoints x="488" y="209"/> + <bendpoints x="483" y="201"/> + <bendpoints x="480" y="196"/> + <bendpoints x="477" y="191"/> + <bendpoints x="474" y="186"/> + <bendpoints x="470" y="181"/> + </connections> + <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.2/@anchors.0" end="//@children.0/@children.5/@anchors.0"> + <properties key="obj-type" value="trans"/> + <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/> + <link> + <businessObjects href="../WikiDiagrams.room#TriggeredTransition:ActorClass2$tr4"/> + </link> + <connectionDecorators visible="true" locationRelative="true" location="1.0"> + <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0"> + <points x="-15" y="5"/> + <points/> + <points x="-15" y="-5"/> + </graphicsAlgorithm> + </connectionDecorators> + <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="38" y="38" font="//@fonts.0" value="tr4: <error:fct1>"/> + </connectionDecorators> + <bendpoints x="508" y="165"/> + <bendpoints x="530" y="169"/> + <bendpoints x="553" y="176"/> + <bendpoints x="575" y="187"/> + <bendpoints x="594" y="201"/> + <bendpoints x="614" y="222"/> + <bendpoints x="628" y="242"/> + <bendpoints x="635" y="263"/> + <bendpoints x="635" y="286"/> + <bendpoints x="628" y="313"/> + <bendpoints x="626" y="319"/> + <bendpoints x="623" y="324"/> + <bendpoints x="620" y="329"/> + <bendpoints x="616" y="334"/> + </connections> + <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.3/@anchors.0" end="//@children.0/@children.5/@anchors.0"> + <properties key="obj-type" value="trans"/> + <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/> + <link> + <businessObjects href="../WikiDiagrams.room#TriggeredTransition:ActorClass2$tr5"/> + </link> + <connectionDecorators visible="true" locationRelative="true" location="1.0"> + <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0"> + <points x="-15" y="5"/> + <points/> + <points x="-15" y="-5"/> + </graphicsAlgorithm> + </connectionDecorators> + <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="12" y="-14" font="//@fonts.0" value="tr5: <error:fct1>"/> + </connectionDecorators> + <bendpoints x="288" y="276"/> + <bendpoints x="318" y="285"/> + <bendpoints x="351" y="294"/> + <bendpoints x="385" y="304"/> + <bendpoints x="418" y="313"/> + <bendpoints x="450" y="321"/> + <bendpoints x="483" y="328"/> + <bendpoints x="514" y="335"/> + <bendpoints x="543" y="341"/> + </connections> + <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.4/@anchors.0" end="//@children.0/@children.5/@anchors.0"> + <properties key="obj-type" value="trans"/> + <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/> + <link> + <businessObjects href="../WikiDiagrams.room#TriggeredTransition:ActorClass2$tr6"/> + </link> + <connectionDecorators visible="true" locationRelative="true" location="1.0"> + <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0"> + <points x="-15" y="5"/> + <points/> + <points x="-15" y="-5"/> + </graphicsAlgorithm> + </connectionDecorators> + <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" y="-23" font="//@fonts.0" value="tr6: <error:fct1>"/> + </connectionDecorators> + <bendpoints x="516" y="280"/> + <bendpoints x="518" y="288"/> + <bendpoints x="521" y="297"/> + <bendpoints x="525" y="305"/> + <bendpoints x="529" y="313"/> + <bendpoints x="536" y="320"/> + <bendpoints x="543" y="326"/> + <bendpoints x="551" y="332"/> + <bendpoints x="559" y="337"/> + </connections> + <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.5/@anchors.0" end="//@children.0/@children.2/@anchors.0"> + <properties key="obj-type" value="trans"/> + <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/> + <link> + <businessObjects href="../WikiDiagrams.room#TriggeredTransition:ActorClass2$tr7"/> + </link> + <connectionDecorators visible="true" locationRelative="true" location="1.0"> + <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0"> + <points x="-15" y="5"/> + <points/> + <points x="-15" y="-5"/> + </graphicsAlgorithm> + </connectionDecorators> + <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="52" y="34" font="//@fonts.0" value="tr7: <error:fct1>"/> + </connectionDecorators> + <bendpoints x="662" y="332"/> + <bendpoints x="698" y="315"/> + <bendpoints x="729" y="295"/> + <bendpoints x="745" y="270"/> + <bendpoints x="739" y="242"/> + <bendpoints x="709" y="219"/> + <bendpoints x="658" y="199"/> + <bendpoints x="597" y="184"/> + <bendpoints x="537" y="173"/> + </connections> + <colors red="227" green="238" blue="249"/> + <colors red="255" green="255" blue="255"/> + <colors/> + <colors red="200" green="200" blue="200"/> + <fonts name="Arial" size="8"/> + <fonts name="Arial" size="9" bold="true"/> +</pi:Diagram> diff --git a/orga/spec/example models/WikiDiagrams/model/diagrams/WikiDiagrams.ActorClass2.structure b/orga/spec/example models/WikiDiagrams/model/diagrams/WikiDiagrams.ActorClass2.structure new file mode 100644 index 000000000..36fd4f208 --- /dev/null +++ b/orga/spec/example models/WikiDiagrams/model/diagrams/WikiDiagrams.ActorClass2.structure @@ -0,0 +1,66 @@ +<?xml version="1.0" encoding="ASCII"?> +<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.structure" name="Structure of ActorClass2" pictogramLinks="//@link //@children.0/@link //@children.0/@children.0/@link //@children.0/@children.1/@link //@children.0/@children.2/@link" verticalGridUnit="10" version="0.10.0"> + <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/> + <link> + <businessObjects href="../WikiDiagrams.room#ActorClass:ActorClass2"/> + </link> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="cls"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="880" height="580" x="40" y="40"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="1" lineVisible="false" transparency="0.5" width="800" height="500" x="40" y="40"/> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="800" height="500" x="40" y="40"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../WikiDiagrams.room#ActorClass:ActorClass2"/> + </link> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="port"/> + <properties key="item-kind" value=""/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="80" height="80" x="163" y="500"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.2" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="40" height="40" x="20" y="20"/> + <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.1" lineWidth="2" transparency="0.0" width="20" height="20" x="30" y="30"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../WikiDiagrams.room#Port:ActorClass2$fct1"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="80" height="20" y="60" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="fct1"/> + </children> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="port"/> + <properties key="item-kind" value=""/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="80" height="80" x="643" y="500"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.2" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="40" height="40" x="20" y="20"/> + <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.1" lineWidth="2" transparency="0.0" width="20" height="20" x="30" y="30"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../WikiDiagrams.room#Port:ActorClass2$fct2"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="80" height="20" y="60" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="fct2"/> + </children> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="port"/> + <properties key="item-kind" value="C"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="80" height="80" x="368"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="40" height="40" x="20" y="20"/> + <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.2" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="30" y="30"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../WikiDiagrams.room#Port:ActorClass2$fct"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.2/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="80" height="20" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="fct"/> + </children> + </children> + </children> + <colors red="227" green="238" blue="249"/> + <colors red="255" green="255" blue="255"/> + <colors/> + <fonts name="Arial" size="8"/> +</pi:Diagram> diff --git a/orga/spec/example models/WikiDiagrams/model/diagrams/WikiDiagrams.ActorClass3.structure b/orga/spec/example models/WikiDiagrams/model/diagrams/WikiDiagrams.ActorClass3.structure new file mode 100644 index 000000000..fee3e1e93 --- /dev/null +++ b/orga/spec/example models/WikiDiagrams/model/diagrams/WikiDiagrams.ActorClass3.structure @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="ASCII"?> +<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.structure" name="Structure of ActorClass3" pictogramLinks="//@link //@children.0/@link //@children.0/@children.0/@link" verticalGridUnit="10" version="0.10.0"> + <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/> + <link> + <businessObjects href="../WikiDiagrams.room#ActorClass:ActorClass3"/> + </link> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="cls"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="880" height="580" x="40" y="40"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="1" lineVisible="false" transparency="0.5" width="800" height="500" x="40" y="40"/> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="800" height="500" x="40" y="40"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../WikiDiagrams.room#ActorClass:ActorClass3"/> + </link> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="port"/> + <properties key="item-kind" value="C"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="80" height="80" x="400"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="40" height="40" x="20" y="20"/> + <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.2" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="30" y="30"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../WikiDiagrams.room#Port:ActorClass3$fct"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="80" height="20" font="//@fonts.0" value="fct"/> + </children> + </children> + </children> + <colors red="227" green="238" blue="249"/> + <colors red="255" green="255" blue="255"/> + <colors/> + <fonts name="Arial" size="8"/> +</pi:Diagram> diff --git a/orga/spec/example models/WikiDiagrams/model/diagrams/WikiDiagrams.ActorClass4.structure b/orga/spec/example models/WikiDiagrams/model/diagrams/WikiDiagrams.ActorClass4.structure new file mode 100644 index 000000000..17cb4f224 --- /dev/null +++ b/orga/spec/example models/WikiDiagrams/model/diagrams/WikiDiagrams.ActorClass4.structure @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="ASCII"?> +<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.structure" name="Structure of ActorClass4" pictogramLinks="//@link //@children.0/@link //@children.0/@children.0/@link" verticalGridUnit="10" version="0.10.0"> + <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/> + <link> + <businessObjects href="../WikiDiagrams.room#ActorClass:ActorClass4"/> + </link> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="cls"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="880" height="580" x="40" y="40"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="1" lineVisible="false" transparency="0.5" width="800" height="500" x="40" y="40"/> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="800" height="500" x="40" y="40"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../WikiDiagrams.room#ActorClass:ActorClass4"/> + </link> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="port"/> + <properties key="item-kind" value="C"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="80" height="80" x="400"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="40" height="40" x="20" y="20"/> + <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.2" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="30" y="30"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../WikiDiagrams.room#Port:ActorClass4$fct"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="80" height="20" font="//@fonts.0" value="fct"/> + </children> + </children> + </children> + <colors red="227" green="238" blue="249"/> + <colors red="255" green="255" blue="255"/> + <colors/> + <fonts name="Arial" size="8"/> +</pi:Diagram> diff --git a/orga/spec/example models/WikiDiagrams/model/diagrams/WikiDiagrams.AnActorClass.structure b/orga/spec/example models/WikiDiagrams/model/diagrams/WikiDiagrams.AnActorClass.structure new file mode 100644 index 000000000..e88f3722b --- /dev/null +++ b/orga/spec/example models/WikiDiagrams/model/diagrams/WikiDiagrams.AnActorClass.structure @@ -0,0 +1,659 @@ +<?xml version="1.0" encoding="ASCII"?> +<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.structure" name="Structure of AnActorClass" pictogramLinks="//@link //@children.0/@link //@children.0/@children.0/@link //@children.0/@children.0/@children.2/@link //@children.0/@children.0/@children.3/@link //@children.0/@children.1/@link //@children.0/@children.2/@link //@children.0/@children.1/@children.2/@link //@children.0/@children.2/@children.2/@link //@connections.0/@link //@connections.1/@link //@children.0/@children.3/@link //@children.0/@children.3/@children.2/@link //@children.0/@children.4/@link //@connections.2/@link //@children.0/@children.5/@link //@children.0/@children.0/@children.4/@link //@children.0/@children.6/@link //@connections.3/@link" verticalGridUnit="10" version="0.10.0"> + <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/> + <link> + <businessObjects href="../WikiDiagrams.room#ActorClass:AnActorClass"/> + </link> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="cls"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="747" height="448" x="40" y="40"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="1" lineVisible="false" transparency="0.5" width="667" height="368" x="40" y="40"/> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="667" height="368" x="40" y="40"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../WikiDiagrams.room#ActorClass:AnActorClass"/> + </link> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="ref"/> + <properties key="actorref_version" value="2"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="147" y="95"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="180" height="80" x="33" y="27"> + <properties key="actorref_graphic_element" value="replborder"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30"> + <properties key="actorref_graphic_element" value="mainborder"/> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="150" y="50"> + <properties key="actorref_graphic_element" value="substructure"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="145" y="65"> + <properties key="actorref_graphic_element" value="substructure"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points y="15"/> + <points x="15"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points y="30"/> + <points x="30"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points y="45"/> + <points x="45"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points y="60"/> + <points x="60"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points y="75"/> + <points x="75"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="10" y="80"/> + <points x="90"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="25" y="80"/> + <points x="105"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="40" y="80"/> + <points x="120"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="55" y="80"/> + <points x="135"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="70" y="80"/> + <points x="150"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="85" y="80"/> + <points x="165"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="100" y="80"/> + <points x="180"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="115" y="80"/> + <points x="180" y="15"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="130" y="80"/> + <points x="180" y="30"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="145" y="80"/> + <points x="180" y="45"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="160" y="80"/> + <points x="180" y="60"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="175" y="80"/> + <points x="180" y="75"/> + </graphicsAlgorithmChildren> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="25" height="25" x="185" y="30"> + <properties key="actorref_graphic_element" value="sizeframe"/> + </graphicsAlgorithmChildren> + </graphicsAlgorithm> + <link> + <businessObjects href="../WikiDiagrams.room#ActorRef:AnActorClass$actor2"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.1"> + <properties key="actorref_graphic_element" value="layerconn_anchor"/> + </anchors> + <children visible="true"> + <properties key="actorref_graphic_element" value="name_shape"/> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.3" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="actor2
(ActorClass2)"/> + </children> + <children> + <properties key="actorref_graphic_element" value="size_shape"/> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.3" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="25" height="25" x="185" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="1"/> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="port"/> + <properties key="item-kind" value=""/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" x="58" y="80"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.2" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="18" height="18" x="21" y="21"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../WikiDiagrams.room#Port:ActorClass2$fct1"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.0/@children.2/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="15" y="39" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="fct1"/> + </children> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="port"/> + <properties key="item-kind" value=""/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" x="127" y="80"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.2" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="18" height="18" x="21" y="21"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../WikiDiagrams.room#Port:ActorClass2$fct2"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.1" referencedGraphicsAlgorithm="//@children.0/@children.0/@children.3/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="15" y="39" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="fct2"/> + </children> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="port"/> + <properties key="item-kind" value="C"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" x="89"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="18" height="18" x="21" y="21"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../WikiDiagrams.room#Port:ActorClass2$fct"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.3" referencedGraphicsAlgorithm="//@children.0/@children.0/@children.4/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="15" y="6" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="fct"/> + </children> + </children> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="ref"/> + <properties key="actorref_version" value="2"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="39" y="251"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="180" height="80" x="33" y="27"> + <properties key="actorref_graphic_element" value="replborder"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30"> + <properties key="actorref_graphic_element" value="mainborder"/> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="150" y="50"> + <properties key="actorref_graphic_element" value="substructure"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="145" y="65"> + <properties key="actorref_graphic_element" value="substructure"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points y="15"/> + <points x="15"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points y="30"/> + <points x="30"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points y="45"/> + <points x="45"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points y="60"/> + <points x="60"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points y="75"/> + <points x="75"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="10" y="80"/> + <points x="90"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="25" y="80"/> + <points x="105"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="40" y="80"/> + <points x="120"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="55" y="80"/> + <points x="135"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="70" y="80"/> + <points x="150"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="85" y="80"/> + <points x="165"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="100" y="80"/> + <points x="180"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="115" y="80"/> + <points x="180" y="15"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="130" y="80"/> + <points x="180" y="30"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="145" y="80"/> + <points x="180" y="45"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="160" y="80"/> + <points x="180" y="60"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="175" y="80"/> + <points x="180" y="75"/> + </graphicsAlgorithmChildren> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="25" height="25" x="185" y="30"> + <properties key="actorref_graphic_element" value="sizeframe"/> + </graphicsAlgorithmChildren> + </graphicsAlgorithm> + <link> + <businessObjects href="../WikiDiagrams.room#ActorRef:AnActorClass$actor3A"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.1"> + <properties key="actorref_graphic_element" value="layerconn_anchor"/> + </anchors> + <children visible="true"> + <properties key="actorref_graphic_element" value="name_shape"/> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.3" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="actor3A
(ActorClass3)"/> + </children> + <children> + <properties key="actorref_graphic_element" value="size_shape"/> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.3" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="25" height="25" x="185" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="1"/> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="port"/> + <properties key="item-kind" value="C"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" x="90"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="18" height="18" x="21" y="21"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../WikiDiagrams.room#Port:ActorClass3$fct"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.1/@children.2/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="15" y="6" font="//@fonts.0" value="fct"/> + </children> + </children> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="ref"/> + <properties key="actorref_version" value="2"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="254" y="251"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="180" height="80" x="33" y="27"> + <properties key="actorref_graphic_element" value="replborder"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30"> + <properties key="actorref_graphic_element" value="mainborder"/> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="150" y="50"> + <properties key="actorref_graphic_element" value="substructure"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="145" y="65"> + <properties key="actorref_graphic_element" value="substructure"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points y="15"/> + <points x="15"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points y="30"/> + <points x="30"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points y="45"/> + <points x="45"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points y="60"/> + <points x="60"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points y="75"/> + <points x="75"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="10" y="80"/> + <points x="90"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="25" y="80"/> + <points x="105"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="40" y="80"/> + <points x="120"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="55" y="80"/> + <points x="135"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="70" y="80"/> + <points x="150"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="85" y="80"/> + <points x="165"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="100" y="80"/> + <points x="180"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="115" y="80"/> + <points x="180" y="15"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="130" y="80"/> + <points x="180" y="30"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="145" y="80"/> + <points x="180" y="45"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="160" y="80"/> + <points x="180" y="60"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="175" y="80"/> + <points x="180" y="75"/> + </graphicsAlgorithmChildren> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="25" height="25" x="185" y="30"> + <properties key="actorref_graphic_element" value="sizeframe"/> + </graphicsAlgorithmChildren> + </graphicsAlgorithm> + <link> + <businessObjects href="../WikiDiagrams.room#ActorRef:AnActorClass$actor3B"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.2/@graphicsAlgorithm/@graphicsAlgorithmChildren.1"> + <properties key="actorref_graphic_element" value="layerconn_anchor"/> + </anchors> + <children visible="true"> + <properties key="actorref_graphic_element" value="name_shape"/> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.3" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="actor3B
(ActorClass3)"/> + </children> + <children> + <properties key="actorref_graphic_element" value="size_shape"/> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.3" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="25" height="25" x="185" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="1"/> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="port"/> + <properties key="item-kind" value="C"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" x="90"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="18" height="18" x="21" y="21"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../WikiDiagrams.room#Port:ActorClass3$fct"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.1" referencedGraphicsAlgorithm="//@children.0/@children.2/@children.2/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="15" y="6" font="//@fonts.0" value="fct"/> + </children> + </children> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="ref"/> + <properties key="actorref_version" value="2"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="467" y="251"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="180" height="80" x="33" y="27"> + <properties key="actorref_graphic_element" value="replborder"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30"> + <properties key="actorref_graphic_element" value="mainborder"/> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="150" y="50"> + <properties key="actorref_graphic_element" value="substructure"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="145" y="65"> + <properties key="actorref_graphic_element" value="substructure"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points y="15"/> + <points x="15"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points y="30"/> + <points x="30"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points y="45"/> + <points x="45"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points y="60"/> + <points x="60"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points y="75"/> + <points x="75"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="10" y="80"/> + <points x="90"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="25" y="80"/> + <points x="105"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="40" y="80"/> + <points x="120"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="55" y="80"/> + <points x="135"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="70" y="80"/> + <points x="150"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="85" y="80"/> + <points x="165"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="100" y="80"/> + <points x="180"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="115" y="80"/> + <points x="180" y="15"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="130" y="80"/> + <points x="180" y="30"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="145" y="80"/> + <points x="180" y="45"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="160" y="80"/> + <points x="180" y="60"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4"> + <properties key="actorref_graphic_element" value="hatched_line"/> + <points x="175" y="80"/> + <points x="180" y="75"/> + </graphicsAlgorithmChildren> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="25" height="25" x="185" y="30"> + <properties key="actorref_graphic_element" value="sizeframe"/> + </graphicsAlgorithmChildren> + </graphicsAlgorithm> + <link> + <businessObjects href="../WikiDiagrams.room#ActorRef:AnActorClass$actor4"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.3/@graphicsAlgorithm/@graphicsAlgorithmChildren.1"> + <properties key="actorref_graphic_element" value="layerconn_anchor"/> + </anchors> + <children visible="true"> + <properties key="actorref_graphic_element" value="name_shape"/> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.3" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="actor4
(ActorClass4)"/> + </children> + <children> + <properties key="actorref_graphic_element" value="size_shape"/> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.3" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="25" height="25" x="185" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="1"/> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="port"/> + <properties key="item-kind" value="C"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" x="90"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="18" height="18" x="21" y="21"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../WikiDiagrams.room#Port:ActorClass4$fct"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.2" referencedGraphicsAlgorithm="//@children.0/@children.3/@children.2/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="15" y="6" font="//@fonts.0" value="fct"/> + </children> + </children> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="port"/> + <properties key="item-kind" value=""/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="80" height="80" x="547" y="125"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.2" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="40" height="40" x="20" y="20"/> + <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.1" lineWidth="2" transparency="0.0" width="20" height="20" x="30" y="30"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../WikiDiagrams.room#Port:AnActorClass$a4"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.2" referencedGraphicsAlgorithm="//@children.0/@children.4/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="80" height="20" y="60" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="a4"/> + </children> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="port"/> + <properties key="item-kind" value="C"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="80" height="80" x="425"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="40" height="40" x="20" y="20"/> + <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.2" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="30" y="30"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../WikiDiagrams.room#Port:AnActorClass$fct"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.5/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="80" height="20" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="fct"/> + </children> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="port"/> + <properties key="item-kind" value="CR"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="80" height="80" x="227"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="40" height="40" x="20" y="20"/> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.2" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="30" y="30"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../WikiDiagrams.room#Port:AnActorClass$rel"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.3" referencedGraphicsAlgorithm="//@children.0/@children.6/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="80" height="20" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="rel"/> + </children> + </children> + </children> + <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.0/@children.2/@anchors.0" end="//@children.0/@children.1/@children.2/@anchors.0"> + <properties key="obj-type" value="bind"/> + <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/> + <link> + <businessObjects href="../WikiDiagrams.room#Binding:AnActorClass$fct1!actor2-fct!actor3A"/> + </link> + </connections> + <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.0/@children.3/@anchors.0" end="//@children.0/@children.2/@children.2/@anchors.0"> + <properties key="obj-type" value="bind"/> + <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/> + <link> + <businessObjects href="../WikiDiagrams.room#Binding:AnActorClass$fct2!actor2-fct!actor3B"/> + </link> + </connections> + <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.4/@anchors.0" end="//@children.0/@children.3/@children.2/@anchors.0"> + <properties key="obj-type" value="bind"/> + <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/> + <link> + <businessObjects href="../WikiDiagrams.room#Binding:AnActorClass$a4!.-fct!actor4"/> + </link> + </connections> + <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.6/@anchors.0" end="//@children.0/@children.0/@children.4/@anchors.0"> + <properties key="obj-type" value="bind"/> + <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/> + <link> + <businessObjects href="../WikiDiagrams.room#Binding:AnActorClass$rel!.-fct!actor2"/> + </link> + </connections> + <colors red="227" green="238" blue="249"/> + <colors red="255" green="255" blue="255"/> + <colors/> + <colors red="200" green="200" blue="200"/> + <fonts name="Arial" size="8"/> +</pi:Diagram> diff --git a/orga/spec/example models/WikiDiagrams/run_WikiDiagrams.launch b/orga/spec/example models/WikiDiagrams/run_WikiDiagrams.launch new file mode 100644 index 000000000..cae751ee6 --- /dev/null +++ b/orga/spec/example models/WikiDiagrams/run_WikiDiagrams.launch @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication"> +<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> +<listEntry value="/WikiDiagrams/src-gen/WikiDiagrams/Node_nodeRef1_subSysRef1Runner.java"/> +</listAttribute> +<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> +<listEntry value="1"/> +</listAttribute> +<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="WikiDiagrams.Node_nodeRef1_subSysRef1Runner"/> +<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="WikiDiagrams"/> +</launchConfiguration> diff --git a/orga/spec/example models/WikiDiagrams/src-gen/WikiDiagrams/AProtocolClass.java b/orga/spec/example models/WikiDiagrams/src-gen/WikiDiagrams/AProtocolClass.java new file mode 100644 index 000000000..f072534d8 --- /dev/null +++ b/orga/spec/example models/WikiDiagrams/src-gen/WikiDiagrams/AProtocolClass.java @@ -0,0 +1,237 @@ +package WikiDiagrams; + +import org.eclipse.etrice.runtime.java.messaging.Message; +import org.eclipse.etrice.runtime.java.modelbase.EventMessage; +import org.eclipse.etrice.runtime.java.modelbase.EventWithDataMessage; +import org.eclipse.etrice.runtime.java.modelbase.IInterfaceItemOwner; +import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase; +import org.eclipse.etrice.runtime.java.modelbase.PortBase; +import org.eclipse.etrice.runtime.java.modelbase.ReplicatedPortBase; +import org.eclipse.etrice.runtime.java.debugging.DebuggingService; +import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*; + + + +public class AProtocolClass { + // message IDs + public static final int MSG_MIN = 0; + public static final int OUT_doneThis = 1; + public static final int OUT_doneThat = 2; + public static final int IN_doThis = 3; + public static final int IN_doThat = 4; + public static final int IN_reset = 5; + public static final int IN_error = 6; + public static final int MSG_MAX = 7; + + + private static String messageStrings[] = {"MIN", "doneThis","doneThat", "doThis","doThat","reset","error","MAX"}; + + public String getMessageString(int msg_id) { + if (msg_id<MSG_MIN || msg_id>MSG_MAX+1){ + // id out of range + return "Message ID out of range"; + } + else{ + return messageStrings[msg_id]; + } + } + + + // port class + static public class AProtocolClassPort extends PortBase { + // constructors + public AProtocolClassPort(IInterfaceItemOwner actor, String name, int localId) { + this(actor, name, localId, 0); + } + public AProtocolClassPort(IInterfaceItemOwner actor, String name, int localId, int idx) { + super(actor, name, localId, idx); + DebuggingService.getInstance().addPortInstance(this); + } + + public void destroy() { + DebuggingService.getInstance().removePortInstance(this); + super.destroy(); + } + + @Override + public void receive(Message m) { + if (!(m instanceof EventMessage)) + return; + EventMessage msg = (EventMessage) m; + if (0 < msg.getEvtId() && msg.getEvtId() < MSG_MAX) { + if (messageStrings[msg.getEvtId()] != "timerTick"){ + DebuggingService.getInstance().addMessageAsyncIn(getPeerAddress(), getAddress(), messageStrings[msg.getEvtId()]); + } + if (msg instanceof EventWithDataMessage) + getActor().receiveEvent(this, msg.getEvtId(), ((EventWithDataMessage)msg).getData()); + else + getActor().receiveEvent(this, msg.getEvtId(), null); + } + } + + + // sent messages + public void doneThis() { + if (messageStrings[ OUT_doneThis] != "timerTick") { + DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[OUT_doneThis]); + } + if (getPeerAddress()!=null) + getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), OUT_doneThis)); + } + public void doneThat() { + if (messageStrings[ OUT_doneThat] != "timerTick") { + DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[OUT_doneThat]); + } + if (getPeerAddress()!=null) + getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), OUT_doneThat)); + } + } + + // replicated port class + static public class AProtocolClassReplPort extends ReplicatedPortBase { + + public AProtocolClassReplPort(IInterfaceItemOwner actor, String name, int localId) { + super(actor, name, localId); + } + + public int getReplication() { + return getNInterfaceItems(); + } + + public int getIndexOf(InterfaceItemBase ifitem){ + return ifitem.getIdx(); + } + + public AProtocolClassPort get(int idx) { + return (AProtocolClassPort) getInterfaceItem(idx); + } + + protected InterfaceItemBase createInterfaceItem(IInterfaceItemOwner rcv, String name, int lid, int idx) { + return new AProtocolClassPort(rcv, name, lid, idx); + } + + // outgoing messages + public void doneThis(){ + for (InterfaceItemBase item : getItems()) { + ((AProtocolClassPort)item).doneThis(); + } + } + public void doneThat(){ + for (InterfaceItemBase item : getItems()) { + ((AProtocolClassPort)item).doneThat(); + } + } + } + + + // port class + static public class AProtocolClassConjPort extends PortBase { + // constructors + public AProtocolClassConjPort(IInterfaceItemOwner actor, String name, int localId) { + this(actor, name, localId, 0); + } + public AProtocolClassConjPort(IInterfaceItemOwner actor, String name, int localId, int idx) { + super(actor, name, localId, idx); + DebuggingService.getInstance().addPortInstance(this); + } + + public void destroy() { + DebuggingService.getInstance().removePortInstance(this); + super.destroy(); + } + + @Override + public void receive(Message m) { + if (!(m instanceof EventMessage)) + return; + EventMessage msg = (EventMessage) m; + if (0 < msg.getEvtId() && msg.getEvtId() < MSG_MAX) { + if (messageStrings[msg.getEvtId()] != "timerTick"){ + DebuggingService.getInstance().addMessageAsyncIn(getPeerAddress(), getAddress(), messageStrings[msg.getEvtId()]); + } + if (msg instanceof EventWithDataMessage) + getActor().receiveEvent(this, msg.getEvtId(), ((EventWithDataMessage)msg).getData()); + else + getActor().receiveEvent(this, msg.getEvtId(), null); + } + } + + + // sent messages + public void doThis() { + if (messageStrings[ IN_doThis] != "timerTick") { + DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[IN_doThis]); + } + if (getPeerAddress()!=null) + getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), IN_doThis)); + } + public void doThat() { + if (messageStrings[ IN_doThat] != "timerTick") { + DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[IN_doThat]); + } + if (getPeerAddress()!=null) + getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), IN_doThat)); + } + public void reset() { + if (messageStrings[ IN_reset] != "timerTick") { + DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[IN_reset]); + } + if (getPeerAddress()!=null) + getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), IN_reset)); + } + public void error() { + if (messageStrings[ IN_error] != "timerTick") { + DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[IN_error]); + } + if (getPeerAddress()!=null) + getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), IN_error)); + } + } + + // replicated port class + static public class AProtocolClassConjReplPort extends ReplicatedPortBase { + + public AProtocolClassConjReplPort(IInterfaceItemOwner actor, String name, int localId) { + super(actor, name, localId); + } + + public int getReplication() { + return getNInterfaceItems(); + } + + public int getIndexOf(InterfaceItemBase ifitem){ + return ifitem.getIdx(); + } + + public AProtocolClassConjPort get(int idx) { + return (AProtocolClassConjPort) getInterfaceItem(idx); + } + + protected InterfaceItemBase createInterfaceItem(IInterfaceItemOwner rcv, String name, int lid, int idx) { + return new AProtocolClassConjPort(rcv, name, lid, idx); + } + + // incoming messages + public void doThis(){ + for (InterfaceItemBase item : getItems()) { + ((AProtocolClassConjPort)item).doThis(); + } + } + public void doThat(){ + for (InterfaceItemBase item : getItems()) { + ((AProtocolClassConjPort)item).doThat(); + } + } + public void reset(){ + for (InterfaceItemBase item : getItems()) { + ((AProtocolClassConjPort)item).reset(); + } + } + public void error(){ + for (InterfaceItemBase item : getItems()) { + ((AProtocolClassConjPort)item).error(); + } + } + } + +} diff --git a/orga/spec/example models/WikiDiagrams/src-gen/WikiDiagrams/ActorClass2.java b/orga/spec/example models/WikiDiagrams/src-gen/WikiDiagrams/ActorClass2.java new file mode 100644 index 000000000..5f227c99d --- /dev/null +++ b/orga/spec/example models/WikiDiagrams/src-gen/WikiDiagrams/ActorClass2.java @@ -0,0 +1,368 @@ +package WikiDiagrams; + +import org.eclipse.etrice.runtime.java.messaging.Address; +import org.eclipse.etrice.runtime.java.messaging.IRTObject; +import org.eclipse.etrice.runtime.java.messaging.IMessageReceiver; +import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase; +import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase; +import org.eclipse.etrice.runtime.java.modelbase.DataPortBase; +import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase; +import org.eclipse.etrice.runtime.java.debugging.DebuggingService; +import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*; + + +import WikiDiagrams.AProtocolClass.*; + + + + +public class ActorClass2 extends ActorClassBase { + + + //--------------------- ports + protected AProtocolClassPort fct1 = null; + protected AProtocolClassPort fct2 = null; + protected AProtocolClassConjPort fct = null; + + //--------------------- saps + + //--------------------- services + + //--------------------- optional actors + + //--------------------- interface item IDs + public static final int IFITEM_fct1 = 1; + public static final int IFITEM_fct2 = 2; + public static final int IFITEM_fct = 3; + + /*--------------------- attributes ---------------------*/ + /*--------------------- operations ---------------------*/ + + //--------------------- construction + public ActorClass2(IRTObject parent, String name) { + super(parent, name); + setClassName("ActorClass2"); + + // initialize attributes + + // own ports + fct1 = new AProtocolClassPort(this, "fct1", IFITEM_fct1); + fct2 = new AProtocolClassPort(this, "fct2", IFITEM_fct2); + fct = new AProtocolClassConjPort(this, "fct", IFITEM_fct); + + // own saps + + // own service implementations + + // sub actors + + // wiring + + + } + + /* --------------------- attribute setters and getters */ + + + //--------------------- port getters + public AProtocolClassPort getFct1 (){ + return this.fct1; + } + public AProtocolClassPort getFct2 (){ + return this.fct2; + } + public AProtocolClassConjPort getFct (){ + return this.fct; + } + + //--------------------- lifecycle functions + public void stop(){ + stopUser(); + super.stop(); + } + + public void destroy() { + DebuggingService.getInstance().addMessageActorDestroy(this); + super.destroy(); + } + + /* state IDs */ + public static final int STATE_Initial = 2; + public static final int STATE_DoingThis = 3; + public static final int STATE_DoingThat = 4; + public static final int STATE_Error = 5; + public static final int STATE_MAX = 6; + + /* transition chains */ + public static final int CHAIN_TRANS_INITIAL_TO__Initial = 1; + public static final int CHAIN_TRANS_tr0_FROM_Initial_TO_DoingThis_BY_doThisfct1 = 2; + public static final int CHAIN_TRANS_tr1_FROM_Initial_TO_DoingThat_BY_doThatfct1 = 3; + public static final int CHAIN_TRANS_tr2_FROM_DoingThis_TO_Initial_BY_resetfct1 = 4; + public static final int CHAIN_TRANS_tr3_FROM_DoingThat_TO_Initial_BY_resetfct1 = 5; + public static final int CHAIN_TRANS_tr4_FROM_Initial_TO_Error_BY_errorfct1 = 6; + public static final int CHAIN_TRANS_tr5_FROM_DoingThis_TO_Error_BY_errorfct1 = 7; + public static final int CHAIN_TRANS_tr6_FROM_DoingThat_TO_Error_BY_errorfct1 = 8; + public static final int CHAIN_TRANS_tr7_FROM_Error_TO_Initial_BY_errorfct1 = 9; + + /* triggers */ + public static final int POLLING = 0; + public static final int TRIG_fct1__doThis = IFITEM_fct1 + EVT_SHIFT*AProtocolClass.IN_doThis; + public static final int TRIG_fct1__doThat = IFITEM_fct1 + EVT_SHIFT*AProtocolClass.IN_doThat; + public static final int TRIG_fct1__reset = IFITEM_fct1 + EVT_SHIFT*AProtocolClass.IN_reset; + public static final int TRIG_fct1__error = IFITEM_fct1 + EVT_SHIFT*AProtocolClass.IN_error; + public static final int TRIG_fct2__doThis = IFITEM_fct2 + EVT_SHIFT*AProtocolClass.IN_doThis; + public static final int TRIG_fct2__doThat = IFITEM_fct2 + EVT_SHIFT*AProtocolClass.IN_doThat; + public static final int TRIG_fct2__reset = IFITEM_fct2 + EVT_SHIFT*AProtocolClass.IN_reset; + public static final int TRIG_fct2__error = IFITEM_fct2 + EVT_SHIFT*AProtocolClass.IN_error; + public static final int TRIG_fct__doneThis = IFITEM_fct + EVT_SHIFT*AProtocolClass.OUT_doneThis; + public static final int TRIG_fct__doneThat = IFITEM_fct + EVT_SHIFT*AProtocolClass.OUT_doneThat; + + // state names + protected static final String stateStrings[] = { + "<no state>", + "<top>", + "Initial", + "DoingThis", + "DoingThat", + "Error" + }; + + // history + protected int history[] = {NO_STATE, NO_STATE, NO_STATE, NO_STATE, NO_STATE, NO_STATE}; + + private void setState(int new_state) { + DebuggingService.getInstance().addActorState(this,stateStrings[new_state]); + this.state = new_state; + } + + /* Entry and Exit Codes */ + + /* Action Codes */ + + /** + * calls exit codes while exiting from the current state to one of its + * parent states while remembering the history + * @param current - the current state + * @param to - the final parent state + */ + private void exitTo(int current, int to) { + while (current!=to) { + switch (current) { + case STATE_Initial: + this.history[STATE_TOP] = STATE_Initial; + current = STATE_TOP; + break; + case STATE_DoingThis: + this.history[STATE_TOP] = STATE_DoingThis; + current = STATE_TOP; + break; + case STATE_DoingThat: + this.history[STATE_TOP] = STATE_DoingThat; + current = STATE_TOP; + break; + case STATE_Error: + this.history[STATE_TOP] = STATE_Error; + current = STATE_TOP; + break; + default: + /* should not occur */ + break; + } + } + } + + /** + * calls action, entry and exit codes along a transition chain. The generic data are cast to typed data + * matching the trigger of this chain. The ID of the final state is returned + * @param chain - the chain ID + * @param generic_data - the generic data pointer + * @return the +/- ID of the final state either with a positive sign, that indicates to execute the state's entry code, or a negative sign vice versa + */ + private int executeTransitionChain(int chain, InterfaceItemBase ifitem, Object generic_data) { + switch (chain) { + case CHAIN_TRANS_INITIAL_TO__Initial: + { + return STATE_Initial; + } + case CHAIN_TRANS_tr0_FROM_Initial_TO_DoingThis_BY_doThisfct1: + { + return STATE_DoingThis; + } + case CHAIN_TRANS_tr1_FROM_Initial_TO_DoingThat_BY_doThatfct1: + { + return STATE_DoingThat; + } + case CHAIN_TRANS_tr2_FROM_DoingThis_TO_Initial_BY_resetfct1: + { + return STATE_Initial; + } + case CHAIN_TRANS_tr3_FROM_DoingThat_TO_Initial_BY_resetfct1: + { + return STATE_Initial; + } + case CHAIN_TRANS_tr4_FROM_Initial_TO_Error_BY_errorfct1: + { + return STATE_Error; + } + case CHAIN_TRANS_tr5_FROM_DoingThis_TO_Error_BY_errorfct1: + { + return STATE_Error; + } + case CHAIN_TRANS_tr6_FROM_DoingThat_TO_Error_BY_errorfct1: + { + return STATE_Error; + } + case CHAIN_TRANS_tr7_FROM_Error_TO_Initial_BY_errorfct1: + { + return STATE_Initial; + } + default: + /* should not occur */ + break; + } + return NO_STATE; + } + + /** + * calls entry codes while entering a state's history. The ID of the final leaf state is returned + * @param state - the state which is entered + * @return - the ID of the final leaf state + */ + private int enterHistory(int state) { + boolean skip_entry = false; + if (state >= STATE_MAX) { + state = (state - STATE_MAX); + skip_entry = true; + } + while (true) { + switch (state) { + case STATE_Initial: + /* in leaf state: return state id */ + return STATE_Initial; + case STATE_DoingThis: + /* in leaf state: return state id */ + return STATE_DoingThis; + case STATE_DoingThat: + /* in leaf state: return state id */ + return STATE_DoingThat; + case STATE_Error: + /* in leaf state: return state id */ + return STATE_Error; + case STATE_TOP: + state = this.history[STATE_TOP]; + break; + default: + /* should not occur */ + break; + } + skip_entry = false; + } + /* return NO_STATE; // required by CDT but detected as unreachable by JDT because of while (true) */ + } + + public void executeInitTransition() { + int chain = CHAIN_TRANS_INITIAL_TO__Initial; + int next = executeTransitionChain(chain, null, null); + next = enterHistory(next); + setState(next); + } + + /* receiveEvent contains the main implementation of the FSM */ + public void receiveEvent(InterfaceItemBase ifitem, int evt, Object generic_data) { + int trigger = ifitem.getLocalId() + EVT_SHIFT*evt; + int chain = NOT_CAUGHT; + int catching_state = NO_STATE; + + if (!handleSystemEvent(ifitem, evt, generic_data)) { + switch (getState()) { + case STATE_Initial: + switch(trigger) { + case TRIG_fct1__doThis: + { + chain = CHAIN_TRANS_tr0_FROM_Initial_TO_DoingThis_BY_doThisfct1; + catching_state = STATE_TOP; + } + break; + case TRIG_fct1__doThat: + { + chain = CHAIN_TRANS_tr1_FROM_Initial_TO_DoingThat_BY_doThatfct1; + catching_state = STATE_TOP; + } + break; + case TRIG_fct1__error: + { + chain = CHAIN_TRANS_tr4_FROM_Initial_TO_Error_BY_errorfct1; + catching_state = STATE_TOP; + } + break; + default: + /* should not occur */ + break; + } + break; + case STATE_DoingThis: + switch(trigger) { + case TRIG_fct1__reset: + { + chain = CHAIN_TRANS_tr2_FROM_DoingThis_TO_Initial_BY_resetfct1; + catching_state = STATE_TOP; + } + break; + case TRIG_fct1__error: + { + chain = CHAIN_TRANS_tr5_FROM_DoingThis_TO_Error_BY_errorfct1; + catching_state = STATE_TOP; + } + break; + default: + /* should not occur */ + break; + } + break; + case STATE_DoingThat: + switch(trigger) { + case TRIG_fct1__reset: + { + chain = CHAIN_TRANS_tr3_FROM_DoingThat_TO_Initial_BY_resetfct1; + catching_state = STATE_TOP; + } + break; + case TRIG_fct1__error: + { + chain = CHAIN_TRANS_tr6_FROM_DoingThat_TO_Error_BY_errorfct1; + catching_state = STATE_TOP; + } + break; + default: + /* should not occur */ + break; + } + break; + case STATE_Error: + switch(trigger) { + case TRIG_fct1__error: + { + chain = CHAIN_TRANS_tr7_FROM_Error_TO_Initial_BY_errorfct1; + catching_state = STATE_TOP; + } + break; + default: + /* should not occur */ + break; + } + break; + default: + /* should not occur */ + break; + } + } + if (chain != NOT_CAUGHT) { + exitTo(getState(), catching_state); + { + int next = executeTransitionChain(chain, ifitem, generic_data); + next = enterHistory(next); + setState(next); + } + } + } +}; diff --git a/orga/spec/example models/WikiDiagrams/src-gen/WikiDiagrams/ActorClass3.java b/orga/spec/example models/WikiDiagrams/src-gen/WikiDiagrams/ActorClass3.java new file mode 100644 index 000000000..4fb85197d --- /dev/null +++ b/orga/spec/example models/WikiDiagrams/src-gen/WikiDiagrams/ActorClass3.java @@ -0,0 +1,83 @@ +package WikiDiagrams; + +import org.eclipse.etrice.runtime.java.messaging.Address; +import org.eclipse.etrice.runtime.java.messaging.IRTObject; +import org.eclipse.etrice.runtime.java.messaging.IMessageReceiver; +import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase; +import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase; +import org.eclipse.etrice.runtime.java.modelbase.DataPortBase; +import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase; +import org.eclipse.etrice.runtime.java.debugging.DebuggingService; +import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*; + + +import WikiDiagrams.AProtocolClass.*; + + + + +public class ActorClass3 extends ActorClassBase { + + + //--------------------- ports + protected AProtocolClassConjPort fct = null; + + //--------------------- saps + + //--------------------- services + + //--------------------- optional actors + + //--------------------- interface item IDs + public static final int IFITEM_fct = 1; + + /*--------------------- attributes ---------------------*/ + /*--------------------- operations ---------------------*/ + + //--------------------- construction + public ActorClass3(IRTObject parent, String name) { + super(parent, name); + setClassName("ActorClass3"); + + // initialize attributes + + // own ports + fct = new AProtocolClassConjPort(this, "fct", IFITEM_fct); + + // own saps + + // own service implementations + + // sub actors + + // wiring + + + } + + /* --------------------- attribute setters and getters */ + + + //--------------------- port getters + public AProtocolClassConjPort getFct (){ + return this.fct; + } + + //--------------------- lifecycle functions + public void stop(){ + stopUser(); + super.stop(); + } + + public void destroy() { + DebuggingService.getInstance().addMessageActorDestroy(this); + super.destroy(); + } + + //--------------------- no state machine + public void receiveEvent(InterfaceItemBase ifitem, int evt, Object data) { + handleSystemEvent(ifitem, evt, data); + } + + public void executeInitTransition() {} +}; diff --git a/orga/spec/example models/WikiDiagrams/src-gen/WikiDiagrams/ActorClass4.java b/orga/spec/example models/WikiDiagrams/src-gen/WikiDiagrams/ActorClass4.java new file mode 100644 index 000000000..78c8250b3 --- /dev/null +++ b/orga/spec/example models/WikiDiagrams/src-gen/WikiDiagrams/ActorClass4.java @@ -0,0 +1,83 @@ +package WikiDiagrams; + +import org.eclipse.etrice.runtime.java.messaging.Address; +import org.eclipse.etrice.runtime.java.messaging.IRTObject; +import org.eclipse.etrice.runtime.java.messaging.IMessageReceiver; +import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase; +import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase; +import org.eclipse.etrice.runtime.java.modelbase.DataPortBase; +import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase; +import org.eclipse.etrice.runtime.java.debugging.DebuggingService; +import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*; + + +import WikiDiagrams.AProtocolClass.*; + + + + +public class ActorClass4 extends ActorClassBase { + + + //--------------------- ports + protected AProtocolClassConjPort fct = null; + + //--------------------- saps + + //--------------------- services + + //--------------------- optional actors + + //--------------------- interface item IDs + public static final int IFITEM_fct = 1; + + /*--------------------- attributes ---------------------*/ + /*--------------------- operations ---------------------*/ + + //--------------------- construction + public ActorClass4(IRTObject parent, String name) { + super(parent, name); + setClassName("ActorClass4"); + + // initialize attributes + + // own ports + fct = new AProtocolClassConjPort(this, "fct", IFITEM_fct); + + // own saps + + // own service implementations + + // sub actors + + // wiring + + + } + + /* --------------------- attribute setters and getters */ + + + //--------------------- port getters + public AProtocolClassConjPort getFct (){ + return this.fct; + } + + //--------------------- lifecycle functions + public void stop(){ + stopUser(); + super.stop(); + } + + public void destroy() { + DebuggingService.getInstance().addMessageActorDestroy(this); + super.destroy(); + } + + //--------------------- no state machine + public void receiveEvent(InterfaceItemBase ifitem, int evt, Object data) { + handleSystemEvent(ifitem, evt, data); + } + + public void executeInitTransition() {} +}; diff --git a/orga/spec/example models/WikiDiagrams/src-gen/WikiDiagrams/AnActorClass.java b/orga/spec/example models/WikiDiagrams/src-gen/WikiDiagrams/AnActorClass.java new file mode 100644 index 000000000..ae3c267c2 --- /dev/null +++ b/orga/spec/example models/WikiDiagrams/src-gen/WikiDiagrams/AnActorClass.java @@ -0,0 +1,100 @@ +package WikiDiagrams; + +import org.eclipse.etrice.runtime.java.messaging.Address; +import org.eclipse.etrice.runtime.java.messaging.IRTObject; +import org.eclipse.etrice.runtime.java.messaging.IMessageReceiver; +import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase; +import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase; +import org.eclipse.etrice.runtime.java.modelbase.DataPortBase; +import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase; +import org.eclipse.etrice.runtime.java.debugging.DebuggingService; +import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*; + + +import WikiDiagrams.AProtocolClass.*; + + + + +public class AnActorClass extends ActorClassBase { + + + //--------------------- ports + protected AProtocolClassConjPort fct = null; + protected AProtocolClassPort a4 = null; + + //--------------------- saps + + //--------------------- services + + //--------------------- optional actors + + //--------------------- interface item IDs + public static final int IFITEM_fct = 1; + public static final int IFITEM_a4 = 2; + + /*--------------------- attributes ---------------------*/ + /*--------------------- operations ---------------------*/ + + //--------------------- construction + public AnActorClass(IRTObject parent, String name) { + super(parent, name); + setClassName("AnActorClass"); + + // initialize attributes + + // own ports + fct = new AProtocolClassConjPort(this, "fct", IFITEM_fct); + a4 = new AProtocolClassPort(this, "a4", IFITEM_a4); + + // own saps + + // own service implementations + + // sub actors + DebuggingService.getInstance().addMessageActorCreate(this, "actor2"); + new ActorClass2(this, "actor2"); + DebuggingService.getInstance().addMessageActorCreate(this, "actor3A"); + new ActorClass3(this, "actor3A"); + DebuggingService.getInstance().addMessageActorCreate(this, "actor3B"); + new ActorClass3(this, "actor3B"); + DebuggingService.getInstance().addMessageActorCreate(this, "actor4"); + new ActorClass4(this, "actor4"); + + // wiring + InterfaceItemBase.connect(this, "actor2/fct1", "actor3A/fct"); + InterfaceItemBase.connect(this, "actor2/fct2", "actor3B/fct"); + InterfaceItemBase.connect(this, "actor4/fct", "a4"); + + + } + + /* --------------------- attribute setters and getters */ + + + //--------------------- port getters + public AProtocolClassConjPort getFct (){ + return this.fct; + } + public AProtocolClassPort getA4 (){ + return this.a4; + } + + //--------------------- lifecycle functions + public void stop(){ + stopUser(); + super.stop(); + } + + public void destroy() { + DebuggingService.getInstance().addMessageActorDestroy(this); + super.destroy(); + } + + //--------------------- no state machine + public void receiveEvent(InterfaceItemBase ifitem, int evt, Object data) { + handleSystemEvent(ifitem, evt, data); + } + + public void executeInitTransition() {} +}; diff --git a/orga/spec/example models/WikiDiagrams/src-gen/WikiDiagrams/Node_nodeRef1_subSysRef1.java b/orga/spec/example models/WikiDiagrams/src-gen/WikiDiagrams/Node_nodeRef1_subSysRef1.java new file mode 100644 index 000000000..f1d5a9557 --- /dev/null +++ b/orga/spec/example models/WikiDiagrams/src-gen/WikiDiagrams/Node_nodeRef1_subSysRef1.java @@ -0,0 +1,80 @@ +package WikiDiagrams; + +import org.eclipse.etrice.runtime.java.config.IVariableService; +import org.eclipse.etrice.runtime.java.debugging.DebuggingService; +import org.eclipse.etrice.runtime.java.messaging.IRTObject; +import org.eclipse.etrice.runtime.java.messaging.IMessageService; +import org.eclipse.etrice.runtime.java.messaging.MessageService; +import org.eclipse.etrice.runtime.java.messaging.MessageServiceController; +import org.eclipse.etrice.runtime.java.messaging.RTServices; +import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase; +import org.eclipse.etrice.runtime.java.modelbase.DataPortBase; +import org.eclipse.etrice.runtime.java.modelbase.OptionalActorInterfaceBase; +import org.eclipse.etrice.runtime.java.modelbase.IOptionalActorFactory; +import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase; +import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase; +import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBroker; + + + +public class Node_nodeRef1_subSysRef1 extends SubSystemClassBase { + + public static final int THREAD_PHYSICALTHREAD1 = 0; + + + public Node_nodeRef1_subSysRef1(IRTObject parent, String name) { + super(parent, name); + } + + @Override + public void receiveEvent(InterfaceItemBase ifitem, int evt, Object data){ + } + + @Override + public void instantiateMessageServices() { + + IMessageService msgService; + msgService = new MessageService(this, MessageService.ExecMode.MIXED, 100000000, 0, THREAD_PHYSICALTHREAD1, "MessageService_PhysicalThread1" /*, thread_prio */); + RTServices.getInstance().getMsgSvcCtrl().addMsgSvc(msgService); + } + + @Override + public void instantiateActors() { + + // thread mappings + + // sub actors + DebuggingService.getInstance().addMessageActorCreate(this, "actor"); + new AnActorClass(this, "actor"); + + // create service brokers in optional actor interfaces + + // wiring + + // apply instance attribute configurations + } + + @Override + public void init(){ + DebuggingService.getInstance().addVisibleComment("begin sub system initialization"); + super.init(); + DebuggingService.getInstance().addVisibleComment("done sub system initialization"); + } + + @Override + public void stop(){ + super.stop(); + } + + @Override + public void destroy() { + DebuggingService.getInstance().addVisibleComment("begin sub system destruction"); + super.destroy(); + DebuggingService.getInstance().addVisibleComment("done sub system destruction"); + } + + public IOptionalActorFactory getFactory(String optionalActorClass, String actorClass) { + + return null; + } +}; diff --git a/orga/spec/example models/WikiDiagrams/src-gen/WikiDiagrams/Node_nodeRef1_subSysRef1Runner.java b/orga/spec/example models/WikiDiagrams/src-gen/WikiDiagrams/Node_nodeRef1_subSysRef1Runner.java new file mode 100644 index 000000000..79ef98196 --- /dev/null +++ b/orga/spec/example models/WikiDiagrams/src-gen/WikiDiagrams/Node_nodeRef1_subSysRef1Runner.java @@ -0,0 +1,26 @@ +/** + * @author generated by eTrice + * + * this class contains the main function running component subSysRef1 + * it instantiates subSysRef1 and starts and ends the lifecycle + */ + +package WikiDiagrams; + +import org.eclipse.etrice.runtime.java.modelbase.RTSystem; +import org.eclipse.etrice.runtime.java.modelbase.SubSystemRunnerBase; + +class Node_nodeRef1_subSysRef1Runner extends SubSystemRunnerBase { + + /** + * main function + * creates the main component and starts and stops the lifecycle + */ + public static void main(String[] args) { + // instantiate the main component + RTSystem sys = new RTSystem("LogSys1"); + Node_nodeRef1_subSysRef1 main_component = new Node_nodeRef1_subSysRef1(sys, "subSysRef1"); + + run(main_component, args); + } +}; diff --git a/orga/spec/example models/WikiDiagrams/src-gen/readme.txt b/orga/spec/example models/WikiDiagrams/src-gen/readme.txt new file mode 100644 index 000000000..1dc2b35ab --- /dev/null +++ b/orga/spec/example models/WikiDiagrams/src-gen/readme.txt @@ -0,0 +1,4 @@ +This directory is an eTrice code generation target. +It will be erased every time the generator is executed. + +DO NOT PLACE OTHER FILES HERE! diff --git a/orga/spec/example models/WikiDiagrams/tmp/log/subSysRef1_Async.seq b/orga/spec/example models/WikiDiagrams/tmp/log/subSysRef1_Async.seq new file mode 100644 index 000000000..c61a916a6 --- /dev/null +++ b/orga/spec/example models/WikiDiagrams/tmp/log/subSysRef1_Async.seq @@ -0,0 +1,15 @@ +; generated MSC for Trace2UML +# begin sub system initialization + /LogSys1/subSysRef1 (!) /LogSys1/subSysRef1/actor + /LogSys1/subSysRef1/actor (!) /LogSys1/subSysRef1/actor/actor2 + /LogSys1/subSysRef1/actor (!) /LogSys1/subSysRef1/actor/actor3A + /LogSys1/subSysRef1/actor (!) /LogSys1/subSysRef1/actor/actor3B + /LogSys1/subSysRef1/actor (!) /LogSys1/subSysRef1/actor/actor4 +# done sub system initialization + /LogSys1/subSysRef1/actor/actor2 >>> Initial +# begin sub system destruction + /LogSys1/subSysRef1 (X) /LogSys1/subSysRef1/actor + /LogSys1/subSysRef1/actor (X) /LogSys1/subSysRef1/actor/actor2 + /LogSys1/subSysRef1/actor (X) /LogSys1/subSysRef1/actor/actor3A + /LogSys1/subSysRef1/actor (X) /LogSys1/subSysRef1/actor/actor3B + /LogSys1/subSysRef1/actor (X) /LogSys1/subSysRef1/actor/actor4 diff --git a/orga/spec/example models/WikiDiagrams/tmp/log/subSysRef1_Sync.seq b/orga/spec/example models/WikiDiagrams/tmp/log/subSysRef1_Sync.seq new file mode 100644 index 000000000..6b954ac91 --- /dev/null +++ b/orga/spec/example models/WikiDiagrams/tmp/log/subSysRef1_Sync.seq @@ -0,0 +1 @@ +; generated MSC for Trace2UML |