Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsjurack2010-05-03 14:44:21 +0000
committersjurack2010-05-03 14:44:21 +0000
commit9fb2c7e2638cc1c635bbe9f74a36f7bee8cf6ca5 (patch)
treecb1880c74f85139f78a4e0e20549a1ce31e6e407 /plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples
parentf93d5d6b90954e62e837b7d3f68b4f8bdc336b49 (diff)
downloadorg.eclipse.emft.henshin-9fb2c7e2638cc1c635bbe9f74a36f7bee8cf6ca5.tar.gz
org.eclipse.emft.henshin-9fb2c7e2638cc1c635bbe9f74a36f7bee8cf6ca5.tar.xz
org.eclipse.emft.henshin-9fb2c7e2638cc1c635bbe9f74a36f7bee8cf6ca5.zip
Initial commit of the meta-model evolution example
Diffstat (limited to 'plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples')
-rw-r--r--plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/Evolution1.java496
-rw-r--r--plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/backup/Net1.xmi9
-rw-r--r--plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/backup/petri.ecore26
-rw-r--r--plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/backup/petri.ecorediag145
-rw-r--r--plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/backup/petriM.henshin244
-rw-r--r--plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/backup/petriM.henshin_diagram478
-rw-r--r--plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/backup/readme.txt23
-rw-r--r--plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/model/Net1.xmi9
-rw-r--r--plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/model/petri.ecore26
-rw-r--r--plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/model/petriM.henshin244
-rw-r--r--plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/model/readme.txt20
11 files changed, 1720 insertions, 0 deletions
diff --git a/plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/Evolution1.java b/plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/Evolution1.java
new file mode 100644
index 000000000..06259a200
--- /dev/null
+++ b/plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/Evolution1.java
@@ -0,0 +1,496 @@
+/*******************************************************************************
+ * Copyright (c) 2010 CWI Amsterdam, Technical University of Berlin,
+ * University of Marburg and others. 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
+ *
+ * Contributor:
+ * University of Marburg
+ *******************************************************************************/
+package org.eclipse.emf.henshin.examples.metamodelevolution;
+
+import java.io.File;
+import java.io.IOException;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.xmi.impl.EcoreResourceFactoryImpl;
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
+import org.eclipse.emf.henshin.common.util.EmfGraph;
+import org.eclipse.emf.henshin.interpreter.EmfEngine;
+import org.eclipse.emf.henshin.interpreter.UnitApplication;
+import org.eclipse.emf.henshin.interpreter.util.ModelHelper;
+import org.eclipse.emf.henshin.model.Edge;
+import org.eclipse.emf.henshin.model.Graph;
+import org.eclipse.emf.henshin.model.HenshinFactory;
+import org.eclipse.emf.henshin.model.IndependentUnit;
+import org.eclipse.emf.henshin.model.Mapping;
+import org.eclipse.emf.henshin.model.Node;
+import org.eclipse.emf.henshin.model.Rule;
+import org.eclipse.emf.henshin.model.TransformationSystem;
+import org.eclipse.emf.henshin.model.impl.HenshinFactoryImpl;
+import org.eclipse.emf.henshin.model.impl.HenshinPackageImpl;
+import org.eclipse.emf.henshin.model.resource.HenshinResourceFactory;
+
+/**
+ * This meta-model evolution example is a proof-of-concept showing how such a
+ * engineering process can be implemented with Henshin. This case study follows
+ * the <i>manual specification</i> approach i.e. we encode meta-model and
+ * instance model changes manually since currently there does not exist a
+ * meta-model evolution framework based on Henshin. Nevertheless, this is going
+ * to give a practical idea how (semi-) automatic meta-model evolution can be
+ * realized with Henshin leading to an \emph{operator-based co-evolution}
+ * approach.
+ * <p>
+ * Henshin is able to handle any Ecore-based model that is why we can create
+ * transformation rules for both, meta-models and instance models. Meta-models
+ * may occur in form of an Eclipse plugin with generated model classes or
+ * standalone as <i>.ecore</i> file. The latter is more flexible and since
+ * Henshin supports Dynamic EMF, we use such Ecore files in our approach. The
+ * control flow is currently implemented in this Java class which loads related
+ * models and transformation rules and which triggers the transformation
+ * performed by the Henshin interpreter.
+ * <p>
+ * Our case study is dealing with the evolution of a Petri net meta-model. It
+ * contains nodes <tt>Place</tt> and <tt>Transition</tt> with direct
+ * bidirectional references between them. The evolution intends to replace such
+ * direct bidirectional references by a reference class. This might by useful
+ * e.g. to introduce additional attributes according to this relation. However,
+ * meta-model modifications often require an adaption of instance models. Please
+ * note, that the prepare meta-model rules are quite general and not restricted
+ * on our Petri net example.<br>
+ *
+ * The meta-model evolution is performed in three separate steps:
+ * <ol>
+ * <li>Creation of new elements in the meta-model.
+ * <li>Creation of instances of the new element in the instance model by
+ * deleting the corresponding old references the same time.
+ * <li>Deletion of the substituted references in the meta-model.
+ * </ol>
+ * <p>
+ * <strong>Remark:</strong> Make sure, that the model folder (see {@link #BASE})
+ * contains fresh unmodified files. In case of doubt, please copy fresh file
+ * from the backup folder into the model folder.<br>
+ * <strong>Remark:</strong> Feel free to give us feedback about this example by
+ * sending an email to <a
+ * href="mailto:henshin-dev@eclipse.org">henshin-dev@eclipse.org</a> or visit
+ * the <a href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emft.henshin"
+ * >Henshin project website</a>.
+ *
+ * @author Stefan Jurack (sjurack)
+ *
+ */
+public class Evolution1 {
+
+ private static final String BASE = "src/org/eclipse/emf/henshin/examples/metamodelevolution/model/";
+ /**
+ * Meta-model, instance model and rule files.
+ */
+ private static final String MODEL_PETRI_META = BASE + "petri.ecore";
+ private static final String MODEL_PETRI_INSTANCE = BASE + "Net1.xmi";
+ private static final String HENSHIN_PETRI_META = BASE + "petriM.henshin";
+ private static final String HENSHIN_PETRI_INSTANCE = BASE
+ + "petriI.henshin";
+ /**
+ * Meta-model and instance model need to be in the same resource set, in
+ * order to use the same (!!, not only equal) types.
+ */
+ ResourceSet resourceSet = new ResourceSetImpl();
+
+ /**
+ * Implements the control flow for the whol meta-model evolution.
+ */
+ private void start() {
+
+ initializeResourceFactories();
+
+ /*
+ * Load the petri net meta-model which Henshin rules and instance models
+ * base on.
+ */
+ EPackage petri = loadPetriEcoreModel();
+
+ /**
+ * STEP 1: Create new elements in the meta-model.
+ */
+ UnitApplication mm_unit1App = evolveMetaModel_ReplaceRefWithRefclass(
+ petri, "Place", "Transition", "ArcPT");
+
+ /*
+ * If the rule/unit was successfully applied, we can fetch the matched
+ * classes in the meta-model. They are needed to perform a migration of
+ * the instance model.
+ */
+ EClass srcType = (EClass) mm_unit1App.getPortValue("objSource");
+ EClass trgType = (EClass) mm_unit1App.getPortValue("objTarget");
+ EClass refclassType = (EClass) mm_unit1App.getPortValue("objRefclass");
+ EReference refType = (EReference) mm_unit1App.getPortValue("objRef");
+ EReference refSrcTrg = (EReference) mm_unit1App
+ .getPortValue("objRefSrcTrg");
+ EReference refTrgSrc = (EReference) mm_unit1App
+ .getPortValue("objRefTrgSrc");
+
+ /**
+ * STEP 2: Migrate instance model i.e. create instance of new classes
+ * and references and delete unneeded old references
+ */
+ migrateInstanceModel_ReplaceRefWithRefclass(petri, srcType, trgType,
+ refType, refclassType, refSrcTrg, refTrgSrc);
+
+ /**
+ * STEP 3: Remove old (and now unused) reference types from meta-model.
+ */
+ evolveMetaModel_DeleteOldReference(petri, refType);
+
+ }// start
+
+ /**
+ * In this method the Henshin rule is loaded and equipped with informations
+ * to perform a replacement of a direct reference with a reference class. In
+ * fact, the direct reference is not delete, but the new reference class
+ * created and associated.
+ *
+ * @param petri
+ * Meta-model root object.
+ * @return the unit application evolving the meta-model, if successfully
+ * applied. Otherwise <code>null</code> is returned.
+ */
+ private UnitApplication evolveMetaModel_ReplaceRefWithRefclass(
+ EPackage petri, String srcNodeName, String trgNodeName,
+ String refclassName) {
+
+ // initialize henshin package and load Henshin transformation system
+ TransformationSystem tsM = loadPetriTrafoSystemM();
+
+ // instantiate Henshin interpreter objects
+ EmfGraph graphM = new EmfGraph();
+
+ /*
+ * If the left-hand side of a rule contains EDataType instances (e.g.
+ * :EDataType(name="EString")) in order to match Ecore datatypes, the
+ * EmfGraph instance has to be additionally equipped with an initialized
+ * ecore model (see below). This is useful e.g. if an class shall be
+ * equipped with an additional attribute of a certain Ecore type.
+ */
+ // EObject ecoreRoot = EcorePackage.eINSTANCE;
+ // graphM.addRoot(ecoreRoot);
+ graphM.addRoot(petri);
+ EmfEngine engineM = new EmfEngine(graphM);
+
+ // select rule
+ Rule mm_rule1 = tsM.findRuleByName("MM_CreateRefClass");
+
+ /*
+ * UnitApplication encapsulates a transformation basing on an engine and
+ * a transformation unit. It allows furthermore to set input port
+ * parameter values (see below) or objects.
+ */
+ UnitApplication mm_unit1App = new UnitApplication(engineM, mm_rule1);
+ mm_unit1App.setPortValue("parSourceName", srcNodeName);
+ mm_unit1App.setPortValue("parTargetName", trgNodeName);
+ mm_unit1App.setPortValue("parRefclassName", refclassName);
+
+ // perform the transformation
+ boolean resultM = mm_unit1App.execute();
+
+ if (resultM) {
+ System.out.println("\"MM_CreateRefClass\" applied.");
+ } else {
+ System.out.println("\"MM_CreateRefClass\" not applied.");
+ return null;
+ }// if
+
+ // persist the changes of the meta-model
+ try {
+ petri.eResource().save(null);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }// try catch
+
+ return mm_unit1App;
+ }// evolveMetaModel_ReplaceRefWithRefclass
+
+ /**
+ * This method migrates our instance model in correspondence to the creation
+ * of a reference class in the meta-model. It depends on matched types of
+ * the meta-model transformation.<br>
+ * After performing all changes to the instance model, it is saved.
+ *
+ * @param petri
+ * Meta-Model root object.
+ * @param srcType
+ * Type (EClass) being the source of the reference to be
+ * replaced.
+ * @param trgType
+ * Type (EClass) being the target of the reference to be
+ * replaced.
+ * @param refType
+ * Type (EReference) of the reference to be deleted and replaced.
+ * Its source is of type <code>srcType</code> and is target is of
+ * type <code>trgType</code>.
+ * @param refclassType
+ * Type (EClass) being the newly introduced reference class.
+ * Instances of this type are going to represent old references
+ * i.e. a new instance of this class is part of the replacement.
+ * @param refSrcTrg
+ * Type (EReference) of the reference running from
+ * <code>srcType</code> to <code>refclassType</code>. A new
+ * instance of this reference is part of the replacement.
+ * @param refTrgSrc
+ * Type (EReference) of the reference running from
+ * <code>trgType</code> to <code>refclassType</code>. A new
+ * instance of this reference is part of the replacement
+ * @return the unit application instance migrating the instance model. If
+ * successfully applied it contains further informations as port
+ * mappings and so on.
+ */
+ @SuppressWarnings("unused")
+ private UnitApplication migrateInstanceModel_ReplaceRefWithRefclass(
+ EPackage petri, EClass srcType, EClass trgType, EReference refType,
+ EClass refclassType, EReference refSrcTrg, EReference refTrgSrc) {
+ /*
+ * With these classes (or types) at hand we could automatically generate
+ * a rule for a co-evolution of instance models. As such a framework is
+ * not available yet, we create that rule manually.
+ */
+ HenshinFactory hFac = HenshinFactoryImpl.eINSTANCE;
+ TransformationSystem tsI = hFac.createTransformationSystem();
+ tsI.getImports().add(petri);
+
+ Rule i_rule1 = hFac.createRule();
+ tsI.getRules().add(i_rule1);
+ i_rule1.setActivated(true);
+ i_rule1.setName("Migrate Instance Model");
+ Graph lhs = i_rule1.getLhs(); // left-hand side of the rule
+ Graph rhs = i_rule1.getRhs(); // right-hand side of the rule
+
+ // Create all nodes and edges in the LHS.
+ Node lhs_n_sC = hFac.createNode(lhs, srcType);
+ Node lhs_n_tC = hFac.createNode(lhs, trgType);
+ Edge lhs_e = hFac.createEdge(lhs_n_sC, lhs_n_tC, refType);
+ // Create all nodes and edges in the RHS.
+ Node rhs_n_sC = hFac.createNode(rhs, srcType);
+ Node rhs_n_tC = hFac.createNode(rhs, trgType);
+ Node rhs_n_rC = hFac.createNode(rhs, refclassType);
+ Edge rhs_e_st = hFac.createEdge(rhs_n_sC, rhs_n_rC, refSrcTrg);
+ Edge rhs_e_ts = hFac.createEdge(rhs_n_tC, rhs_n_rC, refTrgSrc);
+ // Create mappings to specify creation, deletion and preserve
+ Mapping m1 = hFac.createMapping(lhs_n_sC, rhs_n_sC);
+ i_rule1.getMappings().add(m1);
+ Mapping m2 = hFac.createMapping(lhs_n_tC, rhs_n_tC);
+ i_rule1.getMappings().add(m2);
+ /*
+ * Create now an independent unit to allow continuous application of
+ * that rule. Alternatively, we could perform a single application of
+ * that rule in a <code>while</code> block until transformation returns
+ * <code>false</code>.
+ */
+ IndependentUnit i_unit = hFac.createIndependentUnit();
+ tsI.getTransformationUnits().add(i_unit);
+ i_unit.setActivated(true);
+ i_unit.setName("Migration I-Unit");
+ i_unit.getSubUnits().add(i_rule1);
+
+ // Remark: Only for debugging purposes! You may comment this out.
+ savePetriInstanceTrafoSystem(tsI);
+
+ // Load the instance model to be changed.
+ EObject net = loadPetriInstanceModel();
+
+ // Instantiate Henshin interpreter objects
+ EmfGraph graphI = new EmfGraph();
+ graphI.addRoot(net);
+ EmfEngine engineI = new EmfEngine(graphI);
+
+ UnitApplication i_unit1App = new UnitApplication(engineI, i_unit);
+
+ boolean resultI = i_unit1App.execute();
+
+ if (resultI) {
+ System.out.println("Co-Evolution of instance model successful.");
+ } else {
+ System.out
+ .println("Co-Evolution of instance model not successful.");
+ return null;
+ }// if
+
+ // persist the changes of the instance model
+ try {
+ net.eResource().save(null);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }// try catch
+
+ return i_unit1App;
+ }// migrateInstanceModel_ReplaceRefWithRefclass
+
+ /**
+ * Deletes the given reference from the petri ecore model and persists the
+ * model.
+ *
+ * @param petri
+ * Meta-Model root object.
+ * @param refType
+ * Type (EReference) of the reference to be deleted. Its opposite
+ * is deduced and deleted as well.
+ * @return
+ */
+ public UnitApplication evolveMetaModel_DeleteOldReference(EPackage petri,
+ EReference refType) {
+
+ // load Henshin transformation system
+ TransformationSystem tsM = loadPetriTrafoSystemM();
+
+ // instantiate Henshin interpreter objects
+ EmfGraph graphM = new EmfGraph();
+ graphM.addRoot(petri);
+ EmfEngine engineM = new EmfEngine(graphM);
+
+ // select rule
+ Rule mm_rule2 = tsM.findRuleByName("MM_DeleteOldRefs");
+
+ /*
+ * UnitApplication encapsulates a transformation basing on an engine and
+ * a transformation unit. It allows furthermore to set input port
+ * parameter values or objects (see below). Setting input port objects
+ * provide a partial match to the rule into the graph.
+ */
+ UnitApplication mm_unit2App = new UnitApplication(engineM, mm_rule2);
+ mm_unit2App.setPortValue("objDelRef", refType);
+
+ // perform the transformation
+ boolean resultM = mm_unit2App.execute();
+
+ if (resultM) {
+ System.out.println("\"MM_DeleteOldRefs\" applied.");
+ } else {
+ System.out.println("\"MM_DeleteOldRefs\" not applied.");
+ return null;
+ }// if
+
+ // persist the changes of the meta-model
+ try {
+ petri.eResource().save(null);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }// try catch
+
+ return mm_unit2App;
+ }// evolveMetaModel_DeleteOldReference
+
+ /**
+ * For debugging purposes only: Saves the transformation system to a file
+ * (see {@link #HENSHIN_PETRI_INSTANCE}) to see how it looks like.
+ *
+ * @param tsI
+ */
+ private void savePetriInstanceTrafoSystem(TransformationSystem tsI) {
+ //
+ URI iURI = URI.createFileURI(new File(HENSHIN_PETRI_INSTANCE)
+ .getAbsolutePath());
+ Resource res = resourceSet.createResource(iURI, "henshin");
+ res.getContents().add(tsI);
+ try {
+ res.save(null);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }// try catch
+ }// savePetriInstanceTrafoSystem
+
+ /**
+ * Loads the meta-model related Henshin from {@link #MODEL_PETRI_META} and
+ * return the root object.
+ *
+ * @return a transformation system for our petri net ecore model.
+ */
+ private TransformationSystem loadPetriTrafoSystemM() {
+ HenshinPackageImpl.init();
+ TransformationSystem tsM = (TransformationSystem) ModelHelper
+ .loadFile(HENSHIN_PETRI_META);
+ return tsM;
+ }// loadPetriTrafoSystemM
+
+ /**
+ * Loads the meta-model {@link #MODEL_PETRI_META} and return the root
+ * object.
+ *
+ * @return the meta-model root object.
+ */
+ private EPackage loadPetriEcoreModel() {
+ URI modelUri = URI.createFileURI(new File(MODEL_PETRI_META)
+ .getAbsolutePath());
+ Resource resourceModel = resourceSet.getResource(modelUri, true);
+ return (EPackage) resourceModel.getContents().get(0);
+ }// loadPetriEcoreModel
+
+ /**
+ * Loads the instance model with path {@link #MODEL_PETRI_INSTANCE} typed
+ * over the petri meta-model ({@link #MODEL_PETRI_META}). If the instance
+ * model is already loaded, it is unload and re-loaded again.
+ *
+ * @return
+ */
+ private EObject loadPetriInstanceModel() {
+
+ /*
+ * Note the usage of ".getAbsolutePath()" below! This is necessary for
+ * EMF to resolve relative paths in instance models. In our case, the
+ * typing i.e. the meta-model petri.ecore is given relative to this
+ * instance models location.
+ */
+ URI instanceUri = URI.createFileURI(new File(MODEL_PETRI_INSTANCE)
+ .getAbsolutePath());
+ Resource resourceInstance = resourceSet.getResource(instanceUri, true);
+
+ /*
+ * The instance model is only aware of meta-model changes if it is
+ * reloaded afterwards. Accordingly, if already loaded, the instance
+ * model is unloaded and re-loaded again. Note, unloading only replaces
+ * each object with its proxy. The resource remains in the resource set
+ * and therefore can be easily reloaded.
+ */
+ if (resourceInstance.isLoaded()) {
+ resourceInstance.unload();
+ try {
+ resourceInstance.load(null);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }// try catch
+ }// if
+
+ return resourceInstance.getContents().get(0);
+ }// loadPetriInstanceModel
+
+ /**
+ * Assigns to each file extensions of the Ecore meta-model (.ecore),
+ * instance models (.xmi) and Henshin rules (.henshin) an appropriate
+ * resource factory. This is necessary in order to load such files.
+ */
+ private void initializeResourceFactories() {
+ Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put(
+ "ecore", new EcoreResourceFactoryImpl());
+ Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put(
+ "xmi", new XMIResourceFactoryImpl());
+ Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put(
+ "henshin", new HenshinResourceFactory());
+ }// initializeResourceFactories
+
+ /**
+ * @param args
+ */
+ public static void main(String[] args) {
+
+ Evolution1 test = new Evolution1();
+ test.start();
+
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/backup/Net1.xmi b/plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/backup/Net1.xmi
new file mode 100644
index 000000000..caf768121
--- /dev/null
+++ b/plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/backup/Net1.xmi
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="ASCII"?>
+<petri:Net xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:petri="petri" xsi:schemaLocation="petri petri.ecore">
+ <places name="p1" src="//@transitions.2" dst="//@transitions.0"/>
+ <places name="p2" src="//@transitions.0" dst="//@transitions.1"/>
+ <places name="p3" src="//@transitions.1" dst="//@transitions.2"/>
+ <transitions name="t1" dst="//@places.1" src="//@places.0"/>
+ <transitions name="t2" dst="//@places.2" src="//@places.1"/>
+ <transitions name="t3" dst="//@places.0" src="//@places.2"/>
+</petri:Net>
diff --git a/plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/backup/petri.ecore b/plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/backup/petri.ecore
new file mode 100644
index 000000000..3942d2d91
--- /dev/null
+++ b/plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/backup/petri.ecore
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="petri"
+ nsURI="petri" nsPrefix="petri">
+ <eClassifiers xsi:type="ecore:EClass" name="Net">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="places" upperBound="-1"
+ eType="#//Place" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="transitions" upperBound="-1"
+ eType="#//Transition" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Place">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="src" upperBound="-1" eType="#//Transition"
+ eOpposite="#//Transition/dst"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="dst" upperBound="-1" eType="#//Transition"
+ eOpposite="#//Transition/src"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Transition">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="dst" lowerBound="1" upperBound="-1"
+ eType="#//Place" eOpposite="#//Place/src"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="src" lowerBound="1" upperBound="-1"
+ eType="#//Place" eOpposite="#//Place/dst"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/backup/petri.ecorediag b/plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/backup/petri.ecorediag
new file mode 100644
index 000000000..c35139d66
--- /dev/null
+++ b/plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/backup/petri.ecorediag
@@ -0,0 +1,145 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_26bAEU04Ed-YoZn6zwU4ZQ" type="EcoreTools" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="_4E0WoE04Ed-YoZn6zwU4ZQ" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_4E0Wo004Ed-YoZn6zwU4ZQ" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_4E0WpE04Ed-YoZn6zwU4ZQ" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_8CK9AE04Ed-YoZn6zwU4ZQ" type="2001">
+ <element xmi:type="ecore:EAttribute" href="petri.ecore#//Place/name"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8CK9AU04Ed-YoZn6zwU4ZQ"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_4E0WpU04Ed-YoZn6zwU4ZQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_4E0Wpk04Ed-YoZn6zwU4ZQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_4E0Wp004Ed-YoZn6zwU4ZQ"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_4E0WqE04Ed-YoZn6zwU4ZQ" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_4E0WqU04Ed-YoZn6zwU4ZQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_4E0Wqk04Ed-YoZn6zwU4ZQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_4E0Wq004Ed-YoZn6zwU4ZQ"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_4E0WoU04Ed-YoZn6zwU4ZQ" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="0"/>
+ <element xmi:type="ecore:EClass" href="petri.ecore#//Place"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4E0Wok04Ed-YoZn6zwU4ZQ" x="145" y="135"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_41BEgE04Ed-YoZn6zwU4ZQ" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_41BEg004Ed-YoZn6zwU4ZQ" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_41BEhE04Ed-YoZn6zwU4ZQ" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_BqpocE05Ed-YoZn6zwU4ZQ" type="2001">
+ <element xmi:type="ecore:EAttribute" href="petri.ecore#//Transition/name"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_BqpocU05Ed-YoZn6zwU4ZQ"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_41BEhU04Ed-YoZn6zwU4ZQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_41BEhk04Ed-YoZn6zwU4ZQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_41BEh004Ed-YoZn6zwU4ZQ"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_41BEiE04Ed-YoZn6zwU4ZQ" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_41BEiU04Ed-YoZn6zwU4ZQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_41BEik04Ed-YoZn6zwU4ZQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_41BEi004Ed-YoZn6zwU4ZQ"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_41BEgU04Ed-YoZn6zwU4ZQ" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="0"/>
+ <element xmi:type="ecore:EClass" href="petri.ecore#//Transition"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_41BEgk04Ed-YoZn6zwU4ZQ" x="335" y="135"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_L9a4wE05Ed-YoZn6zwU4ZQ" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_L9a4w005Ed-YoZn6zwU4ZQ" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_L9a4xE05Ed-YoZn6zwU4ZQ" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_L9a4xU05Ed-YoZn6zwU4ZQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_L9a4xk05Ed-YoZn6zwU4ZQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_L9a4x005Ed-YoZn6zwU4ZQ"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_L9a4yE05Ed-YoZn6zwU4ZQ" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_L9a4yU05Ed-YoZn6zwU4ZQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_L9a4yk05Ed-YoZn6zwU4ZQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_L9a4y005Ed-YoZn6zwU4ZQ"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_L9a4wU05Ed-YoZn6zwU4ZQ" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="0"/>
+ <element xmi:type="ecore:EClass" href="petri.ecore#//Net"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_L9a4wk05Ed-YoZn6zwU4ZQ" x="245" y="80"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_26bAEk04Ed-YoZn6zwU4ZQ"/>
+ <element xmi:type="ecore:EPackage" href="petri.ecore#/"/>
+ <edges xmi:type="notation:Edge" xmi:id="_NlHPUE05Ed-YoZn6zwU4ZQ" type="3002" source="_L9a4wE05Ed-YoZn6zwU4ZQ" target="_4E0WoE04Ed-YoZn6zwU4ZQ">
+ <children xmi:type="notation:Node" xmi:id="_NlHPVE05Ed-YoZn6zwU4ZQ" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_NlHPVU05Ed-YoZn6zwU4ZQ" x="-4" y="-25"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_NlHPVk05Ed-YoZn6zwU4ZQ" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_NlHPV005Ed-YoZn6zwU4ZQ" x="11" y="-21"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_NlHPUU05Ed-YoZn6zwU4ZQ" routing="Rectilinear" lineColor="0"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_NlHPUk05Ed-YoZn6zwU4ZQ" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="petri.ecore#//Net/places"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NlHPU005Ed-YoZn6zwU4ZQ" points="[-19, 0, 79, -56]$[-98, 0, 0, -56]$[-98, 49, 0, -7]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NltsQE05Ed-YoZn6zwU4ZQ" id="(0.19607843137254902,0.16279069767441862)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NltsQU05Ed-YoZn6zwU4ZQ" id="(0.19130434782608696,0.1568627450980392)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_PqQ98E05Ed-YoZn6zwU4ZQ" type="3002" source="_L9a4wE05Ed-YoZn6zwU4ZQ" target="_41BEgE04Ed-YoZn6zwU4ZQ">
+ <children xmi:type="notation:Node" xmi:id="_PqQ99E05Ed-YoZn6zwU4ZQ" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PqQ99U05Ed-YoZn6zwU4ZQ" x="-6" y="33"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_PqQ99k05Ed-YoZn6zwU4ZQ" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PqQ99005Ed-YoZn6zwU4ZQ" x="9" y="14"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_PqQ98U05Ed-YoZn6zwU4ZQ" routing="Rectilinear" lineColor="0"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_PqQ98k05Ed-YoZn6zwU4ZQ" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="petri.ecore#//Net/transitions"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PqQ98005Ed-YoZn6zwU4ZQ" points="[2, 0, -78, -72]$[80, 0, 0, -72]$[80, 47, 0, -25]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Pqau8E05Ed-YoZn6zwU4ZQ" id="(0.9803921568627451,0.20930232558139536)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Pqau8U05Ed-YoZn6zwU4ZQ" id="(0.782608695652174,0.5294117647058824)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_ZuxkEE-PEd-WC5mKeYFYVA" type="3002" source="_4E0WoE04Ed-YoZn6zwU4ZQ" target="_41BEgE04Ed-YoZn6zwU4ZQ">
+ <children xmi:type="notation:Node" xmi:id="_ZuxkFE-PEd-WC5mKeYFYVA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ZuxkFU-PEd-WC5mKeYFYVA" y="-11"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_ZuxkFk-PEd-WC5mKeYFYVA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ZuxkF0-PEd-WC5mKeYFYVA" x="1" y="14"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_ZuxkEU-PEd-WC5mKeYFYVA" routing="Rectilinear" lineColor="0"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_ZuxkEk-PEd-WC5mKeYFYVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="petri.ecore#//Place/src"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ZuxkE0-PEd-WC5mKeYFYVA" points="[4, 1, -81, 1]$[81, 1, -4, 1]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sWzFlFH0Ed-YoZn6zwU4ZQ" id="(0.9652173913043478,0.49019607843137253)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sWzFlVH0Ed-YoZn6zwU4ZQ" id="(0.043478260869565216,0.49019607843137253)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_a1JWQE-PEd-WC5mKeYFYVA" type="3002" source="_41BEgE04Ed-YoZn6zwU4ZQ" target="_4E0WoE04Ed-YoZn6zwU4ZQ">
+ <children xmi:type="notation:Node" xmi:id="_a1JWRE-PEd-WC5mKeYFYVA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a1JWRU-PEd-WC5mKeYFYVA" x="-4" y="-14"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_a1JWRk-PEd-WC5mKeYFYVA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a1JWR0-PEd-WC5mKeYFYVA" x="-4" y="11"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_a1JWQU-PEd-WC5mKeYFYVA" routing="Rectilinear" lineColor="0"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_a1JWQk-PEd-WC5mKeYFYVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="petri.ecore#//Transition/dst"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a1JWQ0-PEd-WC5mKeYFYVA" points="[-4, 1, 81, 1]$[-81, 1, 4, 1]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_R3yQIlH0Ed-YoZn6zwU4ZQ" id="(0.043478260869565216,0.49019607843137253)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_R3yQI1H0Ed-YoZn6zwU4ZQ" id="(0.9652173913043478,0.49019607843137253)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_kqKTkE-PEd-WC5mKeYFYVA" type="3002" source="_4E0WoE04Ed-YoZn6zwU4ZQ" target="_41BEgE04Ed-YoZn6zwU4ZQ">
+ <children xmi:type="notation:Node" xmi:id="_kqKTlE-PEd-WC5mKeYFYVA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kqKTlU-PEd-WC5mKeYFYVA" x="2" y="-12"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_kqKTlk-PEd-WC5mKeYFYVA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kqKTl0-PEd-WC5mKeYFYVA" x="27" y="-12"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_kqKTkU-PEd-WC5mKeYFYVA" routing="Rectilinear" lineColor="0"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_kqKTkk-PEd-WC5mKeYFYVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="petri.ecore#//Place/dst"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kqKTk0-PEd-WC5mKeYFYVA" points="[0, 25, -190, 25]$[0, 46, -190, 46]$[190, 46, 0, 46]$[190, 25, 0, 25]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Qna0cFH0Ed-YoZn6zwU4ZQ" id="(0.5,0.5)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Qna0cVH0Ed-YoZn6zwU4ZQ" id="(0.5,0.5)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_mRjvME-PEd-WC5mKeYFYVA" type="3002" source="_41BEgE04Ed-YoZn6zwU4ZQ" target="_4E0WoE04Ed-YoZn6zwU4ZQ">
+ <children xmi:type="notation:Node" xmi:id="_mRjvNE-PEd-WC5mKeYFYVA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_mRjvNU-PEd-WC5mKeYFYVA" x="2" y="12"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_mRjvNk-PEd-WC5mKeYFYVA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_mRjvN0-PEd-WC5mKeYFYVA" x="26" y="12"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_mRjvMU-PEd-WC5mKeYFYVA" routing="Rectilinear" lineColor="0"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_mRjvMk-PEd-WC5mKeYFYVA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="petri.ecore#//Transition/src"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mRjvM0-PEd-WC5mKeYFYVA" points="[0, 25, 190, 25]$[0, 46, 190, 46]$[-190, 46, 0, 46]$[-190, 25, 0, 25]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_oyNkhFH0Ed-YoZn6zwU4ZQ" id="(0.5,0.5)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_oyNkhVH0Ed-YoZn6zwU4ZQ" id="(0.5,0.5)"/>
+ </edges>
+</notation:Diagram>
diff --git a/plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/backup/petriM.henshin b/plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/backup/petriM.henshin
new file mode 100644
index 000000000..5cb37574b
--- /dev/null
+++ b/plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/backup/petriM.henshin
@@ -0,0 +1,244 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<henshin:TransformationSystem xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:henshin="http://www.eclipse.org/emf/2010/Henshin" xmi:id="_iTzuIE1IEd-Mu_HLw4tVCg">
+ <rules xmi:id="_RF80IFNgEd-i-KpCMHQ-Hg" description="Create a new reference class with dedicated references to source and target class. After application we need to remember only one edge (to be deleted later), since source, target and opposite edge can be uniquely deduced." name="MM_CreateRefClass" activated="true">
+ <ports xsi:type="henshin:PortObject" xmi:id="_Gj0oQFXIEd-x-9lW7sYuiQ" name="objSource" direction="OUTPUT" node="_901TUVNgEd-i-KpCMHQ-Hg"/>
+ <ports xsi:type="henshin:PortObject" xmi:id="_H-R0EFXIEd-x-9lW7sYuiQ" name="objTarget" direction="OUTPUT" node="_-CYAEVNgEd-i-KpCMHQ-Hg"/>
+ <ports xsi:type="henshin:PortObject" xmi:id="_IRBJ4FXIEd-x-9lW7sYuiQ" name="objRefclass" direction="OUTPUT" node="_nR0SAVNjEd-i-KpCMHQ-Hg"/>
+ <ports xsi:type="henshin:PortObject" xmi:id="_RVbjIFXoEd-NjIhoE2H1tg" description="The reference to delete (due to its eOpposite relation, we do not save the oppsite explicitly)" name="objRef" direction="OUTPUT" node="_xmdaoFRgEd-Kwv3hBMsoCw"/>
+ <ports xsi:type="henshin:PortObject" xmi:id="_KzaLIFXpEd-NjIhoE2H1tg" description="Reference to Refclass heading from soure to target " name="objRefSrcTrg" direction="OUTPUT" node="_LFGIIFNkEd-i-KpCMHQ-Hg"/>
+ <ports xsi:type="henshin:PortObject" xmi:id="_L2pw0FXpEd-NjIhoE2H1tg" description="Reference to Refclass heading from target to source" name="objRefTrgSrc" direction="OUTPUT" node="_c7FSQFNkEd-i-KpCMHQ-Hg"/>
+ <ports xsi:type="henshin:PortParameter" xmi:id="_kMruEFXJEd-x-9lW7sYuiQ" name="parSourceName" variable="_YgVQIFNiEd-i-KpCMHQ-Hg"/>
+ <ports xsi:type="henshin:PortParameter" xmi:id="_RJrVMFXfEd-wr-yLxPMiEg" name="parTargetName" variable="_aOuEkFNiEd-i-KpCMHQ-Hg"/>
+ <ports xsi:type="henshin:PortParameter" xmi:id="_RgSeYFXfEd-wr-yLxPMiEg" name="parRefclassName" variable="_bl558FNiEd-i-KpCMHQ-Hg"/>
+ <lhs xmi:id="_RF80IVNgEd-i-KpCMHQ-Hg" name="LHS">
+ <nodes xmi:id="_901TUFNgEd-i-KpCMHQ-Hg" name="srcNode" incoming="_6pqJEFNmEd-i-KpCMHQ-Hg _6IfJIFXsEd-NjIhoE2H1tg" outgoing="_Ej-r4FNhEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+ <attributes xmi:id="_AD82QFNhEd-i-KpCMHQ-Hg" value="srcName">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name"/>
+ </attributes>
+ </nodes>
+ <nodes xmi:id="_-CYAEFNgEd-i-KpCMHQ-Hg" name="trgNode" incoming="_FLQHQFNhEd-i-KpCMHQ-Hg _6eM6cFXsEd-NjIhoE2H1tg" outgoing="_5wYXsFNmEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+ <attributes xmi:id="_BEqsYFNhEd-i-KpCMHQ-Hg" value="trgName">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name"/>
+ </attributes>
+ </nodes>
+ <nodes xmi:id="_-8PnUFNgEd-i-KpCMHQ-Hg" name="del2" incoming="_Ej-r4FNhEd-i-KpCMHQ-Hg _Ib2ScFRrEd-x-9lW7sYuiQ" outgoing="_FLQHQFNhEd-i-KpCMHQ-Hg _K3wUMFRrEd-x-9lW7sYuiQ">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EReference"/>
+ </nodes>
+ <nodes xmi:id="_3AFaUFNmEd-i-KpCMHQ-Hg" name="del1" incoming="_5wYXsFNmEd-i-KpCMHQ-Hg _K3wUMFRrEd-x-9lW7sYuiQ" outgoing="_6pqJEFNmEd-i-KpCMHQ-Hg _Ib2ScFRrEd-x-9lW7sYuiQ">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EReference"/>
+ </nodes>
+ <nodes xmi:id="_g2VvcFXsEd-NjIhoE2H1tg" name="l_p" outgoing="_6IfJIFXsEd-NjIhoE2H1tg _6eM6cFXsEd-NjIhoE2H1tg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+ </nodes>
+ <edges xmi:id="_Ej-r4FNhEd-i-KpCMHQ-Hg" source="_901TUFNgEd-i-KpCMHQ-Hg" target="_-8PnUFNgEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EClass/eStructuralFeatures"/>
+ </edges>
+ <edges xmi:id="_FLQHQFNhEd-i-KpCMHQ-Hg" source="_-8PnUFNgEd-i-KpCMHQ-Hg" target="_-CYAEFNgEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//ETypedElement/eType"/>
+ </edges>
+ <edges xmi:id="_5wYXsFNmEd-i-KpCMHQ-Hg" source="_-CYAEFNgEd-i-KpCMHQ-Hg" target="_3AFaUFNmEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EClass/eStructuralFeatures"/>
+ </edges>
+ <edges xmi:id="_6pqJEFNmEd-i-KpCMHQ-Hg" source="_3AFaUFNmEd-i-KpCMHQ-Hg" target="_901TUFNgEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//ETypedElement/eType"/>
+ </edges>
+ <edges xmi:id="_Ib2ScFRrEd-x-9lW7sYuiQ" source="_3AFaUFNmEd-i-KpCMHQ-Hg" target="_-8PnUFNgEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EReference/eOpposite"/>
+ </edges>
+ <edges xmi:id="_K3wUMFRrEd-x-9lW7sYuiQ" source="_-8PnUFNgEd-i-KpCMHQ-Hg" target="_3AFaUFNmEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EReference/eOpposite"/>
+ </edges>
+ <edges xmi:id="_6IfJIFXsEd-NjIhoE2H1tg" source="_g2VvcFXsEd-NjIhoE2H1tg" target="_901TUFNgEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EPackage/eClassifiers"/>
+ </edges>
+ <edges xmi:id="_6eM6cFXsEd-NjIhoE2H1tg" source="_g2VvcFXsEd-NjIhoE2H1tg" target="_-CYAEFNgEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EPackage/eClassifiers"/>
+ </edges>
+ <formula xsi:type="henshin:NestedCondition" xmi:id="_JBr_sFRFEd-z0vg4YPdKmw" negated="true">
+ <conclusion xmi:id="_JBr_sVRFEd-z0vg4YPdKmw" name="default">
+ <nodes xmi:id="_v10NIFREEd-z0vg4YPdKmw" name="nac1">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+ <attributes xmi:id="_JZZ8IFRFEd-z0vg4YPdKmw" value="refclassName">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name"/>
+ </attributes>
+ </nodes>
+ </conclusion>
+ </formula>
+ </lhs>
+ <rhs xmi:id="_RF80IlNgEd-i-KpCMHQ-Hg" name="RHS">
+ <nodes xmi:id="_901TUVNgEd-i-KpCMHQ-Hg" name="c1" incoming="_w1Nj41RgEd-Kwv3hBMsoCw _TBwcsFNkEd-i-KpCMHQ-Hg _GvlMgFXtEd-NjIhoE2H1tg" outgoing="_xmdaolRgEd-Kwv3hBMsoCw _JpwLgFNkEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+ <attributes xmi:id="_ati5IFNjEd-i-KpCMHQ-Hg" value="srcName">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name"/>
+ </attributes>
+ </nodes>
+ <nodes xmi:id="_-CYAEVNgEd-i-KpCMHQ-Hg" name="c2" incoming="_xmdao1RgEd-Kwv3hBMsoCw _YifhYFNkEd-i-KpCMHQ-Hg _HGWGsFXtEd-NjIhoE2H1tg" outgoing="_w1Nj4lRgEd-Kwv3hBMsoCw _VTjgMFNkEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+ <attributes xmi:id="_bLc9IFNjEd-i-KpCMHQ-Hg" value="trgName">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name"/>
+ </attributes>
+ </nodes>
+ <nodes xmi:id="_LFGIIFNkEd-i-KpCMHQ-Hg" name="r1" incoming="_JpwLgFNkEd-i-KpCMHQ-Hg _BI07MFX0Ed-NjIhoE2H1tg" outgoing="_KWFtEFNkEd-i-KpCMHQ-Hg _AY7IQFX0Ed-NjIhoE2H1tg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EReference"/>
+ <attributes xmi:id="_UdbUAFNlEd-i-KpCMHQ-Hg" value="true">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EReference/containment"/>
+ </attributes>
+ <attributes xmi:id="_gtxEQFNlEd-i-KpCMHQ-Hg" value="&quot;out&quot;">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name"/>
+ </attributes>
+ </nodes>
+ <nodes xmi:id="_c7FSQFNkEd-i-KpCMHQ-Hg" name="r2" incoming="_VTjgMFNkEd-i-KpCMHQ-Hg _B4uuIFX0Ed-NjIhoE2H1tg" outgoing="_WCaxUFNkEd-i-KpCMHQ-Hg _CeE24FX0Ed-NjIhoE2H1tg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EReference"/>
+ <attributes xmi:id="_1I4dkFNlEd-i-KpCMHQ-Hg" value="&quot;in&quot;">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name"/>
+ </attributes>
+ </nodes>
+ <nodes xmi:id="_nR0SAVNjEd-i-KpCMHQ-Hg" name="refclass" incoming="_KWFtEFNkEd-i-KpCMHQ-Hg _WCaxUFNkEd-i-KpCMHQ-Hg _JdWaUFXtEd-NjIhoE2H1tg" outgoing="_SET9AFNkEd-i-KpCMHQ-Hg _X6oQIFNkEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+ <attributes xmi:id="_wnytcFNkEd-i-KpCMHQ-Hg" value="refclassName">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name"/>
+ </attributes>
+ </nodes>
+ <nodes xmi:id="_DPSCcFNkEd-i-KpCMHQ-Hg" name="r3" incoming="_SET9AFNkEd-i-KpCMHQ-Hg _AY7IQFX0Ed-NjIhoE2H1tg" outgoing="_TBwcsFNkEd-i-KpCMHQ-Hg _BI07MFX0Ed-NjIhoE2H1tg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EReference"/>
+ <attributes xmi:id="_zUP3MFNlEd-i-KpCMHQ-Hg" value="&quot;src&quot;">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name"/>
+ </attributes>
+ </nodes>
+ <nodes xmi:id="_DhvEYFNkEd-i-KpCMHQ-Hg" name="r4" incoming="_X6oQIFNkEd-i-KpCMHQ-Hg _CeE24FX0Ed-NjIhoE2H1tg" outgoing="_YifhYFNkEd-i-KpCMHQ-Hg _B4uuIFX0Ed-NjIhoE2H1tg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EReference"/>
+ <attributes xmi:id="_3sY8IFNlEd-i-KpCMHQ-Hg" value="&quot;dst&quot;">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name"/>
+ </attributes>
+ </nodes>
+ <nodes xmi:id="_w1Nj4FRgEd-Kwv3hBMsoCw" name="r5" incoming="_w1Nj4lRgEd-Kwv3hBMsoCw _nTDOIFSBEd-x-9lW7sYuiQ" outgoing="_w1Nj41RgEd-Kwv3hBMsoCw _qKCpYFSBEd-x-9lW7sYuiQ">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EReference"/>
+ </nodes>
+ <nodes xmi:id="_xmdaoFRgEd-Kwv3hBMsoCw" name="r6" incoming="_xmdaolRgEd-Kwv3hBMsoCw _qKCpYFSBEd-x-9lW7sYuiQ" outgoing="_xmdao1RgEd-Kwv3hBMsoCw _nTDOIFSBEd-x-9lW7sYuiQ">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EReference"/>
+ </nodes>
+ <nodes xmi:id="_g2fgcFXsEd-NjIhoE2H1tg" name="r_p" outgoing="_GvlMgFXtEd-NjIhoE2H1tg _HGWGsFXtEd-NjIhoE2H1tg _JdWaUFXtEd-NjIhoE2H1tg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+ </nodes>
+ <edges xmi:id="_KWFtEFNkEd-i-KpCMHQ-Hg" source="_LFGIIFNkEd-i-KpCMHQ-Hg" target="_nR0SAVNjEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//ETypedElement/eType"/>
+ </edges>
+ <edges xmi:id="_JpwLgFNkEd-i-KpCMHQ-Hg" source="_901TUVNgEd-i-KpCMHQ-Hg" target="_LFGIIFNkEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EClass/eStructuralFeatures"/>
+ </edges>
+ <edges xmi:id="_SET9AFNkEd-i-KpCMHQ-Hg" source="_nR0SAVNjEd-i-KpCMHQ-Hg" target="_DPSCcFNkEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EClass/eStructuralFeatures"/>
+ </edges>
+ <edges xmi:id="_TBwcsFNkEd-i-KpCMHQ-Hg" source="_DPSCcFNkEd-i-KpCMHQ-Hg" target="_901TUVNgEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//ETypedElement/eType"/>
+ </edges>
+ <edges xmi:id="_WCaxUFNkEd-i-KpCMHQ-Hg" source="_c7FSQFNkEd-i-KpCMHQ-Hg" target="_nR0SAVNjEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//ETypedElement/eType"/>
+ </edges>
+ <edges xmi:id="_X6oQIFNkEd-i-KpCMHQ-Hg" source="_nR0SAVNjEd-i-KpCMHQ-Hg" target="_DhvEYFNkEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EClass/eStructuralFeatures"/>
+ </edges>
+ <edges xmi:id="_YifhYFNkEd-i-KpCMHQ-Hg" source="_DhvEYFNkEd-i-KpCMHQ-Hg" target="_-CYAEVNgEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//ETypedElement/eType"/>
+ </edges>
+ <edges xmi:id="_VTjgMFNkEd-i-KpCMHQ-Hg" source="_-CYAEVNgEd-i-KpCMHQ-Hg" target="_c7FSQFNkEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EClass/eStructuralFeatures"/>
+ </edges>
+ <edges xmi:id="_w1Nj4lRgEd-Kwv3hBMsoCw" source="_-CYAEVNgEd-i-KpCMHQ-Hg" target="_w1Nj4FRgEd-Kwv3hBMsoCw">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EClass/eStructuralFeatures"/>
+ </edges>
+ <edges xmi:id="_w1Nj41RgEd-Kwv3hBMsoCw" source="_w1Nj4FRgEd-Kwv3hBMsoCw" target="_901TUVNgEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//ETypedElement/eType"/>
+ </edges>
+ <edges xmi:id="_xmdaolRgEd-Kwv3hBMsoCw" source="_901TUVNgEd-i-KpCMHQ-Hg" target="_xmdaoFRgEd-Kwv3hBMsoCw">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EClass/eStructuralFeatures"/>
+ </edges>
+ <edges xmi:id="_xmdao1RgEd-Kwv3hBMsoCw" source="_xmdaoFRgEd-Kwv3hBMsoCw" target="_-CYAEVNgEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//ETypedElement/eType"/>
+ </edges>
+ <edges xmi:id="_nTDOIFSBEd-x-9lW7sYuiQ" source="_xmdaoFRgEd-Kwv3hBMsoCw" target="_w1Nj4FRgEd-Kwv3hBMsoCw">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EReference/eOpposite"/>
+ </edges>
+ <edges xmi:id="_qKCpYFSBEd-x-9lW7sYuiQ" source="_w1Nj4FRgEd-Kwv3hBMsoCw" target="_xmdaoFRgEd-Kwv3hBMsoCw">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EReference/eOpposite"/>
+ </edges>
+ <edges xmi:id="_GvlMgFXtEd-NjIhoE2H1tg" source="_g2fgcFXsEd-NjIhoE2H1tg" target="_901TUVNgEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EPackage/eClassifiers"/>
+ </edges>
+ <edges xmi:id="_HGWGsFXtEd-NjIhoE2H1tg" source="_g2fgcFXsEd-NjIhoE2H1tg" target="_-CYAEVNgEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EPackage/eClassifiers"/>
+ </edges>
+ <edges xmi:id="_JdWaUFXtEd-NjIhoE2H1tg" source="_g2fgcFXsEd-NjIhoE2H1tg" target="_nR0SAVNjEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EPackage/eClassifiers"/>
+ </edges>
+ <edges xmi:id="_AY7IQFX0Ed-NjIhoE2H1tg" source="_LFGIIFNkEd-i-KpCMHQ-Hg" target="_DPSCcFNkEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EReference/eOpposite"/>
+ </edges>
+ <edges xmi:id="_BI07MFX0Ed-NjIhoE2H1tg" source="_DPSCcFNkEd-i-KpCMHQ-Hg" target="_LFGIIFNkEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EReference/eOpposite"/>
+ </edges>
+ <edges xmi:id="_B4uuIFX0Ed-NjIhoE2H1tg" source="_DhvEYFNkEd-i-KpCMHQ-Hg" target="_c7FSQFNkEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EReference/eOpposite"/>
+ </edges>
+ <edges xmi:id="_CeE24FX0Ed-NjIhoE2H1tg" source="_c7FSQFNkEd-i-KpCMHQ-Hg" target="_DhvEYFNkEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EReference/eOpposite"/>
+ </edges>
+ </rhs>
+ <mappings xmi:id="_901TUlNgEd-i-KpCMHQ-Hg" origin="_901TUFNgEd-i-KpCMHQ-Hg" image="_901TUVNgEd-i-KpCMHQ-Hg"/>
+ <mappings xmi:id="_-CYAElNgEd-i-KpCMHQ-Hg" origin="_-CYAEFNgEd-i-KpCMHQ-Hg" image="_-CYAEVNgEd-i-KpCMHQ-Hg"/>
+ <mappings xmi:id="_w1Nj4VRgEd-Kwv3hBMsoCw" origin="_3AFaUFNmEd-i-KpCMHQ-Hg" image="_w1Nj4FRgEd-Kwv3hBMsoCw"/>
+ <mappings xmi:id="_xmdaoVRgEd-Kwv3hBMsoCw" origin="_-8PnUFNgEd-i-KpCMHQ-Hg" image="_xmdaoFRgEd-Kwv3hBMsoCw"/>
+ <mappings xmi:id="_g2fgcVXsEd-NjIhoE2H1tg" origin="_g2VvcFXsEd-NjIhoE2H1tg" image="_g2fgcFXsEd-NjIhoE2H1tg"/>
+ <variables xmi:id="_YgVQIFNiEd-i-KpCMHQ-Hg" description="" name="srcName"/>
+ <variables xmi:id="_aOuEkFNiEd-i-KpCMHQ-Hg" name="trgName"/>
+ <variables xmi:id="_bl558FNiEd-i-KpCMHQ-Hg" name="refclassName"/>
+ </rules>
+ <rules xmi:id="_bGiJkFRjEd-Kwv3hBMsoCw" description="Deletes old direct references between a source and target class." name="MM_DeleteOldRefs" activated="true">
+ <ports xsi:type="henshin:PortObject" xmi:id="_wnbfMFRjEd-Kwv3hBMsoCw" name="objDelRef" node="_bGiJmVRjEd-Kwv3hBMsoCw"/>
+ <lhs xmi:id="_bGiJlFRjEd-Kwv3hBMsoCw" name="LHS">
+ <nodes xmi:id="_bGiJlVRjEd-Kwv3hBMsoCw" name="l_src" incoming="_bGiJnlRjEd-Kwv3hBMsoCw" outgoing="_bGiJm1RjEd-Kwv3hBMsoCw">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+ </nodes>
+ <nodes xmi:id="_bGiJl1RjEd-Kwv3hBMsoCw" name="l_trg" incoming="_bGiJnFRjEd-Kwv3hBMsoCw" outgoing="_bGiJnVRjEd-Kwv3hBMsoCw">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+ </nodes>
+ <nodes xmi:id="_bGiJmlRjEd-Kwv3hBMsoCw" name="r1" incoming="_bGiJnVRjEd-Kwv3hBMsoCw _dYAOAFa1Ed-2F_JpJNec6w" outgoing="_bGiJnlRjEd-Kwv3hBMsoCw _d8yWEFa1Ed-2F_JpJNec6w">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EReference"/>
+ </nodes>
+ <nodes xmi:id="_bGiJmVRjEd-Kwv3hBMsoCw" name="r2" incoming="_bGiJm1RjEd-Kwv3hBMsoCw _d8yWEFa1Ed-2F_JpJNec6w" outgoing="_bGiJnFRjEd-Kwv3hBMsoCw _dYAOAFa1Ed-2F_JpJNec6w">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EReference"/>
+ </nodes>
+ <edges xmi:id="_bGiJm1RjEd-Kwv3hBMsoCw" source="_bGiJlVRjEd-Kwv3hBMsoCw" target="_bGiJmVRjEd-Kwv3hBMsoCw">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EClass/eStructuralFeatures"/>
+ </edges>
+ <edges xmi:id="_bGiJnFRjEd-Kwv3hBMsoCw" source="_bGiJmVRjEd-Kwv3hBMsoCw" target="_bGiJl1RjEd-Kwv3hBMsoCw">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//ETypedElement/eType"/>
+ </edges>
+ <edges xmi:id="_bGiJnVRjEd-Kwv3hBMsoCw" source="_bGiJl1RjEd-Kwv3hBMsoCw" target="_bGiJmlRjEd-Kwv3hBMsoCw">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EClass/eStructuralFeatures"/>
+ </edges>
+ <edges xmi:id="_bGiJnlRjEd-Kwv3hBMsoCw" source="_bGiJmlRjEd-Kwv3hBMsoCw" target="_bGiJlVRjEd-Kwv3hBMsoCw">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//ETypedElement/eType"/>
+ </edges>
+ <edges xmi:id="_dYAOAFa1Ed-2F_JpJNec6w" source="_bGiJmVRjEd-Kwv3hBMsoCw" target="_bGiJmlRjEd-Kwv3hBMsoCw">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EReference/eOpposite"/>
+ </edges>
+ <edges xmi:id="_d8yWEFa1Ed-2F_JpJNec6w" source="_bGiJmlRjEd-Kwv3hBMsoCw" target="_bGiJmVRjEd-Kwv3hBMsoCw">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EReference/eOpposite"/>
+ </edges>
+ </lhs>
+ <rhs xmi:id="_bGiJo1RjEd-Kwv3hBMsoCw" name="RHS">
+ <nodes xmi:id="_bGiJpFRjEd-Kwv3hBMsoCw" name="r_src">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+ </nodes>
+ <nodes xmi:id="_bGiJplRjEd-Kwv3hBMsoCw" name="r_trg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+ </nodes>
+ </rhs>
+ <mappings xmi:id="_bGiJwVRjEd-Kwv3hBMsoCw" origin="_bGiJlVRjEd-Kwv3hBMsoCw" image="_bGiJpFRjEd-Kwv3hBMsoCw"/>
+ <mappings xmi:id="_bGiJwlRjEd-Kwv3hBMsoCw" origin="_bGiJl1RjEd-Kwv3hBMsoCw" image="_bGiJplRjEd-Kwv3hBMsoCw"/>
+ </rules>
+ <imports href="http://www.eclipse.org/emf/2002/Ecore#/"/>
+</henshin:TransformationSystem>
diff --git a/plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/backup/petriM.henshin_diagram b/plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/backup/petriM.henshin_diagram
new file mode 100644
index 000000000..4a3994328
--- /dev/null
+++ b/plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/backup/petriM.henshin_diagram
@@ -0,0 +1,478 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:henshin="http://www.eclipse.org/emf/2010/Henshin" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_LUeEEFNoEd-i-KpCMHQ-Hg" type="Henshin" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_LU6wAFNoEd-i-KpCMHQ-Hg" type="2001" fontName="Segoe UI">
+ <children xmi:type="notation:DecorationNode" xmi:id="_LU6wAlNoEd-i-KpCMHQ-Hg" type="5001"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LU6wA1NoEd-i-KpCMHQ-Hg" type="7001">
+ <children xmi:type="notation:Shape" xmi:id="_LU6wBFNoEd-i-KpCMHQ-Hg" type="3001" fontName="Segoe UI" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_LU6wBlNoEd-i-KpCMHQ-Hg" type="5002"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LU6wB1NoEd-i-KpCMHQ-Hg" type="5003"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LU6wCFNoEd-i-KpCMHQ-Hg" type="7002">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_LU6wCVNoEd-i-KpCMHQ-Hg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_LU6wClNoEd-i-KpCMHQ-Hg"/>
+ </children>
+ <element xmi:type="henshin:Node" href="petriM.henshin#_901TUFNgEd-i-KpCMHQ-Hg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LU6wBVNoEd-i-KpCMHQ-Hg" x="2" y="9"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_LU6wC1NoEd-i-KpCMHQ-Hg" type="3001" fontName="Segoe UI" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_LU6wDVNoEd-i-KpCMHQ-Hg" type="5002"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LU6wDlNoEd-i-KpCMHQ-Hg" type="5003"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LU6wD1NoEd-i-KpCMHQ-Hg" type="7002">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_LU6wEFNoEd-i-KpCMHQ-Hg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_LU6wEVNoEd-i-KpCMHQ-Hg"/>
+ </children>
+ <element xmi:type="henshin:Node" href="petriM.henshin#_-CYAEFNgEd-i-KpCMHQ-Hg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LU6wDFNoEd-i-KpCMHQ-Hg" x="450" y="9"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_LU6wElNoEd-i-KpCMHQ-Hg" type="3001" fontName="Segoe UI" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_LU6wFFNoEd-i-KpCMHQ-Hg" type="5002"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LU6wFVNoEd-i-KpCMHQ-Hg" type="5003"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LU6wFlNoEd-i-KpCMHQ-Hg" type="7002">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_LU6wF1NoEd-i-KpCMHQ-Hg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_LU6wGFNoEd-i-KpCMHQ-Hg"/>
+ </children>
+ <element xmi:type="henshin:Node" href="petriM.henshin#_-8PnUFNgEd-i-KpCMHQ-Hg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LU6wE1NoEd-i-KpCMHQ-Hg" x="236" y="99"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_LU6wGVNoEd-i-KpCMHQ-Hg" type="3001" fontName="Segoe UI" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_LU6wG1NoEd-i-KpCMHQ-Hg" type="5002"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LU6wHFNoEd-i-KpCMHQ-Hg" type="5003"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LU6wHVNoEd-i-KpCMHQ-Hg" type="7002">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_LU6wHlNoEd-i-KpCMHQ-Hg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_LU6wH1NoEd-i-KpCMHQ-Hg"/>
+ </children>
+ <element xmi:type="henshin:Node" href="petriM.henshin#_3AFaUFNmEd-i-KpCMHQ-Hg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LU6wGlNoEd-i-KpCMHQ-Hg" x="235"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_LU6wIFNoEd-i-KpCMHQ-Hg" type="3001" fontName="Segoe UI">
+ <children xmi:type="notation:DecorationNode" xmi:id="_LU6wIlNoEd-i-KpCMHQ-Hg" type="5002"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LU6wI1NoEd-i-KpCMHQ-Hg" type="5003"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LU6wJFNoEd-i-KpCMHQ-Hg" type="7002">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_LU6wJVNoEd-i-KpCMHQ-Hg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_LU6wJlNoEd-i-KpCMHQ-Hg"/>
+ </children>
+ <element xmi:type="henshin:Node" href="petriM.henshin#_LFGIIFNkEd-i-KpCMHQ-Hg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LU6wIVNoEd-i-KpCMHQ-Hg" x="7" y="245"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_LU6wJ1NoEd-i-KpCMHQ-Hg" type="3001" fontName="Segoe UI">
+ <children xmi:type="notation:DecorationNode" xmi:id="_LU6wKVNoEd-i-KpCMHQ-Hg" type="5002"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LU6wKlNoEd-i-KpCMHQ-Hg" type="5003"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LU6wK1NoEd-i-KpCMHQ-Hg" type="7002">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_LU6wLFNoEd-i-KpCMHQ-Hg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_LU6wLVNoEd-i-KpCMHQ-Hg"/>
+ </children>
+ <element xmi:type="henshin:Node" href="petriM.henshin#_c7FSQFNkEd-i-KpCMHQ-Hg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LU6wKFNoEd-i-KpCMHQ-Hg" x="482" y="253"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_LU6wLlNoEd-i-KpCMHQ-Hg" type="3001" fontName="Segoe UI">
+ <children xmi:type="notation:DecorationNode" xmi:id="_LU6wMFNoEd-i-KpCMHQ-Hg" type="5002"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LU6wMVNoEd-i-KpCMHQ-Hg" type="5003"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LU6wMlNoEd-i-KpCMHQ-Hg" type="7002">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_LU6wM1NoEd-i-KpCMHQ-Hg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_LU6wNFNoEd-i-KpCMHQ-Hg"/>
+ </children>
+ <element xmi:type="henshin:Node" href="petriM.henshin#_nR0SAVNjEd-i-KpCMHQ-Hg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LU6wL1NoEd-i-KpCMHQ-Hg" x="209" y="245"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_LU6wNVNoEd-i-KpCMHQ-Hg" type="3001" fontName="Segoe UI">
+ <children xmi:type="notation:DecorationNode" xmi:id="_LU6wN1NoEd-i-KpCMHQ-Hg" type="5002"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LU6wOFNoEd-i-KpCMHQ-Hg" type="5003"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LU6wOVNoEd-i-KpCMHQ-Hg" type="7002">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_LU6wOlNoEd-i-KpCMHQ-Hg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_LU6wO1NoEd-i-KpCMHQ-Hg"/>
+ </children>
+ <element xmi:type="henshin:Node" href="petriM.henshin#_DPSCcFNkEd-i-KpCMHQ-Hg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LU6wNlNoEd-i-KpCMHQ-Hg" x="80" y="154"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_LU6wPFNoEd-i-KpCMHQ-Hg" type="3001" fontName="Segoe UI">
+ <children xmi:type="notation:DecorationNode" xmi:id="_LU6wPlNoEd-i-KpCMHQ-Hg" type="5002"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LU6wP1NoEd-i-KpCMHQ-Hg" type="5003"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LU6wQFNoEd-i-KpCMHQ-Hg" type="7002">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_LU6wQVNoEd-i-KpCMHQ-Hg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_LU6wQlNoEd-i-KpCMHQ-Hg"/>
+ </children>
+ <element xmi:type="henshin:Node" href="petriM.henshin#_DhvEYFNkEd-i-KpCMHQ-Hg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LU6wPVNoEd-i-KpCMHQ-Hg" x="399" y="164"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_KGGucFRjEd-Kwv3hBMsoCw" type="3001" fontName="Segoe UI">
+ <children xmi:type="notation:DecorationNode" xmi:id="_KGGuclRjEd-Kwv3hBMsoCw" type="5002"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_KGGuc1RjEd-Kwv3hBMsoCw" type="5003"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_KGGudFRjEd-Kwv3hBMsoCw" type="7002">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_KGGudVRjEd-Kwv3hBMsoCw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_KGGudlRjEd-Kwv3hBMsoCw"/>
+ </children>
+ <element xmi:type="henshin:Node" href="petriM.henshin#_v10NIFREEd-z0vg4YPdKmw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KGGucVRjEd-Kwv3hBMsoCw" x="528" y="116"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_g2fgclXsEd-NjIhoE2H1tg" type="3001" fontName="Segoe UI" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_g2fgdFXsEd-NjIhoE2H1tg" type="5002"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_g2fgdVXsEd-NjIhoE2H1tg" type="5003"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_g2fgdlXsEd-NjIhoE2H1tg" type="7002">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_g2fgd1XsEd-NjIhoE2H1tg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_g2fgeFXsEd-NjIhoE2H1tg"/>
+ </children>
+ <element xmi:type="henshin:Node" href="petriM.henshin#_g2VvcFXsEd-NjIhoE2H1tg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_g2fgc1XsEd-NjIhoE2H1tg" x="239" y="154"/>
+ </children>
+ </children>
+ <element xmi:type="henshin:Rule" href="petriM.henshin#_RF80IFNgEd-i-KpCMHQ-Hg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LU6wAVNoEd-i-KpCMHQ-Hg" x="361" y="35" width="676" height="342"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_j3dRAFSBEd-x-9lW7sYuiQ" type="2001" fontName="Segoe UI">
+ <children xmi:type="notation:DecorationNode" xmi:id="_j3dRAlSBEd-x-9lW7sYuiQ" type="5001"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_j3dRA1SBEd-x-9lW7sYuiQ" type="7001">
+ <children xmi:type="notation:Shape" xmi:id="_j3dRBFSBEd-x-9lW7sYuiQ" type="3001" fontName="Segoe UI">
+ <children xmi:type="notation:DecorationNode" xmi:id="_j3dRBlSBEd-x-9lW7sYuiQ" type="5002"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_j3dRB1SBEd-x-9lW7sYuiQ" type="5003"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_j3dRCFSBEd-x-9lW7sYuiQ" type="7002">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_j3dRCVSBEd-x-9lW7sYuiQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_j3dRClSBEd-x-9lW7sYuiQ"/>
+ </children>
+ <element xmi:type="henshin:Node" href="petriM.henshin#_bGiJlVRjEd-Kwv3hBMsoCw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_j3dRBVSBEd-x-9lW7sYuiQ" x="9" y="89"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_j3dRC1SBEd-x-9lW7sYuiQ" type="3001" fontName="Segoe UI">
+ <children xmi:type="notation:DecorationNode" xmi:id="_j3dRDVSBEd-x-9lW7sYuiQ" type="5002"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_j3dRDlSBEd-x-9lW7sYuiQ" type="5003"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_j3dRD1SBEd-x-9lW7sYuiQ" type="7002">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_j3dREFSBEd-x-9lW7sYuiQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_j3dREVSBEd-x-9lW7sYuiQ"/>
+ </children>
+ <element xmi:type="henshin:Node" href="petriM.henshin#_bGiJl1RjEd-Kwv3hBMsoCw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_j3dRDFSBEd-x-9lW7sYuiQ" x="309" y="89"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_j3dRElSBEd-x-9lW7sYuiQ" type="3001" fontName="Segoe UI">
+ <children xmi:type="notation:DecorationNode" xmi:id="_j3dRFFSBEd-x-9lW7sYuiQ" type="5002"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_j3dRFVSBEd-x-9lW7sYuiQ" type="5003"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_j3dRFlSBEd-x-9lW7sYuiQ" type="7002">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_j3dRF1SBEd-x-9lW7sYuiQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_j3dRGFSBEd-x-9lW7sYuiQ"/>
+ </children>
+ <element xmi:type="henshin:Node" href="petriM.henshin#_bGiJmlRjEd-Kwv3hBMsoCw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_j3dRE1SBEd-x-9lW7sYuiQ" x="160" y="19"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_j3dRGVSBEd-x-9lW7sYuiQ" type="3001" fontName="Segoe UI">
+ <children xmi:type="notation:DecorationNode" xmi:id="_j3dRG1SBEd-x-9lW7sYuiQ" type="5002"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_j3dRHFSBEd-x-9lW7sYuiQ" type="5003"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_j3dRHVSBEd-x-9lW7sYuiQ" type="7002">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_j3dRHlSBEd-x-9lW7sYuiQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_j3dRH1SBEd-x-9lW7sYuiQ"/>
+ </children>
+ <element xmi:type="henshin:Node" href="petriM.henshin#_bGiJmVRjEd-Kwv3hBMsoCw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_j3dRGlSBEd-x-9lW7sYuiQ" x="156" y="163"/>
+ </children>
+ </children>
+ <element xmi:type="henshin:Rule" href="petriM.henshin#_bGiJkFRjEd-Kwv3hBMsoCw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_j3dRAVSBEd-x-9lW7sYuiQ" x="-126" y="35" width="409" height="265"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_LUeEEVNoEd-i-KpCMHQ-Hg"/>
+ <element xmi:type="henshin:TransformationSystem" href="petriM.henshin#_iTzuIE1IEd-Mu_HLw4tVCg"/>
+ <edges xmi:type="notation:Connector" xmi:id="_LVD5_FNoEd-i-KpCMHQ-Hg" type="4001" source="_LU6wBFNoEd-i-KpCMHQ-Hg" target="_LU6wElNoEd-i-KpCMHQ-Hg" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_LVD5_1NoEd-i-KpCMHQ-Hg" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LVD6AFNoEd-i-KpCMHQ-Hg" x="21"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LVD6AVNoEd-i-KpCMHQ-Hg" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LVD6AlNoEd-i-KpCMHQ-Hg" x="19" y="-15"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_LVD5_VNoEd-i-KpCMHQ-Hg" fontName="Segoe UI"/>
+ <element xmi:type="henshin:Edge" href="petriM.henshin#_Ej-r4FNhEd-i-KpCMHQ-Hg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LVD5_lNoEd-i-KpCMHQ-Hg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_LVNq8FNoEd-i-KpCMHQ-Hg" type="4001" source="_LU6wElNoEd-i-KpCMHQ-Hg" target="_LU6wC1NoEd-i-KpCMHQ-Hg" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_LVNq81NoEd-i-KpCMHQ-Hg" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LVNq9FNoEd-i-KpCMHQ-Hg" x="2" y="-2"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LVNq9VNoEd-i-KpCMHQ-Hg" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LVNq9lNoEd-i-KpCMHQ-Hg" x="18" y="-7"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_LVNq8VNoEd-i-KpCMHQ-Hg" fontName="Segoe UI"/>
+ <element xmi:type="henshin:Edge" href="petriM.henshin#_FLQHQFNhEd-i-KpCMHQ-Hg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LVNq8lNoEd-i-KpCMHQ-Hg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_LVNq91NoEd-i-KpCMHQ-Hg" type="4001" source="_LU6wC1NoEd-i-KpCMHQ-Hg" target="_LU6wGVNoEd-i-KpCMHQ-Hg" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_LVNq-lNoEd-i-KpCMHQ-Hg" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LVNq-1NoEd-i-KpCMHQ-Hg" x="-2" y="9"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LVNq_FNoEd-i-KpCMHQ-Hg" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LVNq_VNoEd-i-KpCMHQ-Hg" x="-3" y="22"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_LVNq-FNoEd-i-KpCMHQ-Hg" fontName="Segoe UI"/>
+ <element xmi:type="henshin:Edge" href="petriM.henshin#_5wYXsFNmEd-i-KpCMHQ-Hg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LVNq-VNoEd-i-KpCMHQ-Hg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_LVNq_lNoEd-i-KpCMHQ-Hg" type="4001" source="_LU6wGVNoEd-i-KpCMHQ-Hg" target="_LU6wBFNoEd-i-KpCMHQ-Hg" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_LVNrAVNoEd-i-KpCMHQ-Hg" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LVNrAlNoEd-i-KpCMHQ-Hg" x="-2" y="3"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LVNrA1NoEd-i-KpCMHQ-Hg" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LVNrBFNoEd-i-KpCMHQ-Hg" x="1" y="18"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_LVNq_1NoEd-i-KpCMHQ-Hg" fontName="Segoe UI"/>
+ <element xmi:type="henshin:Edge" href="petriM.henshin#_6pqJEFNmEd-i-KpCMHQ-Hg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LVNrAFNoEd-i-KpCMHQ-Hg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_LVNrBVNoEd-i-KpCMHQ-Hg" type="4001" source="_LU6wIFNoEd-i-KpCMHQ-Hg" target="_LU6wLlNoEd-i-KpCMHQ-Hg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_LVNrCFNoEd-i-KpCMHQ-Hg" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LVNrCVNoEd-i-KpCMHQ-Hg" x="-4" y="-9"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LVNrClNoEd-i-KpCMHQ-Hg" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LVNrC1NoEd-i-KpCMHQ-Hg" y="8"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_LVNrBlNoEd-i-KpCMHQ-Hg" fontName="Segoe UI"/>
+ <element xmi:type="henshin:Edge" href="petriM.henshin#_KWFtEFNkEd-i-KpCMHQ-Hg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LVNrB1NoEd-i-KpCMHQ-Hg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TSIBsFNpEd-i-KpCMHQ-Hg" id="(0.9682539682539683,0.38461538461538464)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_LVNrDFNoEd-i-KpCMHQ-Hg" type="4001" source="_LU6wBFNoEd-i-KpCMHQ-Hg" target="_LU6wIFNoEd-i-KpCMHQ-Hg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_LVNrD1NoEd-i-KpCMHQ-Hg" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LVNrEFNoEd-i-KpCMHQ-Hg" x="79" y="-9"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LVNrEVNoEd-i-KpCMHQ-Hg" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LVNrElNoEd-i-KpCMHQ-Hg" x="67" y="11"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_LVNrDVNoEd-i-KpCMHQ-Hg" fontName="Segoe UI"/>
+ <element xmi:type="henshin:Edge" href="petriM.henshin#_JpwLgFNkEd-i-KpCMHQ-Hg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LVNrDlNoEd-i-KpCMHQ-Hg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3H5m8FSBEd-x-9lW7sYuiQ" id="(0.42063492063492064,0.07692307692307693)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_LVNrE1NoEd-i-KpCMHQ-Hg" type="4001" source="_LU6wLlNoEd-i-KpCMHQ-Hg" target="_LU6wNVNoEd-i-KpCMHQ-Hg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_LVNrFlNoEd-i-KpCMHQ-Hg" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LVNrF1NoEd-i-KpCMHQ-Hg" x="15" y="-22"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LVNrGFNoEd-i-KpCMHQ-Hg" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LVNrGVNoEd-i-KpCMHQ-Hg" x="5" y="-1"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_LVNrFFNoEd-i-KpCMHQ-Hg" fontName="Segoe UI"/>
+ <element xmi:type="henshin:Edge" href="petriM.henshin#_SET9AFNkEd-i-KpCMHQ-Hg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LVNrFVNoEd-i-KpCMHQ-Hg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1RYx8FNoEd-i-KpCMHQ-Hg" id="(0.9891304347826086,0.46938775510204084)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_LVNrGlNoEd-i-KpCMHQ-Hg" type="4001" source="_LU6wNVNoEd-i-KpCMHQ-Hg" target="_LU6wBFNoEd-i-KpCMHQ-Hg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_LVNrHVNoEd-i-KpCMHQ-Hg" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LVNrHlNoEd-i-KpCMHQ-Hg" x="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LVNrH1NoEd-i-KpCMHQ-Hg" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LVNrIFNoEd-i-KpCMHQ-Hg" x="-15" y="15"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_LVNrG1NoEd-i-KpCMHQ-Hg" fontName="Segoe UI"/>
+ <element xmi:type="henshin:Edge" href="petriM.henshin#_TBwcsFNkEd-i-KpCMHQ-Hg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LVNrHFNoEd-i-KpCMHQ-Hg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_LVNrIVNoEd-i-KpCMHQ-Hg" type="4001" source="_LU6wJ1NoEd-i-KpCMHQ-Hg" target="_LU6wLlNoEd-i-KpCMHQ-Hg" routing="Rectilinear">
+ <children xmi:type="notation:DecorationNode" xmi:id="_LVNrJFNoEd-i-KpCMHQ-Hg" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LVNrJVNoEd-i-KpCMHQ-Hg" x="-12" y="14"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LVNrJlNoEd-i-KpCMHQ-Hg" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LVNrJ1NoEd-i-KpCMHQ-Hg" x="-12" y="-12"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_LVNrIlNoEd-i-KpCMHQ-Hg" fontName="Segoe UI"/>
+ <element xmi:type="henshin:Edge" href="petriM.henshin#_WCaxUFNkEd-i-KpCMHQ-Hg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LVNrI1NoEd-i-KpCMHQ-Hg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_LVNrKFNoEd-i-KpCMHQ-Hg" type="4001" source="_LU6wLlNoEd-i-KpCMHQ-Hg" target="_LU6wPFNoEd-i-KpCMHQ-Hg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_LVNrK1NoEd-i-KpCMHQ-Hg" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LVNrLFNoEd-i-KpCMHQ-Hg" x="31" y="24"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LVNrLVNoEd-i-KpCMHQ-Hg" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LVNrLlNoEd-i-KpCMHQ-Hg" x="15" y="-2"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_LVNrKVNoEd-i-KpCMHQ-Hg" fontName="Segoe UI"/>
+ <element xmi:type="henshin:Edge" href="petriM.henshin#_X6oQIFNkEd-i-KpCMHQ-Hg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LVNrKlNoEd-i-KpCMHQ-Hg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FT_58FNpEd-i-KpCMHQ-Hg" id="(0.7753623188405797,0.02040816326530612)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_E-uNgFNpEd-i-KpCMHQ-Hg" id="(0.021505376344086023,0.46938775510204084)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_LVXb8FNoEd-i-KpCMHQ-Hg" type="4001" source="_LU6wPFNoEd-i-KpCMHQ-Hg" target="_LU6wC1NoEd-i-KpCMHQ-Hg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_LVXb81NoEd-i-KpCMHQ-Hg" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LVXb9FNoEd-i-KpCMHQ-Hg" x="-19" y="-7"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LVXb9VNoEd-i-KpCMHQ-Hg" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LVXb9lNoEd-i-KpCMHQ-Hg" x="-6" y="-12"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_LVXb8VNoEd-i-KpCMHQ-Hg" fontName="Segoe UI"/>
+ <element xmi:type="henshin:Edge" href="petriM.henshin#_YifhYFNkEd-i-KpCMHQ-Hg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LVXb8lNoEd-i-KpCMHQ-Hg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_LVXb91NoEd-i-KpCMHQ-Hg" type="4001" source="_LU6wC1NoEd-i-KpCMHQ-Hg" target="_LU6wJ1NoEd-i-KpCMHQ-Hg" routing="Rectilinear">
+ <children xmi:type="notation:DecorationNode" xmi:id="_LVXb-lNoEd-i-KpCMHQ-Hg" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LVXb-1NoEd-i-KpCMHQ-Hg" x="82" y="11"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LVXb_FNoEd-i-KpCMHQ-Hg" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LVXb_VNoEd-i-KpCMHQ-Hg" x="71" y="-2"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_LVXb-FNoEd-i-KpCMHQ-Hg" fontName="Segoe UI"/>
+ <element xmi:type="henshin:Edge" href="petriM.henshin#_VTjgMFNkEd-i-KpCMHQ-Hg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LVXb-VNoEd-i-KpCMHQ-Hg" points="[17, 25, -1, -219]$[17, 220, -1, -24]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_j3wL8FSBEd-x-9lW7sYuiQ" type="4001" source="_LU6wGVNoEd-i-KpCMHQ-Hg" target="_LU6wElNoEd-i-KpCMHQ-Hg" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_j3wL81SBEd-x-9lW7sYuiQ" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_j3wL9FSBEd-x-9lW7sYuiQ" x="1" y="-27"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_j3wL9VSBEd-x-9lW7sYuiQ" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_j3wL9lSBEd-x-9lW7sYuiQ" x="-9" y="-30"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_j3wL8VSBEd-x-9lW7sYuiQ" fontName="Segoe UI"/>
+ <element xmi:type="henshin:Edge" href="petriM.henshin#_Ib2ScFRrEd-x-9lW7sYuiQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_j3wL8lSBEd-x-9lW7sYuiQ" points="[7, 21, 7, -106]$[23, 66, 23, -61]$[8, 106, 8, -21]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_j3wL91SBEd-x-9lW7sYuiQ" type="4001" source="_LU6wElNoEd-i-KpCMHQ-Hg" target="_LU6wGVNoEd-i-KpCMHQ-Hg" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_j3588lSBEd-x-9lW7sYuiQ" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_j35881SBEd-x-9lW7sYuiQ" x="18" y="-10"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_j3589FSBEd-x-9lW7sYuiQ" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_j3589VSBEd-x-9lW7sYuiQ" x="27" y="-10"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_j3588FSBEd-x-9lW7sYuiQ" fontName="Segoe UI"/>
+ <element xmi:type="henshin:Edge" href="petriM.henshin#_K3wUMFRrEd-x-9lW7sYuiQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_j3588VSBEd-x-9lW7sYuiQ" points="[-6, -21, -6, 106]$[-19, -64, -19, 63]$[-6, -106, -6, 21]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_j3589lSBEd-x-9lW7sYuiQ" type="4001" source="_j3dRBFSBEd-x-9lW7sYuiQ" target="_j3dRGVSBEd-x-9lW7sYuiQ">
+ <children xmi:type="notation:DecorationNode" xmi:id="_j358-VSBEd-x-9lW7sYuiQ" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_j358-lSBEd-x-9lW7sYuiQ" x="-17" y="24"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_j358-1SBEd-x-9lW7sYuiQ" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_j358_FSBEd-x-9lW7sYuiQ" x="-10" y="36"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_j35891SBEd-x-9lW7sYuiQ" fontName="Segoe UI"/>
+ <element xmi:type="henshin:Edge" href="petriM.henshin#_bGiJm1RjEd-Kwv3hBMsoCw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_j358-FSBEd-x-9lW7sYuiQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_j358_VSBEd-x-9lW7sYuiQ" type="4001" source="_j3dRGVSBEd-x-9lW7sYuiQ" target="_j3dRC1SBEd-x-9lW7sYuiQ">
+ <children xmi:type="notation:DecorationNode" xmi:id="_j359AFSBEd-x-9lW7sYuiQ" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_j359AVSBEd-x-9lW7sYuiQ" x="12" y="14"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_j359AlSBEd-x-9lW7sYuiQ" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_j359A1SBEd-x-9lW7sYuiQ" x="8" y="28"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_j358_lSBEd-x-9lW7sYuiQ" fontName="Segoe UI"/>
+ <element xmi:type="henshin:Edge" href="petriM.henshin#_bGiJnFRjEd-Kwv3hBMsoCw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_j358_1SBEd-x-9lW7sYuiQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_j4DG4FSBEd-x-9lW7sYuiQ" type="4001" source="_j3dRC1SBEd-x-9lW7sYuiQ" target="_j3dRElSBEd-x-9lW7sYuiQ">
+ <children xmi:type="notation:DecorationNode" xmi:id="_j4DG41SBEd-x-9lW7sYuiQ" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_j4DG5FSBEd-x-9lW7sYuiQ" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_j4DG5VSBEd-x-9lW7sYuiQ" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_j4DG5lSBEd-x-9lW7sYuiQ" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_j4DG4VSBEd-x-9lW7sYuiQ" fontName="Segoe UI"/>
+ <element xmi:type="henshin:Edge" href="petriM.henshin#_bGiJnVRjEd-Kwv3hBMsoCw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_j4DG4lSBEd-x-9lW7sYuiQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_j4DG51SBEd-x-9lW7sYuiQ" type="4001" source="_j3dRElSBEd-x-9lW7sYuiQ" target="_j3dRBFSBEd-x-9lW7sYuiQ">
+ <children xmi:type="notation:DecorationNode" xmi:id="_j4DG6lSBEd-x-9lW7sYuiQ" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_j4DG61SBEd-x-9lW7sYuiQ" x="3" y="11"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_j4DG7FSBEd-x-9lW7sYuiQ" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_j4DG7VSBEd-x-9lW7sYuiQ" x="-1" y="24"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_j4DG6FSBEd-x-9lW7sYuiQ" fontName="Segoe UI"/>
+ <element xmi:type="henshin:Edge" href="petriM.henshin#_bGiJnlRjEd-Kwv3hBMsoCw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_j4DG6VSBEd-x-9lW7sYuiQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_ROZU0lXtEd-NjIhoE2H1tg" type="4001" source="_g2fgclXsEd-NjIhoE2H1tg" target="_LU6wBFNoEd-i-KpCMHQ-Hg" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_ROZU1VXtEd-NjIhoE2H1tg" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ROZU1lXtEd-NjIhoE2H1tg" x="-42" y="-10"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_ROZU11XtEd-NjIhoE2H1tg" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ROZU2FXtEd-NjIhoE2H1tg" x="-29" y="-5"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_ROZU01XtEd-NjIhoE2H1tg" fontName="Segoe UI"/>
+ <element xmi:type="henshin:Edge" href="petriM.henshin#_6IfJIFXsEd-NjIhoE2H1tg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ROZU1FXtEd-NjIhoE2H1tg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_ROZU2VXtEd-NjIhoE2H1tg" type="4001" source="_g2fgclXsEd-NjIhoE2H1tg" target="_LU6wC1NoEd-i-KpCMHQ-Hg" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_ROZU3FXtEd-NjIhoE2H1tg" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ROZU3VXtEd-NjIhoE2H1tg" x="-31" y="16"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_ROZU3lXtEd-NjIhoE2H1tg" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ROZU31XtEd-NjIhoE2H1tg" x="-22" y="9"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_ROZU2lXtEd-NjIhoE2H1tg" fontName="Segoe UI"/>
+ <element xmi:type="henshin:Edge" href="petriM.henshin#_6eM6cFXsEd-NjIhoE2H1tg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ROZU21XtEd-NjIhoE2H1tg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_ROjFwFXtEd-NjIhoE2H1tg" type="4001" source="_g2fgclXsEd-NjIhoE2H1tg" target="_LU6wLlNoEd-i-KpCMHQ-Hg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_ROjFw1XtEd-NjIhoE2H1tg" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ROjFxFXtEd-NjIhoE2H1tg" x="-4" y="-1"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_ROjFxVXtEd-NjIhoE2H1tg" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ROjFxlXtEd-NjIhoE2H1tg" x="-18"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_ROjFwVXtEd-NjIhoE2H1tg" fontName="Segoe UI"/>
+ <element xmi:type="henshin:Edge" href="petriM.henshin#_JdWaUFXtEd-NjIhoE2H1tg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ROjFwlXtEd-NjIhoE2H1tg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_AY7IQVX0Ed-NjIhoE2H1tg" type="4001" source="_LU6wIFNoEd-i-KpCMHQ-Hg" target="_LU6wNVNoEd-i-KpCMHQ-Hg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_AY7IRFX0Ed-NjIhoE2H1tg" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_AY7IRVX0Ed-NjIhoE2H1tg" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_AY7IRlX0Ed-NjIhoE2H1tg" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_AY7IR1X0Ed-NjIhoE2H1tg" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_AY7IQlX0Ed-NjIhoE2H1tg" fontName="Segoe UI"/>
+ <element xmi:type="henshin:Edge" href="petriM.henshin#_AY7IQFX0Ed-NjIhoE2H1tg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AY7IQ1X0Ed-NjIhoE2H1tg" points="[5, -18, -17, 82]$[52, -131, 30, -31]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AY7ISFX0Ed-NjIhoE2H1tg" id="(0.8015873015873016,0.2153846153846154)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_BI07MVX0Ed-NjIhoE2H1tg" type="4001" source="_LU6wNVNoEd-i-KpCMHQ-Hg" target="_LU6wIFNoEd-i-KpCMHQ-Hg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_BI07NFX0Ed-NjIhoE2H1tg" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_BI07NVX0Ed-NjIhoE2H1tg" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_BI07NlX0Ed-NjIhoE2H1tg" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_BI07N1X0Ed-NjIhoE2H1tg" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_BI07MlX0Ed-NjIhoE2H1tg" fontName="Segoe UI"/>
+ <element xmi:type="henshin:Edge" href="petriM.henshin#_BI07MFX0Ed-NjIhoE2H1tg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_BI07M1X0Ed-NjIhoE2H1tg" points="[-11, 27, 27, -93]$[-117, 123, -79, 3]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BI-sMFX0Ed-NjIhoE2H1tg" id="(0.22826086956521738,0.5510204081632653)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_B4uuIVX0Ed-NjIhoE2H1tg" type="4001" source="_LU6wPFNoEd-i-KpCMHQ-Hg" target="_LU6wJ1NoEd-i-KpCMHQ-Hg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_B4uuJFX0Ed-NjIhoE2H1tg" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_B4uuJVX0Ed-NjIhoE2H1tg" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_B4uuJlX0Ed-NjIhoE2H1tg" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_B4uuJ1X0Ed-NjIhoE2H1tg" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_B4uuIlX0Ed-NjIhoE2H1tg" fontName="Segoe UI"/>
+ <element xmi:type="henshin:Edge" href="petriM.henshin#_B4uuIFX0Ed-NjIhoE2H1tg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_B4uuI1X0Ed-NjIhoE2H1tg" points="[19, 31, -80, -80]$[45, 125, -54, 14]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_CeE24VX0Ed-NjIhoE2H1tg" type="4001" source="_LU6wJ1NoEd-i-KpCMHQ-Hg" target="_LU6wPFNoEd-i-KpCMHQ-Hg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_CeE25FX0Ed-NjIhoE2H1tg" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_CeE25VX0Ed-NjIhoE2H1tg" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_CeE25lX0Ed-NjIhoE2H1tg" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_CeE251X0Ed-NjIhoE2H1tg" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_CeE24lX0Ed-NjIhoE2H1tg" fontName="Segoe UI"/>
+ <element xmi:type="henshin:Edge" href="petriM.henshin#_CeE24FX0Ed-NjIhoE2H1tg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_CeE241X0Ed-NjIhoE2H1tg" points="[-20, -31, 65, 98]$[-84, -141, 1, -12]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CeE26FX0Ed-NjIhoE2H1tg" id="(0.6236559139784946,0.20408163265306123)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_dYevIFa1Ed-2F_JpJNec6w" type="4001" source="_j3dRGVSBEd-x-9lW7sYuiQ" target="_j3dRElSBEd-x-9lW7sYuiQ" routing="Rectilinear">
+ <children xmi:type="notation:DecorationNode" xmi:id="_dYevI1a1Ed-2F_JpJNec6w" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_dYevJFa1Ed-2F_JpJNec6w" x="12" y="33"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_dYevJVa1Ed-2F_JpJNec6w" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_dYevJla1Ed-2F_JpJNec6w" x="3" y="32"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_dYevIVa1Ed-2F_JpJNec6w" fontName="Segoe UI"/>
+ <element xmi:type="henshin:Edge" href="petriM.henshin#_dYAOAFa1Ed-2F_JpJNec6w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dYevIla1Ed-2F_JpJNec6w" points="[0, -12, 18, 153]$[26, -149, 44, 16]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dYhycFa1Ed-2F_JpJNec6w" id="(0.7605633802816901,0.21428571428571427)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gvQdsFa1Ed-2F_JpJNec6w" id="(0.7183098591549296,0.9047619047619048)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_d8yWEVa1Ed-2F_JpJNec6w" type="4001" source="_j3dRElSBEd-x-9lW7sYuiQ" target="_j3dRGVSBEd-x-9lW7sYuiQ" routing="Rectilinear">
+ <children xmi:type="notation:DecorationNode" xmi:id="_d8yWFFa1Ed-2F_JpJNec6w" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_d8yWFVa1Ed-2F_JpJNec6w" x="-16" y="23"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_d8yWFla1Ed-2F_JpJNec6w" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_d8yWF1a1Ed-2F_JpJNec6w" x="-3" y="17"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_d8yWEla1Ed-2F_JpJNec6w" fontName="Segoe UI"/>
+ <element xmi:type="henshin:Edge" href="petriM.henshin#_d8yWEFa1Ed-2F_JpJNec6w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_d8yWE1a1Ed-2F_JpJNec6w" points="[-1, 2, 3, -105]$[-1, 104, 3, -3]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ei8-MFa1Ed-2F_JpJNec6w" id="(0.2112676056338028,0.9523809523809523)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ezi-8Fa1Ed-2F_JpJNec6w" id="(0.2112676056338028,0.07142857142857142)"/>
+ </edges>
+</notation:Diagram>
diff --git a/plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/backup/readme.txt b/plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/backup/readme.txt
new file mode 100644
index 000000000..4fa836067
--- /dev/null
+++ b/plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/backup/readme.txt
@@ -0,0 +1,23 @@
+/*******************************************************************************
+ * Copyright (c) 2010 CWI Amsterdam, Technical University of Berlin,
+ * University of Marburg and others. 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
+ *
+ * Contributor:
+ * University of Marburg
+ *******************************************************************************/
+
+Backups of relevant files. They are intended to be manually copied into the "model" folder before executing Evolution1.main.
+Make sure not to delete, move or change any file in this folder.
+
+This folder contains the following files (in alphabetic order):
+
+- Net1.xmi: instance model typed over petri.ecore
+- petri.ecore: simple meta-model for Petri nets
+- petri.ecorediag: EcoreTools diagram file related to petri.ecore
+- petriM.henshin: Henshin file containing rules related to a metamodel e.g. petri.ecore
+- petriM.henshin_diagram: Henshin diagram file related to petriM.henshin, providing each rule in an appropriately formatted manner
+- readme.txt: this file \ No newline at end of file
diff --git a/plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/model/Net1.xmi b/plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/model/Net1.xmi
new file mode 100644
index 000000000..caf768121
--- /dev/null
+++ b/plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/model/Net1.xmi
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="ASCII"?>
+<petri:Net xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:petri="petri" xsi:schemaLocation="petri petri.ecore">
+ <places name="p1" src="//@transitions.2" dst="//@transitions.0"/>
+ <places name="p2" src="//@transitions.0" dst="//@transitions.1"/>
+ <places name="p3" src="//@transitions.1" dst="//@transitions.2"/>
+ <transitions name="t1" dst="//@places.1" src="//@places.0"/>
+ <transitions name="t2" dst="//@places.2" src="//@places.1"/>
+ <transitions name="t3" dst="//@places.0" src="//@places.2"/>
+</petri:Net>
diff --git a/plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/model/petri.ecore b/plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/model/petri.ecore
new file mode 100644
index 000000000..3942d2d91
--- /dev/null
+++ b/plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/model/petri.ecore
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="petri"
+ nsURI="petri" nsPrefix="petri">
+ <eClassifiers xsi:type="ecore:EClass" name="Net">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="places" upperBound="-1"
+ eType="#//Place" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="transitions" upperBound="-1"
+ eType="#//Transition" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Place">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="src" upperBound="-1" eType="#//Transition"
+ eOpposite="#//Transition/dst"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="dst" upperBound="-1" eType="#//Transition"
+ eOpposite="#//Transition/src"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Transition">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="dst" lowerBound="1" upperBound="-1"
+ eType="#//Place" eOpposite="#//Place/src"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="src" lowerBound="1" upperBound="-1"
+ eType="#//Place" eOpposite="#//Place/dst"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/model/petriM.henshin b/plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/model/petriM.henshin
new file mode 100644
index 000000000..5cb37574b
--- /dev/null
+++ b/plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/model/petriM.henshin
@@ -0,0 +1,244 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<henshin:TransformationSystem xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:henshin="http://www.eclipse.org/emf/2010/Henshin" xmi:id="_iTzuIE1IEd-Mu_HLw4tVCg">
+ <rules xmi:id="_RF80IFNgEd-i-KpCMHQ-Hg" description="Create a new reference class with dedicated references to source and target class. After application we need to remember only one edge (to be deleted later), since source, target and opposite edge can be uniquely deduced." name="MM_CreateRefClass" activated="true">
+ <ports xsi:type="henshin:PortObject" xmi:id="_Gj0oQFXIEd-x-9lW7sYuiQ" name="objSource" direction="OUTPUT" node="_901TUVNgEd-i-KpCMHQ-Hg"/>
+ <ports xsi:type="henshin:PortObject" xmi:id="_H-R0EFXIEd-x-9lW7sYuiQ" name="objTarget" direction="OUTPUT" node="_-CYAEVNgEd-i-KpCMHQ-Hg"/>
+ <ports xsi:type="henshin:PortObject" xmi:id="_IRBJ4FXIEd-x-9lW7sYuiQ" name="objRefclass" direction="OUTPUT" node="_nR0SAVNjEd-i-KpCMHQ-Hg"/>
+ <ports xsi:type="henshin:PortObject" xmi:id="_RVbjIFXoEd-NjIhoE2H1tg" description="The reference to delete (due to its eOpposite relation, we do not save the oppsite explicitly)" name="objRef" direction="OUTPUT" node="_xmdaoFRgEd-Kwv3hBMsoCw"/>
+ <ports xsi:type="henshin:PortObject" xmi:id="_KzaLIFXpEd-NjIhoE2H1tg" description="Reference to Refclass heading from soure to target " name="objRefSrcTrg" direction="OUTPUT" node="_LFGIIFNkEd-i-KpCMHQ-Hg"/>
+ <ports xsi:type="henshin:PortObject" xmi:id="_L2pw0FXpEd-NjIhoE2H1tg" description="Reference to Refclass heading from target to source" name="objRefTrgSrc" direction="OUTPUT" node="_c7FSQFNkEd-i-KpCMHQ-Hg"/>
+ <ports xsi:type="henshin:PortParameter" xmi:id="_kMruEFXJEd-x-9lW7sYuiQ" name="parSourceName" variable="_YgVQIFNiEd-i-KpCMHQ-Hg"/>
+ <ports xsi:type="henshin:PortParameter" xmi:id="_RJrVMFXfEd-wr-yLxPMiEg" name="parTargetName" variable="_aOuEkFNiEd-i-KpCMHQ-Hg"/>
+ <ports xsi:type="henshin:PortParameter" xmi:id="_RgSeYFXfEd-wr-yLxPMiEg" name="parRefclassName" variable="_bl558FNiEd-i-KpCMHQ-Hg"/>
+ <lhs xmi:id="_RF80IVNgEd-i-KpCMHQ-Hg" name="LHS">
+ <nodes xmi:id="_901TUFNgEd-i-KpCMHQ-Hg" name="srcNode" incoming="_6pqJEFNmEd-i-KpCMHQ-Hg _6IfJIFXsEd-NjIhoE2H1tg" outgoing="_Ej-r4FNhEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+ <attributes xmi:id="_AD82QFNhEd-i-KpCMHQ-Hg" value="srcName">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name"/>
+ </attributes>
+ </nodes>
+ <nodes xmi:id="_-CYAEFNgEd-i-KpCMHQ-Hg" name="trgNode" incoming="_FLQHQFNhEd-i-KpCMHQ-Hg _6eM6cFXsEd-NjIhoE2H1tg" outgoing="_5wYXsFNmEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+ <attributes xmi:id="_BEqsYFNhEd-i-KpCMHQ-Hg" value="trgName">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name"/>
+ </attributes>
+ </nodes>
+ <nodes xmi:id="_-8PnUFNgEd-i-KpCMHQ-Hg" name="del2" incoming="_Ej-r4FNhEd-i-KpCMHQ-Hg _Ib2ScFRrEd-x-9lW7sYuiQ" outgoing="_FLQHQFNhEd-i-KpCMHQ-Hg _K3wUMFRrEd-x-9lW7sYuiQ">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EReference"/>
+ </nodes>
+ <nodes xmi:id="_3AFaUFNmEd-i-KpCMHQ-Hg" name="del1" incoming="_5wYXsFNmEd-i-KpCMHQ-Hg _K3wUMFRrEd-x-9lW7sYuiQ" outgoing="_6pqJEFNmEd-i-KpCMHQ-Hg _Ib2ScFRrEd-x-9lW7sYuiQ">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EReference"/>
+ </nodes>
+ <nodes xmi:id="_g2VvcFXsEd-NjIhoE2H1tg" name="l_p" outgoing="_6IfJIFXsEd-NjIhoE2H1tg _6eM6cFXsEd-NjIhoE2H1tg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+ </nodes>
+ <edges xmi:id="_Ej-r4FNhEd-i-KpCMHQ-Hg" source="_901TUFNgEd-i-KpCMHQ-Hg" target="_-8PnUFNgEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EClass/eStructuralFeatures"/>
+ </edges>
+ <edges xmi:id="_FLQHQFNhEd-i-KpCMHQ-Hg" source="_-8PnUFNgEd-i-KpCMHQ-Hg" target="_-CYAEFNgEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//ETypedElement/eType"/>
+ </edges>
+ <edges xmi:id="_5wYXsFNmEd-i-KpCMHQ-Hg" source="_-CYAEFNgEd-i-KpCMHQ-Hg" target="_3AFaUFNmEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EClass/eStructuralFeatures"/>
+ </edges>
+ <edges xmi:id="_6pqJEFNmEd-i-KpCMHQ-Hg" source="_3AFaUFNmEd-i-KpCMHQ-Hg" target="_901TUFNgEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//ETypedElement/eType"/>
+ </edges>
+ <edges xmi:id="_Ib2ScFRrEd-x-9lW7sYuiQ" source="_3AFaUFNmEd-i-KpCMHQ-Hg" target="_-8PnUFNgEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EReference/eOpposite"/>
+ </edges>
+ <edges xmi:id="_K3wUMFRrEd-x-9lW7sYuiQ" source="_-8PnUFNgEd-i-KpCMHQ-Hg" target="_3AFaUFNmEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EReference/eOpposite"/>
+ </edges>
+ <edges xmi:id="_6IfJIFXsEd-NjIhoE2H1tg" source="_g2VvcFXsEd-NjIhoE2H1tg" target="_901TUFNgEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EPackage/eClassifiers"/>
+ </edges>
+ <edges xmi:id="_6eM6cFXsEd-NjIhoE2H1tg" source="_g2VvcFXsEd-NjIhoE2H1tg" target="_-CYAEFNgEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EPackage/eClassifiers"/>
+ </edges>
+ <formula xsi:type="henshin:NestedCondition" xmi:id="_JBr_sFRFEd-z0vg4YPdKmw" negated="true">
+ <conclusion xmi:id="_JBr_sVRFEd-z0vg4YPdKmw" name="default">
+ <nodes xmi:id="_v10NIFREEd-z0vg4YPdKmw" name="nac1">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+ <attributes xmi:id="_JZZ8IFRFEd-z0vg4YPdKmw" value="refclassName">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name"/>
+ </attributes>
+ </nodes>
+ </conclusion>
+ </formula>
+ </lhs>
+ <rhs xmi:id="_RF80IlNgEd-i-KpCMHQ-Hg" name="RHS">
+ <nodes xmi:id="_901TUVNgEd-i-KpCMHQ-Hg" name="c1" incoming="_w1Nj41RgEd-Kwv3hBMsoCw _TBwcsFNkEd-i-KpCMHQ-Hg _GvlMgFXtEd-NjIhoE2H1tg" outgoing="_xmdaolRgEd-Kwv3hBMsoCw _JpwLgFNkEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+ <attributes xmi:id="_ati5IFNjEd-i-KpCMHQ-Hg" value="srcName">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name"/>
+ </attributes>
+ </nodes>
+ <nodes xmi:id="_-CYAEVNgEd-i-KpCMHQ-Hg" name="c2" incoming="_xmdao1RgEd-Kwv3hBMsoCw _YifhYFNkEd-i-KpCMHQ-Hg _HGWGsFXtEd-NjIhoE2H1tg" outgoing="_w1Nj4lRgEd-Kwv3hBMsoCw _VTjgMFNkEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+ <attributes xmi:id="_bLc9IFNjEd-i-KpCMHQ-Hg" value="trgName">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name"/>
+ </attributes>
+ </nodes>
+ <nodes xmi:id="_LFGIIFNkEd-i-KpCMHQ-Hg" name="r1" incoming="_JpwLgFNkEd-i-KpCMHQ-Hg _BI07MFX0Ed-NjIhoE2H1tg" outgoing="_KWFtEFNkEd-i-KpCMHQ-Hg _AY7IQFX0Ed-NjIhoE2H1tg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EReference"/>
+ <attributes xmi:id="_UdbUAFNlEd-i-KpCMHQ-Hg" value="true">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EReference/containment"/>
+ </attributes>
+ <attributes xmi:id="_gtxEQFNlEd-i-KpCMHQ-Hg" value="&quot;out&quot;">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name"/>
+ </attributes>
+ </nodes>
+ <nodes xmi:id="_c7FSQFNkEd-i-KpCMHQ-Hg" name="r2" incoming="_VTjgMFNkEd-i-KpCMHQ-Hg _B4uuIFX0Ed-NjIhoE2H1tg" outgoing="_WCaxUFNkEd-i-KpCMHQ-Hg _CeE24FX0Ed-NjIhoE2H1tg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EReference"/>
+ <attributes xmi:id="_1I4dkFNlEd-i-KpCMHQ-Hg" value="&quot;in&quot;">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name"/>
+ </attributes>
+ </nodes>
+ <nodes xmi:id="_nR0SAVNjEd-i-KpCMHQ-Hg" name="refclass" incoming="_KWFtEFNkEd-i-KpCMHQ-Hg _WCaxUFNkEd-i-KpCMHQ-Hg _JdWaUFXtEd-NjIhoE2H1tg" outgoing="_SET9AFNkEd-i-KpCMHQ-Hg _X6oQIFNkEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+ <attributes xmi:id="_wnytcFNkEd-i-KpCMHQ-Hg" value="refclassName">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name"/>
+ </attributes>
+ </nodes>
+ <nodes xmi:id="_DPSCcFNkEd-i-KpCMHQ-Hg" name="r3" incoming="_SET9AFNkEd-i-KpCMHQ-Hg _AY7IQFX0Ed-NjIhoE2H1tg" outgoing="_TBwcsFNkEd-i-KpCMHQ-Hg _BI07MFX0Ed-NjIhoE2H1tg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EReference"/>
+ <attributes xmi:id="_zUP3MFNlEd-i-KpCMHQ-Hg" value="&quot;src&quot;">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name"/>
+ </attributes>
+ </nodes>
+ <nodes xmi:id="_DhvEYFNkEd-i-KpCMHQ-Hg" name="r4" incoming="_X6oQIFNkEd-i-KpCMHQ-Hg _CeE24FX0Ed-NjIhoE2H1tg" outgoing="_YifhYFNkEd-i-KpCMHQ-Hg _B4uuIFX0Ed-NjIhoE2H1tg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EReference"/>
+ <attributes xmi:id="_3sY8IFNlEd-i-KpCMHQ-Hg" value="&quot;dst&quot;">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name"/>
+ </attributes>
+ </nodes>
+ <nodes xmi:id="_w1Nj4FRgEd-Kwv3hBMsoCw" name="r5" incoming="_w1Nj4lRgEd-Kwv3hBMsoCw _nTDOIFSBEd-x-9lW7sYuiQ" outgoing="_w1Nj41RgEd-Kwv3hBMsoCw _qKCpYFSBEd-x-9lW7sYuiQ">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EReference"/>
+ </nodes>
+ <nodes xmi:id="_xmdaoFRgEd-Kwv3hBMsoCw" name="r6" incoming="_xmdaolRgEd-Kwv3hBMsoCw _qKCpYFSBEd-x-9lW7sYuiQ" outgoing="_xmdao1RgEd-Kwv3hBMsoCw _nTDOIFSBEd-x-9lW7sYuiQ">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EReference"/>
+ </nodes>
+ <nodes xmi:id="_g2fgcFXsEd-NjIhoE2H1tg" name="r_p" outgoing="_GvlMgFXtEd-NjIhoE2H1tg _HGWGsFXtEd-NjIhoE2H1tg _JdWaUFXtEd-NjIhoE2H1tg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+ </nodes>
+ <edges xmi:id="_KWFtEFNkEd-i-KpCMHQ-Hg" source="_LFGIIFNkEd-i-KpCMHQ-Hg" target="_nR0SAVNjEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//ETypedElement/eType"/>
+ </edges>
+ <edges xmi:id="_JpwLgFNkEd-i-KpCMHQ-Hg" source="_901TUVNgEd-i-KpCMHQ-Hg" target="_LFGIIFNkEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EClass/eStructuralFeatures"/>
+ </edges>
+ <edges xmi:id="_SET9AFNkEd-i-KpCMHQ-Hg" source="_nR0SAVNjEd-i-KpCMHQ-Hg" target="_DPSCcFNkEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EClass/eStructuralFeatures"/>
+ </edges>
+ <edges xmi:id="_TBwcsFNkEd-i-KpCMHQ-Hg" source="_DPSCcFNkEd-i-KpCMHQ-Hg" target="_901TUVNgEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//ETypedElement/eType"/>
+ </edges>
+ <edges xmi:id="_WCaxUFNkEd-i-KpCMHQ-Hg" source="_c7FSQFNkEd-i-KpCMHQ-Hg" target="_nR0SAVNjEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//ETypedElement/eType"/>
+ </edges>
+ <edges xmi:id="_X6oQIFNkEd-i-KpCMHQ-Hg" source="_nR0SAVNjEd-i-KpCMHQ-Hg" target="_DhvEYFNkEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EClass/eStructuralFeatures"/>
+ </edges>
+ <edges xmi:id="_YifhYFNkEd-i-KpCMHQ-Hg" source="_DhvEYFNkEd-i-KpCMHQ-Hg" target="_-CYAEVNgEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//ETypedElement/eType"/>
+ </edges>
+ <edges xmi:id="_VTjgMFNkEd-i-KpCMHQ-Hg" source="_-CYAEVNgEd-i-KpCMHQ-Hg" target="_c7FSQFNkEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EClass/eStructuralFeatures"/>
+ </edges>
+ <edges xmi:id="_w1Nj4lRgEd-Kwv3hBMsoCw" source="_-CYAEVNgEd-i-KpCMHQ-Hg" target="_w1Nj4FRgEd-Kwv3hBMsoCw">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EClass/eStructuralFeatures"/>
+ </edges>
+ <edges xmi:id="_w1Nj41RgEd-Kwv3hBMsoCw" source="_w1Nj4FRgEd-Kwv3hBMsoCw" target="_901TUVNgEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//ETypedElement/eType"/>
+ </edges>
+ <edges xmi:id="_xmdaolRgEd-Kwv3hBMsoCw" source="_901TUVNgEd-i-KpCMHQ-Hg" target="_xmdaoFRgEd-Kwv3hBMsoCw">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EClass/eStructuralFeatures"/>
+ </edges>
+ <edges xmi:id="_xmdao1RgEd-Kwv3hBMsoCw" source="_xmdaoFRgEd-Kwv3hBMsoCw" target="_-CYAEVNgEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//ETypedElement/eType"/>
+ </edges>
+ <edges xmi:id="_nTDOIFSBEd-x-9lW7sYuiQ" source="_xmdaoFRgEd-Kwv3hBMsoCw" target="_w1Nj4FRgEd-Kwv3hBMsoCw">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EReference/eOpposite"/>
+ </edges>
+ <edges xmi:id="_qKCpYFSBEd-x-9lW7sYuiQ" source="_w1Nj4FRgEd-Kwv3hBMsoCw" target="_xmdaoFRgEd-Kwv3hBMsoCw">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EReference/eOpposite"/>
+ </edges>
+ <edges xmi:id="_GvlMgFXtEd-NjIhoE2H1tg" source="_g2fgcFXsEd-NjIhoE2H1tg" target="_901TUVNgEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EPackage/eClassifiers"/>
+ </edges>
+ <edges xmi:id="_HGWGsFXtEd-NjIhoE2H1tg" source="_g2fgcFXsEd-NjIhoE2H1tg" target="_-CYAEVNgEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EPackage/eClassifiers"/>
+ </edges>
+ <edges xmi:id="_JdWaUFXtEd-NjIhoE2H1tg" source="_g2fgcFXsEd-NjIhoE2H1tg" target="_nR0SAVNjEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EPackage/eClassifiers"/>
+ </edges>
+ <edges xmi:id="_AY7IQFX0Ed-NjIhoE2H1tg" source="_LFGIIFNkEd-i-KpCMHQ-Hg" target="_DPSCcFNkEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EReference/eOpposite"/>
+ </edges>
+ <edges xmi:id="_BI07MFX0Ed-NjIhoE2H1tg" source="_DPSCcFNkEd-i-KpCMHQ-Hg" target="_LFGIIFNkEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EReference/eOpposite"/>
+ </edges>
+ <edges xmi:id="_B4uuIFX0Ed-NjIhoE2H1tg" source="_DhvEYFNkEd-i-KpCMHQ-Hg" target="_c7FSQFNkEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EReference/eOpposite"/>
+ </edges>
+ <edges xmi:id="_CeE24FX0Ed-NjIhoE2H1tg" source="_c7FSQFNkEd-i-KpCMHQ-Hg" target="_DhvEYFNkEd-i-KpCMHQ-Hg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EReference/eOpposite"/>
+ </edges>
+ </rhs>
+ <mappings xmi:id="_901TUlNgEd-i-KpCMHQ-Hg" origin="_901TUFNgEd-i-KpCMHQ-Hg" image="_901TUVNgEd-i-KpCMHQ-Hg"/>
+ <mappings xmi:id="_-CYAElNgEd-i-KpCMHQ-Hg" origin="_-CYAEFNgEd-i-KpCMHQ-Hg" image="_-CYAEVNgEd-i-KpCMHQ-Hg"/>
+ <mappings xmi:id="_w1Nj4VRgEd-Kwv3hBMsoCw" origin="_3AFaUFNmEd-i-KpCMHQ-Hg" image="_w1Nj4FRgEd-Kwv3hBMsoCw"/>
+ <mappings xmi:id="_xmdaoVRgEd-Kwv3hBMsoCw" origin="_-8PnUFNgEd-i-KpCMHQ-Hg" image="_xmdaoFRgEd-Kwv3hBMsoCw"/>
+ <mappings xmi:id="_g2fgcVXsEd-NjIhoE2H1tg" origin="_g2VvcFXsEd-NjIhoE2H1tg" image="_g2fgcFXsEd-NjIhoE2H1tg"/>
+ <variables xmi:id="_YgVQIFNiEd-i-KpCMHQ-Hg" description="" name="srcName"/>
+ <variables xmi:id="_aOuEkFNiEd-i-KpCMHQ-Hg" name="trgName"/>
+ <variables xmi:id="_bl558FNiEd-i-KpCMHQ-Hg" name="refclassName"/>
+ </rules>
+ <rules xmi:id="_bGiJkFRjEd-Kwv3hBMsoCw" description="Deletes old direct references between a source and target class." name="MM_DeleteOldRefs" activated="true">
+ <ports xsi:type="henshin:PortObject" xmi:id="_wnbfMFRjEd-Kwv3hBMsoCw" name="objDelRef" node="_bGiJmVRjEd-Kwv3hBMsoCw"/>
+ <lhs xmi:id="_bGiJlFRjEd-Kwv3hBMsoCw" name="LHS">
+ <nodes xmi:id="_bGiJlVRjEd-Kwv3hBMsoCw" name="l_src" incoming="_bGiJnlRjEd-Kwv3hBMsoCw" outgoing="_bGiJm1RjEd-Kwv3hBMsoCw">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+ </nodes>
+ <nodes xmi:id="_bGiJl1RjEd-Kwv3hBMsoCw" name="l_trg" incoming="_bGiJnFRjEd-Kwv3hBMsoCw" outgoing="_bGiJnVRjEd-Kwv3hBMsoCw">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+ </nodes>
+ <nodes xmi:id="_bGiJmlRjEd-Kwv3hBMsoCw" name="r1" incoming="_bGiJnVRjEd-Kwv3hBMsoCw _dYAOAFa1Ed-2F_JpJNec6w" outgoing="_bGiJnlRjEd-Kwv3hBMsoCw _d8yWEFa1Ed-2F_JpJNec6w">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EReference"/>
+ </nodes>
+ <nodes xmi:id="_bGiJmVRjEd-Kwv3hBMsoCw" name="r2" incoming="_bGiJm1RjEd-Kwv3hBMsoCw _d8yWEFa1Ed-2F_JpJNec6w" outgoing="_bGiJnFRjEd-Kwv3hBMsoCw _dYAOAFa1Ed-2F_JpJNec6w">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EReference"/>
+ </nodes>
+ <edges xmi:id="_bGiJm1RjEd-Kwv3hBMsoCw" source="_bGiJlVRjEd-Kwv3hBMsoCw" target="_bGiJmVRjEd-Kwv3hBMsoCw">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EClass/eStructuralFeatures"/>
+ </edges>
+ <edges xmi:id="_bGiJnFRjEd-Kwv3hBMsoCw" source="_bGiJmVRjEd-Kwv3hBMsoCw" target="_bGiJl1RjEd-Kwv3hBMsoCw">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//ETypedElement/eType"/>
+ </edges>
+ <edges xmi:id="_bGiJnVRjEd-Kwv3hBMsoCw" source="_bGiJl1RjEd-Kwv3hBMsoCw" target="_bGiJmlRjEd-Kwv3hBMsoCw">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EClass/eStructuralFeatures"/>
+ </edges>
+ <edges xmi:id="_bGiJnlRjEd-Kwv3hBMsoCw" source="_bGiJmlRjEd-Kwv3hBMsoCw" target="_bGiJlVRjEd-Kwv3hBMsoCw">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//ETypedElement/eType"/>
+ </edges>
+ <edges xmi:id="_dYAOAFa1Ed-2F_JpJNec6w" source="_bGiJmVRjEd-Kwv3hBMsoCw" target="_bGiJmlRjEd-Kwv3hBMsoCw">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EReference/eOpposite"/>
+ </edges>
+ <edges xmi:id="_d8yWEFa1Ed-2F_JpJNec6w" source="_bGiJmlRjEd-Kwv3hBMsoCw" target="_bGiJmVRjEd-Kwv3hBMsoCw">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EReference/eOpposite"/>
+ </edges>
+ </lhs>
+ <rhs xmi:id="_bGiJo1RjEd-Kwv3hBMsoCw" name="RHS">
+ <nodes xmi:id="_bGiJpFRjEd-Kwv3hBMsoCw" name="r_src">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+ </nodes>
+ <nodes xmi:id="_bGiJplRjEd-Kwv3hBMsoCw" name="r_trg">
+ <type href="http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+ </nodes>
+ </rhs>
+ <mappings xmi:id="_bGiJwVRjEd-Kwv3hBMsoCw" origin="_bGiJlVRjEd-Kwv3hBMsoCw" image="_bGiJpFRjEd-Kwv3hBMsoCw"/>
+ <mappings xmi:id="_bGiJwlRjEd-Kwv3hBMsoCw" origin="_bGiJl1RjEd-Kwv3hBMsoCw" image="_bGiJplRjEd-Kwv3hBMsoCw"/>
+ </rules>
+ <imports href="http://www.eclipse.org/emf/2002/Ecore#/"/>
+</henshin:TransformationSystem>
diff --git a/plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/model/readme.txt b/plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/model/readme.txt
new file mode 100644
index 000000000..7625f2ca5
--- /dev/null
+++ b/plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/metamodelevolution/model/readme.txt
@@ -0,0 +1,20 @@
+/*******************************************************************************
+ * Copyright (c) 2010 CWI Amsterdam, Technical University of Berlin,
+ * University of Marburg and others. 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
+ *
+ * Contributor:
+ * University of Marburg
+ *******************************************************************************/
+
+Files in this folder tend to be modified ;-)
+Before running Evolution1.main, make sure to copy fresh original files from folder "backup" into this one.
+
+This folder needs to contain the following files (in alphabetic order) in order to apply Evolution.main successfully:
+
+- Net1.xmi: instance model typed over petri.ecore
+- petri.ecore: simple meta-model for Petri nets
+- petriM.henshin: Henshin file containing rules related to a metamodel e.g. petri.ecore

Back to the top