Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjeremie.tatibouet2015-11-03 13:34:57 +0000
committerjeremie.tatibouet2015-11-03 13:34:57 +0000
commit70c6dbc08a8e9aef3d52f1d29636cbc8be6db97e (patch)
treec34792b55bdcbb1d2f74a575ee4da43beda76e2c
parent37ef5dcaeacf08fad8c5822b3086c7046d192a6d (diff)
downloadorg.eclipse.papyrus-moka-70c6dbc08a8e9aef3d52f1d29636cbc8be6db97e.tar.gz
org.eclipse.papyrus-moka-70c6dbc08a8e9aef3d52f1d29636cbc8be6db97e.tar.xz
org.eclipse.papyrus-moka-70c6dbc08a8e9aef3d52f1d29636cbc8be6db97e.zip
Register oep.moka.fuml.assertionlibrary
Change-Id: Ic747d94f257bf5fc28d6e49b2ff971713333b9db Signed-off-by: jeremie.tatibouet <jeremie.tatibouet@cea.fr>
-rw-r--r--org.eclipse.papyrus.moka.fuml.assertionlibrary/.classpath7
-rw-r--r--org.eclipse.papyrus.moka.fuml.assertionlibrary/.project28
-rw-r--r--org.eclipse.papyrus.moka.fuml.assertionlibrary/META-INF/MANIFEST.MF16
-rw-r--r--org.eclipse.papyrus.moka.fuml.assertionlibrary/about.html28
-rw-r--r--org.eclipse.papyrus.moka.fuml.assertionlibrary/build.properties8
-rw-r--r--org.eclipse.papyrus.moka.fuml.assertionlibrary/plugin.xml27
-rw-r--r--org.eclipse.papyrus.moka.fuml.assertionlibrary/pom.xml14
-rw-r--r--org.eclipse.papyrus.moka.fuml.assertionlibrary/resources/AssertionLibrary.di17
-rw-r--r--org.eclipse.papyrus.moka.fuml.assertionlibrary/resources/AssertionLibrary.notation5
-rw-r--r--org.eclipse.papyrus.moka.fuml.assertionlibrary/resources/AssertionLibrary.uml2791
-rw-r--r--org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/Activator.java43
-rw-r--r--org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/AssertionLibraryRegistery.java59
-rw-r--r--org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/basic/AssertEquals.java51
-rw-r--r--org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/basic/AssertFalse.java42
-rw-r--r--org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/basic/AssertList.java51
-rw-r--r--org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/basic/AssertTrue.java42
-rw-r--r--org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/reporting/GenerateTestReport.java87
-rw-r--r--org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/reporting/JUnit.java35
-rw-r--r--org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/reporting/Reporter.java87
-rw-r--r--org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/reporting/TestDecision.java17
-rw-r--r--org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/reporting/TestReport.java56
-rw-r--r--org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/utils/AssertionExecutionContextHelper.java37
-rw-r--r--org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/utils/ReportNameSingleton.java43
23 files changed, 3591 insertions, 0 deletions
diff --git a/org.eclipse.papyrus.moka.fuml.assertionlibrary/.classpath b/org.eclipse.papyrus.moka.fuml.assertionlibrary/.classpath
new file mode 100644
index 00000000..8a8f1668
--- /dev/null
+++ b/org.eclipse.papyrus.moka.fuml.assertionlibrary/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/org.eclipse.papyrus.moka.fuml.assertionlibrary/.project b/org.eclipse.papyrus.moka.fuml.assertionlibrary/.project
new file mode 100644
index 00000000..305b79c8
--- /dev/null
+++ b/org.eclipse.papyrus.moka.fuml.assertionlibrary/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.moka.fuml.assertionlibrary</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/org.eclipse.papyrus.moka.fuml.assertionlibrary/META-INF/MANIFEST.MF b/org.eclipse.papyrus.moka.fuml.assertionlibrary/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..fb9b8f59
--- /dev/null
+++ b/org.eclipse.papyrus.moka.fuml.assertionlibrary/META-INF/MANIFEST.MF
@@ -0,0 +1,16 @@
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.papyrus.moka.fuml;bundle-version="1.2.0",
+ org.eclipse.uml2.uml;bundle-version="5.0.0",
+ org.eclipse.papyrus.uml.extensionpoints;bundle-version="1.2.0",
+ org.eclipse.ui.workbench,
+ org.eclipse.papyrus.infra.core.log;bundle-version="1.2.0"
+Export-Package: org.eclipse.papyrus.moka.fuml.assertionlibrary.utils
+Bundle-Vendor: Eclipse Modeling Project
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 1.2.0.qualifier
+Bundle-Name: Moka Assertion Library (Incubation)
+Bundle-ManifestVersion: 2
+Bundle-Activator: org.eclipse.papyrus.moka.fuml.assertionlibrary.Activator
+Bundle-SymbolicName: org.eclipse.papyrus.moka.fuml.assertionlibrary;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/org.eclipse.papyrus.moka.fuml.assertionlibrary/about.html b/org.eclipse.papyrus.moka.fuml.assertionlibrary/about.html
new file mode 100644
index 00000000..82d49bf5
--- /dev/null
+++ b/org.eclipse.papyrus.moka.fuml.assertionlibrary/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2007</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
diff --git a/org.eclipse.papyrus.moka.fuml.assertionlibrary/build.properties b/org.eclipse.papyrus.moka.fuml.assertionlibrary/build.properties
new file mode 100644
index 00000000..8e80c8ff
--- /dev/null
+++ b/org.eclipse.papyrus.moka.fuml.assertionlibrary/build.properties
@@ -0,0 +1,8 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml,\
+ resources/,\
+ about.html
+src.includes = about.html
diff --git a/org.eclipse.papyrus.moka.fuml.assertionlibrary/plugin.xml b/org.eclipse.papyrus.moka.fuml.assertionlibrary/plugin.xml
new file mode 100644
index 00000000..2f62b5c0
--- /dev/null
+++ b/org.eclipse.papyrus.moka.fuml.assertionlibrary/plugin.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+ <extension
+ name="Assert Library"
+ point="org.eclipse.papyrus.moka.fuml.library">
+ <library
+ class="org.eclipse.papyrus.moka.fuml.assertionlibrary.AssertionLibraryRegistery"></library>
+ </extension>
+ <extension
+ point="org.eclipse.emf.ecore.uri_mapping">
+ <mapping
+ source="pathmap://PAPYRUS_ASSERTION_LIBRARY/"
+ target="platform:/plugin/org.eclipse.papyrus.moka.fuml.assertionlibrary/resources/">
+ </mapping>
+ </extension>
+ <extension
+ point="org.eclipse.papyrus.uml.extensionpoints.UMLLibrary">
+ <library
+ description="Assertions specified with fUML"
+ name="AssertionLibrary"
+ path="pathmap://PAPYRUS_ASSERTION_LIBRARY/AssertionLibrary.uml"
+ provider="CEA LIST">
+ </library>
+ </extension>
+
+</plugin>
diff --git a/org.eclipse.papyrus.moka.fuml.assertionlibrary/pom.xml b/org.eclipse.papyrus.moka.fuml.assertionlibrary/pom.xml
new file mode 100644
index 00000000..f9a8f40d
--- /dev/null
+++ b/org.eclipse.papyrus.moka.fuml.assertionlibrary/pom.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus.extra.releng</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>1.2.0-SNAPSHOT</version>
+ <relativePath>../../../releng/extra</relativePath>
+ </parent>
+ <artifactId>org.eclipse.papyrus.moka.fuml.assertionlibrary</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>1.2.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project> \ No newline at end of file
diff --git a/org.eclipse.papyrus.moka.fuml.assertionlibrary/resources/AssertionLibrary.di b/org.eclipse.papyrus.moka.fuml.assertionlibrary/resources/AssertionLibrary.di
new file mode 100644
index 00000000..f871b8e5
--- /dev/null
+++ b/org.eclipse.papyrus.moka.fuml.assertionlibrary/resources/AssertionLibrary.di
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="ASCII"?>
+<di:SashWindowsMngr xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:di="http://www.eclipse.org/papyrus/0.7.0/sashdi">
+ <pageList>
+ <availablePage>
+ <emfPageIdentifier href="AssertionLibrary.notation#_Z8Cg0JAQEeKOcoNL9j-ZWA"/>
+ </availablePage>
+ </pageList>
+ <sashModel currentSelection="//@sashModel/@windows.0/@children.0">
+ <windows>
+ <children xsi:type="di:TabFolder">
+ <children>
+ <emfPageIdentifier href="AssertionLibrary.notation#_Z8Cg0JAQEeKOcoNL9j-ZWA"/>
+ </children>
+ </children>
+ </windows>
+ </sashModel>
+</di:SashWindowsMngr>
diff --git a/org.eclipse.papyrus.moka.fuml.assertionlibrary/resources/AssertionLibrary.notation b/org.eclipse.papyrus.moka.fuml.assertionlibrary/resources/AssertionLibrary.notation
new file mode 100644
index 00000000..08be2601
--- /dev/null
+++ b/org.eclipse.papyrus.moka.fuml.assertionlibrary/resources/AssertionLibrary.notation
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML" xmi:id="_Z8Cg0JAQEeKOcoNL9j-ZWA" type="PapyrusUMLClassDiagram" name="ClassDiagram" measurementUnit="Pixel">
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_Z8Cg0ZAQEeKOcoNL9j-ZWA"/>
+ <element xmi:type="uml:Model" href="AssertionLibrary.uml#_62lbEIgUEeKtquXykzQHVw"/>
+</notation:Diagram>
diff --git a/org.eclipse.papyrus.moka.fuml.assertionlibrary/resources/AssertionLibrary.uml b/org.eclipse.papyrus.moka.fuml.assertionlibrary/resources/AssertionLibrary.uml
new file mode 100644
index 00000000..dff32328
--- /dev/null
+++ b/org.eclipse.papyrus.moka.fuml.assertionlibrary/resources/AssertionLibrary.uml
@@ -0,0 +1,2791 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ActionLanguage="http://www.omg.org/spec/ALF/20120827/ActionLanguage-Profile" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.omg.org/spec/ALF/20120827/ActionLanguage-Profile platform:/plugin/org.eclipse.papyrus.alf/resources/ActionLanguage-Profile.profile.uml">
+ <uml:Model xmi:id="_62lbEIgUEeKtquXykzQHVw" name="AssertionLibrary">
+ <packageImport xmi:id="_LU_3YI19EeK7gYOtibANUw">
+ <importedPackage xmi:type="uml:Model" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#_0"/>
+ </packageImport>
+ <packageImport xmi:id="_NEk-oI19EeK7gYOtibANUw" visibility="private">
+ <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+ </packageImport>
+ <packageImport xmi:id="_X-RygJGjEeKappQpCeg6XA">
+ <importedPackage xmi:type="uml:Model" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf"/>
+ </packageImport>
+ <packagedElement xmi:type="uml:OpaqueBehavior" xmi:id="_8kE3oIgUEeKtquXykzQHVw" name="AssertEquals" group="_Q75UxpMrEeKsOLt3X9dUzg" node="_Q75UwJMrEeKsOLt3X9dUzg _Q75UwZMrEeKsOLt3X9dUzg _Q75UwpMrEeKsOLt3X9dUzg _Q75Uw5MrEeKsOLt3X9dUzg _Q75UxJMrEeKsOLt3X9dUzg _Q75UxZMrEeKsOLt3X9dUzg _Q75UxpMrEeKsOLt3X9dUzg">
+ <ownedComment xmi:id="_PWUOoIgVEeKtquXykzQHVw">
+ <body>namespace AssertionLibrary ;&#xD;
+&#xD;
+private import Alf::Library::CollectionFunctions::size ;&#xD;
+&#xD;
+activity AssertEqual(in label: String, in value1: any, in value2: any) {&#xD;
+ Write(label + &quot;==&quot;);&#xD;
+ Write(value2 instanceof String? &quot;\&quot;&quot; + (String)value2 + &quot;\&quot;&quot;: value2);&#xD;
+ AssertTrue(&quot;&quot;, value1==value2);&#xD;
+}</body>
+ </ownedComment>
+ <ownedParameter xmi:id="_ERzsCY1-EeK7gYOtibANUw" name="label" visibility="package">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ERzsCo1-EeK7gYOtibANUw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ERzsC41-EeK7gYOtibANUw" value="1"/>
+ </ownedParameter>
+ <ownedParameter xmi:id="_ERzsDI1-EeK7gYOtibANUw" name="value1" visibility="package">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ERzsDY1-EeK7gYOtibANUw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ERzsDo1-EeK7gYOtibANUw" value="1"/>
+ </ownedParameter>
+ <ownedParameter xmi:id="_ERzsD41-EeK7gYOtibANUw" name="value2" visibility="package">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ERzsEI1-EeK7gYOtibANUw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ERzsEY1-EeK7gYOtibANUw" value="1"/>
+ </ownedParameter>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_Q7_bYJMrEeKsOLt3X9dUzg" target="_Q75UwZMrEeKsOLt3X9dUzg" source="_Q75UwJMrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_Q7_bYZMrEeKsOLt3X9dUzg" target="_Q75Uw5MrEeKsOLt3X9dUzg" source="_Q75UwpMrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_Q7_bYpMrEeKsOLt3X9dUzg" target="_Q75UxZMrEeKsOLt3X9dUzg" source="_Q75UxJMrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_Q7_bY5MrEeKsOLt3X9dUzg" target="_Q75U05MrEeKsOLt3X9dUzg" source="_Q75UwZMrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_Q7_bZJMrEeKsOLt3X9dUzg" target="_Q75U5pMrEeKsOLt3X9dUzg" source="_Q75UxZMrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_Q7_bZZMrEeKsOLt3X9dUzg" target="_Q75VBJMrEeKsOLt3X9dUzg" source="_Q75UxZMrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_Q7_bZpMrEeKsOLt3X9dUzg" target="_Q75VKJMrEeKsOLt3X9dUzg" source="_Q75UxZMrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_Q7_bZ5MrEeKsOLt3X9dUzg" target="_Q75VSZMrEeKsOLt3X9dUzg" source="_Q75Uw5MrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_Q7_baJMrEeKsOLt3X9dUzg" target="_Q75VT5MrEeKsOLt3X9dUzg" source="_Q75UxZMrEeKsOLt3X9dUzg"/>
+ <structuredNode xmi:id="_Q75UxpMrEeKsOLt3X9dUzg" name="Body(AssertEqual)">
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_Q75Ux5MrEeKsOLt3X9dUzg" name="ExpressionStatement@aeca99" outgoing="_Q75VVZMrEeKsOLt3X9dUzg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_Q75U3ZMrEeKsOLt3X9dUzg" target="_Q75UyZMrEeKsOLt3X9dUzg" source="_Q75U2ZMrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_Q75U3pMrEeKsOLt3X9dUzg" target="_Q75UyJMrEeKsOLt3X9dUzg" source="_Q75UzJMrEeKsOLt3X9dUzg"/>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_Q75UyJMrEeKsOLt3X9dUzg" name="Call(Write)" incoming="_Q75U3pMrEeKsOLt3X9dUzg" behavior="_Tz8bEIgWEeKtquXykzQHVw">
+ <argument xmi:id="_Q75UyZMrEeKsOLt3X9dUzg" name="Call(Write).argument(value)" incoming="_Q75U3ZMrEeKsOLt3X9dUzg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Q75UypMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Q75Uy5MrEeKsOLt3X9dUzg" value="1"/>
+ </argument>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_Q75UzJMrEeKsOLt3X9dUzg" name="Tuple@11dc721" outgoing="_Q75U3pMrEeKsOLt3X9dUzg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_Q75U3JMrEeKsOLt3X9dUzg" target="_Q75U1pMrEeKsOLt3X9dUzg" source="_Q75UzpMrEeKsOLt3X9dUzg"/>
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_Q75UzZMrEeKsOLt3X9dUzg" name="Value(&quot;==&quot;)">
+ <result xmi:id="_Q75UzpMrEeKsOLt3X9dUzg" name="Value(&quot;==&quot;).result" outgoing="_Q75U3JMrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Q75Uz5MrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Q75U0JMrEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralString" xmi:id="_Q75U0ZMrEeKsOLt3X9dUzg" value="==">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </value>
+ </node>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_Q75U0pMrEeKsOLt3X9dUzg" name="Call(Concat)">
+ <argument xmi:id="_Q75U05MrEeKsOLt3X9dUzg" name="Call(Concat).argument(x)" incoming="_Q7_bY5MrEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Q75U1JMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Q75U1ZMrEeKsOLt3X9dUzg" value="1"/>
+ </argument>
+ <argument xmi:id="_Q75U1pMrEeKsOLt3X9dUzg" name="Call(Concat).argument(y)" incoming="_Q75U3JMrEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Q75U15MrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Q75U2JMrEeKsOLt3X9dUzg" value="1"/>
+ </argument>
+ <result xmi:id="_Q75U2ZMrEeKsOLt3X9dUzg" name="Call(Concat).result(result)" outgoing="_Q75U3ZMrEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Q75U2pMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Q75U25MrEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:FunctionBehavior" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#PrimitiveBehaviors-StringFunctions-Concat"/>
+ </node>
+ </node>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_Q75U35MrEeKsOLt3X9dUzg" name="ExpressionStatement@fc6a34" incoming="_Q75VVZMrEeKsOLt3X9dUzg" outgoing="_Q75VVpMrEeKsOLt3X9dUzg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_Q75VOJMrEeKsOLt3X9dUzg" target="_Q75U4ZMrEeKsOLt3X9dUzg" source="_Q75VL5MrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_Q75VOZMrEeKsOLt3X9dUzg" target="_Q75U4JMrEeKsOLt3X9dUzg" source="_Q75U5JMrEeKsOLt3X9dUzg"/>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_Q75U4JMrEeKsOLt3X9dUzg" name="Call(Write)" incoming="_Q75VOZMrEeKsOLt3X9dUzg" behavior="_Tz8bEIgWEeKtquXykzQHVw">
+ <argument xmi:id="_Q75U4ZMrEeKsOLt3X9dUzg" name="Call(Write).argument(value)" incoming="_Q75VOJMrEeKsOLt3X9dUzg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Q75U4pMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Q75U45MrEeKsOLt3X9dUzg" value="1"/>
+ </argument>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_Q75U5JMrEeKsOLt3X9dUzg" name="Tuple@646e1b" outgoing="_Q75VOZMrEeKsOLt3X9dUzg">
+ <edge xmi:type="uml:ControlFlow" xmi:id="_Q75VMJMrEeKsOLt3X9dUzg" target="_Q75VLpMrEeKsOLt3X9dUzg" source="_Q75VLZMrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_Q75VMZMrEeKsOLt3X9dUzg" target="_Q75VLpMrEeKsOLt3X9dUzg" source="_Q75U6ZMrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_Q75VMpMrEeKsOLt3X9dUzg" target="_Q75U7JMrEeKsOLt3X9dUzg" source="_Q75VLpMrEeKsOLt3X9dUzg">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_Q75VM5MrEeKsOLt3X9dUzg" name="Value(true)" value="true"/>
+ </edge>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_Q75VNJMrEeKsOLt3X9dUzg" target="_Q75VJ5MrEeKsOLt3X9dUzg" source="_Q75VLpMrEeKsOLt3X9dUzg">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_Q75VNZMrEeKsOLt3X9dUzg" name="Value(false)"/>
+ </edge>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_Q75VNpMrEeKsOLt3X9dUzg" target="_Q75VL5MrEeKsOLt3X9dUzg" source="_Q75VH5MrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_Q75VN5MrEeKsOLt3X9dUzg" target="_Q75VL5MrEeKsOLt3X9dUzg" source="_Q75VKZMrEeKsOLt3X9dUzg"/>
+ <node xmi:type="uml:ReadIsClassifiedObjectAction" xmi:id="_Q75U5ZMrEeKsOLt3X9dUzg" name="ReadIsClassifiedObject(String)">
+ <classifier xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <object xmi:id="_Q75U5pMrEeKsOLt3X9dUzg" name="ReadIsClassifiedObject(String).object" incoming="_Q7_bZJMrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Q75U55MrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Q75U6JMrEeKsOLt3X9dUzg" value="1"/>
+ </object>
+ <result xmi:id="_Q75U6ZMrEeKsOLt3X9dUzg" name="ReadIsClassifiedObject(String).result" outgoing="_Q75VMZMrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Q75U6pMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Q75U65MrEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_Q75U7JMrEeKsOLt3X9dUzg" name="ConditionalTestExpression@10500b1.operand2" incoming="_Q75VMpMrEeKsOLt3X9dUzg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_Q75VIpMrEeKsOLt3X9dUzg" target="_Q75VB5MrEeKsOLt3X9dUzg" source="_Q75U7pMrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_Q75VI5MrEeKsOLt3X9dUzg" target="_Q75VCpMrEeKsOLt3X9dUzg" source="_Q75VBZMrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_Q75VJJMrEeKsOLt3X9dUzg" target="_Q75VFpMrEeKsOLt3X9dUzg" source="_Q75VDZMrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_Q75VJZMrEeKsOLt3X9dUzg" target="_Q75VGZMrEeKsOLt3X9dUzg" source="_Q75VEZMrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_Q75VJpMrEeKsOLt3X9dUzg" target="_Q75VH5MrEeKsOLt3X9dUzg" source="_Q75VHJMrEeKsOLt3X9dUzg"/>
+ <structuredNodeOutput xmi:id="_Q75VH5MrEeKsOLt3X9dUzg" name="ConditionalTestExpression@10500b1.operand2.result" incoming="_Q75VJpMrEeKsOLt3X9dUzg" outgoing="_Q75VNpMrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Q75VIJMrEeKsOLt3X9dUzg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Q75VIZMrEeKsOLt3X9dUzg" value="*"/>
+ </structuredNodeOutput>
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_Q75U7ZMrEeKsOLt3X9dUzg" name="Value(&quot;&quot;&quot;)">
+ <result xmi:id="_Q75U7pMrEeKsOLt3X9dUzg" name="Value(&quot;&quot;&quot;).result" outgoing="_Q75VIpMrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Q75U75MrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Q75U8JMrEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralString" xmi:id="_Q75U8ZMrEeKsOLt3X9dUzg" value="&quot;">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </value>
+ </node>
+ <node xmi:type="uml:ExpansionRegion" xmi:id="_Q75U8pMrEeKsOLt3X9dUzg" name="CastExpression@1bee7e" mode="parallel" outputElement="_Q75VBZMrEeKsOLt3X9dUzg" inputElement="_Q75VBJMrEeKsOLt3X9dUzg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_Q75U_ZMrEeKsOLt3X9dUzg" target="_Q75U9ZMrEeKsOLt3X9dUzg" source="_Q75U-5MrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_Q75U_pMrEeKsOLt3X9dUzg" target="_Q75U_JMrEeKsOLt3X9dUzg" source="_Q75U-5MrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_Q75U_5MrEeKsOLt3X9dUzg" target="_Q75U_JMrEeKsOLt3X9dUzg" source="_Q75U-JMrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_Q75VAJMrEeKsOLt3X9dUzg" target="_Q75U85MrEeKsOLt3X9dUzg" source="_Q75U_JMrEeKsOLt3X9dUzg">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_Q75VAZMrEeKsOLt3X9dUzg" name="Value(true)" value="true"/>
+ </edge>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_Q75VApMrEeKsOLt3X9dUzg" target="_Q75U-5MrEeKsOLt3X9dUzg" source="_Q75VBJMrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_Q75VA5MrEeKsOLt3X9dUzg" target="_Q75VBZMrEeKsOLt3X9dUzg" source="_Q75U85MrEeKsOLt3X9dUzg"/>
+ <node xmi:type="uml:MergeNode" xmi:id="_Q75U85MrEeKsOLt3X9dUzg" name="Merge(CastExpression@1bee7e.operand)" incoming="_Q75VAJMrEeKsOLt3X9dUzg" outgoing="_Q75VA5MrEeKsOLt3X9dUzg"/>
+ <node xmi:type="uml:ReadIsClassifiedObjectAction" xmi:id="_Q75U9JMrEeKsOLt3X9dUzg" name="ReadIsClassifiedObject(String)">
+ <classifier xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <object xmi:id="_Q75U9ZMrEeKsOLt3X9dUzg" name="ReadIsClassifiedObject(String).object" incoming="_Q75U_ZMrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Q75U9pMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Q75U95MrEeKsOLt3X9dUzg" value="1"/>
+ </object>
+ <result xmi:id="_Q75U-JMrEeKsOLt3X9dUzg" name="ReadIsClassifiedObject(String).result" outgoing="_Q75U_5MrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Q75U-ZMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Q75U-pMrEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ </node>
+ <node xmi:type="uml:ForkNode" xmi:id="_Q75U-5MrEeKsOLt3X9dUzg" name="Fork(ReadIsClassifiedObject(String).object)" incoming="_Q75VApMrEeKsOLt3X9dUzg" outgoing="_Q75U_ZMrEeKsOLt3X9dUzg _Q75U_pMrEeKsOLt3X9dUzg"/>
+ <node xmi:type="uml:DecisionNode" xmi:id="_Q75U_JMrEeKsOLt3X9dUzg" name="Decision(ReadIsClassifiedObject(String).result)" incoming="_Q75U_pMrEeKsOLt3X9dUzg _Q75U_5MrEeKsOLt3X9dUzg" outgoing="_Q75VAJMrEeKsOLt3X9dUzg" decisionInputFlow="_Q75U_5MrEeKsOLt3X9dUzg"/>
+ </node>
+ <node xmi:type="uml:ExpansionNode" xmi:id="_Q75VBJMrEeKsOLt3X9dUzg" name="CastExpression@1bee7e.inputElement" incoming="_Q7_bZZMrEeKsOLt3X9dUzg" outgoing="_Q75VApMrEeKsOLt3X9dUzg" regionAsInput="_Q75U8pMrEeKsOLt3X9dUzg"/>
+ <node xmi:type="uml:ExpansionNode" xmi:id="_Q75VBZMrEeKsOLt3X9dUzg" name="CastExpression@1bee7e.outputElement" incoming="_Q75VA5MrEeKsOLt3X9dUzg" outgoing="_Q75VI5MrEeKsOLt3X9dUzg" regionAsOutput="_Q75U8pMrEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </node>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_Q75VBpMrEeKsOLt3X9dUzg" name="Call(Concat)">
+ <argument xmi:id="_Q75VB5MrEeKsOLt3X9dUzg" name="Call(Concat).argument(x)" incoming="_Q75VIpMrEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Q75VCJMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Q75VCZMrEeKsOLt3X9dUzg" value="1"/>
+ </argument>
+ <argument xmi:id="_Q75VCpMrEeKsOLt3X9dUzg" name="Call(Concat).argument(y)" incoming="_Q75VI5MrEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Q75VC5MrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Q75VDJMrEeKsOLt3X9dUzg" value="1"/>
+ </argument>
+ <result xmi:id="_Q75VDZMrEeKsOLt3X9dUzg" name="Call(Concat).result(result)" outgoing="_Q75VJJMrEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Q75VDpMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Q75VD5MrEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:FunctionBehavior" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#PrimitiveBehaviors-StringFunctions-Concat"/>
+ </node>
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_Q75VEJMrEeKsOLt3X9dUzg" name="Value(&quot;&quot;&quot;)">
+ <result xmi:id="_Q75VEZMrEeKsOLt3X9dUzg" name="Value(&quot;&quot;&quot;).result" outgoing="_Q75VJZMrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Q75VEpMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Q75VE5MrEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralString" xmi:id="_Q75VFJMrEeKsOLt3X9dUzg" value="&quot;">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </value>
+ </node>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_Q75VFZMrEeKsOLt3X9dUzg" name="Call(Concat)">
+ <argument xmi:id="_Q75VFpMrEeKsOLt3X9dUzg" name="Call(Concat).argument(x)" incoming="_Q75VJJMrEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Q75VF5MrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Q75VGJMrEeKsOLt3X9dUzg" value="1"/>
+ </argument>
+ <argument xmi:id="_Q75VGZMrEeKsOLt3X9dUzg" name="Call(Concat).argument(y)" incoming="_Q75VJZMrEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Q75VGpMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Q75VG5MrEeKsOLt3X9dUzg" value="1"/>
+ </argument>
+ <result xmi:id="_Q75VHJMrEeKsOLt3X9dUzg" name="Call(Concat).result(result)" outgoing="_Q75VJpMrEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Q75VHZMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Q75VHpMrEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:FunctionBehavior" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#PrimitiveBehaviors-StringFunctions-Concat"/>
+ </node>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_Q75VJ5MrEeKsOLt3X9dUzg" name="ConditionalTestExpression@10500b1.operand3" incoming="_Q75VNJMrEeKsOLt3X9dUzg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_Q75VLJMrEeKsOLt3X9dUzg" target="_Q75VKZMrEeKsOLt3X9dUzg" source="_Q75VKJMrEeKsOLt3X9dUzg"/>
+ <structuredNodeOutput xmi:id="_Q75VKZMrEeKsOLt3X9dUzg" name="ConditionalTestExpression@10500b1.operand3.result" incoming="_Q75VLJMrEeKsOLt3X9dUzg" outgoing="_Q75VN5MrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Q75VKpMrEeKsOLt3X9dUzg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Q75VK5MrEeKsOLt3X9dUzg" value="*"/>
+ </structuredNodeOutput>
+ <node xmi:type="uml:MergeNode" xmi:id="_Q75VKJMrEeKsOLt3X9dUzg" name="Merge(Fork(value2))" incoming="_Q7_bZpMrEeKsOLt3X9dUzg" outgoing="_Q75VLJMrEeKsOLt3X9dUzg"/>
+ </node>
+ <node xmi:type="uml:InitialNode" xmi:id="_Q75VLZMrEeKsOLt3X9dUzg" name="Initial(ConditionalTestExpression@10500b1)" outgoing="_Q75VMJMrEeKsOLt3X9dUzg"/>
+ <node xmi:type="uml:DecisionNode" xmi:id="_Q75VLpMrEeKsOLt3X9dUzg" name="Decision(ConditionalTestExpression@10500b1)" incoming="_Q75VMJMrEeKsOLt3X9dUzg _Q75VMZMrEeKsOLt3X9dUzg" outgoing="_Q75VMpMrEeKsOLt3X9dUzg _Q75VNJMrEeKsOLt3X9dUzg" decisionInputFlow="_Q75VMZMrEeKsOLt3X9dUzg"/>
+ <node xmi:type="uml:MergeNode" xmi:id="_Q75VL5MrEeKsOLt3X9dUzg" name="Merge(ConditionalTestExpression@10500b1.result)" incoming="_Q75VNpMrEeKsOLt3X9dUzg _Q75VN5MrEeKsOLt3X9dUzg" outgoing="_Q75VOJMrEeKsOLt3X9dUzg"/>
+ </node>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_Q75VOpMrEeKsOLt3X9dUzg" name="ExpressionStatement@15e504b" incoming="_Q75VVpMrEeKsOLt3X9dUzg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_Q75VUpMrEeKsOLt3X9dUzg" target="_Q75VPJMrEeKsOLt3X9dUzg" source="_Q75VRJMrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_Q75VU5MrEeKsOLt3X9dUzg" target="_Q75VP5MrEeKsOLt3X9dUzg" source="_Q75VTJMrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_Q75VVJMrEeKsOLt3X9dUzg" target="_Q75VO5MrEeKsOLt3X9dUzg" source="_Q75VQpMrEeKsOLt3X9dUzg"/>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_Q75VO5MrEeKsOLt3X9dUzg" name="Call(AssertTrue)" incoming="_Q75VVJMrEeKsOLt3X9dUzg" behavior="_9FjNAIgUEeKtquXykzQHVw">
+ <argument xmi:id="_Q75VPJMrEeKsOLt3X9dUzg" name="Call(AssertTrue).argument(label)" incoming="_Q75VUpMrEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Q75VPZMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Q75VPpMrEeKsOLt3X9dUzg" value="1"/>
+ </argument>
+ <argument xmi:id="_Q75VP5MrEeKsOLt3X9dUzg" name="Call(AssertTrue).argument(condition)" incoming="_Q75VU5MrEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Q75VQJMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Q75VQZMrEeKsOLt3X9dUzg" value="1"/>
+ </argument>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_Q75VQpMrEeKsOLt3X9dUzg" name="Tuple@123d3ca" outgoing="_Q75VVJMrEeKsOLt3X9dUzg">
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_Q75VQ5MrEeKsOLt3X9dUzg" name="Value(&quot;&quot;)">
+ <result xmi:id="_Q75VRJMrEeKsOLt3X9dUzg" name="Value(&quot;&quot;).result" outgoing="_Q75VUpMrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Q75VRZMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Q75VRpMrEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralString" xmi:id="_Q75VR5MrEeKsOLt3X9dUzg" value="">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </value>
+ </node>
+ <node xmi:type="uml:TestIdentityAction" xmi:id="_Q75VSJMrEeKsOLt3X9dUzg" name="Test(==)">
+ <first xmi:id="_Q75VSZMrEeKsOLt3X9dUzg" name="Test(==).first" incoming="_Q7_bZ5MrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Q75VSpMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Q75VS5MrEeKsOLt3X9dUzg" value="1"/>
+ </first>
+ <result xmi:id="_Q75VTJMrEeKsOLt3X9dUzg" name="Test(==).result" outgoing="_Q75VU5MrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Q75VTZMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Q75VTpMrEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <second xmi:id="_Q75VT5MrEeKsOLt3X9dUzg" name="Test(==).second" incoming="_Q7_baJMrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Q75VUJMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Q75VUZMrEeKsOLt3X9dUzg" value="1"/>
+ </second>
+ </node>
+ </node>
+ </node>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_Q75VVZMrEeKsOLt3X9dUzg" target="_Q75U35MrEeKsOLt3X9dUzg" source="_Q75Ux5MrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_Q75VVpMrEeKsOLt3X9dUzg" target="_Q75VOpMrEeKsOLt3X9dUzg" source="_Q75U35MrEeKsOLt3X9dUzg"/>
+ </structuredNode>
+ <node xmi:type="uml:ActivityParameterNode" xmi:id="_Q75UwJMrEeKsOLt3X9dUzg" name="Input(label)" outgoing="_Q7_bYJMrEeKsOLt3X9dUzg" parameter="_ERzsCY1-EeK7gYOtibANUw"/>
+ <node xmi:type="uml:ForkNode" xmi:id="_Q75UwZMrEeKsOLt3X9dUzg" name="Fork(label)" incoming="_Q7_bYJMrEeKsOLt3X9dUzg" outgoing="_Q7_bY5MrEeKsOLt3X9dUzg"/>
+ <node xmi:type="uml:ActivityParameterNode" xmi:id="_Q75UwpMrEeKsOLt3X9dUzg" name="Input(value1)" outgoing="_Q7_bYZMrEeKsOLt3X9dUzg" parameter="_ERzsDI1-EeK7gYOtibANUw"/>
+ <node xmi:type="uml:ForkNode" xmi:id="_Q75Uw5MrEeKsOLt3X9dUzg" name="Fork(value1)" incoming="_Q7_bYZMrEeKsOLt3X9dUzg" outgoing="_Q7_bZ5MrEeKsOLt3X9dUzg"/>
+ <node xmi:type="uml:ActivityParameterNode" xmi:id="_Q75UxJMrEeKsOLt3X9dUzg" name="Input(value2)" outgoing="_Q7_bYpMrEeKsOLt3X9dUzg" parameter="_ERzsD41-EeK7gYOtibANUw"/>
+ <node xmi:type="uml:ForkNode" xmi:id="_Q75UxZMrEeKsOLt3X9dUzg" name="Fork(value2)" incoming="_Q7_bYpMrEeKsOLt3X9dUzg" outgoing="_Q7_bZJMrEeKsOLt3X9dUzg _Q7_bZZMrEeKsOLt3X9dUzg _Q7_bZpMrEeKsOLt3X9dUzg _Q7_baJMrEeKsOLt3X9dUzg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:OpaqueBehavior" xmi:id="_9FjNAIgUEeKtquXykzQHVw" name="AssertTrue" group="_-JHLNJMqEeKsOLt3X9dUzg" node="_-JHLMJMqEeKsOLt3X9dUzg _-JHLMZMqEeKsOLt3X9dUzg _-JHLMpMqEeKsOLt3X9dUzg _-JHLM5MqEeKsOLt3X9dUzg _-JHLNJMqEeKsOLt3X9dUzg">
+ <ownedComment xmi:id="_cKvjYIgVEeKtquXykzQHVw">
+ <body>namespace AssertionLibrary ;&#xD;
+&#xD;
+private import Alf::Library::PrimitiveBehaviors::BooleanFunctions::ToString;&#xD;
+private import Alf::Library::BasicInputOutput::WriteLine ;&#xD;
+&#xD;
+activity AssertTrue(in label: String, in condition: Boolean) {&#xD;
+ WriteLine(label + &quot;: &quot; + ToString(condition));&#xD;
+}</body>
+ </ownedComment>
+ <ownedParameter xmi:id="_l17_do19EeK7gYOtibANUw" name="label" visibility="package">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_l17_d419EeK7gYOtibANUw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_l17_eI19EeK7gYOtibANUw" value="1"/>
+ </ownedParameter>
+ <ownedParameter xmi:id="_l17_eY19EeK7gYOtibANUw" name="condition" visibility="package">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_l17_eo19EeK7gYOtibANUw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_l17_e419EeK7gYOtibANUw" value="1"/>
+ </ownedParameter>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_-JNR0JMqEeKsOLt3X9dUzg" target="_-JHLMZMqEeKsOLt3X9dUzg" source="_-JHLMJMqEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_-JNR0ZMqEeKsOLt3X9dUzg" target="_-JHLM5MqEeKsOLt3X9dUzg" source="_-JHLMpMqEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_-JNR0pMqEeKsOLt3X9dUzg" target="_-JHLRJMqEeKsOLt3X9dUzg" source="_-JHLMZMqEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_-JNR05MqEeKsOLt3X9dUzg" target="_-JHLTpMqEeKsOLt3X9dUzg" source="_-JHLM5MqEeKsOLt3X9dUzg"/>
+ <structuredNode xmi:id="_-JHLNJMqEeKsOLt3X9dUzg" name="Body(AssertTrue)">
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_-JHLNZMqEeKsOLt3X9dUzg" name="ExpressionStatement@d828b2">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_-JHLYZMqEeKsOLt3X9dUzg" target="_-JHLN5MqEeKsOLt3X9dUzg" source="_-JHLW5MqEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_-JHLYpMqEeKsOLt3X9dUzg" target="_-JHLNpMqEeKsOLt3X9dUzg" source="_-JHLPZMqEeKsOLt3X9dUzg"/>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_-JHLNpMqEeKsOLt3X9dUzg" name="Call(WriteLine)" incoming="_-JHLYpMqEeKsOLt3X9dUzg">
+ <argument xmi:id="_-JHLN5MqEeKsOLt3X9dUzg" name="Call(WriteLine).argument(value)" incoming="_-JHLYZMqEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-JHLOJMqEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-JHLOZMqEeKsOLt3X9dUzg" value="1"/>
+ </argument>
+ <result xmi:id="_-JHLOpMqEeKsOLt3X9dUzg" name="Call(WriteLine).result(errorStatus)">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-JHLO5MqEeKsOLt3X9dUzg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-JHLPJMqEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:Activity" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#BasicInputOutput-WriteLine"/>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_-JHLPZMqEeKsOLt3X9dUzg" name="Tuple@16e3ee8" outgoing="_-JHLYpMqEeKsOLt3X9dUzg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_-JHLXpMqEeKsOLt3X9dUzg" target="_-JHLR5MqEeKsOLt3X9dUzg" source="_-JHLP5MqEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_-JHLX5MqEeKsOLt3X9dUzg" target="_-JHLVZMqEeKsOLt3X9dUzg" source="_-JHLSpMqEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_-JHLYJMqEeKsOLt3X9dUzg" target="_-JHLWJMqEeKsOLt3X9dUzg" source="_-JHLUZMqEeKsOLt3X9dUzg"/>
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_-JHLPpMqEeKsOLt3X9dUzg" name="Value(&quot;: &quot;)">
+ <result xmi:id="_-JHLP5MqEeKsOLt3X9dUzg" name="Value(&quot;: &quot;).result" outgoing="_-JHLXpMqEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-JHLQJMqEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-JHLQZMqEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralString" xmi:id="_-JHLQpMqEeKsOLt3X9dUzg" value=": ">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </value>
+ </node>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_-JHLQ5MqEeKsOLt3X9dUzg" name="Call(Concat)">
+ <argument xmi:id="_-JHLRJMqEeKsOLt3X9dUzg" name="Call(Concat).argument(x)" incoming="_-JNR0pMqEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-JHLRZMqEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-JHLRpMqEeKsOLt3X9dUzg" value="1"/>
+ </argument>
+ <argument xmi:id="_-JHLR5MqEeKsOLt3X9dUzg" name="Call(Concat).argument(y)" incoming="_-JHLXpMqEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-JHLSJMqEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-JHLSZMqEeKsOLt3X9dUzg" value="1"/>
+ </argument>
+ <result xmi:id="_-JHLSpMqEeKsOLt3X9dUzg" name="Call(Concat).result(result)" outgoing="_-JHLX5MqEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-JHLS5MqEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-JHLTJMqEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:FunctionBehavior" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#PrimitiveBehaviors-StringFunctions-Concat"/>
+ </node>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_-JHLTZMqEeKsOLt3X9dUzg" name="Call(ToString)">
+ <argument xmi:id="_-JHLTpMqEeKsOLt3X9dUzg" name="Call(ToString).argument(x)" incoming="_-JNR05MqEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-JHLT5MqEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-JHLUJMqEeKsOLt3X9dUzg" value="1"/>
+ </argument>
+ <result xmi:id="_-JHLUZMqEeKsOLt3X9dUzg" name="Call(ToString).result(result)" outgoing="_-JHLYJMqEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-JHLUpMqEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-JHLU5MqEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:FunctionBehavior" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#PrimitiveBehaviors-BooleanFunctions-ToString"/>
+ </node>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_-JHLVJMqEeKsOLt3X9dUzg" name="Call(Concat)">
+ <argument xmi:id="_-JHLVZMqEeKsOLt3X9dUzg" name="Call(Concat).argument(x)" incoming="_-JHLX5MqEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-JHLVpMqEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-JHLV5MqEeKsOLt3X9dUzg" value="1"/>
+ </argument>
+ <argument xmi:id="_-JHLWJMqEeKsOLt3X9dUzg" name="Call(Concat).argument(y)" incoming="_-JHLYJMqEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-JHLWZMqEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-JHLWpMqEeKsOLt3X9dUzg" value="1"/>
+ </argument>
+ <result xmi:id="_-JHLW5MqEeKsOLt3X9dUzg" name="Call(Concat).result(result)" outgoing="_-JHLYZMqEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-JHLXJMqEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-JHLXZMqEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:FunctionBehavior" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#PrimitiveBehaviors-StringFunctions-Concat"/>
+ </node>
+ </node>
+ </node>
+ </structuredNode>
+ <node xmi:type="uml:ActivityParameterNode" xmi:id="_-JHLMJMqEeKsOLt3X9dUzg" name="Input(label)" outgoing="_-JNR0JMqEeKsOLt3X9dUzg" parameter="_l17_do19EeK7gYOtibANUw"/>
+ <node xmi:type="uml:ForkNode" xmi:id="_-JHLMZMqEeKsOLt3X9dUzg" name="Fork(label)" incoming="_-JNR0JMqEeKsOLt3X9dUzg" outgoing="_-JNR0pMqEeKsOLt3X9dUzg"/>
+ <node xmi:type="uml:ActivityParameterNode" xmi:id="_-JHLMpMqEeKsOLt3X9dUzg" name="Input(condition)" outgoing="_-JNR0ZMqEeKsOLt3X9dUzg" parameter="_l17_eY19EeK7gYOtibANUw"/>
+ <node xmi:type="uml:ForkNode" xmi:id="_-JHLM5MqEeKsOLt3X9dUzg" name="Fork(condition)" incoming="_-JNR0ZMqEeKsOLt3X9dUzg" outgoing="_-JNR05MqEeKsOLt3X9dUzg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:OpaqueBehavior" xmi:id="_9tk2UIgUEeKtquXykzQHVw" name="AssertFalse" group="_JXnrBJMrEeKsOLt3X9dUzg" node="_JXnrAJMrEeKsOLt3X9dUzg _JXnrAZMrEeKsOLt3X9dUzg _JXnrApMrEeKsOLt3X9dUzg _JXnrA5MrEeKsOLt3X9dUzg _JXnrBJMrEeKsOLt3X9dUzg">
+ <ownedComment xmi:id="_qGNYsIgVEeKtquXykzQHVw">
+ <body>namespace AssertionLibrary ;&#xD;
+&#xD;
+private import Alf::Library::PrimitiveBehaviors::BooleanFunctions::ToString;&#xD;
+private import Alf::Library::BasicInputOutput::WriteLine ;&#xD;
+&#xD;
+activity AssertFalse(in label: String, in condition: Boolean) {&#xD;
+ WriteLine(&quot;! &quot; + label + &quot;: &quot; + ToString(!condition));&#xD;
+}</body>
+ </ownedComment>
+ <ownedParameter xmi:id="_wKWOho19EeK7gYOtibANUw" name="label" visibility="package">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_wKWOh419EeK7gYOtibANUw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_wKWOiI19EeK7gYOtibANUw" value="1"/>
+ </ownedParameter>
+ <ownedParameter xmi:id="_wKWOiY19EeK7gYOtibANUw" name="condition" visibility="package">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_wKWOio19EeK7gYOtibANUw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_wKWOi419EeK7gYOtibANUw" value="1"/>
+ </ownedParameter>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_JXnrTpMrEeKsOLt3X9dUzg" target="_JXnrAZMrEeKsOLt3X9dUzg" source="_JXnrAJMrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_JXnrT5MrEeKsOLt3X9dUzg" target="_JXnrA5MrEeKsOLt3X9dUzg" source="_JXnrApMrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_JXtxoJMrEeKsOLt3X9dUzg" target="_JXnrF5MrEeKsOLt3X9dUzg" source="_JXnrAZMrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_JXtxoZMrEeKsOLt3X9dUzg" target="_JXnrNZMrEeKsOLt3X9dUzg" source="_JXnrA5MrEeKsOLt3X9dUzg"/>
+ <structuredNode xmi:id="_JXnrBJMrEeKsOLt3X9dUzg" name="Body(AssertFalse)">
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_JXnrBZMrEeKsOLt3X9dUzg" name="ExpressionStatement@162d7d6">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_JXnrTJMrEeKsOLt3X9dUzg" target="_JXnrB5MrEeKsOLt3X9dUzg" source="_JXnrQpMrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_JXnrTZMrEeKsOLt3X9dUzg" target="_JXnrBpMrEeKsOLt3X9dUzg" source="_JXnrDZMrEeKsOLt3X9dUzg"/>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_JXnrBpMrEeKsOLt3X9dUzg" name="Call(WriteLine)" incoming="_JXnrTZMrEeKsOLt3X9dUzg">
+ <argument xmi:id="_JXnrB5MrEeKsOLt3X9dUzg" name="Call(WriteLine).argument(value)" incoming="_JXnrTJMrEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_JXnrCJMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_JXnrCZMrEeKsOLt3X9dUzg" value="1"/>
+ </argument>
+ <result xmi:id="_JXnrCpMrEeKsOLt3X9dUzg" name="Call(WriteLine).result(errorStatus)">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_JXnrC5MrEeKsOLt3X9dUzg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_JXnrDJMrEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:Activity" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#BasicInputOutput-WriteLine"/>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_JXnrDZMrEeKsOLt3X9dUzg" name="Tuple@fd6256" outgoing="_JXnrTZMrEeKsOLt3X9dUzg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_JXnrRZMrEeKsOLt3X9dUzg" target="_JXnrFJMrEeKsOLt3X9dUzg" source="_JXnrD5MrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_JXnrRpMrEeKsOLt3X9dUzg" target="_JXnrI5MrEeKsOLt3X9dUzg" source="_JXnrGpMrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_JXnrR5MrEeKsOLt3X9dUzg" target="_JXnrJpMrEeKsOLt3X9dUzg" source="_JXnrHpMrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_JXnrSJMrEeKsOLt3X9dUzg" target="_JXnrLZMrEeKsOLt3X9dUzg" source="_JXnrOJMrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_JXnrSZMrEeKsOLt3X9dUzg" target="_JXnrLJMrEeKsOLt3X9dUzg" source="_JXnrM5MrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_JXnrSpMrEeKsOLt3X9dUzg" target="_JXnrPJMrEeKsOLt3X9dUzg" source="_JXnrKZMrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_JXnrS5MrEeKsOLt3X9dUzg" target="_JXnrP5MrEeKsOLt3X9dUzg" source="_JXnrMJMrEeKsOLt3X9dUzg"/>
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_JXnrDpMrEeKsOLt3X9dUzg" name="Value(&quot;! &quot;)">
+ <result xmi:id="_JXnrD5MrEeKsOLt3X9dUzg" name="Value(&quot;! &quot;).result" outgoing="_JXnrRZMrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_JXnrEJMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_JXnrEZMrEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralString" xmi:id="_JXnrEpMrEeKsOLt3X9dUzg" value="! ">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </value>
+ </node>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_JXnrE5MrEeKsOLt3X9dUzg" name="Call(Concat)">
+ <argument xmi:id="_JXnrFJMrEeKsOLt3X9dUzg" name="Call(Concat).argument(x)" incoming="_JXnrRZMrEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_JXnrFZMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_JXnrFpMrEeKsOLt3X9dUzg" value="1"/>
+ </argument>
+ <argument xmi:id="_JXnrF5MrEeKsOLt3X9dUzg" name="Call(Concat).argument(y)" incoming="_JXtxoJMrEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_JXnrGJMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_JXnrGZMrEeKsOLt3X9dUzg" value="1"/>
+ </argument>
+ <result xmi:id="_JXnrGpMrEeKsOLt3X9dUzg" name="Call(Concat).result(result)" outgoing="_JXnrRpMrEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_JXnrG5MrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_JXnrHJMrEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:FunctionBehavior" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#PrimitiveBehaviors-StringFunctions-Concat"/>
+ </node>
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_JXnrHZMrEeKsOLt3X9dUzg" name="Value(&quot;: &quot;)">
+ <result xmi:id="_JXnrHpMrEeKsOLt3X9dUzg" name="Value(&quot;: &quot;).result" outgoing="_JXnrR5MrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_JXnrH5MrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_JXnrIJMrEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralString" xmi:id="_JXnrIZMrEeKsOLt3X9dUzg" value=": ">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </value>
+ </node>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_JXnrIpMrEeKsOLt3X9dUzg" name="Call(Concat)">
+ <argument xmi:id="_JXnrI5MrEeKsOLt3X9dUzg" name="Call(Concat).argument(x)" incoming="_JXnrRpMrEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_JXnrJJMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_JXnrJZMrEeKsOLt3X9dUzg" value="1"/>
+ </argument>
+ <argument xmi:id="_JXnrJpMrEeKsOLt3X9dUzg" name="Call(Concat).argument(y)" incoming="_JXnrR5MrEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_JXnrJ5MrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_JXnrKJMrEeKsOLt3X9dUzg" value="1"/>
+ </argument>
+ <result xmi:id="_JXnrKZMrEeKsOLt3X9dUzg" name="Call(Concat).result(result)" outgoing="_JXnrSpMrEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_JXnrKpMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_JXnrK5MrEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:FunctionBehavior" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#PrimitiveBehaviors-StringFunctions-Concat"/>
+ </node>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_JXnrLJMrEeKsOLt3X9dUzg" name="Call(ToString)" incoming="_JXnrSZMrEeKsOLt3X9dUzg">
+ <argument xmi:id="_JXnrLZMrEeKsOLt3X9dUzg" name="Call(ToString).argument(x)" incoming="_JXnrSJMrEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_JXnrLpMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_JXnrL5MrEeKsOLt3X9dUzg" value="1"/>
+ </argument>
+ <result xmi:id="_JXnrMJMrEeKsOLt3X9dUzg" name="Call(ToString).result(result)" outgoing="_JXnrS5MrEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_JXnrMZMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_JXnrMpMrEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:FunctionBehavior" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#PrimitiveBehaviors-BooleanFunctions-ToString"/>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_JXnrM5MrEeKsOLt3X9dUzg" name="Tuple@1ab3429" outgoing="_JXnrSZMrEeKsOLt3X9dUzg">
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_JXnrNJMrEeKsOLt3X9dUzg" name="Call(Not)">
+ <argument xmi:id="_JXnrNZMrEeKsOLt3X9dUzg" name="Call(Not).argument(x)" incoming="_JXtxoZMrEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_JXnrNpMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_JXnrN5MrEeKsOLt3X9dUzg" value="1"/>
+ </argument>
+ <result xmi:id="_JXnrOJMrEeKsOLt3X9dUzg" name="Call(Not).result(result)" outgoing="_JXnrSJMrEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_JXnrOZMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_JXnrOpMrEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:FunctionBehavior" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#PrimitiveBehaviors-BooleanFunctions-Not"/>
+ </node>
+ </node>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_JXnrO5MrEeKsOLt3X9dUzg" name="Call(Concat)">
+ <argument xmi:id="_JXnrPJMrEeKsOLt3X9dUzg" name="Call(Concat).argument(x)" incoming="_JXnrSpMrEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_JXnrPZMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_JXnrPpMrEeKsOLt3X9dUzg" value="1"/>
+ </argument>
+ <argument xmi:id="_JXnrP5MrEeKsOLt3X9dUzg" name="Call(Concat).argument(y)" incoming="_JXnrS5MrEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_JXnrQJMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_JXnrQZMrEeKsOLt3X9dUzg" value="1"/>
+ </argument>
+ <result xmi:id="_JXnrQpMrEeKsOLt3X9dUzg" name="Call(Concat).result(result)" outgoing="_JXnrTJMrEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_JXnrQ5MrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_JXnrRJMrEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:FunctionBehavior" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#PrimitiveBehaviors-StringFunctions-Concat"/>
+ </node>
+ </node>
+ </node>
+ </structuredNode>
+ <node xmi:type="uml:ActivityParameterNode" xmi:id="_JXnrAJMrEeKsOLt3X9dUzg" name="Input(label)" outgoing="_JXnrTpMrEeKsOLt3X9dUzg" parameter="_wKWOho19EeK7gYOtibANUw"/>
+ <node xmi:type="uml:ForkNode" xmi:id="_JXnrAZMrEeKsOLt3X9dUzg" name="Fork(label)" incoming="_JXnrTpMrEeKsOLt3X9dUzg" outgoing="_JXtxoJMrEeKsOLt3X9dUzg"/>
+ <node xmi:type="uml:ActivityParameterNode" xmi:id="_JXnrApMrEeKsOLt3X9dUzg" name="Input(condition)" outgoing="_JXnrT5MrEeKsOLt3X9dUzg" parameter="_wKWOiY19EeK7gYOtibANUw"/>
+ <node xmi:type="uml:ForkNode" xmi:id="_JXnrA5MrEeKsOLt3X9dUzg" name="Fork(condition)" incoming="_JXnrT5MrEeKsOLt3X9dUzg" outgoing="_JXtxoZMrEeKsOLt3X9dUzg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:OpaqueBehavior" xmi:id="_-Y3PAIgUEeKtquXykzQHVw" name="AssertList" group="_iQsVtpcCEeKVudOPtQ6VQg" node="_iQsVsJcCEeKVudOPtQ6VQg _iQsVsZcCEeKVudOPtQ6VQg _iQsVspcCEeKVudOPtQ6VQg _iQsVs5cCEeKVudOPtQ6VQg _iQsVtJcCEeKVudOPtQ6VQg _iQsVtZcCEeKVudOPtQ6VQg _iQsVtpcCEeKVudOPtQ6VQg">
+ <ownedComment xmi:id="_2i470IgVEeKtquXykzQHVw">
+ <body>namespace AssertionLibrary::AssertList ;&#xD;
+&#xD;
+private import Alf::Library::CollectionFunctions::size ;&#xD;
+private import Alf::Library::PrimitiveBehaviors::* ;&#xD;
+&#xD;
+activity AssertList(in label: String, in list: any[*] sequence, in expected: any[*] sequence) {&#xD;
+ AssertEquals(label + &quot;->size()&quot;, list->size(), expected->size());&#xD;
+ for (i in 1..IntegerFunctions::Min(list->size(),expected->size())) {&#xD;
+ AssertEquals(label + &quot;[&quot; + IntegerFunctions::ToString(i) + &quot;]&quot;, list[i], expected[i]);&#xD;
+ }&#xD;
+}</body>
+ </ownedComment>
+ <ownedParameter xmi:id="_AserUJF0EeKLspnMdnbsRA" name="label">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedParameter>
+ <ownedParameter xmi:id="_Bqqx4JF0EeKLspnMdnbsRA" name="list" isOrdered="true" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_KncfoJF0EeKLspnMdnbsRA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_KnmQoJF0EeKLspnMdnbsRA" value="*"/>
+ </ownedParameter>
+ <ownedParameter xmi:id="_BxEU0JF0EeKLspnMdnbsRA" name="expected" isOrdered="true" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_NEZqQJF0EeKLspnMdnbsRA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_NEZqQZF0EeKLspnMdnbsRA" value="*"/>
+ </ownedParameter>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQ1foJcCEeKVudOPtQ6VQg" target="_iQsVsZcCEeKVudOPtQ6VQg" source="_iQsVsJcCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQ1foZcCEeKVudOPtQ6VQg" target="_iQsVs5cCEeKVudOPtQ6VQg" source="_iQsVspcCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQ1fopcCEeKVudOPtQ6VQg" target="_iQsVtZcCEeKVudOPtQ6VQg" source="_iQsVtJcCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQ1fo5cCEeKVudOPtQ6VQg" target="_iQsVyZcCEeKVudOPtQ6VQg" source="_iQsVsZcCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQ1fpJcCEeKVudOPtQ6VQg" target="_iQsV05cCEeKVudOPtQ6VQg" source="_iQsVs5cCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQ1fpZcCEeKVudOPtQ6VQg" target="_iQsV2pcCEeKVudOPtQ6VQg" source="_iQsVtZcCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQ1fppcCEeKVudOPtQ6VQg" target="_iQsWuJcCEeKVudOPtQ6VQg" source="_iQsVtZcCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQ1fp5cCEeKVudOPtQ6VQg" target="_iQsWu5cCEeKVudOPtQ6VQg" source="_iQsVs5cCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQ1fqJcCEeKVudOPtQ6VQg" target="_iQsWvpcCEeKVudOPtQ6VQg" source="_iQsVsZcCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQ1fqZcCEeKVudOPtQ6VQg" target="_iQsXAJcCEeKVudOPtQ6VQg" source="_iQsVs5cCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQ1fqpcCEeKVudOPtQ6VQg" target="_iQsXB5cCEeKVudOPtQ6VQg" source="_iQsVtZcCEeKVudOPtQ6VQg"/>
+ <structuredNode xmi:id="_iQsVtpcCEeKVudOPtQ6VQg" name="Body(AssertList)">
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_iQsVt5cCEeKVudOPtQ6VQg" name="ExpressionStatement@909f34" outgoing="_iQsXOJcCEeKVudOPtQ6VQg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsV4ZcCEeKVudOPtQ6VQg" target="_iQsVuZcCEeKVudOPtQ6VQg" source="_iQsVz5cCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsV4pcCEeKVudOPtQ6VQg" target="_iQsVvJcCEeKVudOPtQ6VQg" source="_iQsV1pcCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsV45cCEeKVudOPtQ6VQg" target="_iQsVv5cCEeKVudOPtQ6VQg" source="_iQsV3ZcCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_iQsV5JcCEeKVudOPtQ6VQg" target="_iQsVuJcCEeKVudOPtQ6VQg" source="_iQsVwpcCEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_iQsVuJcCEeKVudOPtQ6VQg" name="Call(AssertEquals)" incoming="_iQsV5JcCEeKVudOPtQ6VQg" behavior="_8kE3oIgUEeKtquXykzQHVw">
+ <argument xmi:id="_iQsVuZcCEeKVudOPtQ6VQg" name="Call(AssertEquals).argument(label)" incoming="_iQsV4ZcCEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsVupcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsVu5cCEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <argument xmi:id="_iQsVvJcCEeKVudOPtQ6VQg" name="Call(AssertEquals).argument(value1)" incoming="_iQsV4pcCEeKVudOPtQ6VQg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsVvZcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsVvpcCEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <argument xmi:id="_iQsVv5cCEeKVudOPtQ6VQg" name="Call(AssertEquals).argument(value2)" incoming="_iQsV45cCEeKVudOPtQ6VQg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsVwJcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsVwZcCEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_iQsVwpcCEeKVudOPtQ6VQg" name="Tuple@313837" outgoing="_iQsV5JcCEeKVudOPtQ6VQg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsV4JcCEeKVudOPtQ6VQg" target="_iQsVzJcCEeKVudOPtQ6VQg" source="_iQsVxJcCEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_iQsVw5cCEeKVudOPtQ6VQg" name="Value(&quot;->size()&quot;)">
+ <result xmi:id="_iQsVxJcCEeKVudOPtQ6VQg" name="Value(&quot;->size()&quot;).result" outgoing="_iQsV4JcCEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsVxZcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsVxpcCEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralString" xmi:id="_iQsVx5cCEeKVudOPtQ6VQg" value="->size()">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </value>
+ </node>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_iQsVyJcCEeKVudOPtQ6VQg" name="Call(Concat)">
+ <argument xmi:id="_iQsVyZcCEeKVudOPtQ6VQg" name="Call(Concat).argument(x)" incoming="_iQ1fo5cCEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsVypcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsVy5cCEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <argument xmi:id="_iQsVzJcCEeKVudOPtQ6VQg" name="Call(Concat).argument(y)" incoming="_iQsV4JcCEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsVzZcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsVzpcCEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <result xmi:id="_iQsVz5cCEeKVudOPtQ6VQg" name="Call(Concat).result(result)" outgoing="_iQsV4ZcCEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsV0JcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsV0ZcCEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:FunctionBehavior" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#PrimitiveBehaviors-StringFunctions-Concat"/>
+ </node>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_iQsV0pcCEeKVudOPtQ6VQg" name="Call($$Alf$Library$CollectionFunctions$size__any__)" behavior="_iPgC4JcCEeKVudOPtQ6VQg">
+ <argument xmi:id="_iQsV05cCEeKVudOPtQ6VQg" name="Call($$Alf$Library$CollectionFunctions$size__any__).argument(seq)" incoming="_iQ1fpJcCEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsV1JcCEeKVudOPtQ6VQg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsV1ZcCEeKVudOPtQ6VQg" value="*"/>
+ </argument>
+ <result xmi:id="_iQsV1pcCEeKVudOPtQ6VQg" name="Call($$Alf$Library$CollectionFunctions$size__any__).result()" outgoing="_iQsV4pcCEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsV15cCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsV2JcCEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ </node>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_iQsV2ZcCEeKVudOPtQ6VQg" name="Call($$Alf$Library$CollectionFunctions$size__any__)" behavior="_iPgC4JcCEeKVudOPtQ6VQg">
+ <argument xmi:id="_iQsV2pcCEeKVudOPtQ6VQg" name="Call($$Alf$Library$CollectionFunctions$size__any__).argument(seq)" incoming="_iQ1fpZcCEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsV25cCEeKVudOPtQ6VQg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsV3JcCEeKVudOPtQ6VQg" value="*"/>
+ </argument>
+ <result xmi:id="_iQsV3ZcCEeKVudOPtQ6VQg" name="Call($$Alf$Library$CollectionFunctions$size__any__).result()" outgoing="_iQsV45cCEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsV3pcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsV35cCEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ </node>
+ </node>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_iQsV5ZcCEeKVudOPtQ6VQg" name="ForStatement@6b305d" incoming="_iQsXOJcCEeKVudOPtQ6VQg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsXM5cCEeKVudOPtQ6VQg" target="_iQsXDZcCEeKVudOPtQ6VQg" source="_iQsW8JcCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsXNJcCEeKVudOPtQ6VQg" target="_iQsWxJcCEeKVudOPtQ6VQg" source="_iQsXKJcCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsXNZcCEeKVudOPtQ6VQg" target="_iQsWx5cCEeKVudOPtQ6VQg" source="_iQsXJJcCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsXNpcCEeKVudOPtQ6VQg" target="_iQsWwZcCEeKVudOPtQ6VQg" source="_iQsXDZcCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_iQsXN5cCEeKVudOPtQ6VQg" target="_iQsV5pcCEeKVudOPtQ6VQg" source="_iQsW7pcCEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:LoopNode" xmi:id="_iQsV5pcCEeKVudOPtQ6VQg" name="Loop(ForStatement@6b305d)" incoming="_iQsXN5cCEeKVudOPtQ6VQg" bodyOutput="_iQsWbpcCEeKVudOPtQ6VQg _iQsWcZcCEeKVudOPtQ6VQg _iQsWdJcCEeKVudOPtQ6VQg _iQsWgZcCEeKVudOPtQ6VQg _iQsWkJcCEeKVudOPtQ6VQg _iQsWnJcCEeKVudOPtQ6VQg" bodyPart="_iQsV95cCEeKVudOPtQ6VQg _iQsV-ZcCEeKVudOPtQ6VQg _iQsWepcCEeKVudOPtQ6VQg _iQsWhJcCEeKVudOPtQ6VQg _iQsWiZcCEeKVudOPtQ6VQg _iQsWk5cCEeKVudOPtQ6VQg _iQsWmJcCEeKVudOPtQ6VQg" decider="_iQsV9JcCEeKVudOPtQ6VQg" isTestedFirst="true" test="_iQsV7ZcCEeKVudOPtQ6VQg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsWoJcCEeKVudOPtQ6VQg" target="_iQsV55cCEeKVudOPtQ6VQg" source="_iQsWypcCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsWoZcCEeKVudOPtQ6VQg" target="_iQsV6JcCEeKVudOPtQ6VQg" source="_iQsW0JcCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsWopcCEeKVudOPtQ6VQg" target="_iQsV6ZcCEeKVudOPtQ6VQg" source="_iQsW1pcCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsWo5cCEeKVudOPtQ6VQg" target="_iQsV6pcCEeKVudOPtQ6VQg" source="_iQsW3JcCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsWpJcCEeKVudOPtQ6VQg" target="_iQsV65cCEeKVudOPtQ6VQg" source="_iQsW4pcCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsWpZcCEeKVudOPtQ6VQg" target="_iQsV7JcCEeKVudOPtQ6VQg" source="_iQsW6JcCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsWppcCEeKVudOPtQ6VQg" target="_iQsV7pcCEeKVudOPtQ6VQg" source="_iQsV65cCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsWp5cCEeKVudOPtQ6VQg" target="_iQsV8ZcCEeKVudOPtQ6VQg" source="_iQsV7JcCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsWqJcCEeKVudOPtQ6VQg" target="_iQsV-JcCEeKVudOPtQ6VQg" source="_iQsW3JcCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_iQsWqZcCEeKVudOPtQ6VQg" target="_iQsV-ZcCEeKVudOPtQ6VQg" source="_iQsV95cCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsWqpcCEeKVudOPtQ6VQg" target="_iQsWFpcCEeKVudOPtQ6VQg" source="_iQsV-JcCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsWq5cCEeKVudOPtQ6VQg" target="_iQsWP5cCEeKVudOPtQ6VQg" source="_iQsV-JcCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsWrJcCEeKVudOPtQ6VQg" target="_iQsWSpcCEeKVudOPtQ6VQg" source="_iQsV-JcCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsWrZcCEeKVudOPtQ6VQg" target="_iQsWe5cCEeKVudOPtQ6VQg" source="_iQsV6pcCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsWrpcCEeKVudOPtQ6VQg" target="_iQsWfpcCEeKVudOPtQ6VQg" source="_iQsWhZcCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsWr5cCEeKVudOPtQ6VQg" target="_iQsWipcCEeKVudOPtQ6VQg" source="_iQsV65cCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsWsJcCEeKVudOPtQ6VQg" target="_iQsWjZcCEeKVudOPtQ6VQg" source="_iQsWlJcCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsWsZcCEeKVudOPtQ6VQg" target="_iQsWmZcCEeKVudOPtQ6VQg" source="_iQsV7JcCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsWspcCEeKVudOPtQ6VQg" target="_iQsWDJcCEeKVudOPtQ6VQg" source="_iQsV6ZcCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsWs5cCEeKVudOPtQ6VQg" target="_iQsWNpcCEeKVudOPtQ6VQg" source="_iQsV6JcCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsWtJcCEeKVudOPtQ6VQg" target="_iQsWQZcCEeKVudOPtQ6VQg" source="_iQsV55cCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsWtZcCEeKVudOPtQ6VQg" target="_iQsWV5cCEeKVudOPtQ6VQg" source="_iQsV55cCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsWtpcCEeKVudOPtQ6VQg" target="_iQsWX5cCEeKVudOPtQ6VQg" source="_iQsV6JcCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsWt5cCEeKVudOPtQ6VQg" target="_iQsWZ5cCEeKVudOPtQ6VQg" source="_iQsV6ZcCEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:ForkNode" xmi:id="_iQsV55cCEeKVudOPtQ6VQg" name="Fork(ForStatement@6b305d.loopVariable(expected))" incoming="_iQsWoJcCEeKVudOPtQ6VQg" outgoing="_iQsWtJcCEeKVudOPtQ6VQg _iQsWtZcCEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:ForkNode" xmi:id="_iQsV6JcCEeKVudOPtQ6VQg" name="Fork(ForStatement@6b305d.loopVariable(list))" incoming="_iQsWoZcCEeKVudOPtQ6VQg" outgoing="_iQsWs5cCEeKVudOPtQ6VQg _iQsWtpcCEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:ForkNode" xmi:id="_iQsV6ZcCEeKVudOPtQ6VQg" name="Fork(ForStatement@6b305d.loopVariable(label))" incoming="_iQsWopcCEeKVudOPtQ6VQg" outgoing="_iQsWspcCEeKVudOPtQ6VQg _iQsWt5cCEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:ForkNode" xmi:id="_iQsV6pcCEeKVudOPtQ6VQg" name="Fork(ForStatement@6b305d.loopVariable(i))" incoming="_iQsWo5cCEeKVudOPtQ6VQg" outgoing="_iQsWrZcCEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:ForkNode" xmi:id="_iQsV65cCEeKVudOPtQ6VQg" name="Fork(ForStatement@6b305d.loopVariable(counter))" incoming="_iQsWpJcCEeKVudOPtQ6VQg" outgoing="_iQsWppcCEeKVudOPtQ6VQg _iQsWr5cCEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:ForkNode" xmi:id="_iQsV7JcCEeKVudOPtQ6VQg" name="Fork(ForStatement@6b305d.loopVariable(upper))" incoming="_iQsWpZcCEeKVudOPtQ6VQg" outgoing="_iQsWp5cCEeKVudOPtQ6VQg _iQsWsZcCEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_iQsV7ZcCEeKVudOPtQ6VQg" name="Call(&lt;=)">
+ <argument xmi:id="_iQsV7pcCEeKVudOPtQ6VQg" name="Call(&lt;=).argument(x)" incoming="_iQsWppcCEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsV75cCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsV8JcCEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <argument xmi:id="_iQsV8ZcCEeKVudOPtQ6VQg" name="Call(&lt;=).argument(y)" incoming="_iQsWp5cCEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsV8pcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsV85cCEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <result xmi:id="_iQsV9JcCEeKVudOPtQ6VQg" name="Call(&lt;=).result(result)">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsV9ZcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsV9pcCEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:FunctionBehavior" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#PrimitiveBehaviors-IntegerFunctions-le"/>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_iQsV95cCEeKVudOPtQ6VQg" name="Values(ForStatement@6b305d)" outgoing="_iQsWqZcCEeKVudOPtQ6VQg">
+ <node xmi:type="uml:ForkNode" xmi:id="_iQsV-JcCEeKVudOPtQ6VQg" name="Fork(i)" incoming="_iQsWqJcCEeKVudOPtQ6VQg" outgoing="_iQsWqpcCEeKVudOPtQ6VQg _iQsWq5cCEeKVudOPtQ6VQg _iQsWrJcCEeKVudOPtQ6VQg"/>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_iQsV-ZcCEeKVudOPtQ6VQg" name="Body(ForStatement@6b305d)" incoming="_iQsWqZcCEeKVudOPtQ6VQg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsWd5cCEeKVudOPtQ6VQg" target="_iQsWbpcCEeKVudOPtQ6VQg" source="_iQsWWpcCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsWeJcCEeKVudOPtQ6VQg" target="_iQsWcZcCEeKVudOPtQ6VQg" source="_iQsWYpcCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsWeZcCEeKVudOPtQ6VQg" target="_iQsWdJcCEeKVudOPtQ6VQg" source="_iQsWapcCEeKVudOPtQ6VQg"/>
+ <structuredNodeOutput xmi:id="_iQsWbpcCEeKVudOPtQ6VQg" name="expected" incoming="_iQsWd5cCEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWb5cCEeKVudOPtQ6VQg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWcJcCEeKVudOPtQ6VQg" value="*"/>
+ </structuredNodeOutput>
+ <structuredNodeOutput xmi:id="_iQsWcZcCEeKVudOPtQ6VQg" name="list" incoming="_iQsWeJcCEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWcpcCEeKVudOPtQ6VQg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWc5cCEeKVudOPtQ6VQg" value="*"/>
+ </structuredNodeOutput>
+ <structuredNodeOutput xmi:id="_iQsWdJcCEeKVudOPtQ6VQg" name="label" incoming="_iQsWeZcCEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWdZcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWdpcCEeKVudOPtQ6VQg" value="1"/>
+ </structuredNodeOutput>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_iQsV-pcCEeKVudOPtQ6VQg" name="ExpressionStatement@1efbdc9">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsWUpcCEeKVudOPtQ6VQg" target="_iQsV_JcCEeKVudOPtQ6VQg" source="_iQsWMpcCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsWU5cCEeKVudOPtQ6VQg" target="_iQsV_5cCEeKVudOPtQ6VQg" source="_iQsWPJcCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsWVJcCEeKVudOPtQ6VQg" target="_iQsWApcCEeKVudOPtQ6VQg" source="_iQsWR5cCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_iQsWVZcCEeKVudOPtQ6VQg" target="_iQsV-5cCEeKVudOPtQ6VQg" source="_iQsWBZcCEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_iQsV-5cCEeKVudOPtQ6VQg" name="Call(AssertEquals)" incoming="_iQsWVZcCEeKVudOPtQ6VQg" behavior="_8kE3oIgUEeKtquXykzQHVw">
+ <argument xmi:id="_iQsV_JcCEeKVudOPtQ6VQg" name="Call(AssertEquals).argument(label)" incoming="_iQsWUpcCEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsV_ZcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsV_pcCEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <argument xmi:id="_iQsV_5cCEeKVudOPtQ6VQg" name="Call(AssertEquals).argument(value1)" incoming="_iQsWU5cCEeKVudOPtQ6VQg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWAJcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWAZcCEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <argument xmi:id="_iQsWApcCEeKVudOPtQ6VQg" name="Call(AssertEquals).argument(value2)" incoming="_iQsWVJcCEeKVudOPtQ6VQg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWA5cCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWBJcCEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_iQsWBZcCEeKVudOPtQ6VQg" name="Tuple@6d8cc8" outgoing="_iQsWVZcCEeKVudOPtQ6VQg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsWS5cCEeKVudOPtQ6VQg" target="_iQsWD5cCEeKVudOPtQ6VQg" source="_iQsWB5cCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsWTJcCEeKVudOPtQ6VQg" target="_iQsWHZcCEeKVudOPtQ6VQg" source="_iQsWEpcCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsWTZcCEeKVudOPtQ6VQg" target="_iQsWIJcCEeKVudOPtQ6VQg" source="_iQsWGZcCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsWTpcCEeKVudOPtQ6VQg" target="_iQsWLJcCEeKVudOPtQ6VQg" source="_iQsWI5cCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsWT5cCEeKVudOPtQ6VQg" target="_iQsWL5cCEeKVudOPtQ6VQg" source="_iQsWJ5cCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsWUJcCEeKVudOPtQ6VQg" target="_iQsWOZcCEeKVudOPtQ6VQg" source="_iQsWP5cCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsWUZcCEeKVudOPtQ6VQg" target="_iQsWRJcCEeKVudOPtQ6VQg" source="_iQsWSpcCEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_iQsWBpcCEeKVudOPtQ6VQg" name="Value(&quot;[&quot;)">
+ <result xmi:id="_iQsWB5cCEeKVudOPtQ6VQg" name="Value(&quot;[&quot;).result" outgoing="_iQsWS5cCEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWCJcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWCZcCEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralString" xmi:id="_iQsWCpcCEeKVudOPtQ6VQg" value="[">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </value>
+ </node>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_iQsWC5cCEeKVudOPtQ6VQg" name="Call(Concat)">
+ <argument xmi:id="_iQsWDJcCEeKVudOPtQ6VQg" name="Call(Concat).argument(x)" incoming="_iQsWspcCEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWDZcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWDpcCEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <argument xmi:id="_iQsWD5cCEeKVudOPtQ6VQg" name="Call(Concat).argument(y)" incoming="_iQsWS5cCEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWEJcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWEZcCEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <result xmi:id="_iQsWEpcCEeKVudOPtQ6VQg" name="Call(Concat).result(result)" outgoing="_iQsWTJcCEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWE5cCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWFJcCEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:FunctionBehavior" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#PrimitiveBehaviors-StringFunctions-Concat"/>
+ </node>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_iQsWFZcCEeKVudOPtQ6VQg" name="Call(ToString)">
+ <argument xmi:id="_iQsWFpcCEeKVudOPtQ6VQg" name="Call(ToString).argument(x)" incoming="_iQsWqpcCEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWF5cCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWGJcCEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <result xmi:id="_iQsWGZcCEeKVudOPtQ6VQg" name="Call(ToString).result(result)" outgoing="_iQsWTZcCEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWGpcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWG5cCEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:FunctionBehavior" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#PrimitiveBehaviors-IntegerFunctions-ToString"/>
+ </node>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_iQsWHJcCEeKVudOPtQ6VQg" name="Call(Concat)">
+ <argument xmi:id="_iQsWHZcCEeKVudOPtQ6VQg" name="Call(Concat).argument(x)" incoming="_iQsWTJcCEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWHpcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWH5cCEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <argument xmi:id="_iQsWIJcCEeKVudOPtQ6VQg" name="Call(Concat).argument(y)" incoming="_iQsWTZcCEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWIZcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWIpcCEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <result xmi:id="_iQsWI5cCEeKVudOPtQ6VQg" name="Call(Concat).result(result)" outgoing="_iQsWTpcCEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWJJcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWJZcCEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:FunctionBehavior" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#PrimitiveBehaviors-StringFunctions-Concat"/>
+ </node>
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_iQsWJpcCEeKVudOPtQ6VQg" name="Value(&quot;]&quot;)">
+ <result xmi:id="_iQsWJ5cCEeKVudOPtQ6VQg" name="Value(&quot;]&quot;).result" outgoing="_iQsWT5cCEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWKJcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWKZcCEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralString" xmi:id="_iQsWKpcCEeKVudOPtQ6VQg" value="]">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </value>
+ </node>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_iQsWK5cCEeKVudOPtQ6VQg" name="Call(Concat)">
+ <argument xmi:id="_iQsWLJcCEeKVudOPtQ6VQg" name="Call(Concat).argument(x)" incoming="_iQsWTpcCEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWLZcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWLpcCEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <argument xmi:id="_iQsWL5cCEeKVudOPtQ6VQg" name="Call(Concat).argument(y)" incoming="_iQsWT5cCEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWMJcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWMZcCEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <result xmi:id="_iQsWMpcCEeKVudOPtQ6VQg" name="Call(Concat).result(result)" outgoing="_iQsWUpcCEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWM5cCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWNJcCEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:FunctionBehavior" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#PrimitiveBehaviors-StringFunctions-Concat"/>
+ </node>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_iQsWNZcCEeKVudOPtQ6VQg" name="Call(At)">
+ <argument xmi:id="_iQsWNpcCEeKVudOPtQ6VQg" name="Call(At).argument(seq)" incoming="_iQsWs5cCEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWN5cCEeKVudOPtQ6VQg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWOJcCEeKVudOPtQ6VQg" value="*"/>
+ </argument>
+ <argument xmi:id="_iQsWOZcCEeKVudOPtQ6VQg" name="Call(At).argument(index)" incoming="_iQsWUJcCEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWOpcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWO5cCEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <result xmi:id="_iQsWPJcCEeKVudOPtQ6VQg" name="Call(At).result()" outgoing="_iQsWU5cCEeKVudOPtQ6VQg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWPZcCEeKVudOPtQ6VQg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWPpcCEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:Activity" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveBehaviors-SequenceFunctions-At"/>
+ </node>
+ <node xmi:type="uml:ForkNode" xmi:id="_iQsWP5cCEeKVudOPtQ6VQg" name="Fork(Call(At).argument(index))" incoming="_iQsWq5cCEeKVudOPtQ6VQg" outgoing="_iQsWUJcCEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_iQsWQJcCEeKVudOPtQ6VQg" name="Call(At)">
+ <argument xmi:id="_iQsWQZcCEeKVudOPtQ6VQg" name="Call(At).argument(seq)" incoming="_iQsWtJcCEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWQpcCEeKVudOPtQ6VQg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWQ5cCEeKVudOPtQ6VQg" value="*"/>
+ </argument>
+ <argument xmi:id="_iQsWRJcCEeKVudOPtQ6VQg" name="Call(At).argument(index)" incoming="_iQsWUZcCEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWRZcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWRpcCEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <result xmi:id="_iQsWR5cCEeKVudOPtQ6VQg" name="Call(At).result()" outgoing="_iQsWVJcCEeKVudOPtQ6VQg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWSJcCEeKVudOPtQ6VQg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWSZcCEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:Activity" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveBehaviors-SequenceFunctions-At"/>
+ </node>
+ <node xmi:type="uml:ForkNode" xmi:id="_iQsWSpcCEeKVudOPtQ6VQg" name="Fork(Call(At).argument(index))" incoming="_iQsWrJcCEeKVudOPtQ6VQg" outgoing="_iQsWUZcCEeKVudOPtQ6VQg"/>
+ </node>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_iQsWVpcCEeKVudOPtQ6VQg" name="Passthru(Fork(expected))">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsWXZcCEeKVudOPtQ6VQg" target="_iQsWWpcCEeKVudOPtQ6VQg" source="_iQsWV5cCEeKVudOPtQ6VQg"/>
+ <structuredNodeInput xmi:id="_iQsWV5cCEeKVudOPtQ6VQg" name="Passthru(Fork(expected)).input" incoming="_iQsWtZcCEeKVudOPtQ6VQg" outgoing="_iQsWXZcCEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWWJcCEeKVudOPtQ6VQg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWWZcCEeKVudOPtQ6VQg" value="*"/>
+ </structuredNodeInput>
+ <structuredNodeOutput xmi:id="_iQsWWpcCEeKVudOPtQ6VQg" name="Passthru(Fork(expected)).output" incoming="_iQsWXZcCEeKVudOPtQ6VQg" outgoing="_iQsWd5cCEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWW5cCEeKVudOPtQ6VQg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWXJcCEeKVudOPtQ6VQg" value="*"/>
+ </structuredNodeOutput>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_iQsWXpcCEeKVudOPtQ6VQg" name="Passthru(Fork(list))">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsWZZcCEeKVudOPtQ6VQg" target="_iQsWYpcCEeKVudOPtQ6VQg" source="_iQsWX5cCEeKVudOPtQ6VQg"/>
+ <structuredNodeInput xmi:id="_iQsWX5cCEeKVudOPtQ6VQg" name="Passthru(Fork(list)).input" incoming="_iQsWtpcCEeKVudOPtQ6VQg" outgoing="_iQsWZZcCEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWYJcCEeKVudOPtQ6VQg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWYZcCEeKVudOPtQ6VQg" value="*"/>
+ </structuredNodeInput>
+ <structuredNodeOutput xmi:id="_iQsWYpcCEeKVudOPtQ6VQg" name="Passthru(Fork(list)).output" incoming="_iQsWZZcCEeKVudOPtQ6VQg" outgoing="_iQsWeJcCEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWY5cCEeKVudOPtQ6VQg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWZJcCEeKVudOPtQ6VQg" value="*"/>
+ </structuredNodeOutput>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_iQsWZpcCEeKVudOPtQ6VQg" name="Passthru(Fork(label))">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsWbZcCEeKVudOPtQ6VQg" target="_iQsWapcCEeKVudOPtQ6VQg" source="_iQsWZ5cCEeKVudOPtQ6VQg"/>
+ <structuredNodeInput xmi:id="_iQsWZ5cCEeKVudOPtQ6VQg" name="Passthru(Fork(label)).input" incoming="_iQsWt5cCEeKVudOPtQ6VQg" outgoing="_iQsWbZcCEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWaJcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWaZcCEeKVudOPtQ6VQg" value="1"/>
+ </structuredNodeInput>
+ <structuredNodeOutput xmi:id="_iQsWapcCEeKVudOPtQ6VQg" name="Passthru(Fork(label)).output" incoming="_iQsWbZcCEeKVudOPtQ6VQg" outgoing="_iQsWeZcCEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWa5cCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWbJcCEeKVudOPtQ6VQg" value="1"/>
+ </structuredNodeOutput>
+ </node>
+ </node>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_iQsWepcCEeKVudOPtQ6VQg" name="Call(+)">
+ <argument xmi:id="_iQsWe5cCEeKVudOPtQ6VQg" name="Call(+).argument(x)" incoming="_iQsWrZcCEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWfJcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWfZcCEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <argument xmi:id="_iQsWfpcCEeKVudOPtQ6VQg" name="Call(+).argument(y)" incoming="_iQsWrpcCEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWf5cCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWgJcCEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <result xmi:id="_iQsWgZcCEeKVudOPtQ6VQg" name="Call(+).result(result)">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWgpcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWg5cCEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:FunctionBehavior" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#PrimitiveBehaviors-IntegerFunctions-plus"/>
+ </node>
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_iQsWhJcCEeKVudOPtQ6VQg" name="Value(1)">
+ <result xmi:id="_iQsWhZcCEeKVudOPtQ6VQg" name="Value(1).result" outgoing="_iQsWrpcCEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWhpcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWh5cCEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralInteger" xmi:id="_iQsWiJcCEeKVudOPtQ6VQg" value="1">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ </value>
+ </node>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_iQsWiZcCEeKVudOPtQ6VQg" name="Call(+)">
+ <argument xmi:id="_iQsWipcCEeKVudOPtQ6VQg" name="Call(+).argument(x)" incoming="_iQsWr5cCEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWi5cCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWjJcCEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <argument xmi:id="_iQsWjZcCEeKVudOPtQ6VQg" name="Call(+).argument(y)" incoming="_iQsWsJcCEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWjpcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWj5cCEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <result xmi:id="_iQsWkJcCEeKVudOPtQ6VQg" name="Call(+).result(result)">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWkZcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWkpcCEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:FunctionBehavior" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#PrimitiveBehaviors-IntegerFunctions-plus"/>
+ </node>
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_iQsWk5cCEeKVudOPtQ6VQg" name="Value(1)">
+ <result xmi:id="_iQsWlJcCEeKVudOPtQ6VQg" name="Value(1).result" outgoing="_iQsWsJcCEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWlZcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWlpcCEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralInteger" xmi:id="_iQsWl5cCEeKVudOPtQ6VQg" value="1">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ </value>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_iQsWmJcCEeKVudOPtQ6VQg" name="Passthru(Passthru(upper))">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsWn5cCEeKVudOPtQ6VQg" target="_iQsWnJcCEeKVudOPtQ6VQg" source="_iQsWmZcCEeKVudOPtQ6VQg"/>
+ <structuredNodeInput xmi:id="_iQsWmZcCEeKVudOPtQ6VQg" name="Passthru(Passthru(upper)).input" incoming="_iQsWsZcCEeKVudOPtQ6VQg" outgoing="_iQsWn5cCEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWmpcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWm5cCEeKVudOPtQ6VQg" value="1"/>
+ </structuredNodeInput>
+ <structuredNodeOutput xmi:id="_iQsWnJcCEeKVudOPtQ6VQg" name="Passthru(Passthru(upper)).output" incoming="_iQsWn5cCEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWnZcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWnpcCEeKVudOPtQ6VQg" value="1"/>
+ </structuredNodeOutput>
+ </node>
+ <loopVariable xmi:id="_iQsWypcCEeKVudOPtQ6VQg" name="ForStatement@6b305d.loopVariable(expected)" outgoing="_iQsWoJcCEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWy5cCEeKVudOPtQ6VQg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWzJcCEeKVudOPtQ6VQg" value="*"/>
+ </loopVariable>
+ <loopVariable xmi:id="_iQsW0JcCEeKVudOPtQ6VQg" name="ForStatement@6b305d.loopVariable(list)" outgoing="_iQsWoZcCEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsW0ZcCEeKVudOPtQ6VQg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsW0pcCEeKVudOPtQ6VQg" value="*"/>
+ </loopVariable>
+ <loopVariable xmi:id="_iQsW1pcCEeKVudOPtQ6VQg" name="ForStatement@6b305d.loopVariable(label)" outgoing="_iQsWopcCEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsW15cCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsW2JcCEeKVudOPtQ6VQg" value="1"/>
+ </loopVariable>
+ <loopVariable xmi:id="_iQsW3JcCEeKVudOPtQ6VQg" name="ForStatement@6b305d.loopVariable(i)" outgoing="_iQsWo5cCEeKVudOPtQ6VQg _iQsWqJcCEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsW3ZcCEeKVudOPtQ6VQg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsW3pcCEeKVudOPtQ6VQg" value="*"/>
+ </loopVariable>
+ <loopVariable xmi:id="_iQsW4pcCEeKVudOPtQ6VQg" name="ForStatement@6b305d.loopVariable(counter)" outgoing="_iQsWpJcCEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsW45cCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsW5JcCEeKVudOPtQ6VQg" value="1"/>
+ </loopVariable>
+ <loopVariable xmi:id="_iQsW6JcCEeKVudOPtQ6VQg" name="ForStatement@6b305d.loopVariable(upper)" outgoing="_iQsWpZcCEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsW6ZcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsW6pcCEeKVudOPtQ6VQg" value="1"/>
+ </loopVariable>
+ <loopVariableInput xmi:id="_iQsWuJcCEeKVudOPtQ6VQg" name="ForStatement@6b305d.loopVariableInput(expected)" incoming="_iQ1fppcCEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWuZcCEeKVudOPtQ6VQg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWupcCEeKVudOPtQ6VQg" value="*"/>
+ </loopVariableInput>
+ <loopVariableInput xmi:id="_iQsWu5cCEeKVudOPtQ6VQg" name="ForStatement@6b305d.loopVariableInput(list)" incoming="_iQ1fp5cCEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWvJcCEeKVudOPtQ6VQg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWvZcCEeKVudOPtQ6VQg" value="*"/>
+ </loopVariableInput>
+ <loopVariableInput xmi:id="_iQsWvpcCEeKVudOPtQ6VQg" name="ForStatement@6b305d.loopVariableInput(label)" incoming="_iQ1fqJcCEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWv5cCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWwJcCEeKVudOPtQ6VQg" value="1"/>
+ </loopVariableInput>
+ <loopVariableInput xmi:id="_iQsWwZcCEeKVudOPtQ6VQg" name="ForStatement@6b305d.loopVariableInput(i)" incoming="_iQsXNpcCEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWwpcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWw5cCEeKVudOPtQ6VQg" value="1"/>
+ </loopVariableInput>
+ <loopVariableInput xmi:id="_iQsWxJcCEeKVudOPtQ6VQg" name="ForStatement@6b305d.loopVariableInput(counter)" incoming="_iQsXNJcCEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWxZcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWxpcCEeKVudOPtQ6VQg" value="1"/>
+ </loopVariableInput>
+ <loopVariableInput xmi:id="_iQsWx5cCEeKVudOPtQ6VQg" name="ForStatement@6b305d.loopVariableInput(upper)" incoming="_iQsXNZcCEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWyJcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWyZcCEeKVudOPtQ6VQg" value="1"/>
+ </loopVariableInput>
+ <result xmi:id="_iQsWzZcCEeKVudOPtQ6VQg" name="ForStatement@6b305d.result(expected)" isOrdered="true" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsWzpcCEeKVudOPtQ6VQg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsWz5cCEeKVudOPtQ6VQg" value="*"/>
+ </result>
+ <result xmi:id="_iQsW05cCEeKVudOPtQ6VQg" name="ForStatement@6b305d.result(list)" isOrdered="true" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsW1JcCEeKVudOPtQ6VQg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsW1ZcCEeKVudOPtQ6VQg" value="*"/>
+ </result>
+ <result xmi:id="_iQsW2ZcCEeKVudOPtQ6VQg" name="ForStatement@6b305d.result(label)" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsW2pcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsW25cCEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <result xmi:id="_iQsW35cCEeKVudOPtQ6VQg" name="ForStatement@6b305d.result(i)" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsW4JcCEeKVudOPtQ6VQg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsW4ZcCEeKVudOPtQ6VQg" value="*"/>
+ </result>
+ <result xmi:id="_iQsW5ZcCEeKVudOPtQ6VQg" name="ForStatement@6b305d.result(counter)" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsW5pcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsW55cCEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <result xmi:id="_iQsW65cCEeKVudOPtQ6VQg" name="ForStatement@6b305d.result(upper)" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsW7JcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsW7ZcCEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_iQsW7pcCEeKVudOPtQ6VQg" name="LoopVariables(ForStatement@6b305d)" outgoing="_iQsXN5cCEeKVudOPtQ6VQg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsXLJcCEeKVudOPtQ6VQg" target="_iQsW9ZcCEeKVudOPtQ6VQg" source="_iQsXA5cCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsXLZcCEeKVudOPtQ6VQg" target="_iQsW-JcCEeKVudOPtQ6VQg" source="_iQsXCpcCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_iQsXLpcCEeKVudOPtQ6VQg" target="_iQsW9JcCEeKVudOPtQ6VQg" source="_iQsW_pcCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsXL5cCEeKVudOPtQ6VQg" target="_iQsXD5cCEeKVudOPtQ6VQg" source="_iQsW-5cCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsXMJcCEeKVudOPtQ6VQg" target="_iQsXEpcCEeKVudOPtQ6VQg" source="_iQsXDZcCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsXMZcCEeKVudOPtQ6VQg" target="_iQsXHpcCEeKVudOPtQ6VQg" source="_iQsXFZcCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iQsXMpcCEeKVudOPtQ6VQg" target="_iQsXIZcCEeKVudOPtQ6VQg" source="_iQsXGZcCEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_iQsW75cCEeKVudOPtQ6VQg" name="Value(1)">
+ <result xmi:id="_iQsW8JcCEeKVudOPtQ6VQg" name="Value(1).result" outgoing="_iQsXM5cCEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsW8ZcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsW8pcCEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralInteger" xmi:id="_iQsW85cCEeKVudOPtQ6VQg" value="1">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ </value>
+ </node>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_iQsW9JcCEeKVudOPtQ6VQg" name="Call(Min)" incoming="_iQsXLpcCEeKVudOPtQ6VQg">
+ <argument xmi:id="_iQsW9ZcCEeKVudOPtQ6VQg" name="Call(Min).argument(x)" incoming="_iQsXLJcCEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsW9pcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsW95cCEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <argument xmi:id="_iQsW-JcCEeKVudOPtQ6VQg" name="Call(Min).argument(y)" incoming="_iQsXLZcCEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsW-ZcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsW-pcCEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <result xmi:id="_iQsW-5cCEeKVudOPtQ6VQg" name="Call(Min).result(result)" outgoing="_iQsXL5cCEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsW_JcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsW_ZcCEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:FunctionBehavior" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#PrimitiveBehaviors-IntegerFunctions-Min"/>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_iQsW_pcCEeKVudOPtQ6VQg" name="Tuple@2ed28b" outgoing="_iQsXLpcCEeKVudOPtQ6VQg">
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_iQsW_5cCEeKVudOPtQ6VQg" name="Call($$Alf$Library$CollectionFunctions$size__any__)" behavior="_iPgC4JcCEeKVudOPtQ6VQg">
+ <argument xmi:id="_iQsXAJcCEeKVudOPtQ6VQg" name="Call($$Alf$Library$CollectionFunctions$size__any__).argument(seq)" incoming="_iQ1fqZcCEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsXAZcCEeKVudOPtQ6VQg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsXApcCEeKVudOPtQ6VQg" value="*"/>
+ </argument>
+ <result xmi:id="_iQsXA5cCEeKVudOPtQ6VQg" name="Call($$Alf$Library$CollectionFunctions$size__any__).result()" outgoing="_iQsXLJcCEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsXBJcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsXBZcCEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ </node>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_iQsXBpcCEeKVudOPtQ6VQg" name="Call($$Alf$Library$CollectionFunctions$size__any__)" behavior="_iPgC4JcCEeKVudOPtQ6VQg">
+ <argument xmi:id="_iQsXB5cCEeKVudOPtQ6VQg" name="Call($$Alf$Library$CollectionFunctions$size__any__).argument(seq)" incoming="_iQ1fqpcCEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsXCJcCEeKVudOPtQ6VQg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsXCZcCEeKVudOPtQ6VQg" value="*"/>
+ </argument>
+ <result xmi:id="_iQsXCpcCEeKVudOPtQ6VQg" name="Call($$Alf$Library$CollectionFunctions$size__any__).result()" outgoing="_iQsXLZcCEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsXC5cCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsXDJcCEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ </node>
+ </node>
+ <node xmi:type="uml:ForkNode" xmi:id="_iQsXDZcCEeKVudOPtQ6VQg" name="Fork(Value(1).result)" incoming="_iQsXM5cCEeKVudOPtQ6VQg" outgoing="_iQsXNpcCEeKVudOPtQ6VQg _iQsXMJcCEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_iQsXDpcCEeKVudOPtQ6VQg" name="Call(-)">
+ <argument xmi:id="_iQsXD5cCEeKVudOPtQ6VQg" name="Call(-).argument(x)" incoming="_iQsXL5cCEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsXEJcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsXEZcCEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <argument xmi:id="_iQsXEpcCEeKVudOPtQ6VQg" name="Call(-).argument(y)" incoming="_iQsXMJcCEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsXE5cCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsXFJcCEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <result xmi:id="_iQsXFZcCEeKVudOPtQ6VQg" name="Call(-).result(result)" outgoing="_iQsXMZcCEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsXFpcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsXF5cCEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:FunctionBehavior" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#PrimitiveBehaviors-IntegerFunctions-minus"/>
+ </node>
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_iQsXGJcCEeKVudOPtQ6VQg" name="Value(1)">
+ <result xmi:id="_iQsXGZcCEeKVudOPtQ6VQg" name="Value(1).result" outgoing="_iQsXMpcCEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsXGpcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsXG5cCEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralInteger" xmi:id="_iQsXHJcCEeKVudOPtQ6VQg" value="1">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ </value>
+ </node>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_iQsXHZcCEeKVudOPtQ6VQg" name="Call(+)">
+ <argument xmi:id="_iQsXHpcCEeKVudOPtQ6VQg" name="Call(+).argument(x)" incoming="_iQsXMZcCEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsXH5cCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsXIJcCEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <argument xmi:id="_iQsXIZcCEeKVudOPtQ6VQg" name="Call(+).argument(y)" incoming="_iQsXMpcCEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsXIpcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsXI5cCEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <result xmi:id="_iQsXJJcCEeKVudOPtQ6VQg" name="Call(+).result(result)" outgoing="_iQsXNZcCEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsXJZcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsXJpcCEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:FunctionBehavior" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#PrimitiveBehaviors-IntegerFunctions-plus"/>
+ </node>
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_iQsXJ5cCEeKVudOPtQ6VQg" name="Value(1)">
+ <result xmi:id="_iQsXKJcCEeKVudOPtQ6VQg" name="Value(1).result" outgoing="_iQsXNJcCEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iQsXKZcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iQsXKpcCEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralInteger" xmi:id="_iQsXK5cCEeKVudOPtQ6VQg" value="1">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ </value>
+ </node>
+ </node>
+ </node>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_iQsXOJcCEeKVudOPtQ6VQg" target="_iQsV5ZcCEeKVudOPtQ6VQg" source="_iQsVt5cCEeKVudOPtQ6VQg"/>
+ </structuredNode>
+ <node xmi:type="uml:ActivityParameterNode" xmi:id="_iQsVsJcCEeKVudOPtQ6VQg" name="Input(label)" outgoing="_iQ1foJcCEeKVudOPtQ6VQg" parameter="_AserUJF0EeKLspnMdnbsRA"/>
+ <node xmi:type="uml:ForkNode" xmi:id="_iQsVsZcCEeKVudOPtQ6VQg" name="Fork(label)" incoming="_iQ1foJcCEeKVudOPtQ6VQg" outgoing="_iQ1fo5cCEeKVudOPtQ6VQg _iQ1fqJcCEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:ActivityParameterNode" xmi:id="_iQsVspcCEeKVudOPtQ6VQg" name="Input(list)" outgoing="_iQ1foZcCEeKVudOPtQ6VQg" parameter="_Bqqx4JF0EeKLspnMdnbsRA"/>
+ <node xmi:type="uml:ForkNode" xmi:id="_iQsVs5cCEeKVudOPtQ6VQg" name="Fork(list)" incoming="_iQ1foZcCEeKVudOPtQ6VQg" outgoing="_iQ1fpJcCEeKVudOPtQ6VQg _iQ1fqZcCEeKVudOPtQ6VQg _iQ1fp5cCEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:ActivityParameterNode" xmi:id="_iQsVtJcCEeKVudOPtQ6VQg" name="Input(expected)" outgoing="_iQ1fopcCEeKVudOPtQ6VQg" parameter="_BxEU0JF0EeKLspnMdnbsRA"/>
+ <node xmi:type="uml:ForkNode" xmi:id="_iQsVtZcCEeKVudOPtQ6VQg" name="Fork(expected)" incoming="_iQ1fopcCEeKVudOPtQ6VQg" outgoing="_iQ1fpZcCEeKVudOPtQ6VQg _iQ1fqpcCEeKVudOPtQ6VQg _iQ1fppcCEeKVudOPtQ6VQg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Activity" xmi:id="_Tz8bEIgWEeKtquXykzQHVw" name="Write" node="_ojxW8Jb6EeKytdasF4bkww _ojxW8Zb6EeKytdasF4bkww _ojxW8pb6EeKytdasF4bkww" group="_ojxW8pb6EeKytdasF4bkww">
+ <ownedComment xmi:id="_ZaCg4IgWEeKtquXykzQHVw">
+ <body>&#xD;
+namespace AssertionLibrary ;&#xD;
+&#xD;
+private import Alf::Library::BasicInputOutput::StandardOutputChannel ;&#xD;
+&#xD;
+activity Write(in value: any) {&#xD;
+ StandardOutputChannel.allInstances()[1].write(value);&#xD;
+}</body>
+ </ownedComment>
+ <ownedParameter xmi:id="_Y7osM419EeK7gYOtibANUw" name="value" visibility="package">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Y7osNI19EeK7gYOtibANUw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Y7osNY19EeK7gYOtibANUw" value="1"/>
+ </ownedParameter>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_ojxXIZb6EeKytdasF4bkww" target="_ojxW8Zb6EeKytdasF4bkww" source="_ojxW8Jb6EeKytdasF4bkww"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_ojxXIpb6EeKytdasF4bkww" target="_ojxW_5b6EeKytdasF4bkww" source="_ojxW8Zb6EeKytdasF4bkww"/>
+ <structuredNode xmi:id="_ojxW8pb6EeKytdasF4bkww" name="Body(Write)">
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_ojxW85b6EeKytdasF4bkww" name="ExpressionStatement@660c0d">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_ojxXH5b6EeKytdasF4bkww" target="_ojxXBJb6EeKytdasF4bkww" source="_ojxXDZb6EeKytdasF4bkww"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_ojxXIJb6EeKytdasF4bkww" target="_ojxW9Jb6EeKytdasF4bkww" source="_ojxXBZb6EeKytdasF4bkww"/>
+ <node xmi:type="uml:ExpansionRegion" xmi:id="_ojxW9Jb6EeKytdasF4bkww" name="Collect(Call(write))" incoming="_ojxXIJb6EeKytdasF4bkww" mode="parallel" inputElement="_ojxXBJb6EeKytdasF4bkww">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_ojxXApb6EeKytdasF4bkww" target="_ojxW9pb6EeKytdasF4bkww" source="_ojxW_5b6EeKytdasF4bkww"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_ojxXA5b6EeKytdasF4bkww" target="_ojxW_Jb6EeKytdasF4bkww" source="_ojxXBJb6EeKytdasF4bkww"/>
+ <structuredNodeInput xmi:id="_ojxW_5b6EeKytdasF4bkww" name="Collect(Call(write)).input(Fork(value))" incoming="_ojxXIpb6EeKytdasF4bkww" outgoing="_ojxXApb6EeKytdasF4bkww" isOrdered="true" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ojxXAJb6EeKytdasF4bkww" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ojxXAZb6EeKytdasF4bkww" value="1"/>
+ </structuredNodeInput>
+ <node xmi:type="uml:CallOperationAction" xmi:id="_ojxW9Zb6EeKytdasF4bkww" name="Call(write)">
+ <argument xmi:id="_ojxW9pb6EeKytdasF4bkww" name="Call(write).argument(value)" incoming="_ojxXApb6EeKytdasF4bkww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ojxW95b6EeKytdasF4bkww" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ojxW-Jb6EeKytdasF4bkww" value="1"/>
+ </argument>
+ <result xmi:id="_ojxW-Zb6EeKytdasF4bkww" name="Call(write).result(errorStatus)">
+ <type xmi:type="uml:DataType" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#Common-Status"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ojxW-pb6EeKytdasF4bkww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ojxW-5b6EeKytdasF4bkww" value="1"/>
+ </result>
+ <operation href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#BasicInputOutput-OutputChannel-write"/>
+ <target xmi:id="_ojxW_Jb6EeKytdasF4bkww" name="Call(write).target" incoming="_ojxXA5b6EeKytdasF4bkww" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:Class" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#BasicInputOutput-OutputChannel"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ojxW_Zb6EeKytdasF4bkww" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ojxW_pb6EeKytdasF4bkww" value="1"/>
+ </target>
+ </node>
+ </node>
+ <node xmi:type="uml:ExpansionNode" xmi:id="_ojxXBJb6EeKytdasF4bkww" name="Collect(Call(write)).inputElement" incoming="_ojxXH5b6EeKytdasF4bkww" outgoing="_ojxXA5b6EeKytdasF4bkww" regionAsInput="_ojxW9Jb6EeKytdasF4bkww"/>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_ojxXBZb6EeKytdasF4bkww" name="Feature(Call(At).result())" outgoing="_ojxXIJb6EeKytdasF4bkww">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_ojxXG5b6EeKytdasF4bkww" target="_ojxXB5b6EeKytdasF4bkww" source="_ojxXEpb6EeKytdasF4bkww"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_ojxXHJb6EeKytdasF4bkww" target="_ojxXGpb6EeKytdasF4bkww" source="_ojxXFpb6EeKytdasF4bkww"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_ojxXHZb6EeKytdasF4bkww" target="_ojxXBpb6EeKytdasF4bkww" source="_ojxXEJb6EeKytdasF4bkww"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_ojxXHpb6EeKytdasF4bkww" target="_ojxXCpb6EeKytdasF4bkww" source="_ojxXGpb6EeKytdasF4bkww"/>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_ojxXBpb6EeKytdasF4bkww" name="Call(At)" incoming="_ojxXHZb6EeKytdasF4bkww">
+ <argument xmi:id="_ojxXB5b6EeKytdasF4bkww" name="Call(At).argument(seq)" incoming="_ojxXG5b6EeKytdasF4bkww" isOrdered="true" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ojxXCJb6EeKytdasF4bkww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ojxXCZb6EeKytdasF4bkww" value="*"/>
+ </argument>
+ <argument xmi:id="_ojxXCpb6EeKytdasF4bkww" name="Call(At).argument(index)" incoming="_ojxXHpb6EeKytdasF4bkww">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ojxXC5b6EeKytdasF4bkww" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ojxXDJb6EeKytdasF4bkww" value="1"/>
+ </argument>
+ <result xmi:id="_ojxXDZb6EeKytdasF4bkww" name="Call(At).result()" outgoing="_ojxXH5b6EeKytdasF4bkww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ojxXDpb6EeKytdasF4bkww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ojxXD5b6EeKytdasF4bkww" value="1"/>
+ </result>
+ <behavior xmi:type="uml:Activity" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveBehaviors-SequenceFunctions-At"/>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_ojxXEJb6EeKytdasF4bkww" name="Tuple@43f8b1" outgoing="_ojxXHZb6EeKytdasF4bkww">
+ <node xmi:type="uml:ReadExtentAction" xmi:id="_ojxXEZb6EeKytdasF4bkww" name="ReadExtent(StandardOutputChannel)">
+ <classifier xmi:type="uml:Class" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#BasicInputOutput-StandardOutputChannel"/>
+ <result xmi:id="_ojxXEpb6EeKytdasF4bkww" name="ReadExtent(StandardOutputChannel).result" outgoing="_ojxXG5b6EeKytdasF4bkww" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:Class" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#BasicInputOutput-StandardOutputChannel"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ojxXE5b6EeKytdasF4bkww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ojxXFJb6EeKytdasF4bkww" value="*"/>
+ </result>
+ </node>
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_ojxXFZb6EeKytdasF4bkww" name="Value(1)">
+ <result xmi:id="_ojxXFpb6EeKytdasF4bkww" name="Value(1).result" outgoing="_ojxXHJb6EeKytdasF4bkww" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ojxXF5b6EeKytdasF4bkww" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ojxXGJb6EeKytdasF4bkww" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralInteger" xmi:id="_ojxXGZb6EeKytdasF4bkww" value="1">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ </value>
+ </node>
+ </node>
+ <node xmi:type="uml:ForkNode" xmi:id="_ojxXGpb6EeKytdasF4bkww" name="Fork(Call(At).argument(index))" incoming="_ojxXHJb6EeKytdasF4bkww" outgoing="_ojxXHpb6EeKytdasF4bkww"/>
+ </node>
+ </node>
+ </structuredNode>
+ <node xmi:type="uml:ActivityParameterNode" xmi:id="_ojxW8Jb6EeKytdasF4bkww" name="Input(value)" outgoing="_ojxXIZb6EeKytdasF4bkww" parameter="_Y7osM419EeK7gYOtibANUw"/>
+ <node xmi:type="uml:ForkNode" xmi:id="_ojxW8Zb6EeKytdasF4bkww" name="Fork(value)" incoming="_ojxXIZb6EeKytdasF4bkww" outgoing="_ojxXIpb6EeKytdasF4bkww"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_z5N8wJGKEeKaY7tSssHhGw" name="Tests">
+ <packagedElement xmi:type="uml:Activity" xmi:id="_4BlgUJGKEeKaY7tSssHhGw" name="TestWrite" node="_nOXtwJMqEeKsOLt3X9dUzg" group="_nOXtwJMqEeKsOLt3X9dUzg">
+ <ownedComment xmi:id="_9Q7TDpGKEeKaY7tSssHhGw">
+ <body>/* Generated textual representation of Activity AssertionLibrary::Tests::TestWrite */&#xD;
+&#xD;
+namespace AssertionLibrary::Tests ;&#xD;
+&#xD;
+activity TestWrite() { &#xD;
+ Write(&quot;Hello!&quot;) ;&#xD;
+}</body>
+ </ownedComment>
+ <structuredNode xmi:id="_nOXtwJMqEeKsOLt3X9dUzg" name="Body(TestWrite)">
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_nOXtwZMqEeKsOLt3X9dUzg" name="ExpressionStatement@6de523">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_nOXtzJMqEeKsOLt3X9dUzg" target="_nOXtw5MqEeKsOLt3X9dUzg" source="_nOXtyJMqEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_nOXtzZMqEeKsOLt3X9dUzg" target="_nOXtwpMqEeKsOLt3X9dUzg" source="_nOXtxpMqEeKsOLt3X9dUzg"/>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_nOXtwpMqEeKsOLt3X9dUzg" name="Call(Write)" incoming="_nOXtzZMqEeKsOLt3X9dUzg" behavior="_Tz8bEIgWEeKtquXykzQHVw">
+ <argument xmi:id="_nOXtw5MqEeKsOLt3X9dUzg" name="Call(Write).argument(value)" incoming="_nOXtzJMqEeKsOLt3X9dUzg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_nOXtxJMqEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_nOXtxZMqEeKsOLt3X9dUzg" value="1"/>
+ </argument>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_nOXtxpMqEeKsOLt3X9dUzg" name="Tuple@9063b0" outgoing="_nOXtzZMqEeKsOLt3X9dUzg">
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_nOXtx5MqEeKsOLt3X9dUzg" name="Value(&quot;Hello!&quot;)">
+ <result xmi:id="_nOXtyJMqEeKsOLt3X9dUzg" name="Value(&quot;Hello!&quot;).result" outgoing="_nOXtzJMqEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_nOXtyZMqEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_nOXtypMqEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralString" xmi:id="_nOXty5MqEeKsOLt3X9dUzg" value="Hello!">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </value>
+ </node>
+ </node>
+ </node>
+ </structuredNode>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Activity" xmi:id="_Grnr0JGLEeKaY7tSssHhGw" name="TestAssertTrue" node="_BRkw8JMrEeKsOLt3X9dUzg" group="_BRkw8JMrEeKsOLt3X9dUzg">
+ <ownedComment xmi:id="_QCbqgJGLEeKaY7tSssHhGw">
+ <body>/* Generated textual representation of Activity AssertionLibrary::Tests::TestAssertTrue */&#xD;
+&#xD;
+namespace AssertionLibrary::Tests ;&#xD;
+&#xD;
+activity TestAssertTrue() { &#xD;
+ AssertTrue(&quot;1 == 1&quot;, 1 == 1) ;&#xD;
+ AssertTrue(&quot;1 == 2&quot;, 1 == 2) ;&#xD;
+}</body>
+ </ownedComment>
+ <structuredNode xmi:id="_BRkw8JMrEeKsOLt3X9dUzg" name="Body(TestAssertTrue)">
+ <edge xmi:type="uml:ControlFlow" xmi:id="_BRkxP5MrEeKsOLt3X9dUzg" target="_BRkxGJMrEeKsOLt3X9dUzg" source="_BRkw8ZMrEeKsOLt3X9dUzg"/>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_BRkw8ZMrEeKsOLt3X9dUzg" name="ExpressionStatement@156c3da" outgoing="_BRkxP5MrEeKsOLt3X9dUzg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_BRkxFZMrEeKsOLt3X9dUzg" target="_BRkw85MrEeKsOLt3X9dUzg" source="_BRkw-5MrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_BRkxFpMrEeKsOLt3X9dUzg" target="_BRkw9pMrEeKsOLt3X9dUzg" source="_BRkxDZMrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_BRkxF5MrEeKsOLt3X9dUzg" target="_BRkw8pMrEeKsOLt3X9dUzg" source="_BRkw-ZMrEeKsOLt3X9dUzg"/>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_BRkw8pMrEeKsOLt3X9dUzg" name="Call(AssertTrue)" incoming="_BRkxF5MrEeKsOLt3X9dUzg" behavior="_9FjNAIgUEeKtquXykzQHVw">
+ <argument xmi:id="_BRkw85MrEeKsOLt3X9dUzg" name="Call(AssertTrue).argument(label)" incoming="_BRkxFZMrEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_BRkw9JMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_BRkw9ZMrEeKsOLt3X9dUzg" value="1"/>
+ </argument>
+ <argument xmi:id="_BRkw9pMrEeKsOLt3X9dUzg" name="Call(AssertTrue).argument(condition)" incoming="_BRkxFpMrEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_BRkw95MrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_BRkw-JMrEeKsOLt3X9dUzg" value="1"/>
+ </argument>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_BRkw-ZMrEeKsOLt3X9dUzg" name="Tuple@ebca5e" outgoing="_BRkxF5MrEeKsOLt3X9dUzg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_BRkxE5MrEeKsOLt3X9dUzg" target="_BRkxCpMrEeKsOLt3X9dUzg" source="_BRkxAJMrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_BRkxFJMrEeKsOLt3X9dUzg" target="_BRkxEJMrEeKsOLt3X9dUzg" source="_BRkxBZMrEeKsOLt3X9dUzg"/>
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_BRkw-pMrEeKsOLt3X9dUzg" name="Value(&quot;1 == 1&quot;)">
+ <result xmi:id="_BRkw-5MrEeKsOLt3X9dUzg" name="Value(&quot;1 == 1&quot;).result" outgoing="_BRkxFZMrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_BRkw_JMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_BRkw_ZMrEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralString" xmi:id="_BRkw_pMrEeKsOLt3X9dUzg" value="1 == 1">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </value>
+ </node>
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_BRkw_5MrEeKsOLt3X9dUzg" name="Value(1)">
+ <result xmi:id="_BRkxAJMrEeKsOLt3X9dUzg" name="Value(1).result" outgoing="_BRkxE5MrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_BRkxAZMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_BRkxApMrEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralInteger" xmi:id="_BRkxA5MrEeKsOLt3X9dUzg" value="1">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ </value>
+ </node>
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_BRkxBJMrEeKsOLt3X9dUzg" name="Value(1)">
+ <result xmi:id="_BRkxBZMrEeKsOLt3X9dUzg" name="Value(1).result" outgoing="_BRkxFJMrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_BRkxBpMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_BRkxB5MrEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralInteger" xmi:id="_BRkxCJMrEeKsOLt3X9dUzg" value="1">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ </value>
+ </node>
+ <node xmi:type="uml:TestIdentityAction" xmi:id="_BRkxCZMrEeKsOLt3X9dUzg" name="Test(==)">
+ <first xmi:id="_BRkxCpMrEeKsOLt3X9dUzg" name="Test(==).first" incoming="_BRkxE5MrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_BRkxC5MrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_BRkxDJMrEeKsOLt3X9dUzg" value="1"/>
+ </first>
+ <result xmi:id="_BRkxDZMrEeKsOLt3X9dUzg" name="Test(==).result" outgoing="_BRkxFpMrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_BRkxDpMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_BRkxD5MrEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <second xmi:id="_BRkxEJMrEeKsOLt3X9dUzg" name="Test(==).second" incoming="_BRkxFJMrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_BRkxEZMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_BRkxEpMrEeKsOLt3X9dUzg" value="1"/>
+ </second>
+ </node>
+ </node>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_BRkxGJMrEeKsOLt3X9dUzg" name="ExpressionStatement@275507" incoming="_BRkxP5MrEeKsOLt3X9dUzg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_BRkxPJMrEeKsOLt3X9dUzg" target="_BRkxGpMrEeKsOLt3X9dUzg" source="_BRkxIpMrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_BRkxPZMrEeKsOLt3X9dUzg" target="_BRkxHZMrEeKsOLt3X9dUzg" source="_BRkxNJMrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_BRkxPpMrEeKsOLt3X9dUzg" target="_BRkxGZMrEeKsOLt3X9dUzg" source="_BRkxIJMrEeKsOLt3X9dUzg"/>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_BRkxGZMrEeKsOLt3X9dUzg" name="Call(AssertTrue)" incoming="_BRkxPpMrEeKsOLt3X9dUzg" behavior="_9FjNAIgUEeKtquXykzQHVw">
+ <argument xmi:id="_BRkxGpMrEeKsOLt3X9dUzg" name="Call(AssertTrue).argument(label)" incoming="_BRkxPJMrEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_BRkxG5MrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_BRkxHJMrEeKsOLt3X9dUzg" value="1"/>
+ </argument>
+ <argument xmi:id="_BRkxHZMrEeKsOLt3X9dUzg" name="Call(AssertTrue).argument(condition)" incoming="_BRkxPZMrEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_BRkxHpMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_BRkxH5MrEeKsOLt3X9dUzg" value="1"/>
+ </argument>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_BRkxIJMrEeKsOLt3X9dUzg" name="Tuple@a3302c" outgoing="_BRkxPpMrEeKsOLt3X9dUzg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_BRkxOpMrEeKsOLt3X9dUzg" target="_BRkxMZMrEeKsOLt3X9dUzg" source="_BRkxJ5MrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_BRkxO5MrEeKsOLt3X9dUzg" target="_BRkxN5MrEeKsOLt3X9dUzg" source="_BRkxLJMrEeKsOLt3X9dUzg"/>
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_BRkxIZMrEeKsOLt3X9dUzg" name="Value(&quot;1 == 2&quot;)">
+ <result xmi:id="_BRkxIpMrEeKsOLt3X9dUzg" name="Value(&quot;1 == 2&quot;).result" outgoing="_BRkxPJMrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_BRkxI5MrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_BRkxJJMrEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralString" xmi:id="_BRkxJZMrEeKsOLt3X9dUzg" value="1 == 2">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </value>
+ </node>
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_BRkxJpMrEeKsOLt3X9dUzg" name="Value(1)">
+ <result xmi:id="_BRkxJ5MrEeKsOLt3X9dUzg" name="Value(1).result" outgoing="_BRkxOpMrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_BRkxKJMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_BRkxKZMrEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralInteger" xmi:id="_BRkxKpMrEeKsOLt3X9dUzg" value="1">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ </value>
+ </node>
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_BRkxK5MrEeKsOLt3X9dUzg" name="Value(2)">
+ <result xmi:id="_BRkxLJMrEeKsOLt3X9dUzg" name="Value(2).result" outgoing="_BRkxO5MrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_BRkxLZMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_BRkxLpMrEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralInteger" xmi:id="_BRkxL5MrEeKsOLt3X9dUzg" value="2">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ </value>
+ </node>
+ <node xmi:type="uml:TestIdentityAction" xmi:id="_BRkxMJMrEeKsOLt3X9dUzg" name="Test(==)">
+ <first xmi:id="_BRkxMZMrEeKsOLt3X9dUzg" name="Test(==).first" incoming="_BRkxOpMrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_BRkxMpMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_BRkxM5MrEeKsOLt3X9dUzg" value="1"/>
+ </first>
+ <result xmi:id="_BRkxNJMrEeKsOLt3X9dUzg" name="Test(==).result" outgoing="_BRkxPZMrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_BRkxNZMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_BRkxNpMrEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <second xmi:id="_BRkxN5MrEeKsOLt3X9dUzg" name="Test(==).second" incoming="_BRkxO5MrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_BRkxOJMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_BRkxOZMrEeKsOLt3X9dUzg" value="1"/>
+ </second>
+ </node>
+ </node>
+ </node>
+ </structuredNode>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Activity" xmi:id="_XSUYUJGLEeKaY7tSssHhGw" name="TestAssertFalse" node="_Mb4tQJMrEeKsOLt3X9dUzg" group="_Mb4tQJMrEeKsOLt3X9dUzg">
+ <ownedComment xmi:id="_fY76cJGLEeKaY7tSssHhGw">
+ <body>/* Generated textual representation of Activity AssertionLibrary::Tests::TestAssertFalse */&#xD;
+&#xD;
+namespace AssertionLibrary::Tests ;&#xD;
+&#xD;
+activity TestAssertFalse() { &#xD;
+ AssertFalse(&quot;1 == 1&quot;, 1 == 1) ;&#xD;
+ AssertFalse(&quot;1 == 2&quot;, 1 == 2) ;&#xD;
+}</body>
+ </ownedComment>
+ <structuredNode xmi:id="_Mb4tQJMrEeKsOLt3X9dUzg" name="Body(TestAssertFalse)">
+ <edge xmi:type="uml:ControlFlow" xmi:id="_Mb4tj5MrEeKsOLt3X9dUzg" target="_Mb4taJMrEeKsOLt3X9dUzg" source="_Mb4tQZMrEeKsOLt3X9dUzg"/>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_Mb4tQZMrEeKsOLt3X9dUzg" name="ExpressionStatement@16995c4" outgoing="_Mb4tj5MrEeKsOLt3X9dUzg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_Mb4tZZMrEeKsOLt3X9dUzg" target="_Mb4tQ5MrEeKsOLt3X9dUzg" source="_Mb4tS5MrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_Mb4tZpMrEeKsOLt3X9dUzg" target="_Mb4tRpMrEeKsOLt3X9dUzg" source="_Mb4tXZMrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_Mb4tZ5MrEeKsOLt3X9dUzg" target="_Mb4tQpMrEeKsOLt3X9dUzg" source="_Mb4tSZMrEeKsOLt3X9dUzg"/>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_Mb4tQpMrEeKsOLt3X9dUzg" name="Call(AssertFalse)" incoming="_Mb4tZ5MrEeKsOLt3X9dUzg" behavior="_9tk2UIgUEeKtquXykzQHVw">
+ <argument xmi:id="_Mb4tQ5MrEeKsOLt3X9dUzg" name="Call(AssertFalse).argument(label)" incoming="_Mb4tZZMrEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Mb4tRJMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Mb4tRZMrEeKsOLt3X9dUzg" value="1"/>
+ </argument>
+ <argument xmi:id="_Mb4tRpMrEeKsOLt3X9dUzg" name="Call(AssertFalse).argument(condition)" incoming="_Mb4tZpMrEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Mb4tR5MrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Mb4tSJMrEeKsOLt3X9dUzg" value="1"/>
+ </argument>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_Mb4tSZMrEeKsOLt3X9dUzg" name="Tuple@90f9" outgoing="_Mb4tZ5MrEeKsOLt3X9dUzg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_Mb4tY5MrEeKsOLt3X9dUzg" target="_Mb4tWpMrEeKsOLt3X9dUzg" source="_Mb4tUJMrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_Mb4tZJMrEeKsOLt3X9dUzg" target="_Mb4tYJMrEeKsOLt3X9dUzg" source="_Mb4tVZMrEeKsOLt3X9dUzg"/>
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_Mb4tSpMrEeKsOLt3X9dUzg" name="Value(&quot;1 == 1&quot;)">
+ <result xmi:id="_Mb4tS5MrEeKsOLt3X9dUzg" name="Value(&quot;1 == 1&quot;).result" outgoing="_Mb4tZZMrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Mb4tTJMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Mb4tTZMrEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralString" xmi:id="_Mb4tTpMrEeKsOLt3X9dUzg" value="1 == 1">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </value>
+ </node>
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_Mb4tT5MrEeKsOLt3X9dUzg" name="Value(1)">
+ <result xmi:id="_Mb4tUJMrEeKsOLt3X9dUzg" name="Value(1).result" outgoing="_Mb4tY5MrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Mb4tUZMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Mb4tUpMrEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralInteger" xmi:id="_Mb4tU5MrEeKsOLt3X9dUzg" value="1">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ </value>
+ </node>
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_Mb4tVJMrEeKsOLt3X9dUzg" name="Value(1)">
+ <result xmi:id="_Mb4tVZMrEeKsOLt3X9dUzg" name="Value(1).result" outgoing="_Mb4tZJMrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Mb4tVpMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Mb4tV5MrEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralInteger" xmi:id="_Mb4tWJMrEeKsOLt3X9dUzg" value="1">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ </value>
+ </node>
+ <node xmi:type="uml:TestIdentityAction" xmi:id="_Mb4tWZMrEeKsOLt3X9dUzg" name="Test(==)">
+ <first xmi:id="_Mb4tWpMrEeKsOLt3X9dUzg" name="Test(==).first" incoming="_Mb4tY5MrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Mb4tW5MrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Mb4tXJMrEeKsOLt3X9dUzg" value="1"/>
+ </first>
+ <result xmi:id="_Mb4tXZMrEeKsOLt3X9dUzg" name="Test(==).result" outgoing="_Mb4tZpMrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Mb4tXpMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Mb4tX5MrEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <second xmi:id="_Mb4tYJMrEeKsOLt3X9dUzg" name="Test(==).second" incoming="_Mb4tZJMrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Mb4tYZMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Mb4tYpMrEeKsOLt3X9dUzg" value="1"/>
+ </second>
+ </node>
+ </node>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_Mb4taJMrEeKsOLt3X9dUzg" name="ExpressionStatement@1e49cce" incoming="_Mb4tj5MrEeKsOLt3X9dUzg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_Mb4tjJMrEeKsOLt3X9dUzg" target="_Mb4tapMrEeKsOLt3X9dUzg" source="_Mb4tcpMrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_Mb4tjZMrEeKsOLt3X9dUzg" target="_Mb4tbZMrEeKsOLt3X9dUzg" source="_Mb4thJMrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_Mb4tjpMrEeKsOLt3X9dUzg" target="_Mb4taZMrEeKsOLt3X9dUzg" source="_Mb4tcJMrEeKsOLt3X9dUzg"/>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_Mb4taZMrEeKsOLt3X9dUzg" name="Call(AssertFalse)" incoming="_Mb4tjpMrEeKsOLt3X9dUzg" behavior="_9tk2UIgUEeKtquXykzQHVw">
+ <argument xmi:id="_Mb4tapMrEeKsOLt3X9dUzg" name="Call(AssertFalse).argument(label)" incoming="_Mb4tjJMrEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Mb4ta5MrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Mb4tbJMrEeKsOLt3X9dUzg" value="1"/>
+ </argument>
+ <argument xmi:id="_Mb4tbZMrEeKsOLt3X9dUzg" name="Call(AssertFalse).argument(condition)" incoming="_Mb4tjZMrEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Mb4tbpMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Mb4tb5MrEeKsOLt3X9dUzg" value="1"/>
+ </argument>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_Mb4tcJMrEeKsOLt3X9dUzg" name="Tuple@6526b6" outgoing="_Mb4tjpMrEeKsOLt3X9dUzg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_Mb4tipMrEeKsOLt3X9dUzg" target="_Mb4tgZMrEeKsOLt3X9dUzg" source="_Mb4td5MrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_Mb4ti5MrEeKsOLt3X9dUzg" target="_Mb4th5MrEeKsOLt3X9dUzg" source="_Mb4tfJMrEeKsOLt3X9dUzg"/>
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_Mb4tcZMrEeKsOLt3X9dUzg" name="Value(&quot;1 == 2&quot;)">
+ <result xmi:id="_Mb4tcpMrEeKsOLt3X9dUzg" name="Value(&quot;1 == 2&quot;).result" outgoing="_Mb4tjJMrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Mb4tc5MrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Mb4tdJMrEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralString" xmi:id="_Mb4tdZMrEeKsOLt3X9dUzg" value="1 == 2">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </value>
+ </node>
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_Mb4tdpMrEeKsOLt3X9dUzg" name="Value(1)">
+ <result xmi:id="_Mb4td5MrEeKsOLt3X9dUzg" name="Value(1).result" outgoing="_Mb4tipMrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Mb4teJMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Mb4teZMrEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralInteger" xmi:id="_Mb4tepMrEeKsOLt3X9dUzg" value="1">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ </value>
+ </node>
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_Mb4te5MrEeKsOLt3X9dUzg" name="Value(2)">
+ <result xmi:id="_Mb4tfJMrEeKsOLt3X9dUzg" name="Value(2).result" outgoing="_Mb4ti5MrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Mb4tfZMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Mb4tfpMrEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralInteger" xmi:id="_Mb4tf5MrEeKsOLt3X9dUzg" value="2">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ </value>
+ </node>
+ <node xmi:type="uml:TestIdentityAction" xmi:id="_Mb4tgJMrEeKsOLt3X9dUzg" name="Test(==)">
+ <first xmi:id="_Mb4tgZMrEeKsOLt3X9dUzg" name="Test(==).first" incoming="_Mb4tipMrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Mb4tgpMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Mb4tg5MrEeKsOLt3X9dUzg" value="1"/>
+ </first>
+ <result xmi:id="_Mb4thJMrEeKsOLt3X9dUzg" name="Test(==).result" outgoing="_Mb4tjZMrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Mb4thZMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Mb4thpMrEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <second xmi:id="_Mb4th5MrEeKsOLt3X9dUzg" name="Test(==).second" incoming="_Mb4ti5MrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Mb4tiJMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Mb4tiZMrEeKsOLt3X9dUzg" value="1"/>
+ </second>
+ </node>
+ </node>
+ </node>
+ </structuredNode>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Activity" xmi:id="_oUPBMJGLEeKaY7tSssHhGw" name="TestAssertEquals" node="_V6CpwJMrEeKsOLt3X9dUzg" group="_V6CpwJMrEeKsOLt3X9dUzg">
+ <ownedComment xmi:id="_xyMJoJGLEeKaY7tSssHhGw">
+ <body>/* Generated textual representation of Activity AssertionLibrary::Tests::TestAssertEquals */&#xD;
+&#xD;
+namespace AssertionLibrary::Tests ;&#xD;
+&#xD;
+activity TestAssertEquals() { &#xD;
+ AssertEquals(&quot;1 equals 1&quot;, 1, 1) ;&#xD;
+ AssertEquals(&quot;1 equals 2&quot;, 1, 2) ;&#xD;
+}</body>
+ </ownedComment>
+ <structuredNode xmi:id="_V6CpwJMrEeKsOLt3X9dUzg" name="Body(TestAssertEquals)">
+ <edge xmi:type="uml:ControlFlow" xmi:id="_V6Cp_5MrEeKsOLt3X9dUzg" target="_V6Cp4JMrEeKsOLt3X9dUzg" source="_V6CpwZMrEeKsOLt3X9dUzg"/>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_V6CpwZMrEeKsOLt3X9dUzg" name="ExpressionStatement@1f139ee" outgoing="_V6Cp_5MrEeKsOLt3X9dUzg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_V6Cp3JMrEeKsOLt3X9dUzg" target="_V6Cpw5MrEeKsOLt3X9dUzg" source="_V6CpzpMrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_V6Cp3ZMrEeKsOLt3X9dUzg" target="_V6CpxpMrEeKsOLt3X9dUzg" source="_V6Cp05MrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_V6Cp3pMrEeKsOLt3X9dUzg" target="_V6CpyZMrEeKsOLt3X9dUzg" source="_V6Cp2JMrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_V6Cp35MrEeKsOLt3X9dUzg" target="_V6CpwpMrEeKsOLt3X9dUzg" source="_V6CpzJMrEeKsOLt3X9dUzg"/>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_V6CpwpMrEeKsOLt3X9dUzg" name="Call(AssertEquals)" incoming="_V6Cp35MrEeKsOLt3X9dUzg" behavior="_8kE3oIgUEeKtquXykzQHVw">
+ <argument xmi:id="_V6Cpw5MrEeKsOLt3X9dUzg" name="Call(AssertEquals).argument(label)" incoming="_V6Cp3JMrEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_V6CpxJMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_V6CpxZMrEeKsOLt3X9dUzg" value="1"/>
+ </argument>
+ <argument xmi:id="_V6CpxpMrEeKsOLt3X9dUzg" name="Call(AssertEquals).argument(value1)" incoming="_V6Cp3ZMrEeKsOLt3X9dUzg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_V6Cpx5MrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_V6CpyJMrEeKsOLt3X9dUzg" value="1"/>
+ </argument>
+ <argument xmi:id="_V6CpyZMrEeKsOLt3X9dUzg" name="Call(AssertEquals).argument(value2)" incoming="_V6Cp3pMrEeKsOLt3X9dUzg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_V6CpypMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_V6Cpy5MrEeKsOLt3X9dUzg" value="1"/>
+ </argument>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_V6CpzJMrEeKsOLt3X9dUzg" name="Tuple@1848f66" outgoing="_V6Cp35MrEeKsOLt3X9dUzg">
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_V6CpzZMrEeKsOLt3X9dUzg" name="Value(&quot;1 equals 1&quot;)">
+ <result xmi:id="_V6CpzpMrEeKsOLt3X9dUzg" name="Value(&quot;1 equals 1&quot;).result" outgoing="_V6Cp3JMrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_V6Cpz5MrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_V6Cp0JMrEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralString" xmi:id="_V6Cp0ZMrEeKsOLt3X9dUzg" value="1 equals 1">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </value>
+ </node>
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_V6Cp0pMrEeKsOLt3X9dUzg" name="Value(1)">
+ <result xmi:id="_V6Cp05MrEeKsOLt3X9dUzg" name="Value(1).result" outgoing="_V6Cp3ZMrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_V6Cp1JMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_V6Cp1ZMrEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralInteger" xmi:id="_V6Cp1pMrEeKsOLt3X9dUzg" value="1">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ </value>
+ </node>
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_V6Cp15MrEeKsOLt3X9dUzg" name="Value(1)">
+ <result xmi:id="_V6Cp2JMrEeKsOLt3X9dUzg" name="Value(1).result" outgoing="_V6Cp3pMrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_V6Cp2ZMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_V6Cp2pMrEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralInteger" xmi:id="_V6Cp25MrEeKsOLt3X9dUzg" value="1">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ </value>
+ </node>
+ </node>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_V6Cp4JMrEeKsOLt3X9dUzg" name="ExpressionStatement@b5305e" incoming="_V6Cp_5MrEeKsOLt3X9dUzg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_V6Cp-5MrEeKsOLt3X9dUzg" target="_V6Cp4pMrEeKsOLt3X9dUzg" source="_V6Cp7ZMrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_V6Cp_JMrEeKsOLt3X9dUzg" target="_V6Cp5ZMrEeKsOLt3X9dUzg" source="_V6Cp8pMrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_V6Cp_ZMrEeKsOLt3X9dUzg" target="_V6Cp6JMrEeKsOLt3X9dUzg" source="_V6Cp95MrEeKsOLt3X9dUzg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_V6Cp_pMrEeKsOLt3X9dUzg" target="_V6Cp4ZMrEeKsOLt3X9dUzg" source="_V6Cp65MrEeKsOLt3X9dUzg"/>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_V6Cp4ZMrEeKsOLt3X9dUzg" name="Call(AssertEquals)" incoming="_V6Cp_pMrEeKsOLt3X9dUzg" behavior="_8kE3oIgUEeKtquXykzQHVw">
+ <argument xmi:id="_V6Cp4pMrEeKsOLt3X9dUzg" name="Call(AssertEquals).argument(label)" incoming="_V6Cp-5MrEeKsOLt3X9dUzg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_V6Cp45MrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_V6Cp5JMrEeKsOLt3X9dUzg" value="1"/>
+ </argument>
+ <argument xmi:id="_V6Cp5ZMrEeKsOLt3X9dUzg" name="Call(AssertEquals).argument(value1)" incoming="_V6Cp_JMrEeKsOLt3X9dUzg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_V6Cp5pMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_V6Cp55MrEeKsOLt3X9dUzg" value="1"/>
+ </argument>
+ <argument xmi:id="_V6Cp6JMrEeKsOLt3X9dUzg" name="Call(AssertEquals).argument(value2)" incoming="_V6Cp_ZMrEeKsOLt3X9dUzg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_V6Cp6ZMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_V6Cp6pMrEeKsOLt3X9dUzg" value="1"/>
+ </argument>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_V6Cp65MrEeKsOLt3X9dUzg" name="Tuple@1f42c8f" outgoing="_V6Cp_pMrEeKsOLt3X9dUzg">
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_V6Cp7JMrEeKsOLt3X9dUzg" name="Value(&quot;1 equals 2&quot;)">
+ <result xmi:id="_V6Cp7ZMrEeKsOLt3X9dUzg" name="Value(&quot;1 equals 2&quot;).result" outgoing="_V6Cp-5MrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_V6Cp7pMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_V6Cp75MrEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralString" xmi:id="_V6Cp8JMrEeKsOLt3X9dUzg" value="1 equals 2">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </value>
+ </node>
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_V6Cp8ZMrEeKsOLt3X9dUzg" name="Value(1)">
+ <result xmi:id="_V6Cp8pMrEeKsOLt3X9dUzg" name="Value(1).result" outgoing="_V6Cp_JMrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_V6Cp85MrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_V6Cp9JMrEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralInteger" xmi:id="_V6Cp9ZMrEeKsOLt3X9dUzg" value="1">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ </value>
+ </node>
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_V6Cp9pMrEeKsOLt3X9dUzg" name="Value(2)">
+ <result xmi:id="_V6Cp95MrEeKsOLt3X9dUzg" name="Value(2).result" outgoing="_V6Cp_ZMrEeKsOLt3X9dUzg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_V6Cp-JMrEeKsOLt3X9dUzg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_V6Cp-ZMrEeKsOLt3X9dUzg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralInteger" xmi:id="_V6Cp-pMrEeKsOLt3X9dUzg" value="2">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ </value>
+ </node>
+ </node>
+ </node>
+ </structuredNode>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Activity" xmi:id="_d_z3AJMrEeKsOLt3X9dUzg" name="TestAll" node="__WCewJcDEeKVudOPtQ6VQg" group="__WCewJcDEeKVudOPtQ6VQg">
+ <ownedComment xmi:id="_XZhDAJMsEeKsOLt3X9dUzg">
+ <body>/* Generated textual representation of Activity AssertionLibrary::Tests::TestAll */&#xD;
+&#xD;
+namespace AssertionLibrary::Tests ;&#xD;
+&#xD;
+private import Alf::Library::BasicInputOutput::WriteLine ;&#xD;
+&#xD;
+activity TestAll() {&#xD;
+ pref = &quot; ---- Testing Activity &quot; ;&#xD;
+ suff = &quot; ----&quot; ;&#xD;
+ // Testing write&#xD;
+ activityName = &quot;Write&quot; ;&#xD;
+ WriteLine(pref + activityName + suff) ;&#xD;
+ TestWrite() ; WriteLine(&quot;&quot;) ; WriteLine(&quot;&quot;) ;&#xD;
+ &#xD;
+ // Testing AssertTrue&#xD;
+ activityName = &quot;AssertTrue&quot; ;&#xD;
+ WriteLine(pref + activityName + suff) ;&#xD;
+ TestAssertTrue() ; WriteLine(&quot;&quot;) ;&#xD;
+ &#xD;
+ // Testing AssertFalse&#xD;
+ activityName = &quot;AssertFalse&quot; ;&#xD;
+ WriteLine(pref + activityName + suff) ;&#xD;
+ TestAssertFalse() ; WriteLine(&quot;&quot;) ;&#xD;
+ &#xD;
+ // Testing AssertEquals&#xD;
+ activityName = &quot;AssertEquals&quot; ;&#xD;
+ WriteLine(pref + activityName + suff) ;&#xD;
+ TestAssertEquals() ; WriteLine(&quot;&quot;) ;&#xD;
+ &#xD;
+ // Testing AssertEquals&#xD;
+ activityName = &quot;AssertList&quot; ;&#xD;
+ WriteLine(pref + activityName + suff) ;&#xD;
+ TestAssertList() ; WriteLine(&quot;&quot;) ;&#xD;
+}</body>
+ </ownedComment>
+ <structuredNode xmi:id="__WCewJcDEeKVudOPtQ6VQg" name="Body(TestAll)">
+ <edge xmi:type="uml:ControlFlow" xmi:id="__WCgCpcDEeKVudOPtQ6VQg" target="__WCeypcDEeKVudOPtQ6VQg" source="__WCewZcDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="__WCgC5cDEeKVudOPtQ6VQg" target="__WCe05cDEeKVudOPtQ6VQg" source="__WCeypcDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="__WCgDJcDEeKVudOPtQ6VQg" target="__WCe5pcDEeKVudOPtQ6VQg" source="__WCewpcDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="__WCgDZcDEeKVudOPtQ6VQg" target="__WCe6ZcDEeKVudOPtQ6VQg" source="__WCe1JcDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="__WCgDpcDEeKVudOPtQ6VQg" target="__WCe85cDEeKVudOPtQ6VQg" source="__WCey5cDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="__WCgD5cDEeKVudOPtQ6VQg" target="__WCe3JcDEeKVudOPtQ6VQg" source="__WCe05cDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="__WCgEJcDEeKVudOPtQ6VQg" target="__WCe_JcDEeKVudOPtQ6VQg" source="__WCe3JcDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="__WCgEZcDEeKVudOPtQ6VQg" target="__WCe_pcDEeKVudOPtQ6VQg" source="__WCe_JcDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="__WCgEpcDEeKVudOPtQ6VQg" target="__WCfDpcDEeKVudOPtQ6VQg" source="__WCe_pcDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="__WCgE5cDEeKVudOPtQ6VQg" target="__WCfHpcDEeKVudOPtQ6VQg" source="__WCfDpcDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="__WCgFJcDEeKVudOPtQ6VQg" target="__WCfMZcDEeKVudOPtQ6VQg" source="__WCewpcDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="__WCgFZcDEeKVudOPtQ6VQg" target="__WCfNJcDEeKVudOPtQ6VQg" source="__WCfH5cDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="__WCgFpcDEeKVudOPtQ6VQg" target="__WCfPpcDEeKVudOPtQ6VQg" source="__WCey5cDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="__WCgF5cDEeKVudOPtQ6VQg" target="__WCfJ5cDEeKVudOPtQ6VQg" source="__WCfHpcDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="__WCgGJcDEeKVudOPtQ6VQg" target="__WCfR5cDEeKVudOPtQ6VQg" source="__WCfJ5cDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="__WCgGZcDEeKVudOPtQ6VQg" target="__WCfSZcDEeKVudOPtQ6VQg" source="__WCfR5cDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="__WCgGpcDEeKVudOPtQ6VQg" target="__WCfWZcDEeKVudOPtQ6VQg" source="__WCfSZcDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="__WCgG5cDEeKVudOPtQ6VQg" target="__WCfbJcDEeKVudOPtQ6VQg" source="__WCewpcDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="__WCgHJcDEeKVudOPtQ6VQg" target="__WCfb5cDEeKVudOPtQ6VQg" source="__WCfWpcDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="__WCgHZcDEeKVudOPtQ6VQg" target="__WCfeZcDEeKVudOPtQ6VQg" source="__WCey5cDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="__WCgHpcDEeKVudOPtQ6VQg" target="__WCfYpcDEeKVudOPtQ6VQg" source="__WCfWZcDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="__WCgH5cDEeKVudOPtQ6VQg" target="__WCfgpcDEeKVudOPtQ6VQg" source="__WCfYpcDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="__WCgIJcDEeKVudOPtQ6VQg" target="__WCfhJcDEeKVudOPtQ6VQg" source="__WCfgpcDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="__WCgIZcDEeKVudOPtQ6VQg" target="__WCflJcDEeKVudOPtQ6VQg" source="__WCfhJcDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="__WCgIpcDEeKVudOPtQ6VQg" target="__WCfp5cDEeKVudOPtQ6VQg" source="__WCewpcDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="__WCgI5cDEeKVudOPtQ6VQg" target="__WCfqpcDEeKVudOPtQ6VQg" source="__WCflZcDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="__WCgJJcDEeKVudOPtQ6VQg" target="__WCftJcDEeKVudOPtQ6VQg" source="__WCey5cDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="__WCgJZcDEeKVudOPtQ6VQg" target="__WCfnZcDEeKVudOPtQ6VQg" source="__WCflJcDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="__WCgJpcDEeKVudOPtQ6VQg" target="__WCfvZcDEeKVudOPtQ6VQg" source="__WCfnZcDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="__WCgJ5cDEeKVudOPtQ6VQg" target="__WCfv5cDEeKVudOPtQ6VQg" source="__WCfvZcDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="__WCgKJcDEeKVudOPtQ6VQg" target="__WCfz5cDEeKVudOPtQ6VQg" source="__WCfv5cDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="__WCgKZcDEeKVudOPtQ6VQg" target="__WCf4pcDEeKVudOPtQ6VQg" source="__WCewpcDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="__WCgKpcDEeKVudOPtQ6VQg" target="__WCf5ZcDEeKVudOPtQ6VQg" source="__WCf0JcDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="__WCgK5cDEeKVudOPtQ6VQg" target="__WCf75cDEeKVudOPtQ6VQg" source="__WCey5cDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="__WCgLJcDEeKVudOPtQ6VQg" target="__WCf2JcDEeKVudOPtQ6VQg" source="__WCfz5cDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="__WCgLZcDEeKVudOPtQ6VQg" target="__WCf-JcDEeKVudOPtQ6VQg" source="__WCf2JcDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="__WCgLpcDEeKVudOPtQ6VQg" target="__WCf-pcDEeKVudOPtQ6VQg" source="__WCf-JcDEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="__WCewZcDEeKVudOPtQ6VQg" name="ExpressionStatement@3af05a" outgoing="__WCgCpcDEeKVudOPtQ6VQg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="__WCeyZcDEeKVudOPtQ6VQg" target="__WCewpcDEeKVudOPtQ6VQg" source="__WCexZcDEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:ForkNode" xmi:id="__WCewpcDEeKVudOPtQ6VQg" name="Fork(pref)@117ca48" incoming="__WCeyZcDEeKVudOPtQ6VQg" outgoing="__WCgDJcDEeKVudOPtQ6VQg __WCgFJcDEeKVudOPtQ6VQg __WCgG5cDEeKVudOPtQ6VQg __WCgIpcDEeKVudOPtQ6VQg __WCgKZcDEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="__WCew5cDEeKVudOPtQ6VQg" name="RightHandSide@e1520b">
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="__WCexJcDEeKVudOPtQ6VQg" name="Value(&quot; ---- Testing Activity &quot;)">
+ <result xmi:id="__WCexZcDEeKVudOPtQ6VQg" name="Value(&quot; ---- Testing Activity &quot;).result" outgoing="__WCeyZcDEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCexpcDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCex5cDEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralString" xmi:id="__WCeyJcDEeKVudOPtQ6VQg" value=" ---- Testing Activity ">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </value>
+ </node>
+ </node>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="__WCeypcDEeKVudOPtQ6VQg" name="ExpressionStatement@186bfda" incoming="__WCgCpcDEeKVudOPtQ6VQg" outgoing="__WCgC5cDEeKVudOPtQ6VQg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="__WCe0pcDEeKVudOPtQ6VQg" target="__WCey5cDEeKVudOPtQ6VQg" source="__WCezpcDEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:ForkNode" xmi:id="__WCey5cDEeKVudOPtQ6VQg" name="Fork(suff)@2d3743" incoming="__WCe0pcDEeKVudOPtQ6VQg" outgoing="__WCgDpcDEeKVudOPtQ6VQg __WCgFpcDEeKVudOPtQ6VQg __WCgHZcDEeKVudOPtQ6VQg __WCgJJcDEeKVudOPtQ6VQg __WCgK5cDEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="__WCezJcDEeKVudOPtQ6VQg" name="RightHandSide@87309f">
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="__WCezZcDEeKVudOPtQ6VQg" name="Value(&quot; ----&quot;)">
+ <result xmi:id="__WCezpcDEeKVudOPtQ6VQg" name="Value(&quot; ----&quot;).result" outgoing="__WCe0pcDEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCez5cDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCe0JcDEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralString" xmi:id="__WCe0ZcDEeKVudOPtQ6VQg" value=" ----">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </value>
+ </node>
+ </node>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="__WCe05cDEeKVudOPtQ6VQg" name="ExpressionStatement@18e3e" incoming="__WCgC5cDEeKVudOPtQ6VQg" outgoing="__WCgD5cDEeKVudOPtQ6VQg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="__WCe25cDEeKVudOPtQ6VQg" target="__WCe1JcDEeKVudOPtQ6VQg" source="__WCe15cDEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:ForkNode" xmi:id="__WCe1JcDEeKVudOPtQ6VQg" name="Fork(activityName)@1073b37" incoming="__WCe25cDEeKVudOPtQ6VQg" outgoing="__WCgDZcDEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="__WCe1ZcDEeKVudOPtQ6VQg" name="RightHandSide@1c0a7cb">
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="__WCe1pcDEeKVudOPtQ6VQg" name="Value(&quot;Write&quot;)">
+ <result xmi:id="__WCe15cDEeKVudOPtQ6VQg" name="Value(&quot;Write&quot;).result" outgoing="__WCe25cDEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCe2JcDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCe2ZcDEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralString" xmi:id="__WCe2pcDEeKVudOPtQ6VQg" value="Write">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </value>
+ </node>
+ </node>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="__WCe3JcDEeKVudOPtQ6VQg" name="ExpressionStatement@28574b" incoming="__WCgD5cDEeKVudOPtQ6VQg" outgoing="__WCgEJcDEeKVudOPtQ6VQg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="__WCe-pcDEeKVudOPtQ6VQg" target="__WCe3pcDEeKVudOPtQ6VQg" source="__WCe9pcDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="__WCe-5cDEeKVudOPtQ6VQg" target="__WCe3ZcDEeKVudOPtQ6VQg" source="__WCe5JcDEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="__WCe3ZcDEeKVudOPtQ6VQg" name="Call(WriteLine)" incoming="__WCe-5cDEeKVudOPtQ6VQg">
+ <argument xmi:id="__WCe3pcDEeKVudOPtQ6VQg" name="Call(WriteLine).argument(value)" incoming="__WCe-pcDEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCe35cDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCe4JcDEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <result xmi:id="__WCe4ZcDEeKVudOPtQ6VQg" name="Call(WriteLine).result(errorStatus)">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCe4pcDEeKVudOPtQ6VQg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCe45cDEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:Activity" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#BasicInputOutput-WriteLine"/>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="__WCe5JcDEeKVudOPtQ6VQg" name="Tuple@45c36f" outgoing="__WCe-5cDEeKVudOPtQ6VQg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="__WCe-ZcDEeKVudOPtQ6VQg" target="__WCe8JcDEeKVudOPtQ6VQg" source="__WCe7JcDEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="__WCe5ZcDEeKVudOPtQ6VQg" name="Call(Concat)">
+ <argument xmi:id="__WCe5pcDEeKVudOPtQ6VQg" name="Call(Concat).argument(x)" incoming="__WCgDJcDEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCe55cDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCe6JcDEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <argument xmi:id="__WCe6ZcDEeKVudOPtQ6VQg" name="Call(Concat).argument(y)" incoming="__WCgDZcDEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCe6pcDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCe65cDEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <result xmi:id="__WCe7JcDEeKVudOPtQ6VQg" name="Call(Concat).result(result)" outgoing="__WCe-ZcDEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCe7ZcDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCe7pcDEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:FunctionBehavior" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#PrimitiveBehaviors-StringFunctions-Concat"/>
+ </node>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="__WCe75cDEeKVudOPtQ6VQg" name="Call(Concat)">
+ <argument xmi:id="__WCe8JcDEeKVudOPtQ6VQg" name="Call(Concat).argument(x)" incoming="__WCe-ZcDEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCe8ZcDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCe8pcDEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <argument xmi:id="__WCe85cDEeKVudOPtQ6VQg" name="Call(Concat).argument(y)" incoming="__WCgDpcDEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCe9JcDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCe9ZcDEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <result xmi:id="__WCe9pcDEeKVudOPtQ6VQg" name="Call(Concat).result(result)" outgoing="__WCe-pcDEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCe95cDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCe-JcDEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:FunctionBehavior" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#PrimitiveBehaviors-StringFunctions-Concat"/>
+ </node>
+ </node>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="__WCe_JcDEeKVudOPtQ6VQg" name="ExpressionStatement@14528d" incoming="__WCgEJcDEeKVudOPtQ6VQg" outgoing="__WCgEZcDEeKVudOPtQ6VQg">
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="__WCe_ZcDEeKVudOPtQ6VQg" name="Call(TestWrite)" behavior="_4BlgUJGKEeKaY7tSssHhGw"/>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="__WCe_pcDEeKVudOPtQ6VQg" name="ExpressionStatement@1a88ae2" incoming="__WCgEZcDEeKVudOPtQ6VQg" outgoing="__WCgEpcDEeKVudOPtQ6VQg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="__WCfDJcDEeKVudOPtQ6VQg" target="__WCfAJcDEeKVudOPtQ6VQg" source="__WCfCJcDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="__WCfDZcDEeKVudOPtQ6VQg" target="__WCe_5cDEeKVudOPtQ6VQg" source="__WCfBpcDEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="__WCe_5cDEeKVudOPtQ6VQg" name="Call(WriteLine)" incoming="__WCfDZcDEeKVudOPtQ6VQg">
+ <argument xmi:id="__WCfAJcDEeKVudOPtQ6VQg" name="Call(WriteLine).argument(value)" incoming="__WCfDJcDEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCfAZcDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCfApcDEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <result xmi:id="__WCfA5cDEeKVudOPtQ6VQg" name="Call(WriteLine).result(errorStatus)">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCfBJcDEeKVudOPtQ6VQg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCfBZcDEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:Activity" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#BasicInputOutput-WriteLine"/>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="__WCfBpcDEeKVudOPtQ6VQg" name="Tuple@122c298" outgoing="__WCfDZcDEeKVudOPtQ6VQg">
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="__WCfB5cDEeKVudOPtQ6VQg" name="Value(&quot;&quot;)">
+ <result xmi:id="__WCfCJcDEeKVudOPtQ6VQg" name="Value(&quot;&quot;).result" outgoing="__WCfDJcDEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCfCZcDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCfCpcDEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralString" xmi:id="__WCfC5cDEeKVudOPtQ6VQg" value="">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </value>
+ </node>
+ </node>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="__WCfDpcDEeKVudOPtQ6VQg" name="ExpressionStatement@1f1d74c" incoming="__WCgEpcDEeKVudOPtQ6VQg" outgoing="__WCgE5cDEeKVudOPtQ6VQg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="__WCfHJcDEeKVudOPtQ6VQg" target="__WCfEJcDEeKVudOPtQ6VQg" source="__WCfGJcDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="__WCfHZcDEeKVudOPtQ6VQg" target="__WCfD5cDEeKVudOPtQ6VQg" source="__WCfFpcDEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="__WCfD5cDEeKVudOPtQ6VQg" name="Call(WriteLine)" incoming="__WCfHZcDEeKVudOPtQ6VQg">
+ <argument xmi:id="__WCfEJcDEeKVudOPtQ6VQg" name="Call(WriteLine).argument(value)" incoming="__WCfHJcDEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCfEZcDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCfEpcDEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <result xmi:id="__WCfE5cDEeKVudOPtQ6VQg" name="Call(WriteLine).result(errorStatus)">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCfFJcDEeKVudOPtQ6VQg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCfFZcDEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:Activity" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#BasicInputOutput-WriteLine"/>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="__WCfFpcDEeKVudOPtQ6VQg" name="Tuple@1061fa3" outgoing="__WCfHZcDEeKVudOPtQ6VQg">
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="__WCfF5cDEeKVudOPtQ6VQg" name="Value(&quot;&quot;)">
+ <result xmi:id="__WCfGJcDEeKVudOPtQ6VQg" name="Value(&quot;&quot;).result" outgoing="__WCfHJcDEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCfGZcDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCfGpcDEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralString" xmi:id="__WCfG5cDEeKVudOPtQ6VQg" value="">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </value>
+ </node>
+ </node>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="__WCfHpcDEeKVudOPtQ6VQg" name="ExpressionStatement@68fc34" incoming="__WCgE5cDEeKVudOPtQ6VQg" outgoing="__WCgF5cDEeKVudOPtQ6VQg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="__WCfJpcDEeKVudOPtQ6VQg" target="__WCfH5cDEeKVudOPtQ6VQg" source="__WCfIpcDEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:ForkNode" xmi:id="__WCfH5cDEeKVudOPtQ6VQg" name="Fork(activityName)@f781c4" incoming="__WCfJpcDEeKVudOPtQ6VQg" outgoing="__WCgFZcDEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="__WCfIJcDEeKVudOPtQ6VQg" name="RightHandSide@1689fac">
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="__WCfIZcDEeKVudOPtQ6VQg" name="Value(&quot;AssertTrue&quot;)">
+ <result xmi:id="__WCfIpcDEeKVudOPtQ6VQg" name="Value(&quot;AssertTrue&quot;).result" outgoing="__WCfJpcDEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCfI5cDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCfJJcDEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralString" xmi:id="__WCfJZcDEeKVudOPtQ6VQg" value="AssertTrue">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </value>
+ </node>
+ </node>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="__WCfJ5cDEeKVudOPtQ6VQg" name="ExpressionStatement@101f11b" incoming="__WCgF5cDEeKVudOPtQ6VQg" outgoing="__WCgGJcDEeKVudOPtQ6VQg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="__WCfRZcDEeKVudOPtQ6VQg" target="__WCfKZcDEeKVudOPtQ6VQg" source="__WCfQZcDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="__WCfRpcDEeKVudOPtQ6VQg" target="__WCfKJcDEeKVudOPtQ6VQg" source="__WCfL5cDEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="__WCfKJcDEeKVudOPtQ6VQg" name="Call(WriteLine)" incoming="__WCfRpcDEeKVudOPtQ6VQg">
+ <argument xmi:id="__WCfKZcDEeKVudOPtQ6VQg" name="Call(WriteLine).argument(value)" incoming="__WCfRZcDEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCfKpcDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCfK5cDEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <result xmi:id="__WCfLJcDEeKVudOPtQ6VQg" name="Call(WriteLine).result(errorStatus)">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCfLZcDEeKVudOPtQ6VQg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCfLpcDEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:Activity" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#BasicInputOutput-WriteLine"/>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="__WCfL5cDEeKVudOPtQ6VQg" name="Tuple@12cb9d7" outgoing="__WCfRpcDEeKVudOPtQ6VQg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="__WCfRJcDEeKVudOPtQ6VQg" target="__WCfO5cDEeKVudOPtQ6VQg" source="__WCfN5cDEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="__WCfMJcDEeKVudOPtQ6VQg" name="Call(Concat)">
+ <argument xmi:id="__WCfMZcDEeKVudOPtQ6VQg" name="Call(Concat).argument(x)" incoming="__WCgFJcDEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCfMpcDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCfM5cDEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <argument xmi:id="__WCfNJcDEeKVudOPtQ6VQg" name="Call(Concat).argument(y)" incoming="__WCgFZcDEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCfNZcDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCfNpcDEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <result xmi:id="__WCfN5cDEeKVudOPtQ6VQg" name="Call(Concat).result(result)" outgoing="__WCfRJcDEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCfOJcDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCfOZcDEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:FunctionBehavior" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#PrimitiveBehaviors-StringFunctions-Concat"/>
+ </node>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="__WCfOpcDEeKVudOPtQ6VQg" name="Call(Concat)">
+ <argument xmi:id="__WCfO5cDEeKVudOPtQ6VQg" name="Call(Concat).argument(x)" incoming="__WCfRJcDEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCfPJcDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCfPZcDEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <argument xmi:id="__WCfPpcDEeKVudOPtQ6VQg" name="Call(Concat).argument(y)" incoming="__WCgFpcDEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCfP5cDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCfQJcDEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <result xmi:id="__WCfQZcDEeKVudOPtQ6VQg" name="Call(Concat).result(result)" outgoing="__WCfRZcDEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCfQpcDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCfQ5cDEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:FunctionBehavior" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#PrimitiveBehaviors-StringFunctions-Concat"/>
+ </node>
+ </node>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="__WCfR5cDEeKVudOPtQ6VQg" name="ExpressionStatement@1817341" incoming="__WCgGJcDEeKVudOPtQ6VQg" outgoing="__WCgGZcDEeKVudOPtQ6VQg">
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="__WCfSJcDEeKVudOPtQ6VQg" name="Call(TestAssertTrue)" behavior="_Grnr0JGLEeKaY7tSssHhGw"/>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="__WCfSZcDEeKVudOPtQ6VQg" name="ExpressionStatement@7f4997" incoming="__WCgGZcDEeKVudOPtQ6VQg" outgoing="__WCgGpcDEeKVudOPtQ6VQg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="__WCfV5cDEeKVudOPtQ6VQg" target="__WCfS5cDEeKVudOPtQ6VQg" source="__WCfU5cDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="__WCfWJcDEeKVudOPtQ6VQg" target="__WCfSpcDEeKVudOPtQ6VQg" source="__WCfUZcDEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="__WCfSpcDEeKVudOPtQ6VQg" name="Call(WriteLine)" incoming="__WCfWJcDEeKVudOPtQ6VQg">
+ <argument xmi:id="__WCfS5cDEeKVudOPtQ6VQg" name="Call(WriteLine).argument(value)" incoming="__WCfV5cDEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCfTJcDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCfTZcDEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <result xmi:id="__WCfTpcDEeKVudOPtQ6VQg" name="Call(WriteLine).result(errorStatus)">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCfT5cDEeKVudOPtQ6VQg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCfUJcDEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:Activity" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#BasicInputOutput-WriteLine"/>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="__WCfUZcDEeKVudOPtQ6VQg" name="Tuple@411cbe" outgoing="__WCfWJcDEeKVudOPtQ6VQg">
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="__WCfUpcDEeKVudOPtQ6VQg" name="Value(&quot;&quot;)">
+ <result xmi:id="__WCfU5cDEeKVudOPtQ6VQg" name="Value(&quot;&quot;).result" outgoing="__WCfV5cDEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCfVJcDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCfVZcDEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralString" xmi:id="__WCfVpcDEeKVudOPtQ6VQg" value="">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </value>
+ </node>
+ </node>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="__WCfWZcDEeKVudOPtQ6VQg" name="ExpressionStatement@16dd42f" incoming="__WCgGpcDEeKVudOPtQ6VQg" outgoing="__WCgHpcDEeKVudOPtQ6VQg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="__WCfYZcDEeKVudOPtQ6VQg" target="__WCfWpcDEeKVudOPtQ6VQg" source="__WCfXZcDEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:ForkNode" xmi:id="__WCfWpcDEeKVudOPtQ6VQg" name="Fork(activityName)@1edcb39" incoming="__WCfYZcDEeKVudOPtQ6VQg" outgoing="__WCgHJcDEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="__WCfW5cDEeKVudOPtQ6VQg" name="RightHandSide@b91253">
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="__WCfXJcDEeKVudOPtQ6VQg" name="Value(&quot;AssertFalse&quot;)">
+ <result xmi:id="__WCfXZcDEeKVudOPtQ6VQg" name="Value(&quot;AssertFalse&quot;).result" outgoing="__WCfYZcDEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCfXpcDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCfX5cDEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralString" xmi:id="__WCfYJcDEeKVudOPtQ6VQg" value="AssertFalse">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </value>
+ </node>
+ </node>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="__WCfYpcDEeKVudOPtQ6VQg" name="ExpressionStatement@13811f0" incoming="__WCgHpcDEeKVudOPtQ6VQg" outgoing="__WCgH5cDEeKVudOPtQ6VQg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="__WCfgJcDEeKVudOPtQ6VQg" target="__WCfZJcDEeKVudOPtQ6VQg" source="__WCffJcDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="__WCfgZcDEeKVudOPtQ6VQg" target="__WCfY5cDEeKVudOPtQ6VQg" source="__WCfapcDEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="__WCfY5cDEeKVudOPtQ6VQg" name="Call(WriteLine)" incoming="__WCfgZcDEeKVudOPtQ6VQg">
+ <argument xmi:id="__WCfZJcDEeKVudOPtQ6VQg" name="Call(WriteLine).argument(value)" incoming="__WCfgJcDEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCfZZcDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCfZpcDEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <result xmi:id="__WCfZ5cDEeKVudOPtQ6VQg" name="Call(WriteLine).result(errorStatus)">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCfaJcDEeKVudOPtQ6VQg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCfaZcDEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:Activity" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#BasicInputOutput-WriteLine"/>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="__WCfapcDEeKVudOPtQ6VQg" name="Tuple@190c503" outgoing="__WCfgZcDEeKVudOPtQ6VQg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="__WCff5cDEeKVudOPtQ6VQg" target="__WCfdpcDEeKVudOPtQ6VQg" source="__WCfcpcDEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="__WCfa5cDEeKVudOPtQ6VQg" name="Call(Concat)">
+ <argument xmi:id="__WCfbJcDEeKVudOPtQ6VQg" name="Call(Concat).argument(x)" incoming="__WCgG5cDEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCfbZcDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCfbpcDEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <argument xmi:id="__WCfb5cDEeKVudOPtQ6VQg" name="Call(Concat).argument(y)" incoming="__WCgHJcDEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCfcJcDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCfcZcDEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <result xmi:id="__WCfcpcDEeKVudOPtQ6VQg" name="Call(Concat).result(result)" outgoing="__WCff5cDEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCfc5cDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCfdJcDEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:FunctionBehavior" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#PrimitiveBehaviors-StringFunctions-Concat"/>
+ </node>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="__WCfdZcDEeKVudOPtQ6VQg" name="Call(Concat)">
+ <argument xmi:id="__WCfdpcDEeKVudOPtQ6VQg" name="Call(Concat).argument(x)" incoming="__WCff5cDEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCfd5cDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCfeJcDEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <argument xmi:id="__WCfeZcDEeKVudOPtQ6VQg" name="Call(Concat).argument(y)" incoming="__WCgHZcDEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCfepcDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCfe5cDEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <result xmi:id="__WCffJcDEeKVudOPtQ6VQg" name="Call(Concat).result(result)" outgoing="__WCfgJcDEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCffZcDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCffpcDEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:FunctionBehavior" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#PrimitiveBehaviors-StringFunctions-Concat"/>
+ </node>
+ </node>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="__WCfgpcDEeKVudOPtQ6VQg" name="ExpressionStatement@1fc7a0e" incoming="__WCgH5cDEeKVudOPtQ6VQg" outgoing="__WCgIJcDEeKVudOPtQ6VQg">
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="__WCfg5cDEeKVudOPtQ6VQg" name="Call(TestAssertFalse)" behavior="_XSUYUJGLEeKaY7tSssHhGw"/>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="__WCfhJcDEeKVudOPtQ6VQg" name="ExpressionStatement@d2da4c" incoming="__WCgIJcDEeKVudOPtQ6VQg" outgoing="__WCgIZcDEeKVudOPtQ6VQg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="__WCfkpcDEeKVudOPtQ6VQg" target="__WCfhpcDEeKVudOPtQ6VQg" source="__WCfjpcDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="__WCfk5cDEeKVudOPtQ6VQg" target="__WCfhZcDEeKVudOPtQ6VQg" source="__WCfjJcDEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="__WCfhZcDEeKVudOPtQ6VQg" name="Call(WriteLine)" incoming="__WCfk5cDEeKVudOPtQ6VQg">
+ <argument xmi:id="__WCfhpcDEeKVudOPtQ6VQg" name="Call(WriteLine).argument(value)" incoming="__WCfkpcDEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCfh5cDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCfiJcDEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <result xmi:id="__WCfiZcDEeKVudOPtQ6VQg" name="Call(WriteLine).result(errorStatus)">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCfipcDEeKVudOPtQ6VQg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCfi5cDEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:Activity" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#BasicInputOutput-WriteLine"/>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="__WCfjJcDEeKVudOPtQ6VQg" name="Tuple@15a71cb" outgoing="__WCfk5cDEeKVudOPtQ6VQg">
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="__WCfjZcDEeKVudOPtQ6VQg" name="Value(&quot;&quot;)">
+ <result xmi:id="__WCfjpcDEeKVudOPtQ6VQg" name="Value(&quot;&quot;).result" outgoing="__WCfkpcDEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCfj5cDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCfkJcDEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralString" xmi:id="__WCfkZcDEeKVudOPtQ6VQg" value="">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </value>
+ </node>
+ </node>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="__WCflJcDEeKVudOPtQ6VQg" name="ExpressionStatement@5271de" incoming="__WCgIZcDEeKVudOPtQ6VQg" outgoing="__WCgJZcDEeKVudOPtQ6VQg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="__WCfnJcDEeKVudOPtQ6VQg" target="__WCflZcDEeKVudOPtQ6VQg" source="__WCfmJcDEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:ForkNode" xmi:id="__WCflZcDEeKVudOPtQ6VQg" name="Fork(activityName)@bed88b" incoming="__WCfnJcDEeKVudOPtQ6VQg" outgoing="__WCgI5cDEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="__WCflpcDEeKVudOPtQ6VQg" name="RightHandSide@17aa9c1">
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="__WCfl5cDEeKVudOPtQ6VQg" name="Value(&quot;AssertEquals&quot;)">
+ <result xmi:id="__WCfmJcDEeKVudOPtQ6VQg" name="Value(&quot;AssertEquals&quot;).result" outgoing="__WCfnJcDEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCfmZcDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCfmpcDEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralString" xmi:id="__WCfm5cDEeKVudOPtQ6VQg" value="AssertEquals">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </value>
+ </node>
+ </node>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="__WCfnZcDEeKVudOPtQ6VQg" name="ExpressionStatement@be387b" incoming="__WCgJZcDEeKVudOPtQ6VQg" outgoing="__WCgJpcDEeKVudOPtQ6VQg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="__WCfu5cDEeKVudOPtQ6VQg" target="__WCfn5cDEeKVudOPtQ6VQg" source="__WCft5cDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="__WCfvJcDEeKVudOPtQ6VQg" target="__WCfnpcDEeKVudOPtQ6VQg" source="__WCfpZcDEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="__WCfnpcDEeKVudOPtQ6VQg" name="Call(WriteLine)" incoming="__WCfvJcDEeKVudOPtQ6VQg">
+ <argument xmi:id="__WCfn5cDEeKVudOPtQ6VQg" name="Call(WriteLine).argument(value)" incoming="__WCfu5cDEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCfoJcDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCfoZcDEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <result xmi:id="__WCfopcDEeKVudOPtQ6VQg" name="Call(WriteLine).result(errorStatus)">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCfo5cDEeKVudOPtQ6VQg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCfpJcDEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:Activity" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#BasicInputOutput-WriteLine"/>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="__WCfpZcDEeKVudOPtQ6VQg" name="Tuple@b2b8a4" outgoing="__WCfvJcDEeKVudOPtQ6VQg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="__WCfupcDEeKVudOPtQ6VQg" target="__WCfsZcDEeKVudOPtQ6VQg" source="__WCfrZcDEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="__WCfppcDEeKVudOPtQ6VQg" name="Call(Concat)">
+ <argument xmi:id="__WCfp5cDEeKVudOPtQ6VQg" name="Call(Concat).argument(x)" incoming="__WCgIpcDEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCfqJcDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCfqZcDEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <argument xmi:id="__WCfqpcDEeKVudOPtQ6VQg" name="Call(Concat).argument(y)" incoming="__WCgI5cDEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCfq5cDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCfrJcDEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <result xmi:id="__WCfrZcDEeKVudOPtQ6VQg" name="Call(Concat).result(result)" outgoing="__WCfupcDEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCfrpcDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCfr5cDEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:FunctionBehavior" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#PrimitiveBehaviors-StringFunctions-Concat"/>
+ </node>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="__WCfsJcDEeKVudOPtQ6VQg" name="Call(Concat)">
+ <argument xmi:id="__WCfsZcDEeKVudOPtQ6VQg" name="Call(Concat).argument(x)" incoming="__WCfupcDEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCfspcDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCfs5cDEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <argument xmi:id="__WCftJcDEeKVudOPtQ6VQg" name="Call(Concat).argument(y)" incoming="__WCgJJcDEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCftZcDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCftpcDEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <result xmi:id="__WCft5cDEeKVudOPtQ6VQg" name="Call(Concat).result(result)" outgoing="__WCfu5cDEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCfuJcDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCfuZcDEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:FunctionBehavior" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#PrimitiveBehaviors-StringFunctions-Concat"/>
+ </node>
+ </node>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="__WCfvZcDEeKVudOPtQ6VQg" name="ExpressionStatement@624779" incoming="__WCgJpcDEeKVudOPtQ6VQg" outgoing="__WCgJ5cDEeKVudOPtQ6VQg">
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="__WCfvpcDEeKVudOPtQ6VQg" name="Call(TestAssertEquals)" behavior="_oUPBMJGLEeKaY7tSssHhGw"/>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="__WCfv5cDEeKVudOPtQ6VQg" name="ExpressionStatement@e939d4" incoming="__WCgJ5cDEeKVudOPtQ6VQg" outgoing="__WCgKJcDEeKVudOPtQ6VQg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="__WCfzZcDEeKVudOPtQ6VQg" target="__WCfwZcDEeKVudOPtQ6VQg" source="__WCfyZcDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="__WCfzpcDEeKVudOPtQ6VQg" target="__WCfwJcDEeKVudOPtQ6VQg" source="__WCfx5cDEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="__WCfwJcDEeKVudOPtQ6VQg" name="Call(WriteLine)" incoming="__WCfzpcDEeKVudOPtQ6VQg">
+ <argument xmi:id="__WCfwZcDEeKVudOPtQ6VQg" name="Call(WriteLine).argument(value)" incoming="__WCfzZcDEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCfwpcDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCfw5cDEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <result xmi:id="__WCfxJcDEeKVudOPtQ6VQg" name="Call(WriteLine).result(errorStatus)">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCfxZcDEeKVudOPtQ6VQg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCfxpcDEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:Activity" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#BasicInputOutput-WriteLine"/>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="__WCfx5cDEeKVudOPtQ6VQg" name="Tuple@19fe454" outgoing="__WCfzpcDEeKVudOPtQ6VQg">
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="__WCfyJcDEeKVudOPtQ6VQg" name="Value(&quot;&quot;)">
+ <result xmi:id="__WCfyZcDEeKVudOPtQ6VQg" name="Value(&quot;&quot;).result" outgoing="__WCfzZcDEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCfypcDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCfy5cDEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralString" xmi:id="__WCfzJcDEeKVudOPtQ6VQg" value="">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </value>
+ </node>
+ </node>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="__WCfz5cDEeKVudOPtQ6VQg" name="ExpressionStatement@7e2772" incoming="__WCgKJcDEeKVudOPtQ6VQg" outgoing="__WCgLJcDEeKVudOPtQ6VQg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="__WCf15cDEeKVudOPtQ6VQg" target="__WCf0JcDEeKVudOPtQ6VQg" source="__WCf05cDEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:ForkNode" xmi:id="__WCf0JcDEeKVudOPtQ6VQg" name="Fork(activityName)@c8d2ed" incoming="__WCf15cDEeKVudOPtQ6VQg" outgoing="__WCgKpcDEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="__WCf0ZcDEeKVudOPtQ6VQg" name="RightHandSide@8fdfa7">
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="__WCf0pcDEeKVudOPtQ6VQg" name="Value(&quot;AssertList&quot;)">
+ <result xmi:id="__WCf05cDEeKVudOPtQ6VQg" name="Value(&quot;AssertList&quot;).result" outgoing="__WCf15cDEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCf1JcDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCf1ZcDEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralString" xmi:id="__WCf1pcDEeKVudOPtQ6VQg" value="AssertList">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </value>
+ </node>
+ </node>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="__WCf2JcDEeKVudOPtQ6VQg" name="ExpressionStatement@12f4183" incoming="__WCgLJcDEeKVudOPtQ6VQg" outgoing="__WCgLZcDEeKVudOPtQ6VQg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="__WCf9pcDEeKVudOPtQ6VQg" target="__WCf2pcDEeKVudOPtQ6VQg" source="__WCf8pcDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="__WCf95cDEeKVudOPtQ6VQg" target="__WCf2ZcDEeKVudOPtQ6VQg" source="__WCf4JcDEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="__WCf2ZcDEeKVudOPtQ6VQg" name="Call(WriteLine)" incoming="__WCf95cDEeKVudOPtQ6VQg">
+ <argument xmi:id="__WCf2pcDEeKVudOPtQ6VQg" name="Call(WriteLine).argument(value)" incoming="__WCf9pcDEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCf25cDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCf3JcDEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <result xmi:id="__WCf3ZcDEeKVudOPtQ6VQg" name="Call(WriteLine).result(errorStatus)">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCf3pcDEeKVudOPtQ6VQg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCf35cDEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:Activity" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#BasicInputOutput-WriteLine"/>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="__WCf4JcDEeKVudOPtQ6VQg" name="Tuple@1c68f60" outgoing="__WCf95cDEeKVudOPtQ6VQg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="__WCf9ZcDEeKVudOPtQ6VQg" target="__WCf7JcDEeKVudOPtQ6VQg" source="__WCf6JcDEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="__WCf4ZcDEeKVudOPtQ6VQg" name="Call(Concat)">
+ <argument xmi:id="__WCf4pcDEeKVudOPtQ6VQg" name="Call(Concat).argument(x)" incoming="__WCgKZcDEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCf45cDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCf5JcDEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <argument xmi:id="__WCf5ZcDEeKVudOPtQ6VQg" name="Call(Concat).argument(y)" incoming="__WCgKpcDEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCf5pcDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCf55cDEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <result xmi:id="__WCf6JcDEeKVudOPtQ6VQg" name="Call(Concat).result(result)" outgoing="__WCf9ZcDEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCf6ZcDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCf6pcDEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:FunctionBehavior" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#PrimitiveBehaviors-StringFunctions-Concat"/>
+ </node>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="__WCf65cDEeKVudOPtQ6VQg" name="Call(Concat)">
+ <argument xmi:id="__WCf7JcDEeKVudOPtQ6VQg" name="Call(Concat).argument(x)" incoming="__WCf9ZcDEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCf7ZcDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCf7pcDEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <argument xmi:id="__WCf75cDEeKVudOPtQ6VQg" name="Call(Concat).argument(y)" incoming="__WCgK5cDEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCf8JcDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCf8ZcDEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <result xmi:id="__WCf8pcDEeKVudOPtQ6VQg" name="Call(Concat).result(result)" outgoing="__WCf9pcDEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCf85cDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCf9JcDEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:FunctionBehavior" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#PrimitiveBehaviors-StringFunctions-Concat"/>
+ </node>
+ </node>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="__WCf-JcDEeKVudOPtQ6VQg" name="ExpressionStatement@18533db" incoming="__WCgLZcDEeKVudOPtQ6VQg" outgoing="__WCgLpcDEeKVudOPtQ6VQg">
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="__WCf-ZcDEeKVudOPtQ6VQg" name="Call(TestAssertList)" behavior="_qCxx8JcCEeKVudOPtQ6VQg"/>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="__WCf-pcDEeKVudOPtQ6VQg" name="ExpressionStatement@ad9377" incoming="__WCgLpcDEeKVudOPtQ6VQg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="__WCgCJcDEeKVudOPtQ6VQg" target="__WCf_JcDEeKVudOPtQ6VQg" source="__WCgBJcDEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="__WCgCZcDEeKVudOPtQ6VQg" target="__WCf-5cDEeKVudOPtQ6VQg" source="__WCgApcDEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="__WCf-5cDEeKVudOPtQ6VQg" name="Call(WriteLine)" incoming="__WCgCZcDEeKVudOPtQ6VQg">
+ <argument xmi:id="__WCf_JcDEeKVudOPtQ6VQg" name="Call(WriteLine).argument(value)" incoming="__WCgCJcDEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCf_ZcDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCf_pcDEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <result xmi:id="__WCf_5cDEeKVudOPtQ6VQg" name="Call(WriteLine).result(errorStatus)">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCgAJcDEeKVudOPtQ6VQg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCgAZcDEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:Activity" href="pathmap://PAPYRUS_fUML_LIBRARY/fUML_Library.uml#BasicInputOutput-WriteLine"/>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="__WCgApcDEeKVudOPtQ6VQg" name="Tuple@18d4181" outgoing="__WCgCZcDEeKVudOPtQ6VQg">
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="__WCgA5cDEeKVudOPtQ6VQg" name="Value(&quot;&quot;)">
+ <result xmi:id="__WCgBJcDEeKVudOPtQ6VQg" name="Value(&quot;&quot;).result" outgoing="__WCgCJcDEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__WCgBZcDEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__WCgBpcDEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralString" xmi:id="__WCgB5cDEeKVudOPtQ6VQg" value="">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </value>
+ </node>
+ </node>
+ </node>
+ </structuredNode>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Activity" xmi:id="_qCxx8JcCEeKVudOPtQ6VQg" name="TestAssertList" node="_bCWNwJcEEeKVudOPtQ6VQg" group="_bCWNwJcEEeKVudOPtQ6VQg">
+ <ownedComment xmi:id="_dnoDzJcDEeKVudOPtQ6VQg">
+ <body>/* Generated textual representation of Activity AssertionLibrary::Tests::TestAssertList */&#xD;
+&#xD;
+namespace AssertionLibrary::Tests ;&#xD;
+&#xD;
+activity TestAssertList() { &#xD;
+ Integer[] list1 = {1, 2, 3, 4} ;&#xD;
+ Integer[] list2 = {1, 2, 3, 4} ;&#xD;
+ AssertList(&quot;{1, 2, 3, 4} vs. {1, 2, 3, 4} &quot;, list1, list2) ;&#xD;
+ &#xD;
+ Integer[] list3 = {1, 2, 7, 4, 8} ;&#xD;
+ AssertList(&quot;{1, 2, 3, 4} vs. {1, 2, 7, 4, 8} &quot;, list1, list3) ;&#xD;
+}</body>
+ </ownedComment>
+ <structuredNode xmi:id="_bCWNwJcEEeKVudOPtQ6VQg" name="Body(TestAssertList)">
+ <edge xmi:type="uml:ControlFlow" xmi:id="_bCWOcJcEEeKVudOPtQ6VQg" target="_bCWN7pcEEeKVudOPtQ6VQg" source="_bCWNwZcEEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_bCWOcZcEEeKVudOPtQ6VQg" target="_bCWOHZcEEeKVudOPtQ6VQg" source="_bCWNxJcEEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_bCWOcpcEEeKVudOPtQ6VQg" target="_bCWOIJcEEeKVudOPtQ6VQg" source="_bCWN8ZcEEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_bCWOc5cEEeKVudOPtQ6VQg" target="_bCWOGJcEEeKVudOPtQ6VQg" source="_bCWN7pcEEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_bCWOdJcEEeKVudOPtQ6VQg" target="_bCWOK5cEEeKVudOPtQ6VQg" source="_bCWOGJcEEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_bCWOdZcEEeKVudOPtQ6VQg" target="_bCWOYpcEEeKVudOPtQ6VQg" source="_bCWNxpcEEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_bCWOdpcEEeKVudOPtQ6VQg" target="_bCWOZZcEEeKVudOPtQ6VQg" source="_bCWOLpcEEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_bCWOd5cEEeKVudOPtQ6VQg" target="_bCWOXZcEEeKVudOPtQ6VQg" source="_bCWOK5cEEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_bCWNwZcEEeKVudOPtQ6VQg" name="LocalNameDeclarationStatement@1400aa1" outgoing="_bCWOcJcEEeKVudOPtQ6VQg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_bCWN65cEEeKVudOPtQ6VQg" target="_bCWNwpcEEeKVudOPtQ6VQg" source="_bCWN4ZcEEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_bCWN7JcEEeKVudOPtQ6VQg" target="_bCWNxJcEEeKVudOPtQ6VQg" source="_bCWN4ZcEEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_bCWN7ZcEEeKVudOPtQ6VQg" target="_bCWNxpcEEeKVudOPtQ6VQg" source="_bCWN4ZcEEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:ForkNode" xmi:id="_bCWNwpcEEeKVudOPtQ6VQg" name="Fork(list1)@1202d4" incoming="_bCWN65cEEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_bCWNw5cEEeKVudOPtQ6VQg" name="RightHandSide@17a0709"/>
+ <node xmi:type="uml:ForkNode" xmi:id="_bCWNxJcEEeKVudOPtQ6VQg" name="Fork(list1)@5bbfa4" incoming="_bCWN7JcEEeKVudOPtQ6VQg" outgoing="_bCWOcZcEEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_bCWNxZcEEeKVudOPtQ6VQg" name="RightHandSide@17a0709"/>
+ <node xmi:type="uml:ForkNode" xmi:id="_bCWNxpcEEeKVudOPtQ6VQg" name="Fork(list1)@17bc2dd" incoming="_bCWN7ZcEEeKVudOPtQ6VQg" outgoing="_bCWOdZcEEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_bCWNx5cEEeKVudOPtQ6VQg" name="RightHandSide@17a0709">
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_bCWNyJcEEeKVudOPtQ6VQg" name="SequenceConstructionExpression@17a0709">
+ <edge xmi:type="uml:ControlFlow" xmi:id="_bCWN5JcEEeKVudOPtQ6VQg" target="_bCWNz5cEEeKVudOPtQ6VQg" source="_bCWNyZcEEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_bCWN5ZcEEeKVudOPtQ6VQg" target="_bCWN1ZcEEeKVudOPtQ6VQg" source="_bCWNz5cEEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_bCWN5pcEEeKVudOPtQ6VQg" target="_bCWN25cEEeKVudOPtQ6VQg" source="_bCWN1ZcEEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_bCWN55cEEeKVudOPtQ6VQg" target="_bCWN4ZcEEeKVudOPtQ6VQg" source="_bCWNy5cEEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_bCWN6JcEEeKVudOPtQ6VQg" target="_bCWN4ZcEEeKVudOPtQ6VQg" source="_bCWN0ZcEEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_bCWN6ZcEEeKVudOPtQ6VQg" target="_bCWN4ZcEEeKVudOPtQ6VQg" source="_bCWN15cEEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_bCWN6pcEEeKVudOPtQ6VQg" target="_bCWN4ZcEEeKVudOPtQ6VQg" source="_bCWN3ZcEEeKVudOPtQ6VQg"/>
+ <structuredNodeOutput xmi:id="_bCWN4ZcEEeKVudOPtQ6VQg" name="SequenceConstructionExpression@17a0709.output" incoming="_bCWN55cEEeKVudOPtQ6VQg _bCWN6JcEEeKVudOPtQ6VQg _bCWN6ZcEEeKVudOPtQ6VQg _bCWN6pcEEeKVudOPtQ6VQg" outgoing="_bCWN65cEEeKVudOPtQ6VQg _bCWN7JcEEeKVudOPtQ6VQg _bCWN7ZcEEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_bCWN4pcEEeKVudOPtQ6VQg" value="4"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_bCWN45cEEeKVudOPtQ6VQg" value="4"/>
+ </structuredNodeOutput>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_bCWNyZcEEeKVudOPtQ6VQg" name="SequenceExpressionList@57286c#1" outgoing="_bCWN5JcEEeKVudOPtQ6VQg">
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_bCWNypcEEeKVudOPtQ6VQg" name="Value(1)">
+ <result xmi:id="_bCWNy5cEEeKVudOPtQ6VQg" name="Value(1).result" outgoing="_bCWN55cEEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_bCWNzJcEEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_bCWNzZcEEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralInteger" xmi:id="_bCWNzpcEEeKVudOPtQ6VQg" value="1">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ </value>
+ </node>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_bCWNz5cEEeKVudOPtQ6VQg" name="SequenceExpressionList@57286c#2" incoming="_bCWN5JcEEeKVudOPtQ6VQg" outgoing="_bCWN5ZcEEeKVudOPtQ6VQg">
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_bCWN0JcEEeKVudOPtQ6VQg" name="Value(2)">
+ <result xmi:id="_bCWN0ZcEEeKVudOPtQ6VQg" name="Value(2).result" outgoing="_bCWN6JcEEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_bCWN0pcEEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_bCWN05cEEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralInteger" xmi:id="_bCWN1JcEEeKVudOPtQ6VQg" value="2">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ </value>
+ </node>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_bCWN1ZcEEeKVudOPtQ6VQg" name="SequenceExpressionList@57286c#3" incoming="_bCWN5ZcEEeKVudOPtQ6VQg" outgoing="_bCWN5pcEEeKVudOPtQ6VQg">
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_bCWN1pcEEeKVudOPtQ6VQg" name="Value(3)">
+ <result xmi:id="_bCWN15cEEeKVudOPtQ6VQg" name="Value(3).result" outgoing="_bCWN6ZcEEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_bCWN2JcEEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_bCWN2ZcEEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralInteger" xmi:id="_bCWN2pcEEeKVudOPtQ6VQg" value="3">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ </value>
+ </node>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_bCWN25cEEeKVudOPtQ6VQg" name="SequenceExpressionList@57286c#4" incoming="_bCWN5pcEEeKVudOPtQ6VQg">
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_bCWN3JcEEeKVudOPtQ6VQg" name="Value(4)">
+ <result xmi:id="_bCWN3ZcEEeKVudOPtQ6VQg" name="Value(4).result" outgoing="_bCWN6pcEEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_bCWN3pcEEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_bCWN35cEEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralInteger" xmi:id="_bCWN4JcEEeKVudOPtQ6VQg" value="4">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ </value>
+ </node>
+ </node>
+ </node>
+ </node>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_bCWN7pcEEeKVudOPtQ6VQg" name="LocalNameDeclarationStatement@1da4433" incoming="_bCWOcJcEEeKVudOPtQ6VQg" outgoing="_bCWOc5cEEeKVudOPtQ6VQg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_bCWOFpcEEeKVudOPtQ6VQg" target="_bCWN75cEEeKVudOPtQ6VQg" source="_bCWODJcEEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_bCWOF5cEEeKVudOPtQ6VQg" target="_bCWN8ZcEEeKVudOPtQ6VQg" source="_bCWODJcEEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:ForkNode" xmi:id="_bCWN75cEEeKVudOPtQ6VQg" name="Fork(list2)@1db09c1" incoming="_bCWOFpcEEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_bCWN8JcEEeKVudOPtQ6VQg" name="RightHandSide@b3744c"/>
+ <node xmi:type="uml:ForkNode" xmi:id="_bCWN8ZcEEeKVudOPtQ6VQg" name="Fork(list2)@2d0c5b" incoming="_bCWOF5cEEeKVudOPtQ6VQg" outgoing="_bCWOcpcEEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_bCWN8pcEEeKVudOPtQ6VQg" name="RightHandSide@b3744c">
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_bCWN85cEEeKVudOPtQ6VQg" name="SequenceConstructionExpression@b3744c">
+ <edge xmi:type="uml:ControlFlow" xmi:id="_bCWOD5cEEeKVudOPtQ6VQg" target="_bCWN-pcEEeKVudOPtQ6VQg" source="_bCWN9JcEEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_bCWOEJcEEeKVudOPtQ6VQg" target="_bCWOAJcEEeKVudOPtQ6VQg" source="_bCWN-pcEEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_bCWOEZcEEeKVudOPtQ6VQg" target="_bCWOBpcEEeKVudOPtQ6VQg" source="_bCWOAJcEEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_bCWOEpcEEeKVudOPtQ6VQg" target="_bCWODJcEEeKVudOPtQ6VQg" source="_bCWN9pcEEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_bCWOE5cEEeKVudOPtQ6VQg" target="_bCWODJcEEeKVudOPtQ6VQg" source="_bCWN_JcEEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_bCWOFJcEEeKVudOPtQ6VQg" target="_bCWODJcEEeKVudOPtQ6VQg" source="_bCWOApcEEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_bCWOFZcEEeKVudOPtQ6VQg" target="_bCWODJcEEeKVudOPtQ6VQg" source="_bCWOCJcEEeKVudOPtQ6VQg"/>
+ <structuredNodeOutput xmi:id="_bCWODJcEEeKVudOPtQ6VQg" name="SequenceConstructionExpression@b3744c.output" incoming="_bCWOEpcEEeKVudOPtQ6VQg _bCWOE5cEEeKVudOPtQ6VQg _bCWOFJcEEeKVudOPtQ6VQg _bCWOFZcEEeKVudOPtQ6VQg" outgoing="_bCWOFpcEEeKVudOPtQ6VQg _bCWOF5cEEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_bCWODZcEEeKVudOPtQ6VQg" value="4"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_bCWODpcEEeKVudOPtQ6VQg" value="4"/>
+ </structuredNodeOutput>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_bCWN9JcEEeKVudOPtQ6VQg" name="SequenceExpressionList@182e06a#1" outgoing="_bCWOD5cEEeKVudOPtQ6VQg">
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_bCWN9ZcEEeKVudOPtQ6VQg" name="Value(1)">
+ <result xmi:id="_bCWN9pcEEeKVudOPtQ6VQg" name="Value(1).result" outgoing="_bCWOEpcEEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_bCWN95cEEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_bCWN-JcEEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralInteger" xmi:id="_bCWN-ZcEEeKVudOPtQ6VQg" value="1">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ </value>
+ </node>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_bCWN-pcEEeKVudOPtQ6VQg" name="SequenceExpressionList@182e06a#2" incoming="_bCWOD5cEEeKVudOPtQ6VQg" outgoing="_bCWOEJcEEeKVudOPtQ6VQg">
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_bCWN-5cEEeKVudOPtQ6VQg" name="Value(2)">
+ <result xmi:id="_bCWN_JcEEeKVudOPtQ6VQg" name="Value(2).result" outgoing="_bCWOE5cEEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_bCWN_ZcEEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_bCWN_pcEEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralInteger" xmi:id="_bCWN_5cEEeKVudOPtQ6VQg" value="2">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ </value>
+ </node>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_bCWOAJcEEeKVudOPtQ6VQg" name="SequenceExpressionList@182e06a#3" incoming="_bCWOEJcEEeKVudOPtQ6VQg" outgoing="_bCWOEZcEEeKVudOPtQ6VQg">
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_bCWOAZcEEeKVudOPtQ6VQg" name="Value(3)">
+ <result xmi:id="_bCWOApcEEeKVudOPtQ6VQg" name="Value(3).result" outgoing="_bCWOFJcEEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_bCWOA5cEEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_bCWOBJcEEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralInteger" xmi:id="_bCWOBZcEEeKVudOPtQ6VQg" value="3">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ </value>
+ </node>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_bCWOBpcEEeKVudOPtQ6VQg" name="SequenceExpressionList@182e06a#4" incoming="_bCWOEZcEEeKVudOPtQ6VQg">
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_bCWOB5cEEeKVudOPtQ6VQg" name="Value(4)">
+ <result xmi:id="_bCWOCJcEEeKVudOPtQ6VQg" name="Value(4).result" outgoing="_bCWOFZcEEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_bCWOCZcEEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_bCWOCpcEEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralInteger" xmi:id="_bCWOC5cEEeKVudOPtQ6VQg" value="4">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ </value>
+ </node>
+ </node>
+ </node>
+ </node>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_bCWOGJcEEeKVudOPtQ6VQg" name="ExpressionStatement@16d310e" incoming="_bCWOc5cEEeKVudOPtQ6VQg" outgoing="_bCWOdJcEEeKVudOPtQ6VQg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_bCWOKZcEEeKVudOPtQ6VQg" target="_bCWOGpcEEeKVudOPtQ6VQg" source="_bCWOJZcEEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_bCWOKpcEEeKVudOPtQ6VQg" target="_bCWOGZcEEeKVudOPtQ6VQg" source="_bCWOI5cEEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_bCWOGZcEEeKVudOPtQ6VQg" name="Call(AssertList)" incoming="_bCWOKpcEEeKVudOPtQ6VQg" behavior="_-Y3PAIgUEeKtquXykzQHVw">
+ <argument xmi:id="_bCWOGpcEEeKVudOPtQ6VQg" name="Call(AssertList).argument(label)" incoming="_bCWOKZcEEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_bCWOG5cEEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_bCWOHJcEEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <argument xmi:id="_bCWOHZcEEeKVudOPtQ6VQg" name="Call(AssertList).argument(list)" incoming="_bCWOcZcEEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_bCWOHpcEEeKVudOPtQ6VQg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_bCWOH5cEEeKVudOPtQ6VQg" value="*"/>
+ </argument>
+ <argument xmi:id="_bCWOIJcEEeKVudOPtQ6VQg" name="Call(AssertList).argument(expected)" incoming="_bCWOcpcEEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_bCWOIZcEEeKVudOPtQ6VQg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_bCWOIpcEEeKVudOPtQ6VQg" value="*"/>
+ </argument>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_bCWOI5cEEeKVudOPtQ6VQg" name="Tuple@1980745" outgoing="_bCWOKpcEEeKVudOPtQ6VQg">
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_bCWOJJcEEeKVudOPtQ6VQg" name="Value(&quot;{1, 2, 3, 4} vs. {1, 2, 3, 4} &quot;)">
+ <result xmi:id="_bCWOJZcEEeKVudOPtQ6VQg" name="Value(&quot;{1, 2, 3, 4} vs. {1, 2, 3, 4} &quot;).result" outgoing="_bCWOKZcEEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_bCWOJpcEEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_bCWOJ5cEEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralString" xmi:id="_bCWOKJcEEeKVudOPtQ6VQg" value="{1, 2, 3, 4} vs. {1, 2, 3, 4} ">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </value>
+ </node>
+ </node>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_bCWOK5cEEeKVudOPtQ6VQg" name="LocalNameDeclarationStatement@1a0e27b" incoming="_bCWOdJcEEeKVudOPtQ6VQg" outgoing="_bCWOd5cEEeKVudOPtQ6VQg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_bCWOW5cEEeKVudOPtQ6VQg" target="_bCWOLJcEEeKVudOPtQ6VQg" source="_bCWOT5cEEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_bCWOXJcEEeKVudOPtQ6VQg" target="_bCWOLpcEEeKVudOPtQ6VQg" source="_bCWOT5cEEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:ForkNode" xmi:id="_bCWOLJcEEeKVudOPtQ6VQg" name="Fork(list3)@19783d9" incoming="_bCWOW5cEEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_bCWOLZcEEeKVudOPtQ6VQg" name="RightHandSide@1751f00"/>
+ <node xmi:type="uml:ForkNode" xmi:id="_bCWOLpcEEeKVudOPtQ6VQg" name="Fork(list3)@1cd4150" incoming="_bCWOXJcEEeKVudOPtQ6VQg" outgoing="_bCWOdpcEEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_bCWOL5cEEeKVudOPtQ6VQg" name="RightHandSide@1751f00">
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_bCWOMJcEEeKVudOPtQ6VQg" name="SequenceConstructionExpression@1751f00">
+ <edge xmi:type="uml:ControlFlow" xmi:id="_bCWOUpcEEeKVudOPtQ6VQg" target="_bCWON5cEEeKVudOPtQ6VQg" source="_bCWOMZcEEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_bCWOU5cEEeKVudOPtQ6VQg" target="_bCWOPZcEEeKVudOPtQ6VQg" source="_bCWON5cEEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_bCWOVJcEEeKVudOPtQ6VQg" target="_bCWOQ5cEEeKVudOPtQ6VQg" source="_bCWOPZcEEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_bCWOVZcEEeKVudOPtQ6VQg" target="_bCWOSZcEEeKVudOPtQ6VQg" source="_bCWOQ5cEEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_bCWOVpcEEeKVudOPtQ6VQg" target="_bCWOT5cEEeKVudOPtQ6VQg" source="_bCWOM5cEEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_bCWOV5cEEeKVudOPtQ6VQg" target="_bCWOT5cEEeKVudOPtQ6VQg" source="_bCWOOZcEEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_bCWOWJcEEeKVudOPtQ6VQg" target="_bCWOT5cEEeKVudOPtQ6VQg" source="_bCWOP5cEEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_bCWOWZcEEeKVudOPtQ6VQg" target="_bCWOT5cEEeKVudOPtQ6VQg" source="_bCWORZcEEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_bCWOWpcEEeKVudOPtQ6VQg" target="_bCWOT5cEEeKVudOPtQ6VQg" source="_bCWOS5cEEeKVudOPtQ6VQg"/>
+ <structuredNodeOutput xmi:id="_bCWOT5cEEeKVudOPtQ6VQg" name="SequenceConstructionExpression@1751f00.output" incoming="_bCWOVpcEEeKVudOPtQ6VQg _bCWOV5cEEeKVudOPtQ6VQg _bCWOWJcEEeKVudOPtQ6VQg _bCWOWZcEEeKVudOPtQ6VQg _bCWOWpcEEeKVudOPtQ6VQg" outgoing="_bCWOW5cEEeKVudOPtQ6VQg _bCWOXJcEEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_bCWOUJcEEeKVudOPtQ6VQg" value="5"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_bCWOUZcEEeKVudOPtQ6VQg" value="5"/>
+ </structuredNodeOutput>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_bCWOMZcEEeKVudOPtQ6VQg" name="SequenceExpressionList@18ed106#1" outgoing="_bCWOUpcEEeKVudOPtQ6VQg">
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_bCWOMpcEEeKVudOPtQ6VQg" name="Value(1)">
+ <result xmi:id="_bCWOM5cEEeKVudOPtQ6VQg" name="Value(1).result" outgoing="_bCWOVpcEEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_bCWONJcEEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_bCWONZcEEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralInteger" xmi:id="_bCWONpcEEeKVudOPtQ6VQg" value="1">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ </value>
+ </node>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_bCWON5cEEeKVudOPtQ6VQg" name="SequenceExpressionList@18ed106#2" incoming="_bCWOUpcEEeKVudOPtQ6VQg" outgoing="_bCWOU5cEEeKVudOPtQ6VQg">
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_bCWOOJcEEeKVudOPtQ6VQg" name="Value(2)">
+ <result xmi:id="_bCWOOZcEEeKVudOPtQ6VQg" name="Value(2).result" outgoing="_bCWOV5cEEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_bCWOOpcEEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_bCWOO5cEEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralInteger" xmi:id="_bCWOPJcEEeKVudOPtQ6VQg" value="2">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ </value>
+ </node>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_bCWOPZcEEeKVudOPtQ6VQg" name="SequenceExpressionList@18ed106#3" incoming="_bCWOU5cEEeKVudOPtQ6VQg" outgoing="_bCWOVJcEEeKVudOPtQ6VQg">
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_bCWOPpcEEeKVudOPtQ6VQg" name="Value(7)">
+ <result xmi:id="_bCWOP5cEEeKVudOPtQ6VQg" name="Value(7).result" outgoing="_bCWOWJcEEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_bCWOQJcEEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_bCWOQZcEEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralInteger" xmi:id="_bCWOQpcEEeKVudOPtQ6VQg" value="7">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ </value>
+ </node>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_bCWOQ5cEEeKVudOPtQ6VQg" name="SequenceExpressionList@18ed106#4" incoming="_bCWOVJcEEeKVudOPtQ6VQg" outgoing="_bCWOVZcEEeKVudOPtQ6VQg">
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_bCWORJcEEeKVudOPtQ6VQg" name="Value(4)">
+ <result xmi:id="_bCWORZcEEeKVudOPtQ6VQg" name="Value(4).result" outgoing="_bCWOWZcEEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_bCWORpcEEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_bCWOR5cEEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralInteger" xmi:id="_bCWOSJcEEeKVudOPtQ6VQg" value="4">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ </value>
+ </node>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_bCWOSZcEEeKVudOPtQ6VQg" name="SequenceExpressionList@18ed106#5" incoming="_bCWOVZcEEeKVudOPtQ6VQg">
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_bCWOSpcEEeKVudOPtQ6VQg" name="Value(8)">
+ <result xmi:id="_bCWOS5cEEeKVudOPtQ6VQg" name="Value(8).result" outgoing="_bCWOWpcEEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_bCWOTJcEEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_bCWOTZcEEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralInteger" xmi:id="_bCWOTpcEEeKVudOPtQ6VQg" value="8">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveTypes-Natural"/>
+ </value>
+ </node>
+ </node>
+ </node>
+ </node>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_bCWOXZcEEeKVudOPtQ6VQg" name="ExpressionStatement@1751dbd" incoming="_bCWOd5cEEeKVudOPtQ6VQg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_bCWObpcEEeKVudOPtQ6VQg" target="_bCWOX5cEEeKVudOPtQ6VQg" source="_bCWOapcEEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_bCWOb5cEEeKVudOPtQ6VQg" target="_bCWOXpcEEeKVudOPtQ6VQg" source="_bCWOaJcEEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_bCWOXpcEEeKVudOPtQ6VQg" name="Call(AssertList)" incoming="_bCWOb5cEEeKVudOPtQ6VQg" behavior="_-Y3PAIgUEeKtquXykzQHVw">
+ <argument xmi:id="_bCWOX5cEEeKVudOPtQ6VQg" name="Call(AssertList).argument(label)" incoming="_bCWObpcEEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_bCWOYJcEEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_bCWOYZcEEeKVudOPtQ6VQg" value="1"/>
+ </argument>
+ <argument xmi:id="_bCWOYpcEEeKVudOPtQ6VQg" name="Call(AssertList).argument(list)" incoming="_bCWOdZcEEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_bCWOY5cEEeKVudOPtQ6VQg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_bCWOZJcEEeKVudOPtQ6VQg" value="*"/>
+ </argument>
+ <argument xmi:id="_bCWOZZcEEeKVudOPtQ6VQg" name="Call(AssertList).argument(expected)" incoming="_bCWOdpcEEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_bCWOZpcEEeKVudOPtQ6VQg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_bCWOZ5cEEeKVudOPtQ6VQg" value="*"/>
+ </argument>
+ </node>
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_bCWOaJcEEeKVudOPtQ6VQg" name="Tuple@123e9b2" outgoing="_bCWOb5cEEeKVudOPtQ6VQg">
+ <node xmi:type="uml:ValueSpecificationAction" xmi:id="_bCWOaZcEEeKVudOPtQ6VQg" name="Value(&quot;{1, 2, 3, 4} vs. {1, 2, 7, 4, 8} &quot;)">
+ <result xmi:id="_bCWOapcEEeKVudOPtQ6VQg" name="Value(&quot;{1, 2, 3, 4} vs. {1, 2, 7, 4, 8} &quot;).result" outgoing="_bCWObpcEEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_bCWOa5cEEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_bCWObJcEEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <value xmi:type="uml:LiteralString" xmi:id="_bCWObZcEEeKVudOPtQ6VQg" value="{1, 2, 3, 4} vs. {1, 2, 7, 4, 8} ">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </value>
+ </node>
+ </node>
+ </node>
+ </structuredNode>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Activity" xmi:id="_iPgC4JcCEeKVudOPtQ6VQg" name="$$Alf$Library$CollectionFunctions$size__any__" node="_iPgC7pcCEeKVudOPtQ6VQg _iPgC75cCEeKVudOPtQ6VQg _iPgC8JcCEeKVudOPtQ6VQg _iPgC8ZcCEeKVudOPtQ6VQg _iPgC8pcCEeKVudOPtQ6VQg" group="_iPgC8pcCEeKVudOPtQ6VQg">
+ <ownedParameter xmi:id="_iPgC5JcCEeKVudOPtQ6VQg" name="seq" visibility="package" isOrdered="true" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iPgC5ZcCEeKVudOPtQ6VQg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iPgC5pcCEeKVudOPtQ6VQg" value="*"/>
+ </ownedParameter>
+ <ownedParameter xmi:id="_iPgC55cCEeKVudOPtQ6VQg" name="" visibility="package" direction="return">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iPgC6JcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iPgC6ZcCEeKVudOPtQ6VQg" value="1"/>
+ </ownedParameter>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iPgC6pcCEeKVudOPtQ6VQg" target="_iPgC75cCEeKVudOPtQ6VQg" source="_iPgC7pcCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_iPgC65cCEeKVudOPtQ6VQg" target="_iPgC8ZcCEeKVudOPtQ6VQg" source="_iPgC85cCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iPgC7JcCEeKVudOPtQ6VQg" target="_iPgC9ZcCEeKVudOPtQ6VQg" source="_iPgC75cCEeKVudOPtQ6VQg"/>
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iPgC7ZcCEeKVudOPtQ6VQg" target="_iPgC8JcCEeKVudOPtQ6VQg" source="_iPgC-5cCEeKVudOPtQ6VQg"/>
+ <structuredNode xmi:id="_iPgC8pcCEeKVudOPtQ6VQg" name="Body(size)">
+ <node xmi:type="uml:StructuredActivityNode" xmi:id="_iPgC85cCEeKVudOPtQ6VQg" name="ReturnStatement@22536490" outgoing="_iPgC65cCEeKVudOPtQ6VQg">
+ <edge xmi:type="uml:ObjectFlow" xmi:id="_iPgC_pcCEeKVudOPtQ6VQg" target="_iPgC-5cCEeKVudOPtQ6VQg" source="_iPgC-JcCEeKVudOPtQ6VQg"/>
+ <structuredNodeOutput xmi:id="_iPgC-5cCEeKVudOPtQ6VQg" name="ReturnStatement@22536490.output" incoming="_iPgC_pcCEeKVudOPtQ6VQg" outgoing="_iPgC7ZcCEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iPgC_JcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iPgC_ZcCEeKVudOPtQ6VQg" value="1"/>
+ </structuredNodeOutput>
+ <node xmi:type="uml:CallBehaviorAction" xmi:id="_iPgC9JcCEeKVudOPtQ6VQg" name="Call(Size)">
+ <argument xmi:id="_iPgC9ZcCEeKVudOPtQ6VQg" name="Call(Size).argument(seq)" incoming="_iPgC7JcCEeKVudOPtQ6VQg" isOrdered="true" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iPgC9pcCEeKVudOPtQ6VQg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iPgC95cCEeKVudOPtQ6VQg" value="*"/>
+ </argument>
+ <result xmi:id="_iPgC-JcCEeKVudOPtQ6VQg" name="Call(Size).result()" outgoing="_iPgC_pcCEeKVudOPtQ6VQg">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iPgC-ZcCEeKVudOPtQ6VQg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iPgC-pcCEeKVudOPtQ6VQg" value="1"/>
+ </result>
+ <behavior xmi:type="uml:Activity" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#Alf-Library-PrimitiveBehaviors-SequenceFunctions-Size"/>
+ </node>
+ </node>
+ </structuredNode>
+ <node xmi:type="uml:ActivityParameterNode" xmi:id="_iPgC7pcCEeKVudOPtQ6VQg" name="Input(seq)" outgoing="_iPgC6pcCEeKVudOPtQ6VQg" parameter="_iPgC5JcCEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:ForkNode" xmi:id="_iPgC75cCEeKVudOPtQ6VQg" name="Fork(seq)" incoming="_iPgC6pcCEeKVudOPtQ6VQg" outgoing="_iPgC7JcCEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:ActivityParameterNode" xmi:id="_iPgC8JcCEeKVudOPtQ6VQg" name="Return" incoming="_iPgC7ZcCEeKVudOPtQ6VQg" parameter="_iPgC55cCEeKVudOPtQ6VQg"/>
+ <node xmi:type="uml:ActivityFinalNode" xmi:id="_iPgC8ZcCEeKVudOPtQ6VQg" name="Final" incoming="_iPgC65cCEeKVudOPtQ6VQg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Activity" xmi:id="_iPgC_5cCEeKVudOPtQ6VQg">
+ <templateBinding xmi:id="_iPgDAJcCEeKVudOPtQ6VQg">
+ <parameterSubstitution xmi:id="_iPgDAZcCEeKVudOPtQ6VQg">
+ <formal xmi:type="uml:ClassifierTemplateParameter" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#_JmqbdYVoEeKRrIQMgiVHcQ"/>
+ </parameterSubstitution>
+ <signature xmi:type="uml:RedefinableTemplateSignature" href="pathmap://PAPYRUS_ALF_LIBRARY/Alf.library.uml#_JmqbdIVoEeKRrIQMgiVHcQ"/>
+ </templateBinding>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Realization" xmi:id="_iPgDApcCEeKVudOPtQ6VQg" client="_iPgC4JcCEeKVudOPtQ6VQg" supplier="_iPgC_5cCEeKVudOPtQ6VQg"/>
+ <packagedElement xmi:type="uml:OpaqueBehavior" xmi:id="_42AbkNz9EeONFdeprwPg2A" name="GenerateTestReport"/>
+ <profileApplication xmi:id="_PWUOo4gVEeKtquXykzQHVw">
+ <eAnnotations xmi:id="_PWd_oIgVEeKtquXykzQHVw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="platform:/plugin/org.eclipse.papyrus.alf/resources/ActionLanguage-Profile.profile.uml#_sYse0YZLEeKyw49uR6nx3g"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.papyrus.alf/resources/ActionLanguage-Profile.profile.uml#ActionLanguage"/>
+ </profileApplication>
+ </uml:Model>
+ <ActionLanguage:TextualRepresentation xmi:id="_PYjDQIgVEeKtquXykzQHVw" base_Comment="_PWUOoIgVEeKtquXykzQHVw"/>
+ <ActionLanguage:TextualRepresentation xmi:id="_cKvjYYgVEeKtquXykzQHVw" base_Comment="_cKvjYIgVEeKtquXykzQHVw"/>
+ <ActionLanguage:TextualRepresentation xmi:id="_qGNYsYgVEeKtquXykzQHVw" base_Comment="_qGNYsIgVEeKtquXykzQHVw"/>
+ <ActionLanguage:TextualRepresentation xmi:id="_2i470YgVEeKtquXykzQHVw" base_Comment="_2i470IgVEeKtquXykzQHVw"/>
+ <ActionLanguage:TextualRepresentation xmi:id="_ZaCg4YgWEeKtquXykzQHVw" base_Comment="_ZaCg4IgWEeKtquXykzQHVw"/>
+ <ActionLanguage:TextualRepresentation xmi:id="_9RFEAJGKEeKaY7tSssHhGw" base_Comment="_9Q7TDpGKEeKaY7tSssHhGw"/>
+ <ActionLanguage:TextualRepresentation xmi:id="_QCbqgZGLEeKaY7tSssHhGw" base_Comment="_QCbqgJGLEeKaY7tSssHhGw"/>
+ <ActionLanguage:TextualRepresentation xmi:id="_fY76cZGLEeKaY7tSssHhGw" base_Comment="_fY76cJGLEeKaY7tSssHhGw"/>
+ <ActionLanguage:TextualRepresentation xmi:id="_xyMJoZGLEeKaY7tSssHhGw" base_Comment="_xyMJoJGLEeKaY7tSssHhGw"/>
+ <ActionLanguage:TextualRepresentation xmi:id="_XZzW4JMsEeKsOLt3X9dUzg" base_Comment="_XZhDAJMsEeKsOLt3X9dUzg"/>
+ <ActionLanguage:TextualRepresentation xmi:id="_dnx0YJcDEeKVudOPtQ6VQg" base_Comment="_dnoDzJcDEeKVudOPtQ6VQg"/>
+</xmi:XMI>
diff --git a/org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/Activator.java b/org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/Activator.java
new file mode 100644
index 00000000..1112caa0
--- /dev/null
+++ b/org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/Activator.java
@@ -0,0 +1,43 @@
+/*****************************************************************************
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.moka.fuml.assertionlibrary;
+
+import org.eclipse.core.runtime.Plugin;
+import org.eclipse.papyrus.infra.core.log.LogHelper;
+import org.osgi.framework.BundleContext;
+
+public class Activator extends Plugin {
+
+ public static LogHelper log;
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void start(BundleContext bundleContext) throws Exception {
+ super.start(bundleContext);
+ log = new LogHelper(this);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void stop(BundleContext bundleContext) throws Exception {
+ super.stop(bundleContext);
+ }
+
+}
diff --git a/org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/AssertionLibraryRegistery.java b/org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/AssertionLibraryRegistery.java
new file mode 100644
index 00000000..cfbf6508
--- /dev/null
+++ b/org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/AssertionLibraryRegistery.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.moka.fuml.assertionlibrary;
+
+import org.eclipse.papyrus.moka.fuml.Semantics.Loci.LociL1.Locus;
+import org.eclipse.papyrus.moka.fuml.assertionlibrary.basic.AssertEquals;
+import org.eclipse.papyrus.moka.fuml.assertionlibrary.basic.AssertFalse;
+import org.eclipse.papyrus.moka.fuml.assertionlibrary.basic.AssertList;
+import org.eclipse.papyrus.moka.fuml.assertionlibrary.basic.AssertTrue;
+import org.eclipse.papyrus.moka.fuml.assertionlibrary.reporting.GenerateTestReport;
+import org.eclipse.papyrus.moka.fuml.registry.AbstractOpaqueBehaviorExecutionRegistry;
+
+public class AssertionLibraryRegistery extends AbstractOpaqueBehaviorExecutionRegistry {
+
+ /**
+ * Declared Name of the registered library
+ */
+ public final static String ASSERTION_LIBRARY = "AssertionLibrary";
+
+ /**
+ * List of qualified names of model elements (OpaqueBehavior) representing assertions
+ */
+ public final static String ASSERT_EQUALS = "AssertionLibrary::AssertEquals";
+
+ public final static String ASSERT_FALSE = "AssertionLibrary::AssertFalse";
+
+ public final static String ASSERT_TRUE = "AssertionLibrary::AssertTrue";
+
+ public final static String ASSERT_LIST = "AssertionLibrary::AssertList";
+
+ /**
+ * Qualified name of the OpaqueBehavior responsible for generating a test report"
+ */
+ public final static String GENERATE_TEST_REPORT = "AssertionLibrary::GenerateTestReport";
+
+ @Override
+ /**
+ * Register OpaqueBehaviorExecution implementing the behaviors associated
+ * to OpaqueBehavior assertions
+ */
+ public void registerOpaqueBehaviorExecutions(Locus locus) {
+ this.locus = locus;
+ this.buildOpaqueBehaviorsMap(ASSERTION_LIBRARY);
+ this.registerOpaqueBehaviorExecution(new AssertEquals(), ASSERT_EQUALS);
+ this.registerOpaqueBehaviorExecution(new AssertFalse(), ASSERT_FALSE);
+ this.registerOpaqueBehaviorExecution(new AssertTrue(), ASSERT_TRUE);
+ this.registerOpaqueBehaviorExecution(new AssertList(), ASSERT_LIST);
+ this.registerOpaqueBehaviorExecution(new GenerateTestReport(), GENERATE_TEST_REPORT);
+ }
+}
diff --git a/org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/basic/AssertEquals.java b/org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/basic/AssertEquals.java
new file mode 100644
index 00000000..1d13021c
--- /dev/null
+++ b/org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/basic/AssertEquals.java
@@ -0,0 +1,51 @@
+/*****************************************************************************
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.moka.fuml.assertionlibrary.basic;
+
+import java.util.List;
+
+import org.eclipse.papyrus.moka.fuml.Semantics.Classes.Kernel.StringValue;
+import org.eclipse.papyrus.moka.fuml.Semantics.Classes.Kernel.Value;
+import org.eclipse.papyrus.moka.fuml.Semantics.CommonBehaviors.BasicBehaviors.OpaqueBehaviorExecution;
+import org.eclipse.papyrus.moka.fuml.Semantics.CommonBehaviors.BasicBehaviors.ParameterValue;
+import org.eclipse.papyrus.moka.fuml.assertionlibrary.reporting.Reporter;
+import org.eclipse.papyrus.moka.fuml.assertionlibrary.reporting.TestDecision;
+import org.eclipse.papyrus.moka.fuml.assertionlibrary.reporting.TestReport;
+import org.eclipse.papyrus.moka.fuml.assertionlibrary.utils.AssertionExecutionContextHelper;
+import org.eclipse.uml2.uml.Classifier;
+
+
+public class AssertEquals extends OpaqueBehaviorExecution {
+
+ @Override
+ public void doBody(List<ParameterValue> inputParameters, List<ParameterValue> outputParameters) {
+ Classifier executionContext = AssertionExecutionContextHelper.getExecutionContext(this);
+ StringValue label = (StringValue) inputParameters.get(0).values.get(0);
+ boolean equal = true;
+ if (inputParameters.get(1).values.size() == inputParameters.get(2).values.size()) {
+ Integer i = 0;
+ while (equal == true && i < inputParameters.get(1).values.size()) {
+ equal = inputParameters.get(1).values.get(i).equals(inputParameters.get(2).values.get(i));
+ i++;
+ }
+ } else {
+ equal = false;
+ }
+ Reporter.INSTANCE.add(new TestReport(executionContext != null ? executionContext : null, label.value, equal ? TestDecision.SUCCESS : TestDecision.FAILED, getClass()));
+ }
+
+ @Override
+ public Value new_() {
+ return new AssertEquals();
+ }
+
+}
diff --git a/org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/basic/AssertFalse.java b/org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/basic/AssertFalse.java
new file mode 100644
index 00000000..d38fa445
--- /dev/null
+++ b/org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/basic/AssertFalse.java
@@ -0,0 +1,42 @@
+/*****************************************************************************
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.moka.fuml.assertionlibrary.basic;
+
+import java.util.List;
+
+import org.eclipse.papyrus.moka.fuml.Semantics.Classes.Kernel.BooleanValue;
+import org.eclipse.papyrus.moka.fuml.Semantics.Classes.Kernel.StringValue;
+import org.eclipse.papyrus.moka.fuml.Semantics.Classes.Kernel.Value;
+import org.eclipse.papyrus.moka.fuml.Semantics.CommonBehaviors.BasicBehaviors.OpaqueBehaviorExecution;
+import org.eclipse.papyrus.moka.fuml.Semantics.CommonBehaviors.BasicBehaviors.ParameterValue;
+import org.eclipse.papyrus.moka.fuml.assertionlibrary.reporting.Reporter;
+import org.eclipse.papyrus.moka.fuml.assertionlibrary.reporting.TestDecision;
+import org.eclipse.papyrus.moka.fuml.assertionlibrary.reporting.TestReport;
+import org.eclipse.papyrus.moka.fuml.assertionlibrary.utils.AssertionExecutionContextHelper;
+import org.eclipse.uml2.uml.Classifier;
+
+
+public class AssertFalse extends OpaqueBehaviorExecution {
+
+ @Override
+ public void doBody(List<ParameterValue> inputParameters, List<ParameterValue> outputParameters) {
+ Classifier executionContext = AssertionExecutionContextHelper.getExecutionContext(this);
+ StringValue label = (StringValue) inputParameters.get(0).values.get(0);
+ BooleanValue assertionResult = (BooleanValue) inputParameters.get(1).values.get(0);
+ Reporter.INSTANCE.add(new TestReport(executionContext != null ? executionContext : null, label.value, assertionResult.value == false ? TestDecision.SUCCESS : TestDecision.FAILED, getClass()));
+ }
+
+ @Override
+ public Value new_() {
+ return new AssertFalse();
+ }
+}
diff --git a/org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/basic/AssertList.java b/org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/basic/AssertList.java
new file mode 100644
index 00000000..deb16692
--- /dev/null
+++ b/org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/basic/AssertList.java
@@ -0,0 +1,51 @@
+/*****************************************************************************
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.moka.fuml.assertionlibrary.basic;
+
+import java.util.List;
+
+import org.eclipse.papyrus.moka.fuml.Semantics.Classes.Kernel.StringValue;
+import org.eclipse.papyrus.moka.fuml.Semantics.Classes.Kernel.Value;
+import org.eclipse.papyrus.moka.fuml.Semantics.CommonBehaviors.BasicBehaviors.OpaqueBehaviorExecution;
+import org.eclipse.papyrus.moka.fuml.Semantics.CommonBehaviors.BasicBehaviors.ParameterValue;
+import org.eclipse.papyrus.moka.fuml.assertionlibrary.reporting.Reporter;
+import org.eclipse.papyrus.moka.fuml.assertionlibrary.reporting.TestDecision;
+import org.eclipse.papyrus.moka.fuml.assertionlibrary.reporting.TestReport;
+import org.eclipse.papyrus.moka.fuml.assertionlibrary.utils.AssertionExecutionContextHelper;
+import org.eclipse.uml2.uml.Classifier;
+
+
+public class AssertList extends OpaqueBehaviorExecution {
+
+ @Override
+ public void doBody(List<ParameterValue> inputParameters, List<ParameterValue> outputParameters) {
+ Classifier executionContext = AssertionExecutionContextHelper.getExecutionContext(this);
+ StringValue label = (StringValue) inputParameters.get(0).values.get(0);
+ boolean equal = true;
+ if (inputParameters.get(1).values.size() == inputParameters.get(2).values.size()) {
+ Integer i = 0;
+ while (equal == true && i < inputParameters.get(1).values.size()) {
+ equal = inputParameters.get(1).values.get(i).equals(inputParameters.get(2).values.get(i));
+ i++;
+ }
+ } else {
+ equal = false;
+ }
+ Reporter.INSTANCE.add(new TestReport(executionContext != null ? executionContext : null, label.value, equal ? TestDecision.SUCCESS : TestDecision.FAILED, getClass()));
+ }
+
+ @Override
+ public Value new_() {
+ return new AssertList();
+ }
+
+}
diff --git a/org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/basic/AssertTrue.java b/org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/basic/AssertTrue.java
new file mode 100644
index 00000000..b411e0bf
--- /dev/null
+++ b/org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/basic/AssertTrue.java
@@ -0,0 +1,42 @@
+/*****************************************************************************
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.moka.fuml.assertionlibrary.basic;
+
+import java.util.List;
+
+import org.eclipse.papyrus.moka.fuml.Semantics.Classes.Kernel.BooleanValue;
+import org.eclipse.papyrus.moka.fuml.Semantics.Classes.Kernel.StringValue;
+import org.eclipse.papyrus.moka.fuml.Semantics.Classes.Kernel.Value;
+import org.eclipse.papyrus.moka.fuml.Semantics.CommonBehaviors.BasicBehaviors.OpaqueBehaviorExecution;
+import org.eclipse.papyrus.moka.fuml.Semantics.CommonBehaviors.BasicBehaviors.ParameterValue;
+import org.eclipse.papyrus.moka.fuml.assertionlibrary.reporting.Reporter;
+import org.eclipse.papyrus.moka.fuml.assertionlibrary.reporting.TestDecision;
+import org.eclipse.papyrus.moka.fuml.assertionlibrary.reporting.TestReport;
+import org.eclipse.papyrus.moka.fuml.assertionlibrary.utils.AssertionExecutionContextHelper;
+import org.eclipse.uml2.uml.Classifier;
+
+public class AssertTrue extends OpaqueBehaviorExecution {
+
+ @Override
+ public void doBody(List<ParameterValue> inputParameters, List<ParameterValue> outputParameters) {
+ Classifier executionContext = AssertionExecutionContextHelper.getExecutionContext(this);
+ StringValue label = (StringValue) inputParameters.get(0).values.get(0);
+ BooleanValue assertionResult = (BooleanValue) inputParameters.get(1).values.get(0);
+ Reporter.INSTANCE.add(new TestReport(executionContext != null ? executionContext : null, label.value, assertionResult.value == true ? TestDecision.SUCCESS : TestDecision.FAILED, getClass()));
+ }
+
+ @Override
+ public Value new_() {
+ return new AssertTrue();
+ }
+
+}
diff --git a/org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/reporting/GenerateTestReport.java b/org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/reporting/GenerateTestReport.java
new file mode 100644
index 00000000..2ad427b7
--- /dev/null
+++ b/org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/reporting/GenerateTestReport.java
@@ -0,0 +1,87 @@
+/*****************************************************************************
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.moka.fuml.assertionlibrary.reporting;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.net.URL;
+import java.util.List;
+
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerConfigurationException;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.papyrus.moka.fuml.Semantics.Classes.Kernel.Value;
+import org.eclipse.papyrus.moka.fuml.Semantics.CommonBehaviors.BasicBehaviors.OpaqueBehaviorExecution;
+import org.eclipse.papyrus.moka.fuml.Semantics.CommonBehaviors.BasicBehaviors.ParameterValue;
+import org.eclipse.papyrus.moka.fuml.assertionlibrary.Activator;
+import org.eclipse.papyrus.moka.fuml.assertionlibrary.utils.ReportNameSingleton;
+import org.w3c.dom.Document;
+
+
+public class GenerateTestReport extends OpaqueBehaviorExecution {
+
+ @Override
+ public void doBody(List<ParameterValue> inputParameters, List<ParameterValue> outputParameters) {
+ Document report = null;
+ Transformer transformer = null;
+ TransformerFactory factory = TransformerFactory.newInstance();
+ ReportNameSingleton reportNameSingleton = ReportNameSingleton.getInstance();
+ String reportName = reportNameSingleton.getExecutedActivityName() + reportNameSingleton.getEngineName();
+
+ try {
+ report = Reporter.INSTANCE.getReport();
+ } catch (ParserConfigurationException e) {
+ Activator.log.error(e);
+ }
+
+ try {
+ transformer = factory.newTransformer();
+ } catch (TransformerConfigurationException e) {
+ Activator.log.error(e);
+ }
+ if (transformer != null) {
+ this.writeReport(transformer, report, Platform.getInstanceLocation().getURL(), reportName);
+ // System.out.println(Platform.getInstanceLocation().getURL());
+ }
+ }
+
+ protected boolean writeReport(Transformer transformer, Document report, URL location, String reportName) {
+ File file = new File(location.getPath() + "/" + reportName + ".xml");
+ FileOutputStream out = null;
+ try {
+ out = new FileOutputStream(file, false);
+ } catch (FileNotFoundException e1) {
+ Activator.log.error(e1);
+ return false;
+ }
+ try {
+ transformer.transform(new DOMSource(report), new StreamResult(out));
+ } catch (TransformerException e) {
+ Activator.log.error(e);
+ return false;
+ }
+ return true;
+ }
+
+ @Override
+ public Value new_() {
+ return new GenerateTestReport();
+ }
+
+}
diff --git a/org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/reporting/JUnit.java b/org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/reporting/JUnit.java
new file mode 100644
index 00000000..eff803e1
--- /dev/null
+++ b/org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/reporting/JUnit.java
@@ -0,0 +1,35 @@
+/*****************************************************************************
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.moka.fuml.assertionlibrary.reporting;
+
+
+public class JUnit {
+
+ protected static final String MESSSAGE = "message"; //$NON-NLS-1$
+
+ protected static final String CLASS_NAME = "classname"; //$NON-NLS-1$
+
+ protected static final String NAME = "name"; //$NON-NLS-1$
+
+ protected static final String TYPE = "type"; //$NON-NLS-1$
+
+ protected static final String TIME = "time"; //$NON-NLS-1$
+
+ protected static final String TEST_SUITE = "testsuite"; //$NON-NLS-1$
+
+ protected static final String TEST_CASE = "testcase"; //$NON-NLS-1$
+
+ protected static final String FAILURE = "failure"; //$NON-NLS-1$
+
+ protected static final String REPORTING_SEPARATOR = "$"; //$NON-NLS-1$
+
+}
diff --git a/org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/reporting/Reporter.java b/org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/reporting/Reporter.java
new file mode 100644
index 00000000..f712ac9b
--- /dev/null
+++ b/org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/reporting/Reporter.java
@@ -0,0 +1,87 @@
+/*****************************************************************************
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.moka.fuml.assertionlibrary.reporting;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.eclipse.papyrus.moka.fuml.assertionlibrary.utils.ReportNameSingleton;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
+
+public class Reporter {
+
+ protected List<TestReport> testReports;
+
+ private Reporter() {
+ this.testReports = new ArrayList<TestReport>();
+ }
+
+ public static Reporter INSTANCE = new Reporter();
+
+ public boolean add(TestReport report) {
+ // System.out.println(report);
+ return this.testReports.add(report);
+ }
+
+ public Document getReport() throws ParserConfigurationException {
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ DocumentBuilder builder = factory.newDocumentBuilder();
+ Document xmlReport = builder.newDocument();
+ Element testSuiteNode = xmlReport.createElement(JUnit.TEST_SUITE);
+ ReportNameSingleton reportNameSingleton = ReportNameSingleton.getInstance();
+ String reportName = reportNameSingleton.getExecutedActivityName() + JUnit.REPORTING_SEPARATOR + reportNameSingleton.getEngineName();
+ testSuiteNode.setAttribute(JUnit.NAME, reportName); // TODO
+ for (TestReport t : this.testReports) {
+ testSuiteNode.appendChild(this.toDOMElement(t, xmlReport, reportName));
+ }
+ xmlReport.appendChild(testSuiteNode);
+ this.testReports.clear();
+ return xmlReport;
+ }
+
+ protected Element toDOMElement(TestReport test, Document context, String prefix) {
+ Element testNode = context.createElement(JUnit.TEST_CASE);
+
+ String className;
+ if (test.getContext() != null) {
+ className = test.getContext().getQualifiedName();
+ } else {
+ className = "unknown";
+ }
+
+ if (prefix != null) {
+ className = prefix + JUnit.REPORTING_SEPARATOR + className;
+ }
+
+ testNode.setAttribute(JUnit.CLASS_NAME, className);
+
+ testNode.setAttribute(JUnit.NAME, test.getLabel());
+ testNode.setAttribute(JUnit.TIME, "0"); // TODO obtain elapsed time per test case
+ if (test.getVerdict().equals(TestDecision.FAILED)) {
+ Element failureNode = context.createElement(JUnit.FAILURE);
+ failureNode.setAttribute(JUnit.MESSSAGE, test.getLabel());
+ failureNode.setAttribute(JUnit.TYPE, test.getAssertionType().getName());
+ testNode.appendChild(failureNode);
+ }
+ return testNode;
+ }
+
+ protected Element toDOMElement(TestReport test, Document context) {
+ return toDOMElement(test, context, null);
+ }
+}
diff --git a/org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/reporting/TestDecision.java b/org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/reporting/TestDecision.java
new file mode 100644
index 00000000..c4b3b745
--- /dev/null
+++ b/org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/reporting/TestDecision.java
@@ -0,0 +1,17 @@
+/*****************************************************************************
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.moka.fuml.assertionlibrary.reporting;
+
+
+public enum TestDecision {
+ FAILED, SUCCESS, SKIPPED,
+}
diff --git a/org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/reporting/TestReport.java b/org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/reporting/TestReport.java
new file mode 100644
index 00000000..f9a4ea3f
--- /dev/null
+++ b/org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/reporting/TestReport.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.moka.fuml.assertionlibrary.reporting;
+
+import org.eclipse.uml2.uml.Classifier;
+
+public class TestReport {
+
+ protected Classifier context;
+
+ protected String label;
+
+ protected TestDecision verdict;
+
+ protected Class<?> assertionType;
+
+ public TestReport(Classifier context, String label, TestDecision verdict, Class<?> assertionType) {
+ this.context = context;
+ this.label = label;
+ this.verdict = verdict;
+ this.assertionType = assertionType;
+ }
+
+ public String getLabel() {
+ return label;
+ }
+
+ public Classifier getContext() {
+ return context;
+ }
+
+ public TestDecision getVerdict() {
+ return verdict;
+ }
+
+ public Class<?> getAssertionType() {
+ return this.assertionType;
+ }
+
+ @Override
+ public String toString() {
+ String contextName = context == null ? "NULL" : (context.getQualifiedName() == null ? "NULL" : context.getQualifiedName());
+ String s = "[TEST] " + this.label + " in " + contextName + " => " + verdict.toString();
+ return s;
+ }
+
+}
diff --git a/org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/utils/AssertionExecutionContextHelper.java b/org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/utils/AssertionExecutionContextHelper.java
new file mode 100644
index 00000000..d7b3fb1f
--- /dev/null
+++ b/org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/utils/AssertionExecutionContextHelper.java
@@ -0,0 +1,37 @@
+/*****************************************************************************
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.moka.fuml.assertionlibrary.utils;
+
+import org.eclipse.papyrus.moka.fuml.Semantics.CommonBehaviors.BasicBehaviors.Execution;
+import org.eclipse.uml2.uml.Classifier;
+
+
+public class AssertionExecutionContextHelper {
+
+ public static Classifier getExecutionContext(Execution assertionExecution) {
+ Classifier context = null;
+ if (assertionExecution.context != null && assertionExecution != assertionExecution.context) {
+ if (assertionExecution.context instanceof Execution) {
+ context = getExecutionContext((Execution) assertionExecution.context);
+ } else {
+ if (assertionExecution.context.objectActivation != null) {
+ context = assertionExecution.context.objectActivation.classifierBehaviorExecutions.get(0).classifier;
+ } else {
+ context = assertionExecution.context.types.get(0);
+ }
+ }
+ } else {
+ context = assertionExecution.types.get(0);
+ }
+ return context;
+ }
+}
diff --git a/org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/utils/ReportNameSingleton.java b/org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/utils/ReportNameSingleton.java
new file mode 100644
index 00000000..a4a76526
--- /dev/null
+++ b/org.eclipse.papyrus.moka.fuml.assertionlibrary/src/org/eclipse/papyrus/moka/fuml/assertionlibrary/utils/ReportNameSingleton.java
@@ -0,0 +1,43 @@
+package org.eclipse.papyrus.moka.fuml.assertionlibrary.utils;
+
+public class ReportNameSingleton {
+
+ private String engineName = "";
+
+ private String executedActivityName = "";
+
+ /**
+ * Private constructor
+ */
+ private ReportNameSingleton() {
+
+ }
+
+ /** Unique instance not initialized */
+ private static ReportNameSingleton INSTANCE = null;
+
+ /** Access for the unique instance of ReportNameSingleton */
+ public static ReportNameSingleton getInstance() {
+ if (INSTANCE == null) {
+ INSTANCE = new ReportNameSingleton();
+ }
+ return INSTANCE;
+ }
+
+ public String getEngineName() {
+ return engineName;
+ }
+
+ public void setEngineName(String engineName) {
+ this.engineName = engineName;
+ }
+
+ public String getExecutedActivityName() {
+ return executedActivityName;
+ }
+
+ public void setExecutedActivityName(String executedActivityName) {
+ this.executedActivityName = executedActivityName;
+ }
+
+}

Back to the top