Added migration of ChannelFillConditions: new attribute "relation" is added
diff --git a/plugins/org.eclipse.app4mc.amalthea.converters.210/.classpath b/plugins/org.eclipse.app4mc.amalthea.converters.210/.classpath
new file mode 100644
index 0000000..eca7bdb
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.converters.210/.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.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/org.eclipse.app4mc.amalthea.converters.210/.project b/plugins/org.eclipse.app4mc.amalthea.converters.210/.project
new file mode 100644
index 0000000..9d7c116
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.converters.210/.project
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.app4mc.amalthea.converters.210</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>
+		<buildCommand>
+			<name>org.eclipse.pde.ds.core.builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/plugins/org.eclipse.app4mc.amalthea.converters.210/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.app4mc.amalthea.converters.210/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.converters.210/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/plugins/org.eclipse.app4mc.amalthea.converters.210/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.app4mc.amalthea.converters.210/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0fee6a9
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.converters.210/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,15 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/plugins/org.eclipse.app4mc.amalthea.converters.210/.settings/org.eclipse.pde.ds.annotations.prefs b/plugins/org.eclipse.app4mc.amalthea.converters.210/.settings/org.eclipse.pde.ds.annotations.prefs
new file mode 100644
index 0000000..73a356b
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.converters.210/.settings/org.eclipse.pde.ds.annotations.prefs
@@ -0,0 +1,8 @@
+classpath=true
+dsVersion=V1_3
+eclipse.preferences.version=1
+enabled=true
+generateBundleActivationPolicyLazy=true
+path=OSGI-INF
+validationErrorLevel=error
+validationErrorLevel.missingImplicitUnbindMethod=error
diff --git a/plugins/org.eclipse.app4mc.amalthea.converters.210/META-INF/MANIFEST.MF b/plugins/org.eclipse.app4mc.amalthea.converters.210/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..1eee4b8
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.converters.210/META-INF/MANIFEST.MF
@@ -0,0 +1,18 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: APP4MC Amalthea Converters to 2.1.0
+Bundle-SymbolicName: org.eclipse.app4mc.amalthea.converters.210
+Bundle-Version: 2.1.0.qualifier
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-Vendor: Eclipse APP4MC
+Automatic-Module-Name: org.eclipse.app4mc.amalthea.converters.210
+Import-Package: org.eclipse.app4mc.amalthea.converters.common,
+ org.eclipse.app4mc.amalthea.converters.common.base,
+ org.eclipse.app4mc.amalthea.converters.common.converter,
+ org.eclipse.app4mc.amalthea.converters.common.utils,
+ org.eclipse.app4mc.util.sessionlog;version="1.1.0",
+ org.jdom2;version="2.0.6",
+ org.osgi.service.component.annotations;version="[1.3.0,2.0.0)";resolution:=optional
+Bundle-ActivationPolicy: lazy
+Service-Component: OSGI-INF/org.eclipse.app4mc.amalthea.converters210.impl.ConditionConverter.xml
+
diff --git a/plugins/org.eclipse.app4mc.amalthea.converters.210/OSGI-INF/org.eclipse.app4mc.amalthea.converters210.impl.ConditionConverter.xml b/plugins/org.eclipse.app4mc.amalthea.converters.210/OSGI-INF/org.eclipse.app4mc.amalthea.converters210.impl.ConditionConverter.xml
new file mode 100644
index 0000000..cc048f6
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.converters.210/OSGI-INF/org.eclipse.app4mc.amalthea.converters210.impl.ConditionConverter.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.3.0" activate="activate" name="org.eclipse.app4mc.amalthea.converters210.impl.ConditionConverter">
+   <property name="input_model_version" value="2.0.0"/>
+   <property name="output_model_version" value="2.1.0"/>
+   <service>
+      <provide interface="org.eclipse.app4mc.amalthea.converters.common.base.IConverter"/>
+   </service>
+   <reference cardinality="1..1" field="logger" interface="org.eclipse.app4mc.util.sessionlog.SessionLogger" name="logger"/>
+   <implementation class="org.eclipse.app4mc.amalthea.converters210.impl.ConditionConverter"/>
+</scr:component>
\ No newline at end of file
diff --git a/plugins/org.eclipse.app4mc.amalthea.converters.210/about.html b/plugins/org.eclipse.app4mc.amalthea.converters.210/about.html
new file mode 100644
index 0000000..164f781
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.converters.210/about.html
@@ -0,0 +1,36 @@
+<!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>November 30, 2017</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 2.0 (&quot;EPL&quot;). A copy of the EPL is
+		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
+		For purposes of the EPL, &quot;Program&quot; will mean the Content.
+	</p>
+
+	<p>
+		If you did not receive this Content directly from the Eclipse
+		Foundation, the Content is being redistributed by another party
+		(&quot;Redistributor&quot;) and different terms and conditions may
+		apply to your use of any object code in the Content. Check the
+		Redistributor's license that was provided with the Content. If no such
+		license exists, contact the Redistributor. Unless otherwise indicated
+		below, the terms and conditions of the EPL still apply to any source
+		code in the Content and such source code may be obtained at <a
+			href="http://www.eclipse.org/">http://www.eclipse.org</a>.
+	</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.app4mc.amalthea.converters.210/build.properties b/plugins/org.eclipse.app4mc.amalthea.converters.210/build.properties
new file mode 100644
index 0000000..2a35983
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.converters.210/build.properties
@@ -0,0 +1,9 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               OSGI-INF/,\
+               about.html,\
+               epl-2.0.html
+src.includes = about.html,\
+               epl-2.0.html
diff --git a/plugins/org.eclipse.app4mc.amalthea.converters.210/epl-2.0.html b/plugins/org.eclipse.app4mc.amalthea.converters.210/epl-2.0.html
new file mode 100644
index 0000000..637a181
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.converters.210/epl-2.0.html
@@ -0,0 +1,300 @@
+<!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" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>Eclipse Public License - Version 2.0</title>
+    <style type="text/css">
+      body {
+        margin: 1.5em 3em;
+      }
+      h1{
+        font-size:1.5em;
+      }
+      h2{
+        font-size:1em;
+        margin-bottom:0.5em;
+        margin-top:1em;
+      }
+      p {
+        margin-top:  0.5em;
+        margin-bottom: 0.5em;
+      }
+      ul, ol{
+        list-style-type:none;
+      }
+    </style>
+  </head>
+  <body>
+    <h1>Eclipse Public License - v 2.0</h1>
+    <p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+      PUBLIC LICENSE (&ldquo;AGREEMENT&rdquo;). ANY USE, REPRODUCTION OR DISTRIBUTION
+      OF THE PROGRAM CONSTITUTES RECIPIENT&#039;S ACCEPTANCE OF THIS AGREEMENT.
+    </p>
+    <h2 id="definitions">1. DEFINITIONS</h2>
+    <p>&ldquo;Contribution&rdquo; means:</p>
+    <ul>
+      <li>a) in the case of the initial Contributor, the initial content
+        Distributed under this Agreement, and
+      </li>
+      <li>
+        b) in the case of each subsequent Contributor:
+        <ul>
+          <li>i) changes to the Program, and</li>
+          <li>ii) additions to the Program;</li>
+        </ul>
+        where such changes and/or additions to the Program originate from
+        and are Distributed by that particular Contributor. A Contribution
+        &ldquo;originates&rdquo; from a Contributor if it was added to the Program by such
+        Contributor itself or anyone acting on such Contributor&#039;s behalf.
+        Contributions do not include changes or additions to the Program that
+        are not Modified Works.
+      </li>
+    </ul>
+    <p>&ldquo;Contributor&rdquo; means any person or entity that Distributes the Program.</p>
+    <p>&ldquo;Licensed Patents&rdquo; mean patent claims licensable by a Contributor which
+      are necessarily infringed by the use or sale of its Contribution alone
+      or when combined with the Program.
+    </p>
+    <p>&ldquo;Program&rdquo; means the Contributions Distributed in accordance with this
+      Agreement.
+    </p>
+    <p>&ldquo;Recipient&rdquo; means anyone who receives the Program under this Agreement
+      or any Secondary License (as applicable), including Contributors.
+    </p>
+    <p>&ldquo;Derivative Works&rdquo; shall mean any work, whether in Source Code or other
+      form, that is based on (or derived from) the Program and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship.
+    </p>
+    <p>&ldquo;Modified Works&rdquo; shall mean any work in Source Code or other form that
+      results from an addition to, deletion from, or modification of the
+      contents of the Program, including, for purposes of clarity any new file
+      in Source Code form that contains any contents of the Program. Modified
+      Works shall not include works that contain only declarations, interfaces,
+      types, classes, structures, or files of the Program solely in each case
+      in order to link to, bind by name, or subclass the Program or Modified
+      Works thereof.
+    </p>
+    <p>&ldquo;Distribute&rdquo; means the acts of a) distributing or b) making available
+      in any manner that enables the transfer of a copy.
+    </p>
+    <p>&ldquo;Source Code&rdquo; means the form of a Program preferred for making
+      modifications, including but not limited to software source code,
+      documentation source, and configuration files.
+    </p>
+    <p>&ldquo;Secondary License&rdquo; means either the GNU General Public License,
+      Version 2.0, or any later versions of that license, including any
+      exceptions or additional permissions as identified by the initial
+      Contributor.
+    </p>
+    <h2 id="grant-of-rights">2. GRANT OF RIGHTS</h2>
+    <ul>
+      <li>a) Subject to the terms of this Agreement, each Contributor hereby
+        grants Recipient a non-exclusive, worldwide, royalty-free copyright
+        license to reproduce, prepare Derivative Works of, publicly display,
+        publicly perform, Distribute and sublicense the Contribution of such
+        Contributor, if any, and such Derivative Works.
+      </li>
+      <li>b) Subject to the terms of this Agreement, each Contributor hereby
+        grants Recipient a non-exclusive, worldwide, royalty-free patent
+        license under Licensed Patents to make, use, sell, offer to sell,
+        import and otherwise transfer the Contribution of such Contributor,
+        if any, in Source Code or other form. This patent license shall
+        apply to the combination of the Contribution and the Program if,
+        at the time the Contribution is added by the Contributor, such
+        addition of the Contribution causes such combination to be covered
+        by the Licensed Patents. The patent license shall not apply to any
+        other combinations which include the Contribution. No hardware per
+        se is licensed hereunder.
+      </li>
+      <li>c) Recipient understands that although each Contributor grants the
+        licenses to its Contributions set forth herein, no assurances are
+        provided by any Contributor that the Program does not infringe the
+        patent or other intellectual property rights of any other entity.
+        Each Contributor disclaims any liability to Recipient for claims
+        brought by any other entity based on infringement of intellectual
+        property rights or otherwise. As a condition to exercising the rights
+        and licenses granted hereunder, each Recipient hereby assumes sole
+        responsibility to secure any other intellectual property rights needed,
+        if any. For example, if a third party patent license is required to
+        allow Recipient to Distribute the Program, it is Recipient&#039;s
+        responsibility to acquire that license before distributing the Program.
+      </li>
+      <li>d) Each Contributor represents that to its knowledge it has sufficient
+        copyright rights in its Contribution, if any, to grant the copyright
+        license set forth in this Agreement.
+      </li>
+      <li>e) Notwithstanding the terms of any Secondary License, no Contributor
+        makes additional grants to any Recipient (other than those set forth
+        in this Agreement) as a result of such Recipient&#039;s receipt of the
+        Program under the terms of a Secondary License (if permitted under
+        the terms of Section 3).
+      </li>
+    </ul>
+    <h2 id="requirements">3. REQUIREMENTS</h2>
+    <p>3.1 If a Contributor Distributes the Program in any form, then:</p>
+    <ul>
+      <li>a) the Program must also be made available as Source Code, in
+        accordance with section 3.2, and the Contributor must accompany
+        the Program with a statement that the Source Code for the Program
+        is available under this Agreement, and informs Recipients how to
+        obtain it in a reasonable manner on or through a medium customarily
+        used for software exchange; and
+      </li>
+      <li>
+        b) the Contributor may Distribute the Program under a license
+        different than this Agreement, provided that such license:
+        <ul>
+          <li>i) effectively disclaims on behalf of all other Contributors all
+            warranties and conditions, express and implied, including warranties
+            or conditions of title and non-infringement, and implied warranties
+            or conditions of merchantability and fitness for a particular purpose;
+          </li>
+          <li>ii) effectively excludes on behalf of all other Contributors all
+            liability for damages, including direct, indirect, special, incidental
+            and consequential damages, such as lost profits;
+          </li>
+          <li>iii) does not attempt to limit or alter the recipients&#039; rights in the
+            Source Code under section 3.2; and
+          </li>
+          <li>iv) requires any subsequent distribution of the Program by any party
+            to be under a license that satisfies the requirements of this section 3.
+          </li>
+        </ul>
+      </li>
+    </ul>
+    <p>3.2 When the Program is Distributed as Source Code:</p>
+    <ul>
+      <li>a) it must be made available under this Agreement, or if the Program (i)
+        is combined with other material in a separate file or files made available
+        under a Secondary License, and (ii) the initial Contributor attached to
+        the Source Code the notice described in Exhibit A of this Agreement,
+        then the Program may be made available under the terms of such
+        Secondary Licenses, and
+      </li>
+      <li>b) a copy of this Agreement must be included with each copy of the Program.</li>
+    </ul>
+    <p>3.3 Contributors may not remove or alter any copyright, patent, trademark,
+      attribution notices, disclaimers of warranty, or limitations of liability
+      (&lsquo;notices&rsquo;) contained within the Program from any copy of the Program which
+      they Distribute, provided that Contributors may add their own appropriate
+      notices.
+    </p>
+    <h2 id="commercial-distribution">4. COMMERCIAL DISTRIBUTION</h2>
+    <p>Commercial distributors of software may accept certain responsibilities
+      with respect to end users, business partners and the like. While this
+      license is intended to facilitate the commercial use of the Program, the
+      Contributor who includes the Program in a commercial product offering should
+      do so in a manner which does not create potential liability for other
+      Contributors. Therefore, if a Contributor includes the Program in a
+      commercial product offering, such Contributor (&ldquo;Commercial Contributor&rdquo;)
+      hereby agrees to defend and indemnify every other Contributor
+      (&ldquo;Indemnified Contributor&rdquo;) against any losses, damages and costs
+      (collectively &ldquo;Losses&rdquo;) arising from claims, lawsuits and other legal actions
+      brought by a third party against the Indemnified Contributor to the extent
+      caused by the acts or omissions of such Commercial Contributor in connection
+      with its distribution of the Program in a commercial product offering.
+      The obligations in this section do not apply to any claims or Losses relating
+      to any actual or alleged intellectual property infringement. In order to
+      qualify, an Indemnified Contributor must: a) promptly notify the
+      Commercial Contributor in writing of such claim, and b) allow the Commercial
+      Contributor to control, and cooperate with the Commercial Contributor in,
+      the defense and any related settlement negotiations. The Indemnified
+      Contributor may participate in any such claim at its own expense.
+    </p>
+    <p>For example, a Contributor might include the Program
+      in a commercial product offering, Product X. That Contributor is then a
+      Commercial Contributor. If that Commercial Contributor then makes performance
+      claims, or offers warranties related to Product X, those performance claims
+      and warranties are such Commercial Contributor&#039;s responsibility alone.
+      Under this section, the Commercial Contributor would have to defend claims
+      against the other Contributors related to those performance claims and
+      warranties, and if a court requires any other Contributor to pay any damages
+      as a result, the Commercial Contributor must pay those damages.
+    </p>
+    <h2 id="warranty">5. NO WARRANTY</h2>
+    <p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED
+      BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN &ldquo;AS IS&rdquo; BASIS, WITHOUT
+      WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
+      WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
+      MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is
+      solely responsible for determining the appropriateness of using and
+      distributing the Program and assumes all risks associated with its
+      exercise of rights under this Agreement, including but not limited to the
+      risks and costs of program errors, compliance with applicable laws, damage
+      to or loss of data, programs or equipment, and unavailability or
+      interruption of operations.
+    </p>
+    <h2 id="disclaimer">6. DISCLAIMER OF LIABILITY</h2>
+    <p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED
+      BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY
+      LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
+      OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS),
+      HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+      LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+      OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS
+      GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+    </p>
+    <h2 id="general">7. GENERAL</h2>
+    <p>If any provision of this Agreement is invalid or unenforceable under
+      applicable law, it shall not affect the validity or enforceability of the
+      remainder of the terms of this Agreement, and without further action by the
+      parties hereto, such provision shall be reformed to the minimum extent
+      necessary to make such provision valid and enforceable.
+    </p>
+    <p>If Recipient institutes patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Program itself
+      (excluding combinations of the Program with other software or hardware)
+      infringes such Recipient&#039;s patent(s), then such Recipient&#039;s rights granted
+      under Section 2(b) shall terminate as of the date such litigation is filed.
+    </p>
+    <p>All Recipient&#039;s rights under this Agreement shall terminate if it fails to
+      comply with any of the material terms or conditions of this Agreement and
+      does not cure such failure in a reasonable period of time after becoming
+      aware of such noncompliance. If all Recipient&#039;s rights under this Agreement
+      terminate, Recipient agrees to cease use and distribution of the Program
+      as soon as reasonably practicable. However, Recipient&#039;s obligations under
+      this Agreement and any licenses granted by Recipient relating to the
+      Program shall continue and survive.
+    </p>
+    <p>Everyone is permitted to copy and distribute copies of this Agreement,
+      but in order to avoid inconsistency the Agreement is copyrighted and may
+      only be modified in the following manner. The Agreement Steward reserves
+      the right to publish new versions (including revisions) of this Agreement
+      from time to time. No one other than the Agreement Steward has the right
+      to modify this Agreement. The Eclipse Foundation is the initial Agreement
+      Steward. The Eclipse Foundation may assign the responsibility to serve as
+      the Agreement Steward to a suitable separate entity. Each new version of
+      the Agreement will be given a distinguishing version number. The Program
+      (including Contributions) may always be Distributed subject to the version
+      of the Agreement under which it was received. In addition, after a new
+      version of the Agreement is published, Contributor may elect to Distribute
+      the Program (including its Contributions) under the new version.
+    </p>
+    <p>Except as expressly stated in Sections 2(a) and 2(b) above, Recipient
+      receives no rights or licenses to the intellectual property of any
+      Contributor under this Agreement, whether expressly, by implication,
+      estoppel or otherwise. All rights in the Program not expressly granted
+      under this Agreement are reserved. Nothing in this Agreement is intended
+      to be enforceable by any entity that is not a Contributor or Recipient.
+      No third-party beneficiary rights are created under this Agreement.
+    </p>
+    <h2 id="exhibit-a">Exhibit A &ndash; Form of Secondary Licenses Notice</h2>
+    <p>&ldquo;This Source Code may also be made available under the following 
+    	Secondary Licenses when the conditions for such availability set forth 
+    	in the Eclipse Public License, v. 2.0 are satisfied: {name license(s),
+    	version(s), and exceptions or additional permissions here}.&rdquo;
+    </p>
+    <blockquote>
+      <p>Simply including a copy of this Agreement, including this Exhibit A
+        is not sufficient to license the Source Code under Secondary Licenses.
+      </p>
+      <p>If it is not possible or desirable to put the notice in a particular file,
+        then You may include the notice in a location (such as a LICENSE file in a
+        relevant directory) where a recipient would be likely to look for
+        such a notice.
+      </p>
+      <p>You may add additional accurate notices of copyright ownership.</p>
+    </blockquote>
+  </body>
+</html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.app4mc.amalthea.converters.210/src/org/eclipse/app4mc/amalthea/converters210/impl/ConditionConverter.java b/plugins/org.eclipse.app4mc.amalthea.converters.210/src/org/eclipse/app4mc/amalthea/converters210/impl/ConditionConverter.java
new file mode 100644
index 0000000..20850f4
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.converters.210/src/org/eclipse/app4mc/amalthea/converters210/impl/ConditionConverter.java
@@ -0,0 +1,114 @@
+/*********************************************************************************
+ * Copyright (c) 2022 Robert Bosch GmbH and others.
+ *
+ * This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License 2.0
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *     Robert Bosch GmbH - initial API and implementation
+ ********************************************************************************
+ */
+
+package org.eclipse.app4mc.amalthea.converters210.impl;
+
+import java.io.File;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.app4mc.amalthea.converters.common.ServiceConstants;
+import org.eclipse.app4mc.amalthea.converters.common.base.ICache;
+import org.eclipse.app4mc.amalthea.converters.common.base.IConverter;
+import org.eclipse.app4mc.amalthea.converters.common.converter.AbstractConverter;
+import org.eclipse.app4mc.amalthea.converters.common.utils.AmaltheaNamespaceRegistry;
+import org.eclipse.app4mc.amalthea.converters.common.utils.HelperUtil;
+import org.eclipse.app4mc.util.sessionlog.SessionLogger;
+import org.jdom2.Attribute;
+import org.jdom2.Document;
+import org.jdom2.Element;
+import org.jdom2.Namespace;
+import org.osgi.service.component.annotations.Activate;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
+
+@Component(
+		property = {
+			ServiceConstants.INPUT_MODEL_VERSION_PROPERTY + "=2.0.0",
+			ServiceConstants.OUTPUT_MODEL_VERSION_PROPERTY + "=2.1.0"
+		},
+		service = IConverter.class)
+
+public class ConditionConverter extends AbstractConverter {
+
+	@Reference
+	SessionLogger logger;
+
+	@Override
+	@Activate
+	protected void activate(Map<String, Object> properties) {
+		super.activate(properties);
+	}
+
+	@Override
+	public void convert(File targetFile, Map<File, Document> fileDocumentMapping, List<ICache> caches) {
+		logger.info("Migration from {0} to {1} : Executing Condition converter for model file : {2}",
+				getInputModelVersion(), getOutputModelVersion(), targetFile.getName());
+
+		basicConvert(targetFile, fileDocumentMapping);
+	}
+
+	private void basicConvert(File file, Map<File, Document> map) {
+		// get the components with interfaces
+		final Document document = map.get(file);
+		if (document == null) {
+			return;
+		}
+
+		final Element rootElement = document.getRootElement();
+
+		updateChannelFillConditions(rootElement);
+	}
+
+	/**
+	 * Adds an attribute "relation" with value "GREATER_THAN_OR_EQUAL"
+	 * <p>
+	 * Version 2.0 did not contain a relation attribute. The interpretation was: Contains at least x elements. 
+	 * 
+	 * @param rootElement
+	 */
+	private void updateChannelFillConditions(Element rootElement) {
+		final Namespace am = AmaltheaNamespaceRegistry.getNamespace(getInputModelVersion(), "am");
+		final Namespace xsi = AmaltheaNamespaceRegistry.getGenericNamespace("xsi");
+
+		final StringBuilder xpathBuilder = new StringBuilder();
+		// Execution conditions
+		xpathBuilder.append("./swModel/runnables/executionCondition//entries");
+		xpathBuilder.append("|");
+		xpathBuilder.append("./stimuliModel/stimuli/executionCondition//entries");
+		xpathBuilder.append("|");
+		// Activity graph items
+		xpathBuilder.append("./swModel/tasks/activityGraph/items//condition//entries");
+		xpathBuilder.append("|");
+		xpathBuilder.append("./swModel/isrs/activityGraph/items//condition//entries");
+		xpathBuilder.append("|");
+		xpathBuilder.append("./swModel/runnables/activityGraph/items//condition//entries");
+
+		final List<Element> entries = HelperUtil.getXpathResult(rootElement, xpathBuilder.toString(), Element.class, am, xsi);
+
+		if (entries == null) {
+			return;
+		}
+
+		// Add relation to ChannelFillCondition
+
+		for (Element entry : entries) {
+			Attribute typeAttr = entry.getAttribute("type", xsi);
+			if ("am:ChannelFillCondition".equals(typeAttr.getValue())) {
+				entry.setAttribute("relation", "GREATER_THAN_OR_EQUAL");
+			}
+		}
+	}
+
+}
diff --git a/tests/org.eclipse.app4mc.amalthea.converters.210.tests/.classpath b/tests/org.eclipse.app4mc.amalthea.converters.210.tests/.classpath
new file mode 100644
index 0000000..3e5654f
--- /dev/null
+++ b/tests/org.eclipse.app4mc.amalthea.converters.210.tests/.classpath
@@ -0,0 +1,11 @@
+<?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.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src">
+		<attributes>
+			<attribute name="test" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.app4mc.amalthea.converters.210.tests/.project b/tests/org.eclipse.app4mc.amalthea.converters.210.tests/.project
new file mode 100644
index 0000000..051cdd8
--- /dev/null
+++ b/tests/org.eclipse.app4mc.amalthea.converters.210.tests/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.app4mc.amalthea.converters.210.tests</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/tests/org.eclipse.app4mc.amalthea.converters.210.tests/.settings/org.eclipse.core.resources.prefs b/tests/org.eclipse.app4mc.amalthea.converters.210.tests/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/tests/org.eclipse.app4mc.amalthea.converters.210.tests/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/tests/org.eclipse.app4mc.amalthea.converters.210.tests/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.app4mc.amalthea.converters.210.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..d4e2006
--- /dev/null
+++ b/tests/org.eclipse.app4mc.amalthea.converters.210.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,109 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnull.secondary=
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary=
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.APILeak=warning
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.suppressWarningsNotFullyAnalysed=info
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=ignore
+org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning
+org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled
+org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unstableAutoModuleName=warning
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/tests/org.eclipse.app4mc.amalthea.converters.210.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.app4mc.amalthea.converters.210.tests/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..4d00027
--- /dev/null
+++ b/tests/org.eclipse.app4mc.amalthea.converters.210.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,13 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: APP4MC Amalthea Converters to 2.1.0 - Tests
+Bundle-SymbolicName: org.eclipse.app4mc.amalthea.converters.210.tests
+Bundle-Version: 2.1.0.qualifier
+Fragment-Host: org.eclipse.app4mc.amalthea.converters.210
+Automatic-Module-Name: org.eclipse.app4mc.amalthea.converters.210.tests
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-Vendor: Eclipse APP4MC
+Require-Bundle: org.junit;bundle-version="4.12.0"
+Import-Package: org.eclipse.app4mc.amalthea.converters.common.converter,
+ org.eclipse.app4mc.amalthea.converters.common.tests,
+ org.jaxen;version="1.1.6"
diff --git a/tests/org.eclipse.app4mc.amalthea.converters.210.tests/TestModels/input/conditions/conditions.amxmi b/tests/org.eclipse.app4mc.amalthea.converters.210.tests/TestModels/input/conditions/conditions.amxmi
new file mode 100644
index 0000000..e2a6ee9
--- /dev/null
+++ b/tests/org.eclipse.app4mc.amalthea.converters.210.tests/TestModels/input/conditions/conditions.amxmi
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<am:Amalthea xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:am="http://app4mc.eclipse.org/amalthea/2.0.0">
+  <swModel>
+    <tasks xmi:id="task1?type=Task" name="task1" multipleTaskActivationLimit="0">
+      <activityGraph>
+        <items xsi:type="am:Group" name="" ordered="true" interruptible="true">
+          <items xsi:type="am:Switch">
+            <entries name="">
+              <items xsi:type="am:LabelAccess" data="l1?type=Label" access="write"/>
+              <items xsi:type="am:Switch">
+                <entries name="">
+                  <items xsi:type="am:WhileLoop">
+                    <condition>
+                      <entries xsi:type="am:ConditionConjunction">
+                        <entries xsi:type="am:ChannelFillCondition" channel="c1+with+long+name?type=Channel" fillLevel="4"/>
+                        <entries xsi:type="am:ChannelFillCondition" channel="c2%2B%2B?type=Channel" fillLevel="2"/>
+                      </entries>
+                    </condition>
+                  </items>
+                  <condition>
+                    <entries xsi:type="am:ChannelFillCondition" channel="c2?type=Channel" fillLevel="450"/>
+                    <entries xsi:type="am:ConditionConjunction">
+                      <entries xsi:type="am:ChannelFillCondition" channel="c1+with+long+name?type=Channel" fillLevel="4"/>
+                      <entries xsi:type="am:ChannelFillCondition" channel="c2%2B%2B?type=Channel" fillLevel="2"/>
+                    </entries>
+                  </condition>
+                </entries>
+              </items>
+              <condition>
+                <entries xsi:type="am:ChannelFillCondition" channel="c2?type=Channel" fillLevel="123"/>
+              </condition>
+            </entries>
+            <entries name="">
+              <items xsi:type="am:ChannelSend" data="c1+with+long+name?type=Channel" elements="0"/>
+              <condition>
+                <entries xsi:type="am:ConditionConjunction">
+                  <entries xsi:type="am:ChannelFillCondition" channel="c1+with+long+name?type=Channel" fillLevel="4"/>
+                  <entries xsi:type="am:ChannelFillCondition" channel="c2%2B%2B?type=Channel" fillLevel="2"/>
+                </entries>
+              </condition>
+            </entries>
+          </items>
+          <items xsi:type="am:WhileLoop">
+            <items xsi:type="am:Ticks">
+              <default xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" lowerBound="5" upperBound="10" average="7.0" pRemainPromille="0.5"/>
+            </items>
+            <condition>
+              <entries xsi:type="am:ChannelFillCondition" channel="c2?type=Channel" fillLevel="1"/>
+            </condition>
+          </items>
+        </items>
+      </activityGraph>
+    </tasks>
+    <runnables xmi:id="run1?type=Runnable" name="run1" callback="false" service="false">
+      <activityGraph>
+        <items xsi:type="am:Switch">
+          <entries name="">
+            <items xsi:type="am:LabelAccess" data="l1?type=Label" access="write"/>
+            <condition>
+              <entries xsi:type="am:ChannelFillCondition" channel="c2?type=Channel" fillLevel="123"/>
+            </condition>
+          </entries>
+          <entries name="">
+            <items xsi:type="am:ChannelSend" data="c1+with+long+name?type=Channel" elements="0"/>
+            <condition>
+              <entries xsi:type="am:ConditionConjunction">
+                <entries xsi:type="am:ChannelFillCondition" channel="c1+with+long+name?type=Channel" fillLevel="4"/>
+                <entries xsi:type="am:ChannelFillCondition" channel="c2%2B%2B?type=Channel" fillLevel="2"/>
+              </entries>
+            </condition>
+          </entries>
+        </items>
+        <items xsi:type="am:WhileLoop">
+          <items xsi:type="am:Ticks">
+            <default xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" lowerBound="5" upperBound="10" average="7.0" pRemainPromille="0.5"/>
+          </items>
+          <condition>
+            <entries xsi:type="am:ChannelFillCondition" channel="c2?type=Channel" fillLevel="1"/>
+          </condition>
+        </items>
+      </activityGraph>
+      <executionCondition>
+        <entries xsi:type="am:ConditionConjunction">
+          <entries xsi:type="am:ChannelFillCondition" channel="c1+with+long+name?type=Channel" fillLevel="4"/>
+          <entries xsi:type="am:ChannelFillCondition" channel="c2%2B%2B?type=Channel" fillLevel="2"/>
+        </entries>
+      </executionCondition>
+    </runnables>
+    <labels xmi:id="l1?type=Label" name="l1" constant="false" bVolatile="false"/>
+    <channels xmi:id="c1+with+long+name?type=Channel" name="c1 with long name" defaultElements="0" maxElements="0"/>
+    <channels xmi:id="c2?type=Channel" name="c2" defaultElements="0" maxElements="0"/>
+    <channels xmi:id="c2%2B%2B?type=Channel" name="c2++" defaultElements="0" maxElements="0"/>
+  </swModel>
+  <stimuliModel>
+    <stimuli xsi:type="am:RelativePeriodicStimulus" xmi:id="no-name?type=RelativePeriodicStimulus" name="">
+      <executionCondition>
+        <entries xsi:type="am:ChannelFillCondition" channel="c2?type=Channel" fillLevel="99"/>
+      </executionCondition>
+    </stimuli>
+  </stimuliModel>
+</am:Amalthea>
diff --git a/tests/org.eclipse.app4mc.amalthea.converters.210.tests/TestModels/input/namespace/model.amxmi b/tests/org.eclipse.app4mc.amalthea.converters.210.tests/TestModels/input/namespace/model.amxmi
new file mode 100644
index 0000000..dc57b6b
--- /dev/null
+++ b/tests/org.eclipse.app4mc.amalthea.converters.210.tests/TestModels/input/namespace/model.amxmi
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<am:Amalthea xmlns:am="http://app4mc.eclipse.org/amalthea/2.0.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmi:version="2.0">
+  <hwModel />
+</am:Amalthea>
diff --git a/tests/org.eclipse.app4mc.amalthea.converters.210.tests/build.properties b/tests/org.eclipse.app4mc.amalthea.converters.210.tests/build.properties
new file mode 100644
index 0000000..34d2e4d
--- /dev/null
+++ b/tests/org.eclipse.app4mc.amalthea.converters.210.tests/build.properties
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .
diff --git a/tests/org.eclipse.app4mc.amalthea.converters.210.tests/no_deploy.txt b/tests/org.eclipse.app4mc.amalthea.converters.210.tests/no_deploy.txt
new file mode 100644
index 0000000..5275121
--- /dev/null
+++ b/tests/org.eclipse.app4mc.amalthea.converters.210.tests/no_deploy.txt
@@ -0,0 +1,2 @@
+Marker file for activation of profile to skip deployment of test projects.
+Needed because the check for "target/surefire.properties" does not work on Jenkins.
\ No newline at end of file
diff --git a/tests/org.eclipse.app4mc.amalthea.converters.210.tests/src/org/eclipse/app4mc/amalthea/converters210/tests/Abstract210ConverterTest.java b/tests/org.eclipse.app4mc.amalthea.converters.210.tests/src/org/eclipse/app4mc/amalthea/converters210/tests/Abstract210ConverterTest.java
new file mode 100644
index 0000000..2d3e1e2
--- /dev/null
+++ b/tests/org.eclipse.app4mc.amalthea.converters.210.tests/src/org/eclipse/app4mc/amalthea/converters210/tests/Abstract210ConverterTest.java
@@ -0,0 +1,36 @@
+/*********************************************************************************
+ * Copyright (c) 2022 Robert Bosch GmbH and others.
+ *
+ * This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License 2.0
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *     Robert Bosch GmbH - initial API and implementation
+ ********************************************************************************
+ */
+
+package org.eclipse.app4mc.amalthea.converters210.tests;
+
+import org.eclipse.app4mc.amalthea.converters.common.tests.AbstractConverterTest;
+import org.eclipse.app4mc.amalthea.converters.common.utils.ModelVersion;
+
+abstract class Abstract210ConverterTest extends AbstractConverterTest {
+
+	protected Abstract210ConverterTest(boolean canExecuteTestCase, String... xmlFilesRelative) {
+		super(canExecuteTestCase, xmlFilesRelative);
+	}
+
+	@Override
+	public ModelVersion getInputModelVersion() {
+		return ModelVersion.VERSION_200;
+	}
+
+	@Override
+	public ModelVersion getOutputModelVersion() {
+		return ModelVersion.VERSION_210;
+	}
+
+}
diff --git a/tests/org.eclipse.app4mc.amalthea.converters.210.tests/src/org/eclipse/app4mc/amalthea/converters210/tests/ConditionConverterTest.java b/tests/org.eclipse.app4mc.amalthea.converters.210.tests/src/org/eclipse/app4mc/amalthea/converters210/tests/ConditionConverterTest.java
new file mode 100644
index 0000000..70123e9
--- /dev/null
+++ b/tests/org.eclipse.app4mc.amalthea.converters.210.tests/src/org/eclipse/app4mc/amalthea/converters210/tests/ConditionConverterTest.java
@@ -0,0 +1,54 @@
+/*********************************************************************************
+ * Copyright (c) 2022 Robert Bosch GmbH and others.
+ *
+ * This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License 2.0
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *     Robert Bosch GmbH - initial API and implementation
+ ********************************************************************************
+ */
+
+package org.eclipse.app4mc.amalthea.converters210.tests;
+
+import java.util.Collection;
+import java.util.Collections;
+
+import org.eclipse.app4mc.amalthea.converters.common.converter.NamespaceConverter;
+import org.eclipse.app4mc.amalthea.converters210.impl.ConditionConverter;
+import org.junit.FixMethodOrder;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.MethodSorters;
+import org.junit.runners.Parameterized;
+
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+@RunWith(Parameterized.class)
+public class ConditionConverterTest extends Abstract210ConverterTest {
+
+	@Parameterized.Parameters(name = "{index}: Test file: {0}")
+	public static Collection<Object[]> getTestData() {
+
+		return Collections.singletonList(
+				data("/conditions/conditions.amxmi", true));
+	}
+
+	public ConditionConverterTest(final String xmlFileRelativeLocation, final boolean canExecuteTestCase) {
+		super(canExecuteTestCase, xmlFileRelativeLocation);
+	}
+
+	@Test
+	public void testConversion() {
+		super.testConversion(NamespaceConverter.class, ConditionConverter.class);
+	}
+
+	@Override
+	@Test
+	public void verification() {
+		super.verification();
+	}
+
+}
diff --git a/tests/org.eclipse.app4mc.amalthea.converters.210.tests/src/org/eclipse/app4mc/amalthea/converters210/tests/NamespaceConverterTest.java b/tests/org.eclipse.app4mc.amalthea.converters.210.tests/src/org/eclipse/app4mc/amalthea/converters210/tests/NamespaceConverterTest.java
new file mode 100644
index 0000000..46098f1
--- /dev/null
+++ b/tests/org.eclipse.app4mc.amalthea.converters.210.tests/src/org/eclipse/app4mc/amalthea/converters210/tests/NamespaceConverterTest.java
@@ -0,0 +1,53 @@
+/*********************************************************************************
+ * Copyright (c) 2022 Robert Bosch GmbH and others.
+ *
+ * This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License 2.0
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *     Robert Bosch GmbH - initial API and implementation
+ ********************************************************************************
+ */
+
+package org.eclipse.app4mc.amalthea.converters210.tests;
+
+import java.util.Collection;
+import java.util.Collections;
+
+import org.eclipse.app4mc.amalthea.converters.common.converter.NamespaceConverter;
+import org.junit.FixMethodOrder;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.MethodSorters;
+import org.junit.runners.Parameterized;
+
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+@RunWith(Parameterized.class)
+public class NamespaceConverterTest extends Abstract210ConverterTest {
+
+	@Parameterized.Parameters(name = "{index}: Test file: {0}")
+	public static Collection<Object[]> getTestData() {
+
+		return Collections.singletonList(
+				data("/namespace/model.amxmi", true));
+	}
+
+	public NamespaceConverterTest(final String xmlFileRelativeLocation, final boolean canExecuteTestCase) {
+		super(canExecuteTestCase, xmlFileRelativeLocation);
+	}
+
+	@Test
+	public void testConversion() {
+		super.testConversion(NamespaceConverter.class);
+	}
+
+	@Override
+	@Test
+	public void verification() {
+		super.verification();
+	}
+
+}