)(InternalEList>)getNodes()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PetrinetPackage.NETWORK__NODES:
+ return ((InternalEList>)getNodes()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PetrinetPackage.NETWORK__NAME:
+ return getName();
+ case PetrinetPackage.NETWORK__NODES:
+ return getNodes();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PetrinetPackage.NETWORK__NAME:
+ setName((String)newValue);
+ return;
+ case PetrinetPackage.NETWORK__NODES:
+ getNodes().clear();
+ getNodes().addAll((Collection extends Node>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PetrinetPackage.NETWORK__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case PetrinetPackage.NETWORK__NODES:
+ getNodes().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PetrinetPackage.NETWORK__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case PetrinetPackage.NETWORK__NODES:
+ return nodes != null && !nodes.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //NetworkImpl
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/30/609a71ee492c001c17f2df26b410422b b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/30/609a71ee492c001c17f2df26b410422b
new file mode 100644
index 0000000..808fb5e
--- /dev/null
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/30/609a71ee492c001c17f2df26b410422b
@@ -0,0 +1,489 @@
+/**
+ */
+package simplepdl.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import simplepdl.Guidance;
+import simplepdl.ProcessElement;
+import simplepdl.Request;
+import simplepdl.Resource;
+import simplepdl.SimplepdlFactory;
+import simplepdl.SimplepdlPackage;
+import simplepdl.WorkDefinition;
+import simplepdl.WorkSequence;
+import simplepdl.WorkSequenceType;
+
+/**
+ *
+ * An implementation of the model Package .
+ *
+ * @generated
+ */
+public class SimplepdlPackageImpl extends EPackageImpl implements SimplepdlPackage {
+ /**
+ *
+ *
+ * @generated
+ */
+ private EClass processElementEClass = null;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private EClass workDefinitionEClass = null;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private EClass workSequenceEClass = null;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private EClass processEClass = null;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private EClass guidanceEClass = null;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private EClass resourceEClass = null;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private EClass requestEClass = null;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private EEnum workSequenceTypeEEnum = null;
+
+ /**
+ * Creates an instance of the model Package , registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ *
+ *
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see simplepdl.SimplepdlPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private SimplepdlPackageImpl() {
+ super(eNS_URI, SimplepdlFactory.eINSTANCE);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the Package for this model, and for any others upon which it depends.
+ *
+ *
This method is used to initialize {@link SimplepdlPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ *
+ *
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static SimplepdlPackage init() {
+ if (isInited) return (SimplepdlPackage)EPackage.Registry.INSTANCE.getEPackage(SimplepdlPackage.eNS_URI);
+
+ // Obtain or create and register package
+ Object registeredSimplepdlPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+ SimplepdlPackageImpl theSimplepdlPackage = registeredSimplepdlPackage instanceof SimplepdlPackageImpl ? (SimplepdlPackageImpl)registeredSimplepdlPackage : new SimplepdlPackageImpl();
+
+ isInited = true;
+
+ // Create package meta-data objects
+ theSimplepdlPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theSimplepdlPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theSimplepdlPackage.freeze();
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(SimplepdlPackage.eNS_URI, theSimplepdlPackage);
+ return theSimplepdlPackage;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClass getProcessElement() {
+ return processElementEClass;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClass getWorkDefinition() {
+ return workDefinitionEClass;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getWorkDefinition_LinksToPredecessors() {
+ return (EReference)workDefinitionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getWorkDefinition_LinksToSuccessors() {
+ return (EReference)workDefinitionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EAttribute getWorkDefinition_Name() {
+ return (EAttribute)workDefinitionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getWorkDefinition_Requests() {
+ return (EReference)workDefinitionEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClass getWorkSequence() {
+ return workSequenceEClass;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EAttribute getWorkSequence_LinkType() {
+ return (EAttribute)workSequenceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getWorkSequence_Predecessor() {
+ return (EReference)workSequenceEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getWorkSequence_Successor() {
+ return (EReference)workSequenceEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClass getProcess() {
+ return processEClass;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EAttribute getProcess_Name() {
+ return (EAttribute)processEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getProcess_ProcessElements() {
+ return (EReference)processEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClass getGuidance() {
+ return guidanceEClass;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EAttribute getGuidance_Text() {
+ return (EAttribute)guidanceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getGuidance_Elements() {
+ return (EReference)guidanceEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClass getResource() {
+ return resourceEClass;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EAttribute getResource_Quantity() {
+ return (EAttribute)resourceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EAttribute getResource_Name() {
+ return (EAttribute)resourceEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClass getRequest() {
+ return requestEClass;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EAttribute getRequest_Quantity() {
+ return (EAttribute)requestEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getRequest_Target() {
+ return (EReference)requestEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EEnum getWorkSequenceType() {
+ return workSequenceTypeEEnum;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public SimplepdlFactory getSimplepdlFactory() {
+ return (SimplepdlFactory)getEFactoryInstance();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ *
+ *
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ processElementEClass = createEClass(PROCESS_ELEMENT);
+
+ workDefinitionEClass = createEClass(WORK_DEFINITION);
+ createEReference(workDefinitionEClass, WORK_DEFINITION__LINKS_TO_PREDECESSORS);
+ createEReference(workDefinitionEClass, WORK_DEFINITION__LINKS_TO_SUCCESSORS);
+ createEAttribute(workDefinitionEClass, WORK_DEFINITION__NAME);
+ createEReference(workDefinitionEClass, WORK_DEFINITION__REQUESTS);
+
+ workSequenceEClass = createEClass(WORK_SEQUENCE);
+ createEAttribute(workSequenceEClass, WORK_SEQUENCE__LINK_TYPE);
+ createEReference(workSequenceEClass, WORK_SEQUENCE__PREDECESSOR);
+ createEReference(workSequenceEClass, WORK_SEQUENCE__SUCCESSOR);
+
+ processEClass = createEClass(PROCESS);
+ createEAttribute(processEClass, PROCESS__NAME);
+ createEReference(processEClass, PROCESS__PROCESS_ELEMENTS);
+
+ guidanceEClass = createEClass(GUIDANCE);
+ createEAttribute(guidanceEClass, GUIDANCE__TEXT);
+ createEReference(guidanceEClass, GUIDANCE__ELEMENTS);
+
+ resourceEClass = createEClass(RESOURCE);
+ createEAttribute(resourceEClass, RESOURCE__QUANTITY);
+ createEAttribute(resourceEClass, RESOURCE__NAME);
+
+ requestEClass = createEClass(REQUEST);
+ createEAttribute(requestEClass, REQUEST__QUANTITY);
+ createEReference(requestEClass, REQUEST__TARGET);
+
+ // Create enums
+ workSequenceTypeEEnum = createEEnum(WORK_SEQUENCE_TYPE);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ *
+ *
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ workDefinitionEClass.getESuperTypes().add(this.getProcessElement());
+ workSequenceEClass.getESuperTypes().add(this.getProcessElement());
+ guidanceEClass.getESuperTypes().add(this.getProcessElement());
+ resourceEClass.getESuperTypes().add(this.getProcessElement());
+
+ // Initialize classes, features, and operations; add parameters
+ initEClass(processElementEClass, ProcessElement.class, "ProcessElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(workDefinitionEClass, WorkDefinition.class, "WorkDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getWorkDefinition_LinksToPredecessors(), this.getWorkSequence(), this.getWorkSequence_Successor(), "linksToPredecessors", null, 0, -1, WorkDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getWorkDefinition_LinksToSuccessors(), this.getWorkSequence(), this.getWorkSequence_Predecessor(), "linksToSuccessors", null, 0, -1, WorkDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getWorkDefinition_Name(), ecorePackage.getEString(), "name", null, 1, 1, WorkDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getWorkDefinition_Requests(), this.getRequest(), null, "requests", null, 0, -1, WorkDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(workSequenceEClass, WorkSequence.class, "WorkSequence", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getWorkSequence_LinkType(), this.getWorkSequenceType(), "linkType", null, 1, 1, WorkSequence.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getWorkSequence_Predecessor(), this.getWorkDefinition(), this.getWorkDefinition_LinksToSuccessors(), "predecessor", null, 1, 1, WorkSequence.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getWorkSequence_Successor(), this.getWorkDefinition(), this.getWorkDefinition_LinksToPredecessors(), "successor", null, 1, 1, WorkSequence.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(processEClass, simplepdl.Process.class, "Process", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getProcess_Name(), ecorePackage.getEString(), "name", null, 1, 1, simplepdl.Process.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getProcess_ProcessElements(), this.getProcessElement(), null, "processElements", null, 0, -1, simplepdl.Process.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(guidanceEClass, Guidance.class, "Guidance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getGuidance_Text(), ecorePackage.getEString(), "text", null, 1, 1, Guidance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getGuidance_Elements(), this.getProcessElement(), null, "elements", null, 0, -1, Guidance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(resourceEClass, Resource.class, "Resource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getResource_Quantity(), ecorePackage.getEInt(), "quantity", null, 1, 1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getResource_Name(), ecorePackage.getEString(), "name", null, 1, 1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(requestEClass, Request.class, "Request", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getRequest_Quantity(), ecorePackage.getEInt(), "quantity", null, 1, 1, Request.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRequest_Target(), this.getResource(), null, "target", null, 1, 1, Request.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Initialize enums and add enum literals
+ initEEnum(workSequenceTypeEEnum, WorkSequenceType.class, "WorkSequenceType");
+ addEEnumLiteral(workSequenceTypeEEnum, WorkSequenceType.START_TO_START);
+ addEEnumLiteral(workSequenceTypeEEnum, WorkSequenceType.FINISH_TO_START);
+ addEEnumLiteral(workSequenceTypeEEnum, WorkSequenceType.START_TO_FINISH);
+ addEEnumLiteral(workSequenceTypeEEnum, WorkSequenceType.FINISH_TO_FINISH);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} //SimplepdlPackageImpl
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/31/40278cee492c001c17f2df26b410422b b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/31/40278cee492c001c17f2df26b410422b
new file mode 100644
index 0000000..0df9f5f
--- /dev/null
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/31/40278cee492c001c17f2df26b410422b
@@ -0,0 +1,39 @@
+/**
+ */
+package simplepdl.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import simplepdl.ProcessElement;
+import simplepdl.SimplepdlPackage;
+
+/**
+ *
+ * An implementation of the model object 'Process Element '.
+ *
+ *
+ * @generated
+ */
+public abstract class ProcessElementImpl extends MinimalEObjectImpl.Container implements ProcessElement {
+ /**
+ *
+ *
+ * @generated
+ */
+ protected ProcessElementImpl() {
+ super();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SimplepdlPackage.Literals.PROCESS_ELEMENT;
+ }
+
+} //ProcessElementImpl
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/34/80236c5f492c001c17f2df26b410422b b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/34/80236c5f492c001c17f2df26b410422b
new file mode 100644
index 0000000..68d8d86
--- /dev/null
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/34/80236c5f492c001c17f2df26b410422b
@@ -0,0 +1,162 @@
+/**
+ */
+package petrinet.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import petrinet.PetrinetPackage;
+import petrinet.Place;
+
+/**
+ *
+ * An implementation of the model object 'Place '.
+ *
+ *
+ * The following features are implemented:
+ *
+ *
+ * {@link petrinet.impl.PlaceImpl#getTokens Tokens }
+ *
+ *
+ * @generated
+ */
+public class PlaceImpl extends NodeImpl implements Place {
+ /**
+ * The default value of the '{@link #getTokens() Tokens }' attribute.
+ *
+ *
+ * @see #getTokens()
+ * @generated
+ * @ordered
+ */
+ protected static final int TOKENS_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getTokens() Tokens }' attribute.
+ *
+ *
+ * @see #getTokens()
+ * @generated
+ * @ordered
+ */
+ protected int tokens = TOKENS_EDEFAULT;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ protected PlaceImpl() {
+ super();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PetrinetPackage.Literals.PLACE;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public int getTokens() {
+ return tokens;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public void setTokens(int newTokens) {
+ int oldTokens = tokens;
+ tokens = newTokens;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PetrinetPackage.PLACE__TOKENS, oldTokens, tokens));
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PetrinetPackage.PLACE__TOKENS:
+ return getTokens();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PetrinetPackage.PLACE__TOKENS:
+ setTokens((Integer)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PetrinetPackage.PLACE__TOKENS:
+ setTokens(TOKENS_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PetrinetPackage.PLACE__TOKENS:
+ return tokens != TOKENS_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (tokens: ");
+ result.append(tokens);
+ result.append(')');
+ return result.toString();
+ }
+
+} //PlaceImpl
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/35/80166910492c001c17f2df26b410422b b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/35/80166910492c001c17f2df26b410422b
new file mode 100644
index 0000000..86e42b2
--- /dev/null
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/35/80166910492c001c17f2df26b410422b
@@ -0,0 +1,341 @@
+/**
+ */
+package petrinet.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import petrinet.Arc;
+import petrinet.Network;
+import petrinet.Node;
+import petrinet.PetrinetFactory;
+import petrinet.PetrinetPackage;
+import petrinet.Place;
+import petrinet.Transition;
+
+/**
+ *
+ * An implementation of the model Package .
+ *
+ * @generated
+ */
+public class PetrinetPackageImpl extends EPackageImpl implements PetrinetPackage {
+ /**
+ *
+ *
+ * @generated
+ */
+ private EClass networkEClass = null;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private EClass nodeEClass = null;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private EClass placeEClass = null;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private EClass arcEClass = null;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private EClass transitionEClass = null;
+
+ /**
+ * Creates an instance of the model Package , registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ *
+ *
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see petrinet.PetrinetPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private PetrinetPackageImpl() {
+ super(eNS_URI, PetrinetFactory.eINSTANCE);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the Package for this model, and for any others upon which it depends.
+ *
+ *
This method is used to initialize {@link PetrinetPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ *
+ *
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static PetrinetPackage init() {
+ if (isInited) return (PetrinetPackage)EPackage.Registry.INSTANCE.getEPackage(PetrinetPackage.eNS_URI);
+
+ // Obtain or create and register package
+ Object registeredPetrinetPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+ PetrinetPackageImpl thePetrinetPackage = registeredPetrinetPackage instanceof PetrinetPackageImpl ? (PetrinetPackageImpl)registeredPetrinetPackage : new PetrinetPackageImpl();
+
+ isInited = true;
+
+ // Create package meta-data objects
+ thePetrinetPackage.createPackageContents();
+
+ // Initialize created meta-data
+ thePetrinetPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ thePetrinetPackage.freeze();
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(PetrinetPackage.eNS_URI, thePetrinetPackage);
+ return thePetrinetPackage;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClass getNetwork() {
+ return networkEClass;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EAttribute getNetwork_Name() {
+ return (EAttribute)networkEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getNetwork_Nodes() {
+ return (EReference)networkEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClass getNode() {
+ return nodeEClass;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EAttribute getNode_Name() {
+ return (EAttribute)nodeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClass getPlace() {
+ return placeEClass;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EAttribute getPlace_Tokens() {
+ return (EAttribute)placeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClass getArc() {
+ return arcEClass;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EAttribute getArc_Weight() {
+ return (EAttribute)arcEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EAttribute getArc_Outgoing() {
+ return (EAttribute)arcEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getArc_Target() {
+ return (EReference)arcEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClass getTransition() {
+ return transitionEClass;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getTransition_Arcs() {
+ return (EReference)transitionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public PetrinetFactory getPetrinetFactory() {
+ return (PetrinetFactory)getEFactoryInstance();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ *
+ *
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ networkEClass = createEClass(NETWORK);
+ createEAttribute(networkEClass, NETWORK__NAME);
+ createEReference(networkEClass, NETWORK__NODES);
+
+ nodeEClass = createEClass(NODE);
+ createEAttribute(nodeEClass, NODE__NAME);
+
+ placeEClass = createEClass(PLACE);
+ createEAttribute(placeEClass, PLACE__TOKENS);
+
+ arcEClass = createEClass(ARC);
+ createEAttribute(arcEClass, ARC__WEIGHT);
+ createEAttribute(arcEClass, ARC__OUTGOING);
+ createEReference(arcEClass, ARC__TARGET);
+
+ transitionEClass = createEClass(TRANSITION);
+ createEReference(transitionEClass, TRANSITION__ARCS);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ *
+ *
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ placeEClass.getESuperTypes().add(this.getNode());
+ transitionEClass.getESuperTypes().add(this.getNode());
+
+ // Initialize classes, features, and operations; add parameters
+ initEClass(networkEClass, Network.class, "Network", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getNetwork_Name(), ecorePackage.getEString(), "name", null, 1, 1, Network.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getNetwork_Nodes(), this.getNode(), null, "nodes", null, 0, -1, Network.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(nodeEClass, Node.class, "Node", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getNode_Name(), ecorePackage.getEString(), "name", null, 1, 1, Node.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(placeEClass, Place.class, "Place", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getPlace_Tokens(), ecorePackage.getEInt(), "tokens", null, 1, 1, Place.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(arcEClass, Arc.class, "Arc", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getArc_Weight(), ecorePackage.getEInt(), "weight", null, 1, 1, Arc.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getArc_Outgoing(), ecorePackage.getEBoolean(), "outgoing", null, 1, 1, Arc.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getArc_Target(), this.getPlace(), null, "target", null, 1, 1, Arc.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(transitionEClass, Transition.class, "Transition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getTransition_Arcs(), this.getArc(), null, "arcs", null, 0, -1, Transition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} //PetrinetPackageImpl
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/39/10836d5f492c001c17f2df26b410422b b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/39/10836d5f492c001c17f2df26b410422b
new file mode 100644
index 0000000..863c95c
--- /dev/null
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/39/10836d5f492c001c17f2df26b410422b
@@ -0,0 +1,163 @@
+/**
+ */
+package petrinet.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import petrinet.Node;
+import petrinet.PetrinetPackage;
+
+/**
+ *
+ * An implementation of the model object 'Node '.
+ *
+ *
+ * The following features are implemented:
+ *
+ *
+ * {@link petrinet.impl.NodeImpl#getName Name }
+ *
+ *
+ * @generated
+ */
+public abstract class NodeImpl extends MinimalEObjectImpl.Container implements Node {
+ /**
+ * The default value of the '{@link #getName() Name }' attribute.
+ *
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() Name }' attribute.
+ *
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ protected NodeImpl() {
+ super();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PetrinetPackage.Literals.NODE;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PetrinetPackage.NODE__NAME, oldName, name));
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PetrinetPackage.NODE__NAME:
+ return getName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PetrinetPackage.NODE__NAME:
+ setName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PetrinetPackage.NODE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PetrinetPackage.NODE__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //NodeImpl
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/3f/70c161c7492c001c17f2df26b410422b b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/3f/70c161c7492c001c17f2df26b410422b
new file mode 100644
index 0000000..cec649c
--- /dev/null
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/3f/70c161c7492c001c17f2df26b410422b
@@ -0,0 +1,207 @@
+/**
+ */
+package petrinet.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import petrinet.Arc;
+import petrinet.PetrinetPackage;
+
+/**
+ * This is the item provider adapter for a {@link petrinet.Arc} object.
+ *
+ *
+ * @generated
+ */
+public class ArcItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public ArcItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addWeightPropertyDescriptor(object);
+ addOutgoingPropertyDescriptor(object);
+ addTargetPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Weight feature.
+ *
+ *
+ * @generated
+ */
+ protected void addWeightPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Arc_weight_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Arc_weight_feature", "_UI_Arc_type"),
+ PetrinetPackage.Literals.ARC__WEIGHT,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Outgoing feature.
+ *
+ *
+ * @generated
+ */
+ protected void addOutgoingPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Arc_outgoing_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Arc_outgoing_feature", "_UI_Arc_type"),
+ PetrinetPackage.Literals.ARC__OUTGOING,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Target feature.
+ *
+ *
+ * @generated
+ */
+ protected void addTargetPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Arc_target_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Arc_target_feature", "_UI_Arc_type"),
+ PetrinetPackage.Literals.ARC__TARGET,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns Arc.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/Arc"));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ boolean outgoing = ((Arc)object).isOutgoing();
+ int weight = ((Arc)object).getWeight();
+ String target = ((Arc)object).getTarget() != null ? ((Arc)object).getTarget().getName() : "";
+ return outgoing ?
+ " --" + weight + "--> " + target :
+ "<--" + weight + "-- " + target;
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Arc.class)) {
+ case PetrinetPackage.ARC__WEIGHT:
+ case PetrinetPackage.ARC__OUTGOING:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return PetrinetEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/43/3084a493492c001c17f2df26b410422b b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/43/3084a493492c001c17f2df26b410422b
new file mode 100644
index 0000000..9793369
--- /dev/null
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/43/3084a493492c001c17f2df26b410422b
@@ -0,0 +1,237 @@
+/**
+ */
+package petrinet.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import petrinet.Network;
+import petrinet.Node;
+import petrinet.PetrinetPackage;
+
+/**
+ *
+ * An implementation of the model object 'Network '.
+ *
+ *
+ * The following features are implemented:
+ *
+ *
+ * {@link petrinet.impl.NetworkImpl#getName Name }
+ * {@link petrinet.impl.NetworkImpl#getNodes Nodes }
+ *
+ *
+ * @generated
+ */
+public class NetworkImpl extends MinimalEObjectImpl.Container implements Network {
+ /**
+ * The default value of the '{@link #getName() Name }' attribute.
+ *
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() Name }' attribute.
+ *
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getNodes() Nodes }' containment reference list.
+ *
+ *
+ * @see #getNodes()
+ * @generated
+ * @ordered
+ */
+ protected EList nodes;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ protected NetworkImpl() {
+ super();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PetrinetPackage.Literals.NETWORK;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PetrinetPackage.NETWORK__NAME, oldName, name));
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EList getNodes() {
+ if (nodes == null) {
+ nodes = new EObjectContainmentWithInverseEList(Node.class, this, PetrinetPackage.NETWORK__NODES, PetrinetPackage.NODE__NETWORK);
+ }
+ return nodes;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PetrinetPackage.NETWORK__NODES:
+ return ((InternalEList)(InternalEList>)getNodes()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PetrinetPackage.NETWORK__NODES:
+ return ((InternalEList>)getNodes()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PetrinetPackage.NETWORK__NAME:
+ return getName();
+ case PetrinetPackage.NETWORK__NODES:
+ return getNodes();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PetrinetPackage.NETWORK__NAME:
+ setName((String)newValue);
+ return;
+ case PetrinetPackage.NETWORK__NODES:
+ getNodes().clear();
+ getNodes().addAll((Collection extends Node>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PetrinetPackage.NETWORK__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case PetrinetPackage.NETWORK__NODES:
+ getNodes().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PetrinetPackage.NETWORK__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case PetrinetPackage.NETWORK__NODES:
+ return nodes != null && !nodes.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //NetworkImpl
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/45/50edb0ee492c001c17f2df26b410422b b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/45/50edb0ee492c001c17f2df26b410422b
new file mode 100644
index 0000000..fb8f7a0
--- /dev/null
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/45/50edb0ee492c001c17f2df26b410422b
@@ -0,0 +1,204 @@
+/**
+ */
+package simplepdl.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import simplepdl.Guidance;
+import simplepdl.ProcessElement;
+import simplepdl.SimplepdlPackage;
+
+/**
+ *
+ * An implementation of the model object 'Guidance '.
+ *
+ *
+ * The following features are implemented:
+ *
+ *
+ * {@link simplepdl.impl.GuidanceImpl#getText Text }
+ * {@link simplepdl.impl.GuidanceImpl#getElements Elements }
+ *
+ *
+ * @generated
+ */
+public class GuidanceImpl extends ProcessElementImpl implements Guidance {
+ /**
+ * The default value of the '{@link #getText() Text }' attribute.
+ *
+ *
+ * @see #getText()
+ * @generated
+ * @ordered
+ */
+ protected static final String TEXT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getText() Text }' attribute.
+ *
+ *
+ * @see #getText()
+ * @generated
+ * @ordered
+ */
+ protected String text = TEXT_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getElements() Elements }' reference list.
+ *
+ *
+ * @see #getElements()
+ * @generated
+ * @ordered
+ */
+ protected EList elements;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ protected GuidanceImpl() {
+ super();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SimplepdlPackage.Literals.GUIDANCE;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public String getText() {
+ return text;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public void setText(String newText) {
+ String oldText = text;
+ text = newText;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SimplepdlPackage.GUIDANCE__TEXT, oldText, text));
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EList getElements() {
+ if (elements == null) {
+ elements = new EObjectResolvingEList(ProcessElement.class, this, SimplepdlPackage.GUIDANCE__ELEMENTS);
+ }
+ return elements;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SimplepdlPackage.GUIDANCE__TEXT:
+ return getText();
+ case SimplepdlPackage.GUIDANCE__ELEMENTS:
+ return getElements();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SimplepdlPackage.GUIDANCE__TEXT:
+ setText((String)newValue);
+ return;
+ case SimplepdlPackage.GUIDANCE__ELEMENTS:
+ getElements().clear();
+ getElements().addAll((Collection extends ProcessElement>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SimplepdlPackage.GUIDANCE__TEXT:
+ setText(TEXT_EDEFAULT);
+ return;
+ case SimplepdlPackage.GUIDANCE__ELEMENTS:
+ getElements().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SimplepdlPackage.GUIDANCE__TEXT:
+ return TEXT_EDEFAULT == null ? text != null : !TEXT_EDEFAULT.equals(text);
+ case SimplepdlPackage.GUIDANCE__ELEMENTS:
+ return elements != null && !elements.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (text: ");
+ result.append(text);
+ result.append(')');
+ return result.toString();
+ }
+
+} //GuidanceImpl
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/48/b047757f492c001c17f2df26b410422b b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/48/b047757f492c001c17f2df26b410422b
new file mode 100644
index 0000000..db9424e
--- /dev/null
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/48/b047757f492c001c17f2df26b410422b
@@ -0,0 +1,374 @@
+/**
+ */
+package petrinet.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import petrinet.Arc;
+import petrinet.Network;
+import petrinet.Node;
+import petrinet.PetrinetFactory;
+import petrinet.PetrinetPackage;
+import petrinet.Place;
+import petrinet.Transition;
+
+/**
+ *
+ * An implementation of the model Package .
+ *
+ * @generated
+ */
+public class PetrinetPackageImpl extends EPackageImpl implements PetrinetPackage {
+ /**
+ *
+ *
+ * @generated
+ */
+ private EClass networkEClass = null;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private EClass nodeEClass = null;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private EClass placeEClass = null;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private EClass arcEClass = null;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private EClass transitionEClass = null;
+
+ /**
+ * Creates an instance of the model Package , registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ *
+ *
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see petrinet.PetrinetPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private PetrinetPackageImpl() {
+ super(eNS_URI, PetrinetFactory.eINSTANCE);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the Package for this model, and for any others upon which it depends.
+ *
+ *
This method is used to initialize {@link PetrinetPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ *
+ *
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static PetrinetPackage init() {
+ if (isInited) return (PetrinetPackage)EPackage.Registry.INSTANCE.getEPackage(PetrinetPackage.eNS_URI);
+
+ // Obtain or create and register package
+ Object registeredPetrinetPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+ PetrinetPackageImpl thePetrinetPackage = registeredPetrinetPackage instanceof PetrinetPackageImpl ? (PetrinetPackageImpl)registeredPetrinetPackage : new PetrinetPackageImpl();
+
+ isInited = true;
+
+ // Create package meta-data objects
+ thePetrinetPackage.createPackageContents();
+
+ // Initialize created meta-data
+ thePetrinetPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ thePetrinetPackage.freeze();
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(PetrinetPackage.eNS_URI, thePetrinetPackage);
+ return thePetrinetPackage;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClass getNetwork() {
+ return networkEClass;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EAttribute getNetwork_Name() {
+ return (EAttribute)networkEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getNetwork_Nodes() {
+ return (EReference)networkEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClass getNode() {
+ return nodeEClass;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EAttribute getNode_Name() {
+ return (EAttribute)nodeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getNode_Network() {
+ return (EReference)nodeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClass getPlace() {
+ return placeEClass;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EAttribute getPlace_Tokens() {
+ return (EAttribute)placeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getPlace_Arcs() {
+ return (EReference)placeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClass getArc() {
+ return arcEClass;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EAttribute getArc_Weight() {
+ return (EAttribute)arcEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EAttribute getArc_Outgoing() {
+ return (EAttribute)arcEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getArc_Place() {
+ return (EReference)arcEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getArc_Transition() {
+ return (EReference)arcEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClass getTransition() {
+ return transitionEClass;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getTransition_Arcs() {
+ return (EReference)transitionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public PetrinetFactory getPetrinetFactory() {
+ return (PetrinetFactory)getEFactoryInstance();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ *
+ *
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ networkEClass = createEClass(NETWORK);
+ createEAttribute(networkEClass, NETWORK__NAME);
+ createEReference(networkEClass, NETWORK__NODES);
+
+ nodeEClass = createEClass(NODE);
+ createEAttribute(nodeEClass, NODE__NAME);
+ createEReference(nodeEClass, NODE__NETWORK);
+
+ placeEClass = createEClass(PLACE);
+ createEAttribute(placeEClass, PLACE__TOKENS);
+ createEReference(placeEClass, PLACE__ARCS);
+
+ arcEClass = createEClass(ARC);
+ createEAttribute(arcEClass, ARC__WEIGHT);
+ createEAttribute(arcEClass, ARC__OUTGOING);
+ createEReference(arcEClass, ARC__PLACE);
+ createEReference(arcEClass, ARC__TRANSITION);
+
+ transitionEClass = createEClass(TRANSITION);
+ createEReference(transitionEClass, TRANSITION__ARCS);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ *
+ *
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ placeEClass.getESuperTypes().add(this.getNode());
+ transitionEClass.getESuperTypes().add(this.getNode());
+
+ // Initialize classes, features, and operations; add parameters
+ initEClass(networkEClass, Network.class, "Network", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getNetwork_Name(), ecorePackage.getEString(), "name", null, 1, 1, Network.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getNetwork_Nodes(), this.getNode(), this.getNode_Network(), "nodes", null, 0, -1, Network.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(nodeEClass, Node.class, "Node", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getNode_Name(), ecorePackage.getEString(), "name", null, 1, 1, Node.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getNode_Network(), this.getNetwork(), this.getNetwork_Nodes(), "network", null, 1, 1, Node.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(placeEClass, Place.class, "Place", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getPlace_Tokens(), ecorePackage.getEInt(), "tokens", null, 1, 1, Place.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPlace_Arcs(), this.getArc(), this.getArc_Place(), "arcs", null, 0, -1, Place.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(arcEClass, Arc.class, "Arc", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getArc_Weight(), ecorePackage.getEInt(), "weight", null, 1, 1, Arc.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getArc_Outgoing(), ecorePackage.getEBoolean(), "outgoing", null, 1, 1, Arc.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getArc_Place(), this.getPlace(), this.getPlace_Arcs(), "place", null, 1, 1, Arc.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getArc_Transition(), this.getTransition(), this.getTransition_Arcs(), "transition", null, 1, 1, Arc.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(transitionEClass, Transition.class, "Transition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getTransition_Arcs(), this.getArc(), this.getArc_Transition(), "arcs", null, 0, -1, Transition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} //PetrinetPackageImpl
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/5f/10c0288f492c001c17f2df26b410422b b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/5f/10c0288f492c001c17f2df26b410422b
new file mode 100644
index 0000000..1b45b65
--- /dev/null
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/5f/10c0288f492c001c17f2df26b410422b
@@ -0,0 +1,45 @@
+/**
+ */
+package petrinet;
+
+
+/**
+ *
+ * A representation of the model object 'Place '.
+ *
+ *
+ *
+ * The following features are supported:
+ *
+ *
+ * {@link petrinet.Place#getTokens Tokens }
+ *
+ *
+ * @see petrinet.PetrinetPackage#getPlace()
+ * @model
+ * @generated
+ */
+public interface Place extends Node {
+ /**
+ * Returns the value of the 'Tokens ' attribute.
+ *
+ *
+ * @return the value of the 'Tokens ' attribute.
+ * @see #setTokens(int)
+ * @see petrinet.PetrinetPackage#getPlace_Tokens()
+ * @model required="true"
+ * @generated
+ */
+ int getTokens();
+
+ /**
+ * Sets the value of the '{@link petrinet.Place#getTokens Tokens }' attribute.
+ *
+ *
+ * @param value the new value of the 'Tokens ' attribute.
+ * @see #getTokens()
+ * @generated
+ */
+ void setTokens(int value);
+
+} // Place
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/62/d000cdee492c001c17f2df26b410422b b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/62/d000cdee492c001c17f2df26b410422b
new file mode 100644
index 0000000..4489022
--- /dev/null
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/62/d000cdee492c001c17f2df26b410422b
@@ -0,0 +1,225 @@
+/**
+ */
+package simplepdl.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import simplepdl.Request;
+import simplepdl.Resource;
+import simplepdl.SimplepdlPackage;
+
+/**
+ *
+ * An implementation of the model object 'Request '.
+ *
+ *
+ * The following features are implemented:
+ *
+ *
+ * {@link simplepdl.impl.RequestImpl#getQuantity Quantity }
+ * {@link simplepdl.impl.RequestImpl#getTarget Target }
+ *
+ *
+ * @generated
+ */
+public class RequestImpl extends MinimalEObjectImpl.Container implements Request {
+ /**
+ * The default value of the '{@link #getQuantity() Quantity }' attribute.
+ *
+ *
+ * @see #getQuantity()
+ * @generated
+ * @ordered
+ */
+ protected static final int QUANTITY_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getQuantity() Quantity }' attribute.
+ *
+ *
+ * @see #getQuantity()
+ * @generated
+ * @ordered
+ */
+ protected int quantity = QUANTITY_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getTarget() Target }' reference.
+ *
+ *
+ * @see #getTarget()
+ * @generated
+ * @ordered
+ */
+ protected Resource target;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ protected RequestImpl() {
+ super();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SimplepdlPackage.Literals.REQUEST;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public int getQuantity() {
+ return quantity;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public void setQuantity(int newQuantity) {
+ int oldQuantity = quantity;
+ quantity = newQuantity;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SimplepdlPackage.REQUEST__QUANTITY, oldQuantity, quantity));
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public Resource getTarget() {
+ if (target != null && target.eIsProxy()) {
+ InternalEObject oldTarget = (InternalEObject)target;
+ target = (Resource)eResolveProxy(oldTarget);
+ if (target != oldTarget) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SimplepdlPackage.REQUEST__TARGET, oldTarget, target));
+ }
+ }
+ return target;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public Resource basicGetTarget() {
+ return target;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public void setTarget(Resource newTarget) {
+ Resource oldTarget = target;
+ target = newTarget;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SimplepdlPackage.REQUEST__TARGET, oldTarget, target));
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SimplepdlPackage.REQUEST__QUANTITY:
+ return getQuantity();
+ case SimplepdlPackage.REQUEST__TARGET:
+ if (resolve) return getTarget();
+ return basicGetTarget();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SimplepdlPackage.REQUEST__QUANTITY:
+ setQuantity((Integer)newValue);
+ return;
+ case SimplepdlPackage.REQUEST__TARGET:
+ setTarget((Resource)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SimplepdlPackage.REQUEST__QUANTITY:
+ setQuantity(QUANTITY_EDEFAULT);
+ return;
+ case SimplepdlPackage.REQUEST__TARGET:
+ setTarget((Resource)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SimplepdlPackage.REQUEST__QUANTITY:
+ return quantity != QUANTITY_EDEFAULT;
+ case SimplepdlPackage.REQUEST__TARGET:
+ return target != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (quantity: ");
+ result.append(quantity);
+ result.append(')');
+ return result.toString();
+ }
+
+} //RequestImpl
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/63/706780ee492c001c17f2df26b410422b b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/63/706780ee492c001c17f2df26b410422b
new file mode 100644
index 0000000..f8bf674
--- /dev/null
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/63/706780ee492c001c17f2df26b410422b
@@ -0,0 +1,18 @@
+/**
+ */
+package simplepdl;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ *
+ * A representation of the model object 'Process Element '.
+ *
+ *
+ *
+ * @see simplepdl.SimplepdlPackage#getProcessElement()
+ * @model abstract="true"
+ * @generated
+ */
+public interface ProcessElement extends EObject {
+} // ProcessElement
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/6b/406a5cc7492c001c17f2df26b410422b b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/6b/406a5cc7492c001c17f2df26b410422b
new file mode 100644
index 0000000..9afb6b0
--- /dev/null
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/6b/406a5cc7492c001c17f2df26b410422b
@@ -0,0 +1,133 @@
+/**
+ */
+package petrinet.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import petrinet.PetrinetPackage;
+import petrinet.Place;
+
+/**
+ * This is the item provider adapter for a {@link petrinet.Place} object.
+ *
+ *
+ * @generated
+ */
+public class PlaceItemProvider extends NodeItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public PlaceItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addTokensPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Tokens feature.
+ *
+ *
+ * @generated
+ */
+ protected void addTokensPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Place_tokens_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Place_tokens_feature", "_UI_Place_type"),
+ PetrinetPackage.Literals.PLACE__TOKENS,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This returns Place.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/Place"));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((Place)object).getName();
+ int tokens = ((Place)object).getTokens();
+ return label == null || label.length() == 0 ?
+ getString("_UI_Place_type") :
+ getString("_UI_Place_type") + " " + label + " (" + tokens + ")";
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Place.class)) {
+ case PetrinetPackage.PLACE__TOKENS:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+}
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/6b/d07a0cef492c001c17f2df26b410422b b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/6b/d07a0cef492c001c17f2df26b410422b
new file mode 100644
index 0000000..a632edb
--- /dev/null
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/6b/d07a0cef492c001c17f2df26b410422b
@@ -0,0 +1,628 @@
+/**
+ */
+package simplepdl.presentation;
+
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.MissingResourceException;
+import java.util.StringTokenizer;
+
+import org.eclipse.emf.common.CommonPlugin;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+
+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.EObject;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+import org.eclipse.emf.edit.ui.provider.ExtendedImageRegistry;
+
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourcesPlugin;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+
+import org.eclipse.jface.dialogs.MessageDialog;
+
+import org.eclipse.jface.viewers.IStructuredSelection;
+
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.jface.wizard.WizardPage;
+
+import org.eclipse.swt.SWT;
+
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.ModifyEvent;
+
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+
+import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
+
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.ui.part.ISetSelectionTarget;
+
+import simplepdl.SimplepdlFactory;
+import simplepdl.SimplepdlPackage;
+import simplepdl.provider.SimplepdlEditPlugin;
+
+
+import org.eclipse.core.runtime.Path;
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PartInitException;
+
+
+/**
+ * This is a simple wizard for creating a new model file.
+ *
+ *
+ * @generated
+ */
+public class SimplepdlModelWizard extends Wizard implements INewWizard {
+ /**
+ * The supported extensions for created files.
+ *
+ *
+ * @generated
+ */
+ public static final List FILE_EXTENSIONS =
+ Collections.unmodifiableList(Arrays.asList(SimplepdlEditorPlugin.INSTANCE.getString("_UI_SimplepdlEditorFilenameExtensions").split("\\s*,\\s*")));
+
+ /**
+ * A formatted list of supported file extensions, suitable for display.
+ *
+ *
+ * @generated
+ */
+ public static final String FORMATTED_FILE_EXTENSIONS =
+ SimplepdlEditorPlugin.INSTANCE.getString("_UI_SimplepdlEditorFilenameExtensions").replaceAll("\\s*,\\s*", ", ");
+
+ /**
+ * This caches an instance of the model package.
+ *
+ *
+ * @generated
+ */
+ protected SimplepdlPackage simplepdlPackage = SimplepdlPackage.eINSTANCE;
+
+ /**
+ * This caches an instance of the model factory.
+ *
+ *
+ * @generated
+ */
+ protected SimplepdlFactory simplepdlFactory = simplepdlPackage.getSimplepdlFactory();
+
+ /**
+ * This is the file creation page.
+ *
+ *
+ * @generated
+ */
+ protected SimplepdlModelWizardNewFileCreationPage newFileCreationPage;
+
+ /**
+ * This is the initial object creation page.
+ *
+ *
+ * @generated
+ */
+ protected SimplepdlModelWizardInitialObjectCreationPage initialObjectCreationPage;
+
+ /**
+ * Remember the selection during initialization for populating the default container.
+ *
+ *
+ * @generated
+ */
+ protected IStructuredSelection selection;
+
+ /**
+ * Remember the workbench during initialization.
+ *
+ *
+ * @generated
+ */
+ protected IWorkbench workbench;
+
+ /**
+ * Caches the names of the types that can be created as the root object.
+ *
+ *
+ * @generated
+ */
+ protected List initialObjectNames;
+
+ /**
+ * This just records the information.
+ *
+ *
+ * @generated
+ */
+ public void init(IWorkbench workbench, IStructuredSelection selection) {
+ this.workbench = workbench;
+ this.selection = selection;
+ setWindowTitle(SimplepdlEditorPlugin.INSTANCE.getString("_UI_Wizard_label"));
+ setDefaultPageImageDescriptor(ExtendedImageRegistry.INSTANCE.getImageDescriptor(SimplepdlEditorPlugin.INSTANCE.getImage("full/wizban/NewSimplepdl")));
+ }
+
+ /**
+ * Returns the names of the types that can be created as the root object.
+ *
+ *
+ * @generated
+ */
+ protected Collection getInitialObjectNames() {
+ if (initialObjectNames == null) {
+ initialObjectNames = new ArrayList();
+ for (EClassifier eClassifier : simplepdlPackage.getEClassifiers()) {
+ if (eClassifier instanceof EClass) {
+ EClass eClass = (EClass)eClassifier;
+ if (!eClass.isAbstract()) {
+ initialObjectNames.add(eClass.getName());
+ }
+ }
+ }
+ Collections.sort(initialObjectNames, CommonPlugin.INSTANCE.getComparator());
+ }
+ return initialObjectNames;
+ }
+
+ /**
+ * Create a new model.
+ *
+ *
+ * @generated
+ */
+ protected EObject createInitialModel() {
+ EClass eClass = (EClass)simplepdlPackage.getEClassifier(initialObjectCreationPage.getInitialObjectName());
+ EObject rootObject = simplepdlFactory.create(eClass);
+ return rootObject;
+ }
+
+ /**
+ * Do the work after everything is specified.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public boolean performFinish() {
+ try {
+ // Remember the file.
+ //
+ final IFile modelFile = getModelFile();
+
+ // Do the work within an operation.
+ //
+ WorkspaceModifyOperation operation =
+ new WorkspaceModifyOperation() {
+ @Override
+ protected void execute(IProgressMonitor progressMonitor) {
+ try {
+ // Create a resource set
+ //
+ ResourceSet resourceSet = new ResourceSetImpl();
+
+ // Get the URI of the model file.
+ //
+ URI fileURI = URI.createPlatformResourceURI(modelFile.getFullPath().toString(), true);
+
+ // Create a resource for this file.
+ //
+ Resource resource = resourceSet.createResource(fileURI);
+
+ // Add the initial model object to the contents.
+ //
+ EObject rootObject = createInitialModel();
+ if (rootObject != null) {
+ resource.getContents().add(rootObject);
+ }
+
+ // Save the contents of the resource to the file system.
+ //
+ Map options = new HashMap();
+ options.put(XMLResource.OPTION_ENCODING, initialObjectCreationPage.getEncoding());
+ resource.save(options);
+ }
+ catch (Exception exception) {
+ SimplepdlEditorPlugin.INSTANCE.log(exception);
+ }
+ finally {
+ progressMonitor.done();
+ }
+ }
+ };
+
+ getContainer().run(false, false, operation);
+
+ // Select the new file resource in the current view.
+ //
+ IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
+ IWorkbenchPage page = workbenchWindow.getActivePage();
+ final IWorkbenchPart activePart = page.getActivePart();
+ if (activePart instanceof ISetSelectionTarget) {
+ final ISelection targetSelection = new StructuredSelection(modelFile);
+ getShell().getDisplay().asyncExec
+ (new Runnable() {
+ public void run() {
+ ((ISetSelectionTarget)activePart).selectReveal(targetSelection);
+ }
+ });
+ }
+
+ // Open an editor on the new file.
+ //
+ try {
+ page.openEditor
+ (new FileEditorInput(modelFile),
+ workbench.getEditorRegistry().getDefaultEditor(modelFile.getFullPath().toString()).getId());
+ }
+ catch (PartInitException exception) {
+ MessageDialog.openError(workbenchWindow.getShell(), SimplepdlEditorPlugin.INSTANCE.getString("_UI_OpenEditorError_label"), exception.getMessage());
+ return false;
+ }
+
+ return true;
+ }
+ catch (Exception exception) {
+ SimplepdlEditorPlugin.INSTANCE.log(exception);
+ return false;
+ }
+ }
+
+ /**
+ * This is the one page of the wizard.
+ *
+ *
+ * @generated
+ */
+ public class SimplepdlModelWizardNewFileCreationPage extends WizardNewFileCreationPage {
+ /**
+ * Pass in the selection.
+ *
+ *
+ * @generated
+ */
+ public SimplepdlModelWizardNewFileCreationPage(String pageId, IStructuredSelection selection) {
+ super(pageId, selection);
+ }
+
+ /**
+ * The framework calls this to see if the file is correct.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected boolean validatePage() {
+ if (super.validatePage()) {
+ String extension = new Path(getFileName()).getFileExtension();
+ if (extension == null || !FILE_EXTENSIONS.contains(extension)) {
+ String key = FILE_EXTENSIONS.size() > 1 ? "_WARN_FilenameExtensions" : "_WARN_FilenameExtension";
+ setErrorMessage(SimplepdlEditorPlugin.INSTANCE.getString(key, new Object [] { FORMATTED_FILE_EXTENSIONS }));
+ return false;
+ }
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public IFile getModelFile() {
+ return ResourcesPlugin.getWorkspace().getRoot().getFile(getContainerFullPath().append(getFileName()));
+ }
+ }
+
+ /**
+ * This is the page where the type of object to create is selected.
+ *
+ *
+ * @generated
+ */
+ public class SimplepdlModelWizardInitialObjectCreationPage extends WizardPage {
+ /**
+ *
+ *
+ * @generated
+ */
+ protected Combo initialObjectField;
+
+ /**
+ * @generated
+ *
+ *
+ */
+ protected List encodings;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ protected Combo encodingField;
+
+ /**
+ * Pass in the selection.
+ *
+ *
+ * @generated
+ */
+ public SimplepdlModelWizardInitialObjectCreationPage(String pageId) {
+ super(pageId);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public void createControl(Composite parent) {
+ Composite composite = new Composite(parent, SWT.NONE);
+ {
+ GridLayout layout = new GridLayout();
+ layout.numColumns = 1;
+ layout.verticalSpacing = 12;
+ composite.setLayout(layout);
+
+ GridData data = new GridData();
+ data.verticalAlignment = GridData.FILL;
+ data.grabExcessVerticalSpace = true;
+ data.horizontalAlignment = GridData.FILL;
+ composite.setLayoutData(data);
+ }
+
+ Label containerLabel = new Label(composite, SWT.LEFT);
+ {
+ containerLabel.setText(SimplepdlEditorPlugin.INSTANCE.getString("_UI_ModelObject"));
+
+ GridData data = new GridData();
+ data.horizontalAlignment = GridData.FILL;
+ containerLabel.setLayoutData(data);
+ }
+
+ initialObjectField = new Combo(composite, SWT.BORDER);
+ {
+ GridData data = new GridData();
+ data.horizontalAlignment = GridData.FILL;
+ data.grabExcessHorizontalSpace = true;
+ initialObjectField.setLayoutData(data);
+ }
+
+ for (String objectName : getInitialObjectNames()) {
+ initialObjectField.add(getLabel(objectName));
+ }
+
+ if (initialObjectField.getItemCount() == 1) {
+ initialObjectField.select(0);
+ }
+ initialObjectField.addModifyListener(validator);
+
+ Label encodingLabel = new Label(composite, SWT.LEFT);
+ {
+ encodingLabel.setText(SimplepdlEditorPlugin.INSTANCE.getString("_UI_XMLEncoding"));
+
+ GridData data = new GridData();
+ data.horizontalAlignment = GridData.FILL;
+ encodingLabel.setLayoutData(data);
+ }
+ encodingField = new Combo(composite, SWT.BORDER);
+ {
+ GridData data = new GridData();
+ data.horizontalAlignment = GridData.FILL;
+ data.grabExcessHorizontalSpace = true;
+ encodingField.setLayoutData(data);
+ }
+
+ for (String encoding : getEncodings()) {
+ encodingField.add(encoding);
+ }
+
+ encodingField.select(0);
+ encodingField.addModifyListener(validator);
+
+ setPageComplete(validatePage());
+ setControl(composite);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ protected ModifyListener validator =
+ new ModifyListener() {
+ public void modifyText(ModifyEvent e) {
+ setPageComplete(validatePage());
+ }
+ };
+
+ /**
+ *
+ *
+ * @generated
+ */
+ protected boolean validatePage() {
+ return getInitialObjectName() != null && getEncodings().contains(encodingField.getText());
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void setVisible(boolean visible) {
+ super.setVisible(visible);
+ if (visible) {
+ if (initialObjectField.getItemCount() == 1) {
+ initialObjectField.clearSelection();
+ encodingField.setFocus();
+ }
+ else {
+ encodingField.clearSelection();
+ initialObjectField.setFocus();
+ }
+ }
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public String getInitialObjectName() {
+ String label = initialObjectField.getText();
+
+ for (String name : getInitialObjectNames()) {
+ if (getLabel(name).equals(label)) {
+ return name;
+ }
+ }
+ return null;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public String getEncoding() {
+ return encodingField.getText();
+ }
+
+ /**
+ * Returns the label for the specified type name.
+ *
+ *
+ * @generated
+ */
+ protected String getLabel(String typeName) {
+ try {
+ return SimplepdlEditPlugin.INSTANCE.getString("_UI_" + typeName + "_type");
+ }
+ catch(MissingResourceException mre) {
+ SimplepdlEditorPlugin.INSTANCE.log(mre);
+ }
+ return typeName;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ protected Collection getEncodings() {
+ if (encodings == null) {
+ encodings = new ArrayList();
+ for (StringTokenizer stringTokenizer = new StringTokenizer(SimplepdlEditorPlugin.INSTANCE.getString("_UI_XMLEncodingChoices")); stringTokenizer.hasMoreTokens(); ) {
+ encodings.add(stringTokenizer.nextToken());
+ }
+ }
+ return encodings;
+ }
+ }
+
+ /**
+ * The framework calls this to create the contents of the wizard.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void addPages() {
+ // Create a page, set the title, and the initial model file name.
+ //
+ newFileCreationPage = new SimplepdlModelWizardNewFileCreationPage("Whatever", selection);
+ newFileCreationPage.setTitle(SimplepdlEditorPlugin.INSTANCE.getString("_UI_SimplepdlModelWizard_label"));
+ newFileCreationPage.setDescription(SimplepdlEditorPlugin.INSTANCE.getString("_UI_SimplepdlModelWizard_description"));
+ newFileCreationPage.setFileName(SimplepdlEditorPlugin.INSTANCE.getString("_UI_SimplepdlEditorFilenameDefaultBase") + "." + FILE_EXTENSIONS.get(0));
+ addPage(newFileCreationPage);
+
+ // Try and get the resource selection to determine a current directory for the file dialog.
+ //
+ if (selection != null && !selection.isEmpty()) {
+ // Get the resource...
+ //
+ Object selectedElement = selection.iterator().next();
+ if (selectedElement instanceof IResource) {
+ // Get the resource parent, if its a file.
+ //
+ IResource selectedResource = (IResource)selectedElement;
+ if (selectedResource.getType() == IResource.FILE) {
+ selectedResource = selectedResource.getParent();
+ }
+
+ // This gives us a directory...
+ //
+ if (selectedResource instanceof IFolder || selectedResource instanceof IProject) {
+ // Set this for the container.
+ //
+ newFileCreationPage.setContainerFullPath(selectedResource.getFullPath());
+
+ // Make up a unique new name here.
+ //
+ String defaultModelBaseFilename = SimplepdlEditorPlugin.INSTANCE.getString("_UI_SimplepdlEditorFilenameDefaultBase");
+ String defaultModelFilenameExtension = FILE_EXTENSIONS.get(0);
+ String modelFilename = defaultModelBaseFilename + "." + defaultModelFilenameExtension;
+ for (int i = 1; ((IContainer)selectedResource).findMember(modelFilename) != null; ++i) {
+ modelFilename = defaultModelBaseFilename + i + "." + defaultModelFilenameExtension;
+ }
+ newFileCreationPage.setFileName(modelFilename);
+ }
+ }
+ }
+ initialObjectCreationPage = new SimplepdlModelWizardInitialObjectCreationPage("Whatever2");
+ initialObjectCreationPage.setTitle(SimplepdlEditorPlugin.INSTANCE.getString("_UI_SimplepdlModelWizard_label"));
+ initialObjectCreationPage.setDescription(SimplepdlEditorPlugin.INSTANCE.getString("_UI_Wizard_initial_object_description"));
+ addPage(initialObjectCreationPage);
+ }
+
+ /**
+ * Get the file from the page.
+ *
+ *
+ * @generated
+ */
+ public IFile getModelFile() {
+ return newFileCreationPage.getModelFile();
+ }
+
+}
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/77/50232f174a2c001c17f2df26b410422b b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/77/50232f174a2c001c17f2df26b410422b
new file mode 100644
index 0000000..e7e6a12
--- /dev/null
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/77/50232f174a2c001c17f2df26b410422b
@@ -0,0 +1,44 @@
+
+
+ simplePDL.ecore
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/82/40af9fee492c001c17f2df26b410422b b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/82/40af9fee492c001c17f2df26b410422b
new file mode 100644
index 0000000..7457b4c
--- /dev/null
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/82/40af9fee492c001c17f2df26b410422b
@@ -0,0 +1,61 @@
+/**
+ */
+package simplepdl;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ *
+ * A representation of the model object 'Process '.
+ *
+ *
+ *
+ * The following features are supported:
+ *
+ *
+ * {@link simplepdl.Process#getName Name }
+ * {@link simplepdl.Process#getProcessElements Process Elements }
+ *
+ *
+ * @see simplepdl.SimplepdlPackage#getProcess()
+ * @model
+ * @generated
+ */
+public interface Process extends EObject {
+ /**
+ * Returns the value of the 'Name ' attribute.
+ *
+ *
+ * @return the value of the 'Name ' attribute.
+ * @see #setName(String)
+ * @see simplepdl.SimplepdlPackage#getProcess_Name()
+ * @model required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link simplepdl.Process#getName Name }' attribute.
+ *
+ *
+ * @param value the new value of the 'Name ' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the 'Process Elements ' containment reference list.
+ * The list contents are of type {@link simplepdl.ProcessElement}.
+ *
+ *
+ * @return the value of the 'Process Elements ' containment reference list.
+ * @see simplepdl.SimplepdlPackage#getProcess_ProcessElements()
+ * @model containment="true"
+ * @generated
+ */
+ EList getProcessElements();
+
+} // Process
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/86/50d2a493492c001c17f2df26b410422b b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/86/50d2a493492c001c17f2df26b410422b
new file mode 100644
index 0000000..db9424e
--- /dev/null
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/86/50d2a493492c001c17f2df26b410422b
@@ -0,0 +1,374 @@
+/**
+ */
+package petrinet.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import petrinet.Arc;
+import petrinet.Network;
+import petrinet.Node;
+import petrinet.PetrinetFactory;
+import petrinet.PetrinetPackage;
+import petrinet.Place;
+import petrinet.Transition;
+
+/**
+ *
+ * An implementation of the model Package .
+ *
+ * @generated
+ */
+public class PetrinetPackageImpl extends EPackageImpl implements PetrinetPackage {
+ /**
+ *
+ *
+ * @generated
+ */
+ private EClass networkEClass = null;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private EClass nodeEClass = null;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private EClass placeEClass = null;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private EClass arcEClass = null;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private EClass transitionEClass = null;
+
+ /**
+ * Creates an instance of the model Package , registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ *
+ *
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see petrinet.PetrinetPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private PetrinetPackageImpl() {
+ super(eNS_URI, PetrinetFactory.eINSTANCE);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the Package for this model, and for any others upon which it depends.
+ *
+ *
This method is used to initialize {@link PetrinetPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ *
+ *
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static PetrinetPackage init() {
+ if (isInited) return (PetrinetPackage)EPackage.Registry.INSTANCE.getEPackage(PetrinetPackage.eNS_URI);
+
+ // Obtain or create and register package
+ Object registeredPetrinetPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+ PetrinetPackageImpl thePetrinetPackage = registeredPetrinetPackage instanceof PetrinetPackageImpl ? (PetrinetPackageImpl)registeredPetrinetPackage : new PetrinetPackageImpl();
+
+ isInited = true;
+
+ // Create package meta-data objects
+ thePetrinetPackage.createPackageContents();
+
+ // Initialize created meta-data
+ thePetrinetPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ thePetrinetPackage.freeze();
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(PetrinetPackage.eNS_URI, thePetrinetPackage);
+ return thePetrinetPackage;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClass getNetwork() {
+ return networkEClass;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EAttribute getNetwork_Name() {
+ return (EAttribute)networkEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getNetwork_Nodes() {
+ return (EReference)networkEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClass getNode() {
+ return nodeEClass;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EAttribute getNode_Name() {
+ return (EAttribute)nodeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getNode_Network() {
+ return (EReference)nodeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClass getPlace() {
+ return placeEClass;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EAttribute getPlace_Tokens() {
+ return (EAttribute)placeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getPlace_Arcs() {
+ return (EReference)placeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClass getArc() {
+ return arcEClass;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EAttribute getArc_Weight() {
+ return (EAttribute)arcEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EAttribute getArc_Outgoing() {
+ return (EAttribute)arcEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getArc_Place() {
+ return (EReference)arcEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getArc_Transition() {
+ return (EReference)arcEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClass getTransition() {
+ return transitionEClass;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getTransition_Arcs() {
+ return (EReference)transitionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public PetrinetFactory getPetrinetFactory() {
+ return (PetrinetFactory)getEFactoryInstance();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ *
+ *
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ networkEClass = createEClass(NETWORK);
+ createEAttribute(networkEClass, NETWORK__NAME);
+ createEReference(networkEClass, NETWORK__NODES);
+
+ nodeEClass = createEClass(NODE);
+ createEAttribute(nodeEClass, NODE__NAME);
+ createEReference(nodeEClass, NODE__NETWORK);
+
+ placeEClass = createEClass(PLACE);
+ createEAttribute(placeEClass, PLACE__TOKENS);
+ createEReference(placeEClass, PLACE__ARCS);
+
+ arcEClass = createEClass(ARC);
+ createEAttribute(arcEClass, ARC__WEIGHT);
+ createEAttribute(arcEClass, ARC__OUTGOING);
+ createEReference(arcEClass, ARC__PLACE);
+ createEReference(arcEClass, ARC__TRANSITION);
+
+ transitionEClass = createEClass(TRANSITION);
+ createEReference(transitionEClass, TRANSITION__ARCS);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ *
+ *
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ placeEClass.getESuperTypes().add(this.getNode());
+ transitionEClass.getESuperTypes().add(this.getNode());
+
+ // Initialize classes, features, and operations; add parameters
+ initEClass(networkEClass, Network.class, "Network", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getNetwork_Name(), ecorePackage.getEString(), "name", null, 1, 1, Network.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getNetwork_Nodes(), this.getNode(), this.getNode_Network(), "nodes", null, 0, -1, Network.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(nodeEClass, Node.class, "Node", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getNode_Name(), ecorePackage.getEString(), "name", null, 1, 1, Node.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getNode_Network(), this.getNetwork(), this.getNetwork_Nodes(), "network", null, 1, 1, Node.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(placeEClass, Place.class, "Place", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getPlace_Tokens(), ecorePackage.getEInt(), "tokens", null, 1, 1, Place.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPlace_Arcs(), this.getArc(), this.getArc_Place(), "arcs", null, 0, -1, Place.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(arcEClass, Arc.class, "Arc", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getArc_Weight(), ecorePackage.getEInt(), "weight", null, 1, 1, Arc.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getArc_Outgoing(), ecorePackage.getEBoolean(), "outgoing", null, 1, 1, Arc.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getArc_Place(), this.getPlace(), this.getPlace_Arcs(), "place", null, 1, 1, Arc.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getArc_Transition(), this.getTransition(), this.getTransition_Arcs(), "transition", null, 1, 1, Arc.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(transitionEClass, Transition.class, "Transition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getTransition_Arcs(), this.getArc(), this.getArc_Transition(), "arcs", null, 0, -1, Transition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} //PetrinetPackageImpl
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/87/b0847f10492c001c17f2df26b410422b b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/87/b0847f10492c001c17f2df26b410422b
new file mode 100644
index 0000000..f072256
--- /dev/null
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/87/b0847f10492c001c17f2df26b410422b
@@ -0,0 +1,61 @@
+/**
+ */
+package petrinet;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ *
+ * A representation of the model object 'Network '.
+ *
+ *
+ *
+ * The following features are supported:
+ *
+ *
+ * {@link petrinet.Network#getName Name }
+ * {@link petrinet.Network#getNodes Nodes }
+ *
+ *
+ * @see petrinet.PetrinetPackage#getNetwork()
+ * @model
+ * @generated
+ */
+public interface Network extends EObject {
+ /**
+ * Returns the value of the 'Name ' attribute.
+ *
+ *
+ * @return the value of the 'Name ' attribute.
+ * @see #setName(String)
+ * @see petrinet.PetrinetPackage#getNetwork_Name()
+ * @model required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link petrinet.Network#getName Name }' attribute.
+ *
+ *
+ * @param value the new value of the 'Name ' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the 'Nodes ' containment reference list.
+ * The list contents are of type {@link petrinet.Node}.
+ *
+ *
+ * @return the value of the 'Nodes ' containment reference list.
+ * @see petrinet.PetrinetPackage#getNetwork_Nodes()
+ * @model containment="true"
+ * @generated
+ */
+ EList getNodes();
+
+} // Network
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/8c/5061a293492c001c17f2df26b410422b b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/8c/5061a293492c001c17f2df26b410422b
new file mode 100644
index 0000000..726ae31
--- /dev/null
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/8c/5061a293492c001c17f2df26b410422b
@@ -0,0 +1,192 @@
+/**
+ */
+package petrinet.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import petrinet.*;
+
+/**
+ *
+ * The Adapter Factory for the model.
+ * It provides an adapter createXXX
method for each class of the model.
+ *
+ * @see petrinet.PetrinetPackage
+ * @generated
+ */
+public class PetrinetAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ *
+ *
+ * @generated
+ */
+ protected static PetrinetPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ *
+ *
+ * @generated
+ */
+ public PetrinetAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = PetrinetPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ *
+ * This implementation returns true
if the object is either the model's package or is an instance object of the model.
+ *
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the createXXX
methods.
+ *
+ *
+ * @generated
+ */
+ protected PetrinetSwitch modelSwitch =
+ new PetrinetSwitch() {
+ @Override
+ public Adapter caseNetwork(Network object) {
+ return createNetworkAdapter();
+ }
+ @Override
+ public Adapter caseNode(Node object) {
+ return createNodeAdapter();
+ }
+ @Override
+ public Adapter casePlace(Place object) {
+ return createPlaceAdapter();
+ }
+ @Override
+ public Adapter caseArc(Arc object) {
+ return createArcAdapter();
+ }
+ @Override
+ public Adapter caseTransition(Transition object) {
+ return createTransitionAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the target
.
+ *
+ *
+ * @param target the object to adapt.
+ * @return the adapter for the target
.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link petrinet.Network Network }'.
+ *
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ *
+ * @return the new adapter.
+ * @see petrinet.Network
+ * @generated
+ */
+ public Adapter createNetworkAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link petrinet.Node Node }'.
+ *
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ *
+ * @return the new adapter.
+ * @see petrinet.Node
+ * @generated
+ */
+ public Adapter createNodeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link petrinet.Place Place }'.
+ *
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ *
+ * @return the new adapter.
+ * @see petrinet.Place
+ * @generated
+ */
+ public Adapter createPlaceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link petrinet.Arc Arc }'.
+ *
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ *
+ * @return the new adapter.
+ * @see petrinet.Arc
+ * @generated
+ */
+ public Adapter createArcAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link petrinet.Transition Transition }'.
+ *
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ *
+ * @return the new adapter.
+ * @see petrinet.Transition
+ * @generated
+ */
+ public Adapter createTransitionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ *
+ * This default implementation returns null.
+ *
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //PetrinetAdapterFactory
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/93/30c6e8ee492c001c17f2df26b410422b b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/93/30c6e8ee492c001c17f2df26b410422b
new file mode 100644
index 0000000..e91689e
--- /dev/null
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/93/30c6e8ee492c001c17f2df26b410422b
@@ -0,0 +1,185 @@
+/**
+ */
+package simplepdl.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import simplepdl.SimplepdlPackage;
+import simplepdl.WorkSequence;
+import simplepdl.WorkSequenceType;
+
+/**
+ * This is the item provider adapter for a {@link simplepdl.WorkSequence} object.
+ *
+ *
+ * @generated
+ */
+public class WorkSequenceItemProvider extends ProcessElementItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public WorkSequenceItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addLinkTypePropertyDescriptor(object);
+ addPredecessorPropertyDescriptor(object);
+ addSuccessorPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Link Type feature.
+ *
+ *
+ * @generated
+ */
+ protected void addLinkTypePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_WorkSequence_linkType_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_WorkSequence_linkType_feature", "_UI_WorkSequence_type"),
+ SimplepdlPackage.Literals.WORK_SEQUENCE__LINK_TYPE,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Predecessor feature.
+ *
+ *
+ * @generated
+ */
+ protected void addPredecessorPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_WorkSequence_predecessor_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_WorkSequence_predecessor_feature", "_UI_WorkSequence_type"),
+ SimplepdlPackage.Literals.WORK_SEQUENCE__PREDECESSOR,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Successor feature.
+ *
+ *
+ * @generated
+ */
+ protected void addSuccessorPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_WorkSequence_successor_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_WorkSequence_successor_feature", "_UI_WorkSequence_type"),
+ SimplepdlPackage.Literals.WORK_SEQUENCE__SUCCESSOR,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns WorkSequence.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/WorkSequence"));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated NOT
+ */
+ @Override
+ public String getText(Object object) {
+ WorkSequence ws = (WorkSequence) object;
+ WorkSequenceType labelValue = ws.getLinkType();
+ String label = "--" + (labelValue == null ? "?" : labelValue.toString()) + "-->";
+ String previous = ws.getPredecessor() == null ? "?" : ws.getPredecessor().getName();
+ String next = ws.getSuccessor() == null ? "?" : ws.getSuccessor().getName();
+ return label == null || label.length() == 0 ?
+ getString("_UI_WorkSequence_type") :
+ getString("_UI_WorkSequence_type") + " " + previous + " " + label + " " + next;
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(WorkSequence.class)) {
+ case SimplepdlPackage.WORK_SEQUENCE__PREDECESSOR:
+ case SimplepdlPackage.WORK_SEQUENCE__SUCCESSOR:
+ case SimplepdlPackage.WORK_SEQUENCE__LINK_TYPE:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+}
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/98/10415e10492c001c17f2df26b410422b b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/98/10415e10492c001c17f2df26b410422b
new file mode 100644
index 0000000..6429173
--- /dev/null
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/98/10415e10492c001c17f2df26b410422b
@@ -0,0 +1,567 @@
+/**
+ */
+package petrinet;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ *
+ * The Package for the model.
+ * It contains accessors for the meta objects to represent
+ *
+ * each class,
+ * each feature of each class,
+ * each operation of each class,
+ * each enum,
+ * and each data type
+ *
+ *
+ * @see petrinet.PetrinetFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface PetrinetPackage extends EPackage {
+ /**
+ * The package name.
+ *
+ *
+ * @generated
+ */
+ String eNAME = "petrinet";
+
+ /**
+ * The package namespace URI.
+ *
+ *
+ * @generated
+ */
+ String eNS_URI = "http://petrinet";
+
+ /**
+ * The package namespace name.
+ *
+ *
+ * @generated
+ */
+ String eNS_PREFIX = "petrinet";
+
+ /**
+ * The singleton instance of the package.
+ *
+ *
+ * @generated
+ */
+ PetrinetPackage eINSTANCE = petrinet.impl.PetrinetPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link petrinet.impl.NetworkImpl Network }' class.
+ *
+ *
+ * @see petrinet.impl.NetworkImpl
+ * @see petrinet.impl.PetrinetPackageImpl#getNetwork()
+ * @generated
+ */
+ int NETWORK = 0;
+
+ /**
+ * The feature id for the 'Name ' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int NETWORK__NAME = 0;
+
+ /**
+ * The feature id for the 'Nodes ' containment reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int NETWORK__NODES = 1;
+
+ /**
+ * The number of structural features of the 'Network ' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int NETWORK_FEATURE_COUNT = 2;
+
+ /**
+ * The number of operations of the 'Network ' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int NETWORK_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link petrinet.impl.NodeImpl Node }' class.
+ *
+ *
+ * @see petrinet.impl.NodeImpl
+ * @see petrinet.impl.PetrinetPackageImpl#getNode()
+ * @generated
+ */
+ int NODE = 1;
+
+ /**
+ * The feature id for the 'Name ' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE__NAME = 0;
+
+ /**
+ * The number of structural features of the 'Node ' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the 'Node ' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link petrinet.impl.PlaceImpl Place }' class.
+ *
+ *
+ * @see petrinet.impl.PlaceImpl
+ * @see petrinet.impl.PetrinetPackageImpl#getPlace()
+ * @generated
+ */
+ int PLACE = 2;
+
+ /**
+ * The feature id for the 'Name ' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int PLACE__NAME = NODE__NAME;
+
+ /**
+ * The feature id for the 'Tokens ' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int PLACE__TOKENS = NODE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the 'Place ' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int PLACE_FEATURE_COUNT = NODE_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the 'Place ' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int PLACE_OPERATION_COUNT = NODE_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link petrinet.impl.ArcImpl Arc }' class.
+ *
+ *
+ * @see petrinet.impl.ArcImpl
+ * @see petrinet.impl.PetrinetPackageImpl#getArc()
+ * @generated
+ */
+ int ARC = 3;
+
+ /**
+ * The feature id for the 'Weight ' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int ARC__WEIGHT = 0;
+
+ /**
+ * The feature id for the 'Outgoing ' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int ARC__OUTGOING = 1;
+
+ /**
+ * The feature id for the 'Target ' reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int ARC__TARGET = 2;
+
+ /**
+ * The number of structural features of the 'Arc ' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int ARC_FEATURE_COUNT = 3;
+
+ /**
+ * The number of operations of the 'Arc ' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int ARC_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link petrinet.impl.TransitionImpl Transition }' class.
+ *
+ *
+ * @see petrinet.impl.TransitionImpl
+ * @see petrinet.impl.PetrinetPackageImpl#getTransition()
+ * @generated
+ */
+ int TRANSITION = 4;
+
+ /**
+ * The feature id for the 'Name ' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TRANSITION__NAME = NODE__NAME;
+
+ /**
+ * The feature id for the 'Arcs ' containment reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TRANSITION__ARCS = NODE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the 'Transition ' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TRANSITION_FEATURE_COUNT = NODE_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the 'Transition ' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TRANSITION_OPERATION_COUNT = NODE_OPERATION_COUNT + 0;
+
+
+ /**
+ * Returns the meta object for class '{@link petrinet.Network Network }'.
+ *
+ *
+ * @return the meta object for class 'Network '.
+ * @see petrinet.Network
+ * @generated
+ */
+ EClass getNetwork();
+
+ /**
+ * Returns the meta object for the attribute '{@link petrinet.Network#getName Name }'.
+ *
+ *
+ * @return the meta object for the attribute 'Name '.
+ * @see petrinet.Network#getName()
+ * @see #getNetwork()
+ * @generated
+ */
+ EAttribute getNetwork_Name();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link petrinet.Network#getNodes Nodes }'.
+ *
+ *
+ * @return the meta object for the containment reference list 'Nodes '.
+ * @see petrinet.Network#getNodes()
+ * @see #getNetwork()
+ * @generated
+ */
+ EReference getNetwork_Nodes();
+
+ /**
+ * Returns the meta object for class '{@link petrinet.Node Node }'.
+ *
+ *
+ * @return the meta object for class 'Node '.
+ * @see petrinet.Node
+ * @generated
+ */
+ EClass getNode();
+
+ /**
+ * Returns the meta object for the attribute '{@link petrinet.Node#getName Name }'.
+ *
+ *
+ * @return the meta object for the attribute 'Name '.
+ * @see petrinet.Node#getName()
+ * @see #getNode()
+ * @generated
+ */
+ EAttribute getNode_Name();
+
+ /**
+ * Returns the meta object for class '{@link petrinet.Place Place }'.
+ *
+ *
+ * @return the meta object for class 'Place '.
+ * @see petrinet.Place
+ * @generated
+ */
+ EClass getPlace();
+
+ /**
+ * Returns the meta object for the attribute '{@link petrinet.Place#getTokens Tokens }'.
+ *
+ *
+ * @return the meta object for the attribute 'Tokens '.
+ * @see petrinet.Place#getTokens()
+ * @see #getPlace()
+ * @generated
+ */
+ EAttribute getPlace_Tokens();
+
+ /**
+ * Returns the meta object for class '{@link petrinet.Arc Arc }'.
+ *
+ *
+ * @return the meta object for class 'Arc '.
+ * @see petrinet.Arc
+ * @generated
+ */
+ EClass getArc();
+
+ /**
+ * Returns the meta object for the attribute '{@link petrinet.Arc#getWeight Weight }'.
+ *
+ *
+ * @return the meta object for the attribute 'Weight '.
+ * @see petrinet.Arc#getWeight()
+ * @see #getArc()
+ * @generated
+ */
+ EAttribute getArc_Weight();
+
+ /**
+ * Returns the meta object for the attribute '{@link petrinet.Arc#isOutgoing Outgoing }'.
+ *
+ *
+ * @return the meta object for the attribute 'Outgoing '.
+ * @see petrinet.Arc#isOutgoing()
+ * @see #getArc()
+ * @generated
+ */
+ EAttribute getArc_Outgoing();
+
+ /**
+ * Returns the meta object for the reference '{@link petrinet.Arc#getTarget Target }'.
+ *
+ *
+ * @return the meta object for the reference 'Target '.
+ * @see petrinet.Arc#getTarget()
+ * @see #getArc()
+ * @generated
+ */
+ EReference getArc_Target();
+
+ /**
+ * Returns the meta object for class '{@link petrinet.Transition Transition }'.
+ *
+ *
+ * @return the meta object for class 'Transition '.
+ * @see petrinet.Transition
+ * @generated
+ */
+ EClass getTransition();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link petrinet.Transition#getArcs Arcs }'.
+ *
+ *
+ * @return the meta object for the containment reference list 'Arcs '.
+ * @see petrinet.Transition#getArcs()
+ * @see #getTransition()
+ * @generated
+ */
+ EReference getTransition_Arcs();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ *
+ *
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ PetrinetFactory getPetrinetFactory();
+
+ /**
+ *
+ * Defines literals for the meta objects that represent
+ *
+ * each class,
+ * each feature of each class,
+ * each operation of each class,
+ * each enum,
+ * and each data type
+ *
+ *
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link petrinet.impl.NetworkImpl Network }' class.
+ *
+ *
+ * @see petrinet.impl.NetworkImpl
+ * @see petrinet.impl.PetrinetPackageImpl#getNetwork()
+ * @generated
+ */
+ EClass NETWORK = eINSTANCE.getNetwork();
+
+ /**
+ * The meta object literal for the 'Name ' attribute feature.
+ *
+ *
+ * @generated
+ */
+ EAttribute NETWORK__NAME = eINSTANCE.getNetwork_Name();
+
+ /**
+ * The meta object literal for the 'Nodes ' containment reference list feature.
+ *
+ *
+ * @generated
+ */
+ EReference NETWORK__NODES = eINSTANCE.getNetwork_Nodes();
+
+ /**
+ * The meta object literal for the '{@link petrinet.impl.NodeImpl Node }' class.
+ *
+ *
+ * @see petrinet.impl.NodeImpl
+ * @see petrinet.impl.PetrinetPackageImpl#getNode()
+ * @generated
+ */
+ EClass NODE = eINSTANCE.getNode();
+
+ /**
+ * The meta object literal for the 'Name ' attribute feature.
+ *
+ *
+ * @generated
+ */
+ EAttribute NODE__NAME = eINSTANCE.getNode_Name();
+
+ /**
+ * The meta object literal for the '{@link petrinet.impl.PlaceImpl Place }' class.
+ *
+ *
+ * @see petrinet.impl.PlaceImpl
+ * @see petrinet.impl.PetrinetPackageImpl#getPlace()
+ * @generated
+ */
+ EClass PLACE = eINSTANCE.getPlace();
+
+ /**
+ * The meta object literal for the 'Tokens ' attribute feature.
+ *
+ *
+ * @generated
+ */
+ EAttribute PLACE__TOKENS = eINSTANCE.getPlace_Tokens();
+
+ /**
+ * The meta object literal for the '{@link petrinet.impl.ArcImpl Arc }' class.
+ *
+ *
+ * @see petrinet.impl.ArcImpl
+ * @see petrinet.impl.PetrinetPackageImpl#getArc()
+ * @generated
+ */
+ EClass ARC = eINSTANCE.getArc();
+
+ /**
+ * The meta object literal for the 'Weight ' attribute feature.
+ *
+ *
+ * @generated
+ */
+ EAttribute ARC__WEIGHT = eINSTANCE.getArc_Weight();
+
+ /**
+ * The meta object literal for the 'Outgoing ' attribute feature.
+ *
+ *
+ * @generated
+ */
+ EAttribute ARC__OUTGOING = eINSTANCE.getArc_Outgoing();
+
+ /**
+ * The meta object literal for the 'Target ' reference feature.
+ *
+ *
+ * @generated
+ */
+ EReference ARC__TARGET = eINSTANCE.getArc_Target();
+
+ /**
+ * The meta object literal for the '{@link petrinet.impl.TransitionImpl Transition }' class.
+ *
+ *
+ * @see petrinet.impl.TransitionImpl
+ * @see petrinet.impl.PetrinetPackageImpl#getTransition()
+ * @generated
+ */
+ EClass TRANSITION = eINSTANCE.getTransition();
+
+ /**
+ * The meta object literal for the 'Arcs ' containment reference list feature.
+ *
+ *
+ * @generated
+ */
+ EReference TRANSITION__ARCS = eINSTANCE.getTransition_Arcs();
+
+ }
+
+} //PetrinetPackage
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/aa/10e797ee492c001c17f2df26b410422b b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/aa/10e797ee492c001c17f2df26b410422b
new file mode 100644
index 0000000..3e69f5f
--- /dev/null
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/aa/10e797ee492c001c17f2df26b410422b
@@ -0,0 +1,312 @@
+/**
+ */
+package simplepdl.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import simplepdl.Request;
+import simplepdl.SimplepdlPackage;
+import simplepdl.WorkDefinition;
+import simplepdl.WorkSequence;
+
+/**
+ *
+ * An implementation of the model object 'Work Definition '.
+ *
+ *
+ * The following features are implemented:
+ *
+ *
+ * {@link simplepdl.impl.WorkDefinitionImpl#getLinksToPredecessors Links To Predecessors }
+ * {@link simplepdl.impl.WorkDefinitionImpl#getLinksToSuccessors Links To Successors }
+ * {@link simplepdl.impl.WorkDefinitionImpl#getName Name }
+ * {@link simplepdl.impl.WorkDefinitionImpl#getRequests Requests }
+ *
+ *
+ * @generated
+ */
+public class WorkDefinitionImpl extends ProcessElementImpl implements WorkDefinition {
+ /**
+ * The cached value of the '{@link #getLinksToPredecessors() Links To Predecessors }' reference list.
+ *
+ *
+ * @see #getLinksToPredecessors()
+ * @generated
+ * @ordered
+ */
+ protected EList linksToPredecessors;
+
+ /**
+ * The cached value of the '{@link #getLinksToSuccessors() Links To Successors }' reference list.
+ *
+ *
+ * @see #getLinksToSuccessors()
+ * @generated
+ * @ordered
+ */
+ protected EList linksToSuccessors;
+
+ /**
+ * The default value of the '{@link #getName() Name }' attribute.
+ *
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() Name }' attribute.
+ *
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getRequests() Requests }' containment reference list.
+ *
+ *
+ * @see #getRequests()
+ * @generated
+ * @ordered
+ */
+ protected EList requests;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ protected WorkDefinitionImpl() {
+ super();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SimplepdlPackage.Literals.WORK_DEFINITION;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EList getLinksToPredecessors() {
+ if (linksToPredecessors == null) {
+ linksToPredecessors = new EObjectWithInverseResolvingEList(WorkSequence.class, this, SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS, SimplepdlPackage.WORK_SEQUENCE__SUCCESSOR);
+ }
+ return linksToPredecessors;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EList getLinksToSuccessors() {
+ if (linksToSuccessors == null) {
+ linksToSuccessors = new EObjectWithInverseResolvingEList(WorkSequence.class, this, SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS, SimplepdlPackage.WORK_SEQUENCE__PREDECESSOR);
+ }
+ return linksToSuccessors;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SimplepdlPackage.WORK_DEFINITION__NAME, oldName, name));
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EList getRequests() {
+ if (requests == null) {
+ requests = new EObjectContainmentEList(Request.class, this, SimplepdlPackage.WORK_DEFINITION__REQUESTS);
+ }
+ return requests;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS:
+ return ((InternalEList)(InternalEList>)getLinksToPredecessors()).basicAdd(otherEnd, msgs);
+ case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS:
+ return ((InternalEList)(InternalEList>)getLinksToSuccessors()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS:
+ return ((InternalEList>)getLinksToPredecessors()).basicRemove(otherEnd, msgs);
+ case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS:
+ return ((InternalEList>)getLinksToSuccessors()).basicRemove(otherEnd, msgs);
+ case SimplepdlPackage.WORK_DEFINITION__REQUESTS:
+ return ((InternalEList>)getRequests()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS:
+ return getLinksToPredecessors();
+ case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS:
+ return getLinksToSuccessors();
+ case SimplepdlPackage.WORK_DEFINITION__NAME:
+ return getName();
+ case SimplepdlPackage.WORK_DEFINITION__REQUESTS:
+ return getRequests();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS:
+ getLinksToPredecessors().clear();
+ getLinksToPredecessors().addAll((Collection extends WorkSequence>)newValue);
+ return;
+ case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS:
+ getLinksToSuccessors().clear();
+ getLinksToSuccessors().addAll((Collection extends WorkSequence>)newValue);
+ return;
+ case SimplepdlPackage.WORK_DEFINITION__NAME:
+ setName((String)newValue);
+ return;
+ case SimplepdlPackage.WORK_DEFINITION__REQUESTS:
+ getRequests().clear();
+ getRequests().addAll((Collection extends Request>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS:
+ getLinksToPredecessors().clear();
+ return;
+ case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS:
+ getLinksToSuccessors().clear();
+ return;
+ case SimplepdlPackage.WORK_DEFINITION__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case SimplepdlPackage.WORK_DEFINITION__REQUESTS:
+ getRequests().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS:
+ return linksToPredecessors != null && !linksToPredecessors.isEmpty();
+ case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS:
+ return linksToSuccessors != null && !linksToSuccessors.isEmpty();
+ case SimplepdlPackage.WORK_DEFINITION__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case SimplepdlPackage.WORK_DEFINITION__REQUESTS:
+ return requests != null && !requests.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //WorkDefinitionImpl
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/ab/8060278f492c001c17f2df26b410422b b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/ab/8060278f492c001c17f2df26b410422b
new file mode 100644
index 0000000..71e2bd4
--- /dev/null
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/ab/8060278f492c001c17f2df26b410422b
@@ -0,0 +1,46 @@
+/**
+ */
+package petrinet;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ *
+ * A representation of the model object 'Node '.
+ *
+ *
+ *
+ * The following features are supported:
+ *
+ *
+ * {@link petrinet.Node#getName Name }
+ *
+ *
+ * @see petrinet.PetrinetPackage#getNode()
+ * @model abstract="true"
+ * @generated
+ */
+public interface Node extends EObject {
+ /**
+ * Returns the value of the 'Name ' attribute.
+ *
+ *
+ * @return the value of the 'Name ' attribute.
+ * @see #setName(String)
+ * @see petrinet.PetrinetPackage#getNode_Name()
+ * @model required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link petrinet.Node#getName Name }' attribute.
+ *
+ *
+ * @param value the new value of the 'Name ' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+} // Node
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/b9/306cf7ee492c001c17f2df26b410422b b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/b9/306cf7ee492c001c17f2df26b410422b
new file mode 100644
index 0000000..522dd5e
--- /dev/null
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/b9/306cf7ee492c001c17f2df26b410422b
@@ -0,0 +1,181 @@
+/**
+ */
+package simplepdl.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import simplepdl.Request;
+import simplepdl.SimplepdlPackage;
+
+/**
+ * This is the item provider adapter for a {@link simplepdl.Request} object.
+ *
+ *
+ * @generated
+ */
+public class RequestItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public RequestItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addQuantityPropertyDescriptor(object);
+ addTargetPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Quantity feature.
+ *
+ *
+ * @generated
+ */
+ protected void addQuantityPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Request_quantity_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Request_quantity_feature", "_UI_Request_type"),
+ SimplepdlPackage.Literals.REQUEST__QUANTITY,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Target feature.
+ *
+ *
+ * @generated
+ */
+ protected void addTargetPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Request_target_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Request_target_feature", "_UI_Request_type"),
+ SimplepdlPackage.Literals.REQUEST__TARGET,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns Request.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/Request"));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ Request request = (Request)object;
+ String targetname = request.getTarget() != null ? request.getTarget().getName() : "";
+ return getString("_UI_Request_type") + " --" + request.getQuantity() + "--> " + targetname;
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated NOT
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Request.class)) {
+ case SimplepdlPackage.REQUEST__TARGET:
+ case SimplepdlPackage.REQUEST__QUANTITY:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SimplepdlEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/b9/f0afa8ee492c001c17f2df26b410422b b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/b9/f0afa8ee492c001c17f2df26b410422b
new file mode 100644
index 0000000..7a79f9d
--- /dev/null
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/b9/f0afa8ee492c001c17f2df26b410422b
@@ -0,0 +1,59 @@
+/**
+ */
+package simplepdl;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ *
+ * A representation of the model object 'Guidance '.
+ *
+ *
+ *
+ * The following features are supported:
+ *
+ *
+ * {@link simplepdl.Guidance#getText Text }
+ * {@link simplepdl.Guidance#getElements Elements }
+ *
+ *
+ * @see simplepdl.SimplepdlPackage#getGuidance()
+ * @model
+ * @generated
+ */
+public interface Guidance extends ProcessElement {
+ /**
+ * Returns the value of the 'Text ' attribute.
+ *
+ *
+ * @return the value of the 'Text ' attribute.
+ * @see #setText(String)
+ * @see simplepdl.SimplepdlPackage#getGuidance_Text()
+ * @model required="true"
+ * @generated
+ */
+ String getText();
+
+ /**
+ * Sets the value of the '{@link simplepdl.Guidance#getText Text }' attribute.
+ *
+ *
+ * @param value the new value of the 'Text ' attribute.
+ * @see #getText()
+ * @generated
+ */
+ void setText(String value);
+
+ /**
+ * Returns the value of the 'Elements ' reference list.
+ * The list contents are of type {@link simplepdl.ProcessElement}.
+ *
+ *
+ * @return the value of the 'Elements ' reference list.
+ * @see simplepdl.SimplepdlPackage#getGuidance_Elements()
+ * @model
+ * @generated
+ */
+ EList getElements();
+
+} // Guidance
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/be/308af2ee492c001c17f2df26b410422b b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/be/308af2ee492c001c17f2df26b410422b
new file mode 100644
index 0000000..1381366
--- /dev/null
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/be/308af2ee492c001c17f2df26b410422b
@@ -0,0 +1,157 @@
+/**
+ */
+package simplepdl.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import simplepdl.Resource;
+import simplepdl.SimplepdlPackage;
+
+/**
+ * This is the item provider adapter for a {@link simplepdl.Resource} object.
+ *
+ *
+ * @generated
+ */
+public class ResourceItemProvider extends ProcessElementItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ *
+ *
+ * @generated
+ */
+ public ResourceItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addQuantityPropertyDescriptor(object);
+ addNamePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Quantity feature.
+ *
+ *
+ * @generated
+ */
+ protected void addQuantityPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Resource_quantity_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Resource_quantity_feature", "_UI_Resource_type"),
+ SimplepdlPackage.Literals.RESOURCE__QUANTITY,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Name feature.
+ *
+ *
+ * @generated
+ */
+ protected void addNamePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Resource_name_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Resource_name_feature", "_UI_Resource_type"),
+ SimplepdlPackage.Literals.RESOURCE__NAME,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This returns Resource.gif.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/Resource"));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((Resource)object).getName();
+ int qty = ((Resource)object).getQuantity();
+ return label == null || label.length() == 0 ?
+ getString("_UI_Resource_type") :
+ getString("_UI_Resource_type") + " " + label + " (" + qty + ")";
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Resource.class)) {
+ case SimplepdlPackage.RESOURCE__QUANTITY:
+ case SimplepdlPackage.RESOURCE__NAME:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+}
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/c4/300f747f492c001c17f2df26b410422b b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/c4/300f747f492c001c17f2df26b410422b
new file mode 100644
index 0000000..d769926
--- /dev/null
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/c4/300f747f492c001c17f2df26b410422b
@@ -0,0 +1,128 @@
+/**
+ */
+package petrinet.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import petrinet.*;
+
+/**
+ *
+ * An implementation of the model Factory .
+ *
+ * @generated
+ */
+public class PetrinetFactoryImpl extends EFactoryImpl implements PetrinetFactory {
+ /**
+ * Creates the default factory implementation.
+ *
+ *
+ * @generated
+ */
+ public static PetrinetFactory init() {
+ try {
+ PetrinetFactory thePetrinetFactory = (PetrinetFactory)EPackage.Registry.INSTANCE.getEFactory(PetrinetPackage.eNS_URI);
+ if (thePetrinetFactory != null) {
+ return thePetrinetFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new PetrinetFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ *
+ *
+ * @generated
+ */
+ public PetrinetFactoryImpl() {
+ super();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case PetrinetPackage.NETWORK: return createNetwork();
+ case PetrinetPackage.PLACE: return createPlace();
+ case PetrinetPackage.ARC: return createArc();
+ case PetrinetPackage.TRANSITION: return createTransition();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public Network createNetwork() {
+ NetworkImpl network = new NetworkImpl();
+ return network;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public Place createPlace() {
+ PlaceImpl place = new PlaceImpl();
+ return place;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public Arc createArc() {
+ ArcImpl arc = new ArcImpl();
+ return arc;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public Transition createTransition() {
+ TransitionImpl transition = new TransitionImpl();
+ return transition;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public PetrinetPackage getPetrinetPackage() {
+ return (PetrinetPackage)getEPackage();
+ }
+
+ /**
+ *
+ *
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static PetrinetPackage getPackage() {
+ return PetrinetPackage.eINSTANCE;
+ }
+
+} //PetrinetFactoryImpl
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/cb/90fda293492c001c17f2df26b410422b b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/cb/90fda293492c001c17f2df26b410422b
new file mode 100644
index 0000000..b5bcd9e
--- /dev/null
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/cb/90fda293492c001c17f2df26b410422b
@@ -0,0 +1,196 @@
+/**
+ */
+package petrinet.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import petrinet.*;
+
+/**
+ *
+ * The Switch for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the caseXXX
method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ *
+ * @see petrinet.PetrinetPackage
+ * @generated
+ */
+public class PetrinetSwitch extends Switch {
+ /**
+ * The cached model package
+ *
+ *
+ * @generated
+ */
+ protected static PetrinetPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ *
+ *
+ * @generated
+ */
+ public PetrinetSwitch() {
+ if (modelPackage == null) {
+ modelPackage = PetrinetPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ *
+ *
+ * @param ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls caseXXX
for each class of the model until one returns a non null result; it yields that result.
+ *
+ *
+ * @return the first non-null result returned by a caseXXX
call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case PetrinetPackage.NETWORK: {
+ Network network = (Network)theEObject;
+ T result = caseNetwork(network);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PetrinetPackage.NODE: {
+ Node node = (Node)theEObject;
+ T result = caseNode(node);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PetrinetPackage.PLACE: {
+ Place place = (Place)theEObject;
+ T result = casePlace(place);
+ if (result == null) result = caseNode(place);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PetrinetPackage.ARC: {
+ Arc arc = (Arc)theEObject;
+ T result = caseArc(arc);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PetrinetPackage.TRANSITION: {
+ Transition transition = (Transition)theEObject;
+ T result = caseTransition(transition);
+ if (result == null) result = caseNode(transition);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of 'Network '.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of 'Network '.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNetwork(Network object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of 'Node '.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of 'Node '.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNode(Node object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of 'Place '.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of 'Place '.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePlace(Place object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of 'Arc '.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of 'Arc '.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseArc(Arc object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of 'Transition '.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of 'Transition '.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTransition(Transition object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of 'EObject '.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of 'EObject '.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //PetrinetSwitch
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d/70ab747f492c001c17f2df26b410422b b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d/70ab747f492c001c17f2df26b410422b
new file mode 100644
index 0000000..9793369
--- /dev/null
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d/70ab747f492c001c17f2df26b410422b
@@ -0,0 +1,237 @@
+/**
+ */
+package petrinet.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import petrinet.Network;
+import petrinet.Node;
+import petrinet.PetrinetPackage;
+
+/**
+ *
+ * An implementation of the model object 'Network '.
+ *
+ *
+ * The following features are implemented:
+ *
+ *
+ * {@link petrinet.impl.NetworkImpl#getName Name }
+ * {@link petrinet.impl.NetworkImpl#getNodes Nodes }
+ *
+ *
+ * @generated
+ */
+public class NetworkImpl extends MinimalEObjectImpl.Container implements Network {
+ /**
+ * The default value of the '{@link #getName() Name }' attribute.
+ *
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() Name }' attribute.
+ *
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getNodes() Nodes }' containment reference list.
+ *
+ *
+ * @see #getNodes()
+ * @generated
+ * @ordered
+ */
+ protected EList nodes;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ protected NetworkImpl() {
+ super();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PetrinetPackage.Literals.NETWORK;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PetrinetPackage.NETWORK__NAME, oldName, name));
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EList getNodes() {
+ if (nodes == null) {
+ nodes = new EObjectContainmentWithInverseEList(Node.class, this, PetrinetPackage.NETWORK__NODES, PetrinetPackage.NODE__NETWORK);
+ }
+ return nodes;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PetrinetPackage.NETWORK__NODES:
+ return ((InternalEList)(InternalEList>)getNodes()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PetrinetPackage.NETWORK__NODES:
+ return ((InternalEList>)getNodes()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PetrinetPackage.NETWORK__NAME:
+ return getName();
+ case PetrinetPackage.NETWORK__NODES:
+ return getNodes();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PetrinetPackage.NETWORK__NAME:
+ setName((String)newValue);
+ return;
+ case PetrinetPackage.NETWORK__NODES:
+ getNodes().clear();
+ getNodes().addAll((Collection extends Node>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PetrinetPackage.NETWORK__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case PetrinetPackage.NETWORK__NODES:
+ getNodes().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PetrinetPackage.NETWORK__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case PetrinetPackage.NETWORK__NODES:
+ return nodes != null && !nodes.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //NetworkImpl
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d0/a0e26e5f492c001c17f2df26b410422b b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d0/a0e26e5f492c001c17f2df26b410422b
new file mode 100644
index 0000000..a763681
--- /dev/null
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d0/a0e26e5f492c001c17f2df26b410422b
@@ -0,0 +1,150 @@
+/**
+ */
+package petrinet.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import petrinet.Arc;
+import petrinet.PetrinetPackage;
+import petrinet.Transition;
+
+/**
+ *
+ * An implementation of the model object 'Transition '.
+ *
+ *
+ * The following features are implemented:
+ *
+ *
+ * {@link petrinet.impl.TransitionImpl#getArcs Arcs }
+ *
+ *
+ * @generated
+ */
+public class TransitionImpl extends NodeImpl implements Transition {
+ /**
+ * The cached value of the '{@link #getArcs() Arcs }' containment reference list.
+ *
+ *
+ * @see #getArcs()
+ * @generated
+ * @ordered
+ */
+ protected EList arcs;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ protected TransitionImpl() {
+ super();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PetrinetPackage.Literals.TRANSITION;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EList getArcs() {
+ if (arcs == null) {
+ arcs = new EObjectContainmentEList(Arc.class, this, PetrinetPackage.TRANSITION__ARCS);
+ }
+ return arcs;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PetrinetPackage.TRANSITION__ARCS:
+ return ((InternalEList>)getArcs()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PetrinetPackage.TRANSITION__ARCS:
+ return getArcs();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PetrinetPackage.TRANSITION__ARCS:
+ getArcs().clear();
+ getArcs().addAll((Collection extends Arc>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PetrinetPackage.TRANSITION__ARCS:
+ getArcs().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PetrinetPackage.TRANSITION__ARCS:
+ return arcs != null && !arcs.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //TransitionImpl
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d3/e0c0a393492c001c17f2df26b410422b b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d3/e0c0a393492c001c17f2df26b410422b
new file mode 100644
index 0000000..d769926
--- /dev/null
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d3/e0c0a393492c001c17f2df26b410422b
@@ -0,0 +1,128 @@
+/**
+ */
+package petrinet.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import petrinet.*;
+
+/**
+ *
+ * An implementation of the model Factory .
+ *
+ * @generated
+ */
+public class PetrinetFactoryImpl extends EFactoryImpl implements PetrinetFactory {
+ /**
+ * Creates the default factory implementation.
+ *
+ *
+ * @generated
+ */
+ public static PetrinetFactory init() {
+ try {
+ PetrinetFactory thePetrinetFactory = (PetrinetFactory)EPackage.Registry.INSTANCE.getEFactory(PetrinetPackage.eNS_URI);
+ if (thePetrinetFactory != null) {
+ return thePetrinetFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new PetrinetFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ *
+ *
+ * @generated
+ */
+ public PetrinetFactoryImpl() {
+ super();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case PetrinetPackage.NETWORK: return createNetwork();
+ case PetrinetPackage.PLACE: return createPlace();
+ case PetrinetPackage.ARC: return createArc();
+ case PetrinetPackage.TRANSITION: return createTransition();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public Network createNetwork() {
+ NetworkImpl network = new NetworkImpl();
+ return network;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public Place createPlace() {
+ PlaceImpl place = new PlaceImpl();
+ return place;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public Arc createArc() {
+ ArcImpl arc = new ArcImpl();
+ return arc;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public Transition createTransition() {
+ TransitionImpl transition = new TransitionImpl();
+ return transition;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public PetrinetPackage getPetrinetPackage() {
+ return (PetrinetPackage)getEPackage();
+ }
+
+ /**
+ *
+ *
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static PetrinetPackage getPackage() {
+ return PetrinetPackage.eINSTANCE;
+ }
+
+} //PetrinetFactoryImpl
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d6/a0ded3ee492c001c17f2df26b410422b b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d6/a0ded3ee492c001c17f2df26b410422b
new file mode 100644
index 0000000..5ef4528
--- /dev/null
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d6/a0ded3ee492c001c17f2df26b410422b
@@ -0,0 +1,46 @@
+#
+
+pluginName = Simplepdl Edit Support
+providerName = www.example.org
+
+_UI_CreateChild_text = {0}
+_UI_CreateChild_text2 = {1} {0}
+_UI_CreateChild_text3 = {1}
+_UI_CreateChild_tooltip = Create New {0} Under {1} Feature
+_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}.
+_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.
+
+_UI_PropertyDescriptor_description = The {0} of the {1}
+
+_UI_ProcessElement_type = Process Element
+_UI_WorkDefinition_type = Work Definition
+_UI_WorkSequence_type = Work Sequence
+_UI_Process_type = Process
+_UI_Guidance_type = Guidance
+_UI_Resource_type = Resource
+_UI_Request_type = Request
+_UI_Unknown_type = Object
+
+_UI_Unknown_datatype= Value
+
+_UI_WorkDefinition_linksToPredecessors_feature = Links To Predecessors
+_UI_WorkDefinition_linksToSuccessors_feature = Links To Successors
+_UI_WorkDefinition_name_feature = Name
+_UI_WorkDefinition_requests_feature = Requests
+_UI_WorkSequence_linkType_feature = Link Type
+_UI_WorkSequence_predecessor_feature = Predecessor
+_UI_WorkSequence_successor_feature = Successor
+_UI_Process_name_feature = Name
+_UI_Process_processElements_feature = Process Elements
+_UI_Guidance_text_feature = Text
+_UI_Guidance_elements_feature = Elements
+_UI_Resource_quantity_feature = Quantity
+_UI_Resource_name_feature = Name
+_UI_Request_quantity_feature = Quantity
+_UI_Request_target_feature = Target
+_UI_Unknown_feature = Unspecified
+
+_UI_WorkSequenceType_startToStart_literal = startToStart
+_UI_WorkSequenceType_finishToStart_literal = finishToStart
+_UI_WorkSequenceType_startToFinish_literal = startToFinish
+_UI_WorkSequenceType_finishToFinish_literal = finishToFinish
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d8/2000c4ee492c001c17f2df26b410422b b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d8/2000c4ee492c001c17f2df26b410422b
new file mode 100644
index 0000000..f7efba5
--- /dev/null
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d8/2000c4ee492c001c17f2df26b410422b
@@ -0,0 +1,69 @@
+/**
+ */
+package simplepdl;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ *
+ * A representation of the model object 'Request '.
+ *
+ *
+ *
+ * The following features are supported:
+ *
+ *
+ * {@link simplepdl.Request#getQuantity Quantity }
+ * {@link simplepdl.Request#getTarget Target }
+ *
+ *
+ * @see simplepdl.SimplepdlPackage#getRequest()
+ * @model
+ * @generated
+ */
+public interface Request extends EObject {
+ /**
+ * Returns the value of the 'Quantity ' attribute.
+ *
+ *
+ * @return the value of the 'Quantity ' attribute.
+ * @see #setQuantity(int)
+ * @see simplepdl.SimplepdlPackage#getRequest_Quantity()
+ * @model required="true"
+ * @generated
+ */
+ int getQuantity();
+
+ /**
+ * Sets the value of the '{@link simplepdl.Request#getQuantity Quantity }' attribute.
+ *
+ *
+ * @param value the new value of the 'Quantity ' attribute.
+ * @see #getQuantity()
+ * @generated
+ */
+ void setQuantity(int value);
+
+ /**
+ * Returns the value of the 'Target ' reference.
+ *
+ *
+ * @return the value of the 'Target ' reference.
+ * @see #setTarget(Resource)
+ * @see simplepdl.SimplepdlPackage#getRequest_Target()
+ * @model required="true"
+ * @generated
+ */
+ Resource getTarget();
+
+ /**
+ * Sets the value of the '{@link simplepdl.Request#getTarget Target }' reference.
+ *
+ *
+ * @param value the new value of the 'Target ' reference.
+ * @see #getTarget()
+ * @generated
+ */
+ void setTarget(Resource value);
+
+} // Request
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/e5/6012278f492c001c17f2df26b410422b b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/e5/6012278f492c001c17f2df26b410422b
new file mode 100644
index 0000000..e81ec0b
--- /dev/null
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/e5/6012278f492c001c17f2df26b410422b
@@ -0,0 +1,36 @@
+/**
+ */
+package petrinet;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ *
+ * A representation of the model object 'Transition '.
+ *
+ *
+ *
+ * The following features are supported:
+ *
+ *
+ * {@link petrinet.Transition#getArcs Arcs }
+ *
+ *
+ * @see petrinet.PetrinetPackage#getTransition()
+ * @model
+ * @generated
+ */
+public interface Transition extends Node {
+ /**
+ * Returns the value of the 'Arcs ' containment reference list.
+ * The list contents are of type {@link petrinet.Arc}.
+ *
+ *
+ * @return the value of the 'Arcs ' containment reference list.
+ * @see petrinet.PetrinetPackage#getTransition_Arcs()
+ * @model containment="true"
+ * @generated
+ */
+ EList getArcs();
+
+} // Transition
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/e6/20ab69ee492c001c17f2df26b410422b b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/e6/20ab69ee492c001c17f2df26b410422b
new file mode 100644
index 0000000..3a3d42d
--- /dev/null
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/e6/20ab69ee492c001c17f2df26b410422b
@@ -0,0 +1,872 @@
+/**
+ */
+package simplepdl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ *
+ * The Package for the model.
+ * It contains accessors for the meta objects to represent
+ *
+ * each class,
+ * each feature of each class,
+ * each operation of each class,
+ * each enum,
+ * and each data type
+ *
+ *
+ * @see simplepdl.SimplepdlFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface SimplepdlPackage extends EPackage {
+ /**
+ * The package name.
+ *
+ *
+ * @generated
+ */
+ String eNAME = "simplepdl";
+
+ /**
+ * The package namespace URI.
+ *
+ *
+ * @generated
+ */
+ String eNS_URI = "http://simplepdl";
+
+ /**
+ * The package namespace name.
+ *
+ *
+ * @generated
+ */
+ String eNS_PREFIX = "simplepdl";
+
+ /**
+ * The singleton instance of the package.
+ *
+ *
+ * @generated
+ */
+ SimplepdlPackage eINSTANCE = simplepdl.impl.SimplepdlPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link simplepdl.impl.ProcessElementImpl Process Element }' class.
+ *
+ *
+ * @see simplepdl.impl.ProcessElementImpl
+ * @see simplepdl.impl.SimplepdlPackageImpl#getProcessElement()
+ * @generated
+ */
+ int PROCESS_ELEMENT = 0;
+
+ /**
+ * The number of structural features of the 'Process Element ' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int PROCESS_ELEMENT_FEATURE_COUNT = 0;
+
+ /**
+ * The number of operations of the 'Process Element ' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int PROCESS_ELEMENT_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link simplepdl.impl.WorkDefinitionImpl Work Definition }' class.
+ *
+ *
+ * @see simplepdl.impl.WorkDefinitionImpl
+ * @see simplepdl.impl.SimplepdlPackageImpl#getWorkDefinition()
+ * @generated
+ */
+ int WORK_DEFINITION = 1;
+
+ /**
+ * The feature id for the 'Links To Predecessors ' reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int WORK_DEFINITION__LINKS_TO_PREDECESSORS = PROCESS_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the 'Links To Successors ' reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int WORK_DEFINITION__LINKS_TO_SUCCESSORS = PROCESS_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the 'Name ' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int WORK_DEFINITION__NAME = PROCESS_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the 'Requests ' containment reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int WORK_DEFINITION__REQUESTS = PROCESS_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the 'Work Definition ' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int WORK_DEFINITION_FEATURE_COUNT = PROCESS_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The number of operations of the 'Work Definition ' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int WORK_DEFINITION_OPERATION_COUNT = PROCESS_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link simplepdl.impl.WorkSequenceImpl Work Sequence }' class.
+ *
+ *
+ * @see simplepdl.impl.WorkSequenceImpl
+ * @see simplepdl.impl.SimplepdlPackageImpl#getWorkSequence()
+ * @generated
+ */
+ int WORK_SEQUENCE = 2;
+
+ /**
+ * The feature id for the 'Link Type ' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int WORK_SEQUENCE__LINK_TYPE = PROCESS_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the 'Predecessor ' reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int WORK_SEQUENCE__PREDECESSOR = PROCESS_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the 'Successor ' reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int WORK_SEQUENCE__SUCCESSOR = PROCESS_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the 'Work Sequence ' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int WORK_SEQUENCE_FEATURE_COUNT = PROCESS_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of operations of the 'Work Sequence ' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int WORK_SEQUENCE_OPERATION_COUNT = PROCESS_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link simplepdl.impl.ProcessImpl Process }' class.
+ *
+ *
+ * @see simplepdl.impl.ProcessImpl
+ * @see simplepdl.impl.SimplepdlPackageImpl#getProcess()
+ * @generated
+ */
+ int PROCESS = 3;
+
+ /**
+ * The feature id for the 'Name ' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int PROCESS__NAME = 0;
+
+ /**
+ * The feature id for the 'Process Elements ' containment reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int PROCESS__PROCESS_ELEMENTS = 1;
+
+ /**
+ * The number of structural features of the 'Process ' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int PROCESS_FEATURE_COUNT = 2;
+
+ /**
+ * The number of operations of the 'Process ' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int PROCESS_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link simplepdl.impl.GuidanceImpl Guidance }' class.
+ *
+ *
+ * @see simplepdl.impl.GuidanceImpl
+ * @see simplepdl.impl.SimplepdlPackageImpl#getGuidance()
+ * @generated
+ */
+ int GUIDANCE = 4;
+
+ /**
+ * The feature id for the 'Text ' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int GUIDANCE__TEXT = PROCESS_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the 'Elements ' reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int GUIDANCE__ELEMENTS = PROCESS_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the 'Guidance ' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int GUIDANCE_FEATURE_COUNT = PROCESS_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of operations of the 'Guidance ' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int GUIDANCE_OPERATION_COUNT = PROCESS_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link simplepdl.impl.ResourceImpl Resource }' class.
+ *
+ *
+ * @see simplepdl.impl.ResourceImpl
+ * @see simplepdl.impl.SimplepdlPackageImpl#getResource()
+ * @generated
+ */
+ int RESOURCE = 5;
+
+ /**
+ * The feature id for the 'Quantity ' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int RESOURCE__QUANTITY = PROCESS_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the 'Name ' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int RESOURCE__NAME = PROCESS_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the 'Resource ' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_FEATURE_COUNT = PROCESS_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of operations of the 'Resource ' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_OPERATION_COUNT = PROCESS_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link simplepdl.impl.RequestImpl Request }' class.
+ *
+ *
+ * @see simplepdl.impl.RequestImpl
+ * @see simplepdl.impl.SimplepdlPackageImpl#getRequest()
+ * @generated
+ */
+ int REQUEST = 6;
+
+ /**
+ * The feature id for the 'Quantity ' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int REQUEST__QUANTITY = 0;
+
+ /**
+ * The feature id for the 'Target ' reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int REQUEST__TARGET = 1;
+
+ /**
+ * The number of structural features of the 'Request ' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int REQUEST_FEATURE_COUNT = 2;
+
+ /**
+ * The number of operations of the 'Request ' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int REQUEST_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link simplepdl.WorkSequenceType Work Sequence Type }' enum.
+ *
+ *
+ * @see simplepdl.WorkSequenceType
+ * @see simplepdl.impl.SimplepdlPackageImpl#getWorkSequenceType()
+ * @generated
+ */
+ int WORK_SEQUENCE_TYPE = 7;
+
+
+ /**
+ * Returns the meta object for class '{@link simplepdl.ProcessElement Process Element }'.
+ *
+ *
+ * @return the meta object for class 'Process Element '.
+ * @see simplepdl.ProcessElement
+ * @generated
+ */
+ EClass getProcessElement();
+
+ /**
+ * Returns the meta object for class '{@link simplepdl.WorkDefinition Work Definition }'.
+ *
+ *
+ * @return the meta object for class 'Work Definition '.
+ * @see simplepdl.WorkDefinition
+ * @generated
+ */
+ EClass getWorkDefinition();
+
+ /**
+ * Returns the meta object for the reference list '{@link simplepdl.WorkDefinition#getLinksToPredecessors Links To Predecessors }'.
+ *
+ *
+ * @return the meta object for the reference list 'Links To Predecessors '.
+ * @see simplepdl.WorkDefinition#getLinksToPredecessors()
+ * @see #getWorkDefinition()
+ * @generated
+ */
+ EReference getWorkDefinition_LinksToPredecessors();
+
+ /**
+ * Returns the meta object for the reference list '{@link simplepdl.WorkDefinition#getLinksToSuccessors Links To Successors }'.
+ *
+ *
+ * @return the meta object for the reference list 'Links To Successors '.
+ * @see simplepdl.WorkDefinition#getLinksToSuccessors()
+ * @see #getWorkDefinition()
+ * @generated
+ */
+ EReference getWorkDefinition_LinksToSuccessors();
+
+ /**
+ * Returns the meta object for the attribute '{@link simplepdl.WorkDefinition#getName Name }'.
+ *
+ *
+ * @return the meta object for the attribute 'Name '.
+ * @see simplepdl.WorkDefinition#getName()
+ * @see #getWorkDefinition()
+ * @generated
+ */
+ EAttribute getWorkDefinition_Name();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link simplepdl.WorkDefinition#getRequests Requests }'.
+ *
+ *
+ * @return the meta object for the containment reference list 'Requests '.
+ * @see simplepdl.WorkDefinition#getRequests()
+ * @see #getWorkDefinition()
+ * @generated
+ */
+ EReference getWorkDefinition_Requests();
+
+ /**
+ * Returns the meta object for class '{@link simplepdl.WorkSequence Work Sequence }'.
+ *
+ *
+ * @return the meta object for class 'Work Sequence '.
+ * @see simplepdl.WorkSequence
+ * @generated
+ */
+ EClass getWorkSequence();
+
+ /**
+ * Returns the meta object for the attribute '{@link simplepdl.WorkSequence#getLinkType Link Type }'.
+ *
+ *
+ * @return the meta object for the attribute 'Link Type '.
+ * @see simplepdl.WorkSequence#getLinkType()
+ * @see #getWorkSequence()
+ * @generated
+ */
+ EAttribute getWorkSequence_LinkType();
+
+ /**
+ * Returns the meta object for the reference '{@link simplepdl.WorkSequence#getPredecessor Predecessor }'.
+ *
+ *
+ * @return the meta object for the reference 'Predecessor '.
+ * @see simplepdl.WorkSequence#getPredecessor()
+ * @see #getWorkSequence()
+ * @generated
+ */
+ EReference getWorkSequence_Predecessor();
+
+ /**
+ * Returns the meta object for the reference '{@link simplepdl.WorkSequence#getSuccessor Successor }'.
+ *
+ *
+ * @return the meta object for the reference 'Successor '.
+ * @see simplepdl.WorkSequence#getSuccessor()
+ * @see #getWorkSequence()
+ * @generated
+ */
+ EReference getWorkSequence_Successor();
+
+ /**
+ * Returns the meta object for class '{@link simplepdl.Process Process }'.
+ *
+ *
+ * @return the meta object for class 'Process '.
+ * @see simplepdl.Process
+ * @generated
+ */
+ EClass getProcess();
+
+ /**
+ * Returns the meta object for the attribute '{@link simplepdl.Process#getName Name }'.
+ *
+ *
+ * @return the meta object for the attribute 'Name '.
+ * @see simplepdl.Process#getName()
+ * @see #getProcess()
+ * @generated
+ */
+ EAttribute getProcess_Name();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link simplepdl.Process#getProcessElements Process Elements }'.
+ *
+ *
+ * @return the meta object for the containment reference list 'Process Elements '.
+ * @see simplepdl.Process#getProcessElements()
+ * @see #getProcess()
+ * @generated
+ */
+ EReference getProcess_ProcessElements();
+
+ /**
+ * Returns the meta object for class '{@link simplepdl.Guidance Guidance }'.
+ *
+ *
+ * @return the meta object for class 'Guidance '.
+ * @see simplepdl.Guidance
+ * @generated
+ */
+ EClass getGuidance();
+
+ /**
+ * Returns the meta object for the attribute '{@link simplepdl.Guidance#getText Text }'.
+ *
+ *
+ * @return the meta object for the attribute 'Text '.
+ * @see simplepdl.Guidance#getText()
+ * @see #getGuidance()
+ * @generated
+ */
+ EAttribute getGuidance_Text();
+
+ /**
+ * Returns the meta object for the reference list '{@link simplepdl.Guidance#getElements Elements }'.
+ *
+ *
+ * @return the meta object for the reference list 'Elements '.
+ * @see simplepdl.Guidance#getElements()
+ * @see #getGuidance()
+ * @generated
+ */
+ EReference getGuidance_Elements();
+
+ /**
+ * Returns the meta object for class '{@link simplepdl.Resource Resource }'.
+ *
+ *
+ * @return the meta object for class 'Resource '.
+ * @see simplepdl.Resource
+ * @generated
+ */
+ EClass getResource();
+
+ /**
+ * Returns the meta object for the attribute '{@link simplepdl.Resource#getQuantity Quantity }'.
+ *
+ *
+ * @return the meta object for the attribute 'Quantity '.
+ * @see simplepdl.Resource#getQuantity()
+ * @see #getResource()
+ * @generated
+ */
+ EAttribute getResource_Quantity();
+
+ /**
+ * Returns the meta object for the attribute '{@link simplepdl.Resource#getName Name }'.
+ *
+ *
+ * @return the meta object for the attribute 'Name '.
+ * @see simplepdl.Resource#getName()
+ * @see #getResource()
+ * @generated
+ */
+ EAttribute getResource_Name();
+
+ /**
+ * Returns the meta object for class '{@link simplepdl.Request Request }'.
+ *
+ *
+ * @return the meta object for class 'Request '.
+ * @see simplepdl.Request
+ * @generated
+ */
+ EClass getRequest();
+
+ /**
+ * Returns the meta object for the attribute '{@link simplepdl.Request#getQuantity Quantity }'.
+ *
+ *
+ * @return the meta object for the attribute 'Quantity '.
+ * @see simplepdl.Request#getQuantity()
+ * @see #getRequest()
+ * @generated
+ */
+ EAttribute getRequest_Quantity();
+
+ /**
+ * Returns the meta object for the reference '{@link simplepdl.Request#getTarget Target }'.
+ *
+ *
+ * @return the meta object for the reference 'Target '.
+ * @see simplepdl.Request#getTarget()
+ * @see #getRequest()
+ * @generated
+ */
+ EReference getRequest_Target();
+
+ /**
+ * Returns the meta object for enum '{@link simplepdl.WorkSequenceType Work Sequence Type }'.
+ *
+ *
+ * @return the meta object for enum 'Work Sequence Type '.
+ * @see simplepdl.WorkSequenceType
+ * @generated
+ */
+ EEnum getWorkSequenceType();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ *
+ *
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ SimplepdlFactory getSimplepdlFactory();
+
+ /**
+ *
+ * Defines literals for the meta objects that represent
+ *
+ * each class,
+ * each feature of each class,
+ * each operation of each class,
+ * each enum,
+ * and each data type
+ *
+ *
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link simplepdl.impl.ProcessElementImpl Process Element }' class.
+ *
+ *
+ * @see simplepdl.impl.ProcessElementImpl
+ * @see simplepdl.impl.SimplepdlPackageImpl#getProcessElement()
+ * @generated
+ */
+ EClass PROCESS_ELEMENT = eINSTANCE.getProcessElement();
+
+ /**
+ * The meta object literal for the '{@link simplepdl.impl.WorkDefinitionImpl Work Definition }' class.
+ *
+ *
+ * @see simplepdl.impl.WorkDefinitionImpl
+ * @see simplepdl.impl.SimplepdlPackageImpl#getWorkDefinition()
+ * @generated
+ */
+ EClass WORK_DEFINITION = eINSTANCE.getWorkDefinition();
+
+ /**
+ * The meta object literal for the 'Links To Predecessors ' reference list feature.
+ *
+ *
+ * @generated
+ */
+ EReference WORK_DEFINITION__LINKS_TO_PREDECESSORS = eINSTANCE.getWorkDefinition_LinksToPredecessors();
+
+ /**
+ * The meta object literal for the 'Links To Successors ' reference list feature.
+ *
+ *
+ * @generated
+ */
+ EReference WORK_DEFINITION__LINKS_TO_SUCCESSORS = eINSTANCE.getWorkDefinition_LinksToSuccessors();
+
+ /**
+ * The meta object literal for the 'Name ' attribute feature.
+ *
+ *
+ * @generated
+ */
+ EAttribute WORK_DEFINITION__NAME = eINSTANCE.getWorkDefinition_Name();
+
+ /**
+ * The meta object literal for the 'Requests ' containment reference list feature.
+ *
+ *
+ * @generated
+ */
+ EReference WORK_DEFINITION__REQUESTS = eINSTANCE.getWorkDefinition_Requests();
+
+ /**
+ * The meta object literal for the '{@link simplepdl.impl.WorkSequenceImpl Work Sequence }' class.
+ *
+ *
+ * @see simplepdl.impl.WorkSequenceImpl
+ * @see simplepdl.impl.SimplepdlPackageImpl#getWorkSequence()
+ * @generated
+ */
+ EClass WORK_SEQUENCE = eINSTANCE.getWorkSequence();
+
+ /**
+ * The meta object literal for the 'Link Type ' attribute feature.
+ *
+ *
+ * @generated
+ */
+ EAttribute WORK_SEQUENCE__LINK_TYPE = eINSTANCE.getWorkSequence_LinkType();
+
+ /**
+ * The meta object literal for the 'Predecessor ' reference feature.
+ *
+ *
+ * @generated
+ */
+ EReference WORK_SEQUENCE__PREDECESSOR = eINSTANCE.getWorkSequence_Predecessor();
+
+ /**
+ * The meta object literal for the 'Successor ' reference feature.
+ *
+ *
+ * @generated
+ */
+ EReference WORK_SEQUENCE__SUCCESSOR = eINSTANCE.getWorkSequence_Successor();
+
+ /**
+ * The meta object literal for the '{@link simplepdl.impl.ProcessImpl Process }' class.
+ *
+ *
+ * @see simplepdl.impl.ProcessImpl
+ * @see simplepdl.impl.SimplepdlPackageImpl#getProcess()
+ * @generated
+ */
+ EClass PROCESS = eINSTANCE.getProcess();
+
+ /**
+ * The meta object literal for the 'Name ' attribute feature.
+ *
+ *
+ * @generated
+ */
+ EAttribute PROCESS__NAME = eINSTANCE.getProcess_Name();
+
+ /**
+ * The meta object literal for the 'Process Elements ' containment reference list feature.
+ *
+ *
+ * @generated
+ */
+ EReference PROCESS__PROCESS_ELEMENTS = eINSTANCE.getProcess_ProcessElements();
+
+ /**
+ * The meta object literal for the '{@link simplepdl.impl.GuidanceImpl Guidance }' class.
+ *
+ *
+ * @see simplepdl.impl.GuidanceImpl
+ * @see simplepdl.impl.SimplepdlPackageImpl#getGuidance()
+ * @generated
+ */
+ EClass GUIDANCE = eINSTANCE.getGuidance();
+
+ /**
+ * The meta object literal for the 'Text ' attribute feature.
+ *
+ *
+ * @generated
+ */
+ EAttribute GUIDANCE__TEXT = eINSTANCE.getGuidance_Text();
+
+ /**
+ * The meta object literal for the 'Elements ' reference list feature.
+ *
+ *
+ * @generated
+ */
+ EReference GUIDANCE__ELEMENTS = eINSTANCE.getGuidance_Elements();
+
+ /**
+ * The meta object literal for the '{@link simplepdl.impl.ResourceImpl Resource }' class.
+ *
+ *
+ * @see simplepdl.impl.ResourceImpl
+ * @see simplepdl.impl.SimplepdlPackageImpl#getResource()
+ * @generated
+ */
+ EClass RESOURCE = eINSTANCE.getResource();
+
+ /**
+ * The meta object literal for the 'Quantity ' attribute feature.
+ *
+ *
+ * @generated
+ */
+ EAttribute RESOURCE__QUANTITY = eINSTANCE.getResource_Quantity();
+
+ /**
+ * The meta object literal for the 'Name ' attribute feature.
+ *
+ *
+ * @generated
+ */
+ EAttribute RESOURCE__NAME = eINSTANCE.getResource_Name();
+
+ /**
+ * The meta object literal for the '{@link simplepdl.impl.RequestImpl Request }' class.
+ *
+ *
+ * @see simplepdl.impl.RequestImpl
+ * @see simplepdl.impl.SimplepdlPackageImpl#getRequest()
+ * @generated
+ */
+ EClass REQUEST = eINSTANCE.getRequest();
+
+ /**
+ * The meta object literal for the 'Quantity ' attribute feature.
+ *
+ *
+ * @generated
+ */
+ EAttribute REQUEST__QUANTITY = eINSTANCE.getRequest_Quantity();
+
+ /**
+ * The meta object literal for the 'Target ' reference feature.
+ *
+ *
+ * @generated
+ */
+ EReference REQUEST__TARGET = eINSTANCE.getRequest_Target();
+
+ /**
+ * The meta object literal for the '{@link simplepdl.WorkSequenceType Work Sequence Type }' enum.
+ *
+ *
+ * @see simplepdl.WorkSequenceType
+ * @see simplepdl.impl.SimplepdlPackageImpl#getWorkSequenceType()
+ * @generated
+ */
+ EEnum WORK_SEQUENCE_TYPE = eINSTANCE.getWorkSequenceType();
+
+ }
+
+} //SimplepdlPackage
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/ee/1017d9d3482c001c17f2df26b410422b b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/ee/1017d9d3482c001c17f2df26b410422b
new file mode 100644
index 0000000..fb4be23
--- /dev/null
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/ee/1017d9d3482c001c17f2df26b410422b
@@ -0,0 +1,28 @@
+
+
+ petriNET.ecore
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/f4/e04a288f492c001c17f2df26b410422b b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/f4/e04a288f492c001c17f2df26b410422b
new file mode 100644
index 0000000..ec53b65
--- /dev/null
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/f4/e04a288f492c001c17f2df26b410422b
@@ -0,0 +1,69 @@
+/**
+ */
+package petrinet;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ *
+ * The Factory for the model.
+ * It provides a create method for each non-abstract class of the model.
+ *
+ * @see petrinet.PetrinetPackage
+ * @generated
+ */
+public interface PetrinetFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ *
+ *
+ * @generated
+ */
+ PetrinetFactory eINSTANCE = petrinet.impl.PetrinetFactoryImpl.init();
+
+ /**
+ * Returns a new object of class 'Network '.
+ *
+ *
+ * @return a new object of class 'Network '.
+ * @generated
+ */
+ Network createNetwork();
+
+ /**
+ * Returns a new object of class 'Place '.
+ *
+ *
+ * @return a new object of class 'Place '.
+ * @generated
+ */
+ Place createPlace();
+
+ /**
+ * Returns a new object of class 'Arc '.
+ *
+ *
+ * @return a new object of class 'Arc '.
+ * @generated
+ */
+ Arc createArc();
+
+ /**
+ * Returns a new object of class 'Transition '.
+ *
+ *
+ * @return a new object of class 'Transition '.
+ * @generated
+ */
+ Transition createTransition();
+
+ /**
+ * Returns the package supported by this factory.
+ *
+ *
+ * @return the package supported by this factory.
+ * @generated
+ */
+ PetrinetPackage getPetrinetPackage();
+
+} //PetrinetFactory
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.feature/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.feature/.markers.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.feature/.markers.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.feature/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.feature/.syncinfo.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.feature/.syncinfo.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.ide/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.ide/.markers.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.ide/.markers.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.ide/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.ide/.syncinfo.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.ide/.syncinfo.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.ide/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.ide/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..6cd58fd
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.ide/org.eclipse.jdt.core/state.dat differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.tests/.markers b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.tests/.markers
index be5787b..94c5ca8 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.tests/.markers and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.tests/.markers differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.tests/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.tests/.markers.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.tests/.markers.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.tests/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.tests/.syncinfo.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.tests/.syncinfo.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.tests/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.tests/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..3c09866
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.tests/org.eclipse.jdt.core/state.dat differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.ui.tests/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.ui.tests/.markers.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.ui.tests/.markers.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.ui.tests/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.ui.tests/.syncinfo.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.ui.tests/.syncinfo.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.ui.tests/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.ui.tests/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..20bc9eb
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.ui.tests/org.eclipse.jdt.core/state.dat differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.ui/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.ui/.markers.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.ui/.markers.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.ui/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.ui/.syncinfo.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.ui/.syncinfo.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.ui/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.ui/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..6c51a29
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1.ui/org.eclipse.jdt.core/state.dat differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1/.markers b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1/.markers
index b97d87f..bac2d2f 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1/.markers and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1/.markers differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1/.markers.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1/.markers.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1/.syncinfo.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1/.syncinfo.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..0b25959
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl1/org.eclipse.jdt.core/state.dat differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.feature/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.feature/.markers.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.feature/.markers.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.feature/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.feature/.syncinfo.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.feature/.syncinfo.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.ide/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.ide/.markers.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.ide/.markers.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.ide/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.ide/.syncinfo.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.ide/.syncinfo.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.ide/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.ide/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..7e52804
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.ide/org.eclipse.jdt.core/state.dat differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.tests/.markers b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.tests/.markers
index 723b5fb..57d7da8 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.tests/.markers and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.tests/.markers differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.tests/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.tests/.markers.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.tests/.markers.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.tests/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.tests/.syncinfo.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.tests/.syncinfo.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.tests/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.tests/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..aac8d0f
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.tests/org.eclipse.jdt.core/state.dat differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.ui.tests/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.ui.tests/.markers.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.ui.tests/.markers.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.ui.tests/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.ui.tests/.syncinfo.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.ui.tests/.syncinfo.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.ui.tests/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.ui.tests/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..733df6d
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.ui.tests/org.eclipse.jdt.core/state.dat differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.ui/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.ui/.markers.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.ui/.markers.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.ui/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.ui/.syncinfo.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.ui/.syncinfo.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.ui/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.ui/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..cc0e9e1
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2.ui/org.eclipse.jdt.core/state.dat differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2/.markers b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2/.markers
index c6b5382..b3cc11d 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2/.markers and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2/.markers differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2/.markers.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2/.markers.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2/.syncinfo.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2/.syncinfo.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..b0c68dc
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl2/org.eclipse.jdt.core/state.dat differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3.ide/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3.ide/.markers.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3.ide/.markers.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3.ide/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3.ide/.syncinfo.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3.ide/.syncinfo.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3.ide/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3.ide/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..8808d6f
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3.ide/org.eclipse.jdt.core/state.dat differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3.tests/.markers b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3.tests/.markers
index 9118120..d5b601f 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3.tests/.markers and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3.tests/.markers differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3.tests/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3.tests/.markers.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3.tests/.markers.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3.tests/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3.tests/.syncinfo.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3.tests/.syncinfo.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3.tests/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3.tests/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..b2ed1c4
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3.tests/org.eclipse.jdt.core/state.dat differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3.ui.tests/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3.ui.tests/.markers.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3.ui.tests/.markers.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3.ui.tests/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3.ui.tests/.syncinfo.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3.ui.tests/.syncinfo.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3.ui.tests/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3.ui.tests/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..7a295d8
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3.ui.tests/org.eclipse.jdt.core/state.dat differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3.ui/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3.ui/.markers.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3.ui/.markers.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3.ui/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3.ui/.syncinfo.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3.ui/.syncinfo.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3.ui/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3.ui/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..e74b7c2
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3.ui/org.eclipse.jdt.core/state.dat differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3/.markers b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3/.markers
index 7a3c7e8..c6a67d6 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3/.markers and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3/.markers differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3/.markers.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3/.markers.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3/.syncinfo.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3/.syncinfo.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..c2b71e6
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.pdl3/org.eclipse.jdt.core/state.dat differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.design/.markers b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.design/.markers
index a8feda4..c9a4dda 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.design/.markers and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.design/.markers differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.design/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.design/.markers.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.design/.markers.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.design/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.design/.syncinfo.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.design/.syncinfo.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.design/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.design/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..712c557
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.design/org.eclipse.jdt.core/state.dat differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.edit/.indexes/e4/47/f/history.index b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.edit/.indexes/e4/47/f/history.index
index 76be069..57345e3 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.edit/.indexes/e4/47/f/history.index and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.edit/.indexes/e4/47/f/history.index differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.edit/.indexes/history.index b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.edit/.indexes/history.index
new file mode 100644
index 0000000..06030e0
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.edit/.indexes/history.index differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.edit/.markers b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.edit/.markers
index 1ab0653..57e938a 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.edit/.markers and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.edit/.markers differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.edit/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.edit/.markers.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.edit/.markers.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.edit/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.edit/.syncinfo.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.edit/.syncinfo.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.edit/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.edit/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..0ebbb4f
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.edit/org.eclipse.jdt.core/state.dat differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.editor/.markers b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.editor/.markers
index 7cee415..6e98d8d 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.editor/.markers and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.editor/.markers differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.editor/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.editor/.markers.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.editor/.markers.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.editor/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.editor/.syncinfo.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.editor/.syncinfo.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.editor/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.editor/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..27cb074
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.editor/org.eclipse.jdt.core/state.dat differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.samples/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.samples/.markers.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.samples/.markers.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.samples/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.samples/.syncinfo.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.samples/.syncinfo.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.tests/.markers b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.tests/.markers
index 7dd0328..56e0639 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.tests/.markers and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.tests/.markers differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.tests/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.tests/.markers.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.tests/.markers.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.tests/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.tests/.syncinfo.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.tests/.syncinfo.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.tests/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.tests/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..fe56a54
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.tests/org.eclipse.jdt.core/state.dat differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA.ui/.markers b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA.ui/.markers
index 33075a1..52799a6 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA.ui/.markers and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA.ui/.markers differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA.ui/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA.ui/.markers.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA.ui/.markers.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA.ui/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA.ui/.syncinfo.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA.ui/.syncinfo.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA.ui/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA.ui/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..21579a4
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA.ui/org.eclipse.jdt.core/state.dat differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA/.markers b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA/.markers
index 381e7eb..4e3f41d 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA/.markers and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA/.markers differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA/.markers.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA/.markers.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA/.syncinfo.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA/.syncinfo.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA/org.eclipse.acceleo.common/acceleo.state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA/org.eclipse.acceleo.common/acceleo.state.dat
new file mode 100644
index 0000000..ed457f1
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA/org.eclipse.acceleo.common/acceleo.state.dat differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..f388c51
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA/org.eclipse.jdt.core/state.dat differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet/.indexes/e4/47/2/history.index b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet/.indexes/e4/47/2/history.index
new file mode 100644
index 0000000..e844b56
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet/.indexes/e4/47/2/history.index differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet/.indexes/e4/47/20/history.index b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet/.indexes/e4/47/20/history.index
new file mode 100644
index 0000000..40ef77c
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet/.indexes/e4/47/20/history.index differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet/.indexes/e4/47/history.index b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet/.indexes/e4/47/history.index
new file mode 100644
index 0000000..5a6a277
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet/.indexes/e4/47/history.index differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet/.indexes/history.index b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet/.indexes/history.index
index 295a30f..c1dd5b9 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet/.indexes/history.index and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet/.indexes/history.index differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet/.markers b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet/.markers
index 6b101c9..b070972 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet/.markers and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet/.markers differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet/.markers.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet/.markers.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet/.syncinfo.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet/.syncinfo.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..fa82e3e
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet/org.eclipse.jdt.core/state.dat differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.design/.markers b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.design/.markers
index d41ba27..17ad2cc 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.design/.markers and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.design/.markers differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.design/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.design/.markers.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.design/.markers.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.design/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.design/.syncinfo.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.design/.syncinfo.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.design/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.design/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..32c7cec
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.design/org.eclipse.jdt.core/state.dat differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.edit/.indexes/e4/fa/f/history.index b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.edit/.indexes/e4/fa/f/history.index
index 077da59..b290f3d 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.edit/.indexes/e4/fa/f/history.index and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.edit/.indexes/e4/fa/f/history.index differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.edit/.indexes/history.index b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.edit/.indexes/history.index
new file mode 100644
index 0000000..6b1ff37
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.edit/.indexes/history.index differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.edit/.markers b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.edit/.markers
index 01b7c5d..b0d4346 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.edit/.markers and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.edit/.markers differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.edit/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.edit/.markers.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.edit/.markers.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.edit/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.edit/.syncinfo.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.edit/.syncinfo.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.edit/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.edit/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..19316bd
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.edit/org.eclipse.jdt.core/state.dat differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.editor/.indexes/e4/fa/1a/history.index b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.editor/.indexes/e4/fa/1a/history.index
new file mode 100644
index 0000000..86c9503
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.editor/.indexes/e4/fa/1a/history.index differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.editor/.markers b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.editor/.markers
index e4a35b1..9251eb4 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.editor/.markers and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.editor/.markers differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.editor/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.editor/.markers.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.editor/.markers.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.editor/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.editor/.syncinfo.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.editor/.syncinfo.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.editor/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.editor/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..3866a7f
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.editor/org.eclipse.jdt.core/state.dat differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.samples/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.samples/.markers.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.samples/.markers.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.samples/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.samples/.syncinfo.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.samples/.syncinfo.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.tests/.markers b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.tests/.markers
index 70dbc08..e48f2f2 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.tests/.markers and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.tests/.markers differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.tests/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.tests/.markers.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.tests/.markers.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.tests/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.tests/.syncinfo.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.tests/.syncinfo.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.tests/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.tests/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..b8d715f
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.tests/org.eclipse.jdt.core/state.dat differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT.ui/.markers b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT.ui/.markers
index b6b0427..8495ae4 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT.ui/.markers and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT.ui/.markers differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT.ui/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT.ui/.markers.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT.ui/.markers.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT.ui/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT.ui/.syncinfo.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT.ui/.syncinfo.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT.ui/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT.ui/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..50d1b57
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT.ui/org.eclipse.jdt.core/state.dat differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT/.markers b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT/.markers
index be19fb6..f3371ce 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT/.markers and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT/.markers differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT/.markers.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT/.markers.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT/.syncinfo.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT/.syncinfo.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT/org.eclipse.acceleo.common/acceleo.state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT/org.eclipse.acceleo.common/acceleo.state.dat
new file mode 100644
index 0000000..0fb5e44
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT/org.eclipse.acceleo.common/acceleo.state.dat differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..500ff9e
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT/org.eclipse.jdt.core/state.dat differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toHTML.ui/.markers b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toHTML.ui/.markers
index c4b2d31..087b9c3 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toHTML.ui/.markers and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toHTML.ui/.markers differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toHTML.ui/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toHTML.ui/.markers.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toHTML.ui/.markers.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toHTML.ui/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toHTML.ui/.syncinfo.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toHTML.ui/.syncinfo.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toHTML.ui/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toHTML.ui/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..30f1c7c
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toHTML.ui/org.eclipse.jdt.core/state.dat differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toHTML/.markers b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toHTML/.markers
index cd14fc8..b9e8f31 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toHTML/.markers and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toHTML/.markers differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toHTML/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toHTML/.markers.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toHTML/.markers.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toHTML/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toHTML/.syncinfo.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toHTML/.syncinfo.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toHTML/org.eclipse.acceleo.common/acceleo.state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toHTML/org.eclipse.acceleo.common/acceleo.state.dat
new file mode 100644
index 0000000..910f275
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toHTML/org.eclipse.acceleo.common/acceleo.state.dat differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toHTML/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toHTML/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..dd982e8
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toHTML/org.eclipse.jdt.core/state.dat differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl.ide/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl.ide/.markers.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl.ide/.markers.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl.ide/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl.ide/.syncinfo.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl.ide/.syncinfo.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl.ide/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl.ide/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..7e2803a
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl.ide/org.eclipse.jdt.core/state.dat differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl.tests/.markers b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl.tests/.markers
index 1d147e4..d4a0aae 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl.tests/.markers and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl.tests/.markers differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl.tests/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl.tests/.markers.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl.tests/.markers.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl.tests/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl.tests/.syncinfo.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl.tests/.syncinfo.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl.tests/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl.tests/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..786146e
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl.tests/org.eclipse.jdt.core/state.dat differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl.ui.tests/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl.ui.tests/.markers.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl.ui.tests/.markers.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl.ui.tests/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl.ui.tests/.syncinfo.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl.ui.tests/.syncinfo.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl.ui.tests/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl.ui.tests/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..1625f78
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl.ui.tests/org.eclipse.jdt.core/state.dat differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl.ui/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl.ui/.markers.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl.ui/.markers.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl.ui/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl.ui/.syncinfo.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl.ui/.syncinfo.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl.ui/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl.ui/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..066cfbb
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl.ui/org.eclipse.jdt.core/state.dat differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl/.markers b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl/.markers
index 4715edb..1c5ec00 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl/.markers and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl/.markers differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl/.markers.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl/.markers.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl/.syncinfo.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl/.syncinfo.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..60e8bd5
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.txt.pdl/org.eclipse.jdt.core/state.dat differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl/.indexes/e4/fa/20/history.index b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl/.indexes/e4/fa/20/history.index
new file mode 100644
index 0000000..0976a2b
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl/.indexes/e4/fa/20/history.index differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl/.indexes/e4/fa/history.index b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl/.indexes/e4/fa/history.index
new file mode 100644
index 0000000..b238a0c
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl/.indexes/e4/fa/history.index differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl/.indexes/history.index b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl/.indexes/history.index
index 43b28b1..bbc94fa 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl/.indexes/history.index and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl/.indexes/history.index differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl/.markers b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl/.markers
index bea26c1..4a948ea 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl/.markers and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl/.markers differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl/.markers.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl/.markers.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl/.syncinfo.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl/.syncinfo.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..04635b8
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl/org.eclipse.jdt.core/state.dat differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl2petrinet/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl2petrinet/.markers.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl2petrinet/.markers.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl2petrinet/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl2petrinet/.syncinfo.snap
deleted file mode 100644
index 1253ec8..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl2petrinet/.syncinfo.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index
index cb8242f..fa82fb4 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.root/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.root/.markers.snap
deleted file mode 100644
index 36540de..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.root/.markers.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.root/30.tree b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.root/30.tree
deleted file mode 100644
index c5013fc..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.root/30.tree and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.root/31.tree b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.root/31.tree
new file mode 100644
index 0000000..b093e48
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.root/31.tree differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources
index dfeee3d..55ff6c1 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources and b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/30.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/30.snap
deleted file mode 100644
index de1fa09..0000000
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/30.snap and /dev/null differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs
index 5ea3dd8..377beab 100644
--- a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs
@@ -1,5 +1,5 @@
PROBLEMS_FILTERS_MIGRATE=true
eclipse.preferences.version=1
-platformState=1631777710727
+platformState=1631777710749
quickStart=false
tipsAndTricks=true
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi b/eclipse-workspace/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi
index e5d7a28..0088860 100644
--- a/eclipse-workspace/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi
@@ -1,6 +1,6 @@
-
+
activeSchemeId:org.eclipse.ui.defaultAcceleratorConfiguration
@@ -450,11 +450,10 @@
categoryTag:Help
-
+
org.eclipse.e4.primaryDataStack
EditorStack
active
- noFocus
Editor
@@ -462,11 +461,42 @@
org.eclipse.ui.DefaultTextEditor
-
+
Editor
removeOnHide
org.eclipse.jdt.ui.CompilationUnitEditor
+
+
+
+ Editor
+ removeOnHide
+ org.eclipse.emf.codegen.ecore.genmodel.presentation.GenModelEditorID
+
+
+
+ Editor
+ removeOnHide
+ org.eclipse.jdt.ui.CompilationUnitEditor
+
+
+
+ Editor
+ removeOnHide
+ org.eclipse.emf.ecore.presentation.EcoreEditorID
+
+
+
+ Editor
+ removeOnHide
+ org.eclipse.emf.codegen.ecore.genmodel.presentation.GenModelEditorID
+
+
+
+ Editor
+ removeOnHide
+ org.eclipse.acceleo.ide.ui.editors.template.AcceleoEditor
active
+ activeOnClose
@@ -675,7 +705,7 @@
Draggable
-
+
toolbarSeparator
@@ -697,7 +727,7 @@
Draggable
-
+
Draggable
@@ -706,13 +736,7 @@
Draggable
-
-
-
- Draggable
-
-
- Draggable
+
toolbarSeparator
@@ -1776,18 +1800,18 @@
View
categoryTag:Xtext
-
-
+
+
glue
move_after:PerspectiveSpacer
SHOW_RESTORE_MENU
-
+
move_after:Spacer Glue
HIDEABLE
SHOW_RESTORE_MENU
-
+
glue
move_after:SearchField
SHOW_RESTORE_MENU
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/1610757853.index b/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/1610757853.index
index 11cd766..b614784 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/1610757853.index and b/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/1610757853.index differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/1612303704.index b/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/1612303704.index
index 74a27af..cd6f20c 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/1612303704.index and b/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/1612303704.index differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/164233854.index b/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/164233854.index
index 57ae86d..3076a71 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/164233854.index and b/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/164233854.index differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/2127377128.index b/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/2127377128.index
index 1c2780d..46a0898 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/2127377128.index and b/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/2127377128.index differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/2315287759.index b/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/2315287759.index
index 83e201e..10b15a8 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/2315287759.index and b/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/2315287759.index differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/2428720068.index b/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/2428720068.index
index f4f982a..cc87ca5 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/2428720068.index and b/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/2428720068.index differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/2569137636.index b/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/2569137636.index
index 01d5535..e057180 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/2569137636.index and b/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/2569137636.index differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/2744700718.index b/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/2744700718.index
index f9502b2..10db9de 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/2744700718.index and b/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/2744700718.index differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/2835514616.index b/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/2835514616.index
index 75d2f1e..1ceb030 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/2835514616.index and b/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/2835514616.index differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/3144547538.index b/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/3144547538.index
index 9209ffb..e11a2ec 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/3144547538.index and b/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/3144547538.index differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/3674129442.index b/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/3674129442.index
index a513a2c..67f8c23 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/3674129442.index and b/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/3674129442.index differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/638382064.index b/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/638382064.index
index d6d4291..60f96fd 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/638382064.index and b/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/638382064.index differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/99599514.index b/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/99599514.index
index 8ed7f0d..e4c5954 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/99599514.index and b/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/99599514.index differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/externalFilesCache b/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/externalFilesCache
index cfd619f..c44d338 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/externalFilesCache and b/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/externalFilesCache differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStamps b/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStamps
index a7e0d8e..a0c1535 100644
Binary files a/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStamps and b/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStamps differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt b/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt
index 0591e86..d92ce09 100644
--- a/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt
@@ -11,9 +11,9 @@ INDEX VERSION 1.131+/home/lfainsin/miniproj_idm/eclipse-workspace/.metadata/.plu
264048023.index
405568623.index
3160206024.index
+62860848.index
1803404736.index
997444292.index
-62860848.index
618880026.index
2057578931.index
2672150609.index
@@ -39,12 +39,12 @@ INDEX VERSION 1.131+/home/lfainsin/miniproj_idm/eclipse-workspace/.metadata/.plu
1190385766.index
3674129442.index
81825197.index
-3145903242.index
-69115327.index
-2582560612.index
-1370267799.index
2151287544.index
4209134590.index
+2582560612.index
+3145903242.index
+1370267799.index
+69115327.index
3499872082.index
4196230627.index
815506655.index
@@ -66,9 +66,9 @@ INDEX VERSION 1.131+/home/lfainsin/miniproj_idm/eclipse-workspace/.metadata/.plu
243785569.index
3505152377.index
2029122265.index
-4059096833.index
-3245577179.index
3386340968.index
+3245577179.index
+4059096833.index
3982670021.index
164233854.index
686276266.index
@@ -95,8 +95,8 @@ INDEX VERSION 1.131+/home/lfainsin/miniproj_idm/eclipse-workspace/.metadata/.plu
3591232502.index
1259215892.index
1139869676.index
-2677393814.index
2649436859.index
+2677393814.index
638382064.index
1366149182.index
830761727.index
@@ -104,13 +104,13 @@ INDEX VERSION 1.131+/home/lfainsin/miniproj_idm/eclipse-workspace/.metadata/.plu
872930823.index
870911012.index
573847568.index
-1612303704.index
+1027991553.index
3439651145.index
646308851.index
-594756272.index
-1027991553.index
-2469834123.index
+1612303704.index
2253254511.index
+2469834123.index
+594756272.index
6020144.index
971658537.index
3977823992.index
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/fr.n7.petrinet/2021/10/41/refactorings.history b/eclipse-workspace/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/fr.n7.petrinet/2021/10/41/refactorings.history
index c7ed810..1c951b6 100644
--- a/eclipse-workspace/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/fr.n7.petrinet/2021/10/41/refactorings.history
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/fr.n7.petrinet/2021/10/41/refactorings.history
@@ -1,4 +1,3 @@
-
-
+
\ No newline at end of file
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/fr.n7.petrinet/2021/10/41/refactorings.index b/eclipse-workspace/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/fr.n7.petrinet/2021/10/41/refactorings.index
index 878d6a8..57cddb7 100644
--- a/eclipse-workspace/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/fr.n7.petrinet/2021/10/41/refactorings.index
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/fr.n7.petrinet/2021/10/41/refactorings.index
@@ -1 +1,6 @@
1634142600535 Delete element
+1634145355492 Delete element
+1634145418708 Delete element
+1634145472433 Delete element
+1634145498776 Delete element
+1634145506303 Delete element
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.ltk.ui.refactoring/dialog_settings.xml b/eclipse-workspace/.metadata/.plugins/org.eclipse.ltk.ui.refactoring/dialog_settings.xml
index efaeed5..8f134ea 100644
--- a/eclipse-workspace/.metadata/.plugins/org.eclipse.ltk.ui.refactoring/dialog_settings.xml
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.ltk.ui.refactoring/dialog_settings.xml
@@ -9,4 +9,7 @@
+
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/.cache/clean-cache.properties b/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/.cache/clean-cache.properties
index ae42d88..ca62686 100644
--- a/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/.cache/clean-cache.properties
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/.cache/clean-cache.properties
@@ -1,2 +1,2 @@
#Cached timestamps
-#Wed Oct 13 18:45:05 CEST 2021
+#Wed Oct 13 19:22:08 CEST 2021
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/.extensions/.contributions.1 b/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/.extensions/.contributions.1
new file mode 100644
index 0000000..65576b2
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/.extensions/.contributions.1 differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/.extensions/.contributors.1 b/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/.extensions/.contributors.1
new file mode 100644
index 0000000..e6c4276
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/.extensions/.contributors.1 differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/.extensions/.extraData.1 b/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/.extensions/.extraData.1
new file mode 100644
index 0000000..ea03c0d
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/.extensions/.extraData.1 differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/.extensions/.mainData.1 b/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/.extensions/.mainData.1
new file mode 100644
index 0000000..2d98aba
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/.extensions/.mainData.1 differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/.extensions/.manager/.fileTable.7 b/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/.extensions/.manager/.fileTable.7
new file mode 100644
index 0000000..bb657c0
--- /dev/null
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/.extensions/.manager/.fileTable.7
@@ -0,0 +1,10 @@
+#safe table
+#Wed Oct 13 19:22:08 CEST 2021
+.orphans=0
+.mainData=0
+.contributors=0
+.namespaces=0
+.extraData=0
+.contributions=0
+.table=0
+.crca70c60a1.v1
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/.extensions/.manager/.fileTable.8 b/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/.extensions/.manager/.fileTable.8
new file mode 100644
index 0000000..822dd8b
--- /dev/null
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/.extensions/.manager/.fileTable.8
@@ -0,0 +1,10 @@
+#safe table
+#Wed Oct 13 19:22:08 CEST 2021
+.orphans=1
+.mainData=1
+.contributors=1
+.namespaces=1
+.extraData=1
+.contributions=1
+.table=1
+.crc687e5a9a.v1
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/.extensions/.manager/.tmp2014893293263665671.instance b/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/.extensions/.manager/.tmp2014893293263665671.instance
deleted file mode 100644
index e69de29..0000000
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/.extensions/.namespaces.1 b/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/.extensions/.namespaces.1
new file mode 100644
index 0000000..7f71a90
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/.extensions/.namespaces.1 differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/.extensions/.orphans.1 b/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/.extensions/.orphans.1
new file mode 100644
index 0000000..9ea437a
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/.extensions/.orphans.1 differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/.extensions/.table.1 b/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/.extensions/.table.1
new file mode 100644
index 0000000..3bf6b14
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/.extensions/.table.1 differ
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/SavedExternalPluginList.txt b/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/SavedExternalPluginList.txt
index 7310670..5b2553d 100644
--- a/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/SavedExternalPluginList.txt
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/SavedExternalPluginList.txt
@@ -1,4 +1,4 @@
-# List of external plug-in models previously loaded. Timestamp: 1634143518758
+# List of external plug-in models previously loaded. Timestamp: 1634145112707
file:/mnt/n7fs/ens/tp_cregut/eclipse-gls-2020-09/plugins/com.google.guava_27.1.0.v20190517-1946.jar
file:/mnt/n7fs/ens/tp_cregut/eclipse-gls-2020-09/plugins/com.google.inject_3.0.0.v201605172100.jar
file:/mnt/n7fs/ens/tp_cregut/eclipse-gls-2020-09/plugins/com.ibm.icu_67.1.0.v20200706-1749.jar
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.search/dialog_settings.xml b/eclipse-workspace/.metadata/.plugins/org.eclipse.search/dialog_settings.xml
new file mode 100644
index 0000000..789ab7b
--- /dev/null
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.search/dialog_settings.xml
@@ -0,0 +1,39 @@
+
+
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.ui.workbench.texteditor/dialog_settings.xml b/eclipse-workspace/.metadata/.plugins/org.eclipse.ui.workbench.texteditor/dialog_settings.xml
index b9bd572..398f2ec 100644
--- a/eclipse-workspace/.metadata/.plugins/org.eclipse.ui.workbench.texteditor/dialog_settings.xml
+++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.ui.workbench.texteditor/dialog_settings.xml
@@ -2,23 +2,25 @@
-
-
+
+
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.xtext.builder/builder.state b/eclipse-workspace/.metadata/.plugins/org.eclipse.xtext.builder/builder.state
new file mode 100644
index 0000000..0b380d3
Binary files /dev/null and b/eclipse-workspace/.metadata/.plugins/org.eclipse.xtext.builder/builder.state differ
diff --git a/eclipse-workspace/.metadata/version.ini b/eclipse-workspace/.metadata/version.ini
index c5887b8..0ab36cd 100644
--- a/eclipse-workspace/.metadata/version.ini
+++ b/eclipse-workspace/.metadata/version.ini
@@ -1,3 +1,3 @@
-#Wed Oct 13 18:45:14 CEST 2021
+#Wed Oct 13 19:11:47 CEST 2021
org.eclipse.core.runtime=2
org.eclipse.platform=4.17.0.v20200902-1800
diff --git a/eclipse-workspace/fr.n7.pdl1.tests/test-bin/fr/n7/tests/.PDL1ParsingTest.xtendbin b/eclipse-workspace/fr.n7.pdl1.tests/test-bin/fr/n7/tests/.PDL1ParsingTest.xtendbin
index 196f220..dd09b5d 100644
Binary files a/eclipse-workspace/fr.n7.pdl1.tests/test-bin/fr/n7/tests/.PDL1ParsingTest.xtendbin and b/eclipse-workspace/fr.n7.pdl1.tests/test-bin/fr/n7/tests/.PDL1ParsingTest.xtendbin differ
diff --git a/eclipse-workspace/fr.n7.pdl1.tests/xtend-gen/fr/n7/tests/.PDL1ParsingTest.xtendbin b/eclipse-workspace/fr.n7.pdl1.tests/xtend-gen/fr/n7/tests/.PDL1ParsingTest.xtendbin
index 196f220..dd09b5d 100644
Binary files a/eclipse-workspace/fr.n7.pdl1.tests/xtend-gen/fr/n7/tests/.PDL1ParsingTest.xtendbin and b/eclipse-workspace/fr.n7.pdl1.tests/xtend-gen/fr/n7/tests/.PDL1ParsingTest.xtendbin differ
diff --git a/eclipse-workspace/fr.n7.pdl1/xtend-gen/fr/n7/generator/.PDL1Generator.xtendbin b/eclipse-workspace/fr.n7.pdl1/xtend-gen/fr/n7/generator/.PDL1Generator.xtendbin
index a6c3683..b7614dd 100644
Binary files a/eclipse-workspace/fr.n7.pdl1/xtend-gen/fr/n7/generator/.PDL1Generator.xtendbin and b/eclipse-workspace/fr.n7.pdl1/xtend-gen/fr/n7/generator/.PDL1Generator.xtendbin differ
diff --git a/eclipse-workspace/fr.n7.pdl2.tests/test-bin/fr/n7/tests/.PDL2ParsingTest.xtendbin b/eclipse-workspace/fr.n7.pdl2.tests/test-bin/fr/n7/tests/.PDL2ParsingTest.xtendbin
index cd0df75..9677c47 100644
Binary files a/eclipse-workspace/fr.n7.pdl2.tests/test-bin/fr/n7/tests/.PDL2ParsingTest.xtendbin and b/eclipse-workspace/fr.n7.pdl2.tests/test-bin/fr/n7/tests/.PDL2ParsingTest.xtendbin differ
diff --git a/eclipse-workspace/fr.n7.pdl2.tests/xtend-gen/fr/n7/tests/.PDL2ParsingTest.xtendbin b/eclipse-workspace/fr.n7.pdl2.tests/xtend-gen/fr/n7/tests/.PDL2ParsingTest.xtendbin
index cd0df75..9677c47 100644
Binary files a/eclipse-workspace/fr.n7.pdl2.tests/xtend-gen/fr/n7/tests/.PDL2ParsingTest.xtendbin and b/eclipse-workspace/fr.n7.pdl2.tests/xtend-gen/fr/n7/tests/.PDL2ParsingTest.xtendbin differ
diff --git a/eclipse-workspace/fr.n7.pdl2/xtend-gen/fr/n7/generator/.PDL2Generator.xtendbin b/eclipse-workspace/fr.n7.pdl2/xtend-gen/fr/n7/generator/.PDL2Generator.xtendbin
index 5a92d89..674bfcd 100644
Binary files a/eclipse-workspace/fr.n7.pdl2/xtend-gen/fr/n7/generator/.PDL2Generator.xtendbin and b/eclipse-workspace/fr.n7.pdl2/xtend-gen/fr/n7/generator/.PDL2Generator.xtendbin differ
diff --git a/eclipse-workspace/fr.n7.pdl3.tests/test-bin/fr/n7/tests/.PDL1ParsingTest.xtendbin b/eclipse-workspace/fr.n7.pdl3.tests/test-bin/fr/n7/tests/.PDL1ParsingTest.xtendbin
index fc0991f..b2c263e 100644
Binary files a/eclipse-workspace/fr.n7.pdl3.tests/test-bin/fr/n7/tests/.PDL1ParsingTest.xtendbin and b/eclipse-workspace/fr.n7.pdl3.tests/test-bin/fr/n7/tests/.PDL1ParsingTest.xtendbin differ
diff --git a/eclipse-workspace/fr.n7.pdl3.tests/xtend-gen/fr/n7/tests/.PDL1ParsingTest.xtendbin b/eclipse-workspace/fr.n7.pdl3.tests/xtend-gen/fr/n7/tests/.PDL1ParsingTest.xtendbin
index fc0991f..b2c263e 100644
Binary files a/eclipse-workspace/fr.n7.pdl3.tests/xtend-gen/fr/n7/tests/.PDL1ParsingTest.xtendbin and b/eclipse-workspace/fr.n7.pdl3.tests/xtend-gen/fr/n7/tests/.PDL1ParsingTest.xtendbin differ
diff --git a/eclipse-workspace/fr.n7.pdl3/xtend-gen/fr/n7/generator/.PDL1Generator.xtendbin b/eclipse-workspace/fr.n7.pdl3/xtend-gen/fr/n7/generator/.PDL1Generator.xtendbin
index 704e698..30be3a2 100644
Binary files a/eclipse-workspace/fr.n7.pdl3/xtend-gen/fr/n7/generator/.PDL1Generator.xtendbin and b/eclipse-workspace/fr.n7.pdl3/xtend-gen/fr/n7/generator/.PDL1Generator.xtendbin differ
diff --git a/eclipse-workspace/fr.n7.petrinet.edit/plugin.properties b/eclipse-workspace/fr.n7.petrinet.edit/plugin.properties
index 6070f6c..5c86d9d 100644
--- a/eclipse-workspace/fr.n7.petrinet.edit/plugin.properties
+++ b/eclipse-workspace/fr.n7.petrinet.edit/plugin.properties
@@ -31,3 +31,7 @@ _UI_Arc_target_feature = Target
_UI_Transition_arcs_feature = Arcs
_UI_Unknown_feature = Unspecified
+_UI_Node_network_feature = Network
+_UI_Place_arcs_feature = Arcs
+_UI_Arc_place_feature = Place
+_UI_Arc_transition_feature = Transition
diff --git a/eclipse-workspace/fr.n7.petrinet.edit/src/petrinet/provider/ArcItemProvider.java b/eclipse-workspace/fr.n7.petrinet.edit/src/petrinet/provider/ArcItemProvider.java
index cec649c..81e0c52 100644
--- a/eclipse-workspace/fr.n7.petrinet.edit/src/petrinet/provider/ArcItemProvider.java
+++ b/eclipse-workspace/fr.n7.petrinet.edit/src/petrinet/provider/ArcItemProvider.java
@@ -62,7 +62,7 @@ public class ArcItemProvider
addWeightPropertyDescriptor(object);
addOutgoingPropertyDescriptor(object);
- addTargetPropertyDescriptor(object);
+ addPlacePropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
@@ -112,19 +112,19 @@ public class ArcItemProvider
}
/**
- * This adds a property descriptor for the Target feature.
+ * This adds a property descriptor for the Place feature.
*
*
* @generated
*/
- protected void addTargetPropertyDescriptor(Object object) {
+ protected void addPlacePropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
- getString("_UI_Arc_target_feature"),
- getString("_UI_PropertyDescriptor_description", "_UI_Arc_target_feature", "_UI_Arc_type"),
- PetrinetPackage.Literals.ARC__TARGET,
+ getString("_UI_Arc_place_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Arc_place_feature", "_UI_Arc_type"),
+ PetrinetPackage.Literals.ARC__PLACE,
true,
false,
true,
@@ -152,12 +152,8 @@ public class ArcItemProvider
*/
@Override
public String getText(Object object) {
- boolean outgoing = ((Arc)object).isOutgoing();
- int weight = ((Arc)object).getWeight();
- String target = ((Arc)object).getTarget() != null ? ((Arc)object).getTarget().getName() : "";
- return outgoing ?
- " --" + weight + "--> " + target :
- "<--" + weight + "-- " + target;
+ Arc arc = (Arc)object;
+ return getString("_UI_Arc_type") + " " + arc.getWeight();
}
diff --git a/eclipse-workspace/fr.n7.petrinet.edit/src/petrinet/provider/PlaceItemProvider.java b/eclipse-workspace/fr.n7.petrinet.edit/src/petrinet/provider/PlaceItemProvider.java
index 9afb6b0..c2cd4f8 100644
--- a/eclipse-workspace/fr.n7.petrinet.edit/src/petrinet/provider/PlaceItemProvider.java
+++ b/eclipse-workspace/fr.n7.petrinet.edit/src/petrinet/provider/PlaceItemProvider.java
@@ -46,6 +46,7 @@ public class PlaceItemProvider extends NodeItemProvider {
super.getPropertyDescriptors(object);
addTokensPropertyDescriptor(object);
+ addArcsPropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
@@ -72,6 +73,28 @@ public class PlaceItemProvider extends NodeItemProvider {
null));
}
+ /**
+ * This adds a property descriptor for the Arcs feature.
+ *
+ *
+ * @generated
+ */
+ protected void addArcsPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Place_arcs_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Place_arcs_feature", "_UI_Place_type"),
+ PetrinetPackage.Literals.PLACE__ARCS,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
/**
* This returns Place.gif.
*
@@ -92,10 +115,9 @@ public class PlaceItemProvider extends NodeItemProvider {
@Override
public String getText(Object object) {
String label = ((Place)object).getName();
- int tokens = ((Place)object).getTokens();
return label == null || label.length() == 0 ?
getString("_UI_Place_type") :
- getString("_UI_Place_type") + " " + label + " (" + tokens + ")";
+ getString("_UI_Place_type") + " " + label;
}
diff --git a/eclipse-workspace/fr.n7.petrinet/petriNet.genmodel b/eclipse-workspace/fr.n7.petrinet/petriNet.genmodel
index fb4be23..1e661ee 100644
--- a/eclipse-workspace/fr.n7.petrinet/petriNet.genmodel
+++ b/eclipse-workspace/fr.n7.petrinet/petriNet.genmodel
@@ -4,25 +4,28 @@
modelName="Petrinet" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" copyrightFields="false"
operationReflection="true" importOrganizing="true">
- petriNET.ecore
-
-
-
-
+ petriNet.ecore
+
+
+
+
-
-
+
+
+
-
-
+
+
+
-
-
-
-
+
+
+
+
+
-
-
+
+
diff --git a/eclipse-workspace/fr.n7.petrinet/src/petrinet/Arc.java b/eclipse-workspace/fr.n7.petrinet/src/petrinet/Arc.java
index 1f18c85..75c7d24 100644
--- a/eclipse-workspace/fr.n7.petrinet/src/petrinet/Arc.java
+++ b/eclipse-workspace/fr.n7.petrinet/src/petrinet/Arc.java
@@ -15,7 +15,8 @@ import org.eclipse.emf.ecore.EObject;
*
* {@link petrinet.Arc#getWeight Weight }
* {@link petrinet.Arc#isOutgoing Outgoing }
- * {@link petrinet.Arc#getTarget Target }
+ * {@link petrinet.Arc#getPlace Place }
+ * {@link petrinet.Arc#getTransition Transition }
*
*
* @see petrinet.PetrinetPackage#getArc()
@@ -68,25 +69,51 @@ public interface Arc extends EObject {
void setOutgoing(boolean value);
/**
- * Returns the value of the 'Target ' reference.
+ * Returns the value of the 'Place ' reference.
+ * It is bidirectional and its opposite is '{@link petrinet.Place#getArcs Arcs }'.
*
*
- * @return the value of the 'Target ' reference.
- * @see #setTarget(Place)
- * @see petrinet.PetrinetPackage#getArc_Target()
- * @model required="true"
+ * @return the value of the 'Place ' reference.
+ * @see #setPlace(Place)
+ * @see petrinet.PetrinetPackage#getArc_Place()
+ * @see petrinet.Place#getArcs
+ * @model opposite="arcs" required="true"
* @generated
*/
- Place getTarget();
+ Place getPlace();
/**
- * Sets the value of the '{@link petrinet.Arc#getTarget Target }' reference.
+ * Sets the value of the '{@link petrinet.Arc#getPlace Place }' reference.
*
*
- * @param value the new value of the 'Target ' reference.
- * @see #getTarget()
+ * @param value the new value of the 'Place ' reference.
+ * @see #getPlace()
* @generated
*/
- void setTarget(Place value);
+ void setPlace(Place value);
+
+ /**
+ * Returns the value of the 'Transition ' container reference.
+ * It is bidirectional and its opposite is '{@link petrinet.Transition#getArcs Arcs }'.
+ *
+ *
+ * @return the value of the 'Transition ' container reference.
+ * @see #setTransition(Transition)
+ * @see petrinet.PetrinetPackage#getArc_Transition()
+ * @see petrinet.Transition#getArcs
+ * @model opposite="arcs" required="true" transient="false"
+ * @generated
+ */
+ Transition getTransition();
+
+ /**
+ * Sets the value of the '{@link petrinet.Arc#getTransition Transition }' container reference.
+ *
+ *
+ * @param value the new value of the 'Transition ' container reference.
+ * @see #getTransition()
+ * @generated
+ */
+ void setTransition(Transition value);
} // Arc
diff --git a/eclipse-workspace/fr.n7.petrinet/src/petrinet/Network.java b/eclipse-workspace/fr.n7.petrinet/src/petrinet/Network.java
index f072256..cdc1868 100644
--- a/eclipse-workspace/fr.n7.petrinet/src/petrinet/Network.java
+++ b/eclipse-workspace/fr.n7.petrinet/src/petrinet/Network.java
@@ -49,11 +49,13 @@ public interface Network extends EObject {
/**
* Returns the value of the 'Nodes ' containment reference list.
* The list contents are of type {@link petrinet.Node}.
+ * It is bidirectional and its opposite is '{@link petrinet.Node#getNetwork Network }'.
*
*
* @return the value of the 'Nodes ' containment reference list.
* @see petrinet.PetrinetPackage#getNetwork_Nodes()
- * @model containment="true"
+ * @see petrinet.Node#getNetwork
+ * @model opposite="network" containment="true"
* @generated
*/
EList getNodes();
diff --git a/eclipse-workspace/fr.n7.petrinet/src/petrinet/Node.java b/eclipse-workspace/fr.n7.petrinet/src/petrinet/Node.java
index 71e2bd4..a97e9a9 100644
--- a/eclipse-workspace/fr.n7.petrinet/src/petrinet/Node.java
+++ b/eclipse-workspace/fr.n7.petrinet/src/petrinet/Node.java
@@ -14,6 +14,7 @@ import org.eclipse.emf.ecore.EObject;
*
*
* {@link petrinet.Node#getName Name }
+ * {@link petrinet.Node#getNetwork Network }
*
*
* @see petrinet.PetrinetPackage#getNode()
@@ -43,4 +44,28 @@ public interface Node extends EObject {
*/
void setName(String value);
+ /**
+ * Returns the value of the 'Network ' container reference.
+ * It is bidirectional and its opposite is '{@link petrinet.Network#getNodes Nodes }'.
+ *
+ *
+ * @return the value of the 'Network ' container reference.
+ * @see #setNetwork(Network)
+ * @see petrinet.PetrinetPackage#getNode_Network()
+ * @see petrinet.Network#getNodes
+ * @model opposite="nodes" required="true" transient="false"
+ * @generated
+ */
+ Network getNetwork();
+
+ /**
+ * Sets the value of the '{@link petrinet.Node#getNetwork Network }' container reference.
+ *
+ *
+ * @param value the new value of the 'Network ' container reference.
+ * @see #getNetwork()
+ * @generated
+ */
+ void setNetwork(Network value);
+
} // Node
diff --git a/eclipse-workspace/fr.n7.petrinet/src/petrinet/PetrinetPackage.java b/eclipse-workspace/fr.n7.petrinet/src/petrinet/PetrinetPackage.java
index 6429173..9f214ca 100644
--- a/eclipse-workspace/fr.n7.petrinet/src/petrinet/PetrinetPackage.java
+++ b/eclipse-workspace/fr.n7.petrinet/src/petrinet/PetrinetPackage.java
@@ -121,6 +121,15 @@ public interface PetrinetPackage extends EPackage {
*/
int NODE__NAME = 0;
+ /**
+ * The feature id for the 'Network ' container reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE__NETWORK = 1;
+
/**
* The number of structural features of the 'Node ' class.
*
@@ -128,7 +137,7 @@ public interface PetrinetPackage extends EPackage {
* @generated
* @ordered
*/
- int NODE_FEATURE_COUNT = 1;
+ int NODE_FEATURE_COUNT = 2;
/**
* The number of operations of the 'Node ' class.
@@ -158,6 +167,15 @@ public interface PetrinetPackage extends EPackage {
*/
int PLACE__NAME = NODE__NAME;
+ /**
+ * The feature id for the 'Network ' container reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int PLACE__NETWORK = NODE__NETWORK;
+
/**
* The feature id for the 'Tokens ' attribute.
*
@@ -167,6 +185,15 @@ public interface PetrinetPackage extends EPackage {
*/
int PLACE__TOKENS = NODE_FEATURE_COUNT + 0;
+ /**
+ * The feature id for the 'Arcs ' reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int PLACE__ARCS = NODE_FEATURE_COUNT + 1;
+
/**
* The number of structural features of the 'Place ' class.
*
@@ -174,7 +201,7 @@ public interface PetrinetPackage extends EPackage {
* @generated
* @ordered
*/
- int PLACE_FEATURE_COUNT = NODE_FEATURE_COUNT + 1;
+ int PLACE_FEATURE_COUNT = NODE_FEATURE_COUNT + 2;
/**
* The number of operations of the 'Place ' class.
@@ -214,13 +241,22 @@ public interface PetrinetPackage extends EPackage {
int ARC__OUTGOING = 1;
/**
- * The feature id for the 'Target ' reference.
+ * The feature id for the 'Place ' reference.
*
*
* @generated
* @ordered
*/
- int ARC__TARGET = 2;
+ int ARC__PLACE = 2;
+
+ /**
+ * The feature id for the 'Transition ' container reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int ARC__TRANSITION = 3;
/**
* The number of structural features of the 'Arc ' class.
@@ -229,7 +265,7 @@ public interface PetrinetPackage extends EPackage {
* @generated
* @ordered
*/
- int ARC_FEATURE_COUNT = 3;
+ int ARC_FEATURE_COUNT = 4;
/**
* The number of operations of the 'Arc ' class.
@@ -259,6 +295,15 @@ public interface PetrinetPackage extends EPackage {
*/
int TRANSITION__NAME = NODE__NAME;
+ /**
+ * The feature id for the 'Network ' container reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int TRANSITION__NETWORK = NODE__NETWORK;
+
/**
* The feature id for the 'Arcs ' containment reference list.
*
@@ -340,6 +385,17 @@ public interface PetrinetPackage extends EPackage {
*/
EAttribute getNode_Name();
+ /**
+ * Returns the meta object for the container reference '{@link petrinet.Node#getNetwork Network }'.
+ *
+ *
+ * @return the meta object for the container reference 'Network '.
+ * @see petrinet.Node#getNetwork()
+ * @see #getNode()
+ * @generated
+ */
+ EReference getNode_Network();
+
/**
* Returns the meta object for class '{@link petrinet.Place Place }'.
*
@@ -361,6 +417,17 @@ public interface PetrinetPackage extends EPackage {
*/
EAttribute getPlace_Tokens();
+ /**
+ * Returns the meta object for the reference list '{@link petrinet.Place#getArcs Arcs }'.
+ *
+ *
+ * @return the meta object for the reference list 'Arcs '.
+ * @see petrinet.Place#getArcs()
+ * @see #getPlace()
+ * @generated
+ */
+ EReference getPlace_Arcs();
+
/**
* Returns the meta object for class '{@link petrinet.Arc Arc }'.
*
@@ -394,15 +461,26 @@ public interface PetrinetPackage extends EPackage {
EAttribute getArc_Outgoing();
/**
- * Returns the meta object for the reference '{@link petrinet.Arc#getTarget Target }'.
+ * Returns the meta object for the reference '{@link petrinet.Arc#getPlace Place }'.
*
*
- * @return the meta object for the reference 'Target '.
- * @see petrinet.Arc#getTarget()
+ * @return the meta object for the reference 'Place '.
+ * @see petrinet.Arc#getPlace()
* @see #getArc()
* @generated
*/
- EReference getArc_Target();
+ EReference getArc_Place();
+
+ /**
+ * Returns the meta object for the container reference '{@link petrinet.Arc#getTransition Transition }'.
+ *
+ *
+ * @return the meta object for the container reference 'Transition '.
+ * @see petrinet.Arc#getTransition()
+ * @see #getArc()
+ * @generated
+ */
+ EReference getArc_Transition();
/**
* Returns the meta object for class '{@link petrinet.Transition Transition }'.
@@ -492,6 +570,14 @@ public interface PetrinetPackage extends EPackage {
*/
EAttribute NODE__NAME = eINSTANCE.getNode_Name();
+ /**
+ * The meta object literal for the 'Network ' container reference feature.
+ *
+ *
+ * @generated
+ */
+ EReference NODE__NETWORK = eINSTANCE.getNode_Network();
+
/**
* The meta object literal for the '{@link petrinet.impl.PlaceImpl Place }' class.
*
@@ -510,6 +596,14 @@ public interface PetrinetPackage extends EPackage {
*/
EAttribute PLACE__TOKENS = eINSTANCE.getPlace_Tokens();
+ /**
+ * The meta object literal for the 'Arcs ' reference list feature.
+ *
+ *
+ * @generated
+ */
+ EReference PLACE__ARCS = eINSTANCE.getPlace_Arcs();
+
/**
* The meta object literal for the '{@link petrinet.impl.ArcImpl Arc }' class.
*
@@ -537,12 +631,20 @@ public interface PetrinetPackage extends EPackage {
EAttribute ARC__OUTGOING = eINSTANCE.getArc_Outgoing();
/**
- * The meta object literal for the 'Target ' reference feature.
+ * The meta object literal for the 'Place ' reference feature.
*
*
* @generated
*/
- EReference ARC__TARGET = eINSTANCE.getArc_Target();
+ EReference ARC__PLACE = eINSTANCE.getArc_Place();
+
+ /**
+ * The meta object literal for the 'Transition ' container reference feature.
+ *
+ *
+ * @generated
+ */
+ EReference ARC__TRANSITION = eINSTANCE.getArc_Transition();
/**
* The meta object literal for the '{@link petrinet.impl.TransitionImpl Transition }' class.
diff --git a/eclipse-workspace/fr.n7.petrinet/src/petrinet/Place.java b/eclipse-workspace/fr.n7.petrinet/src/petrinet/Place.java
index 1b45b65..a2d90c7 100644
--- a/eclipse-workspace/fr.n7.petrinet/src/petrinet/Place.java
+++ b/eclipse-workspace/fr.n7.petrinet/src/petrinet/Place.java
@@ -2,6 +2,7 @@
*/
package petrinet;
+import org.eclipse.emf.common.util.EList;
/**
*
@@ -13,6 +14,7 @@ package petrinet;
*
*
* {@link petrinet.Place#getTokens Tokens }
+ * {@link petrinet.Place#getArcs Arcs }
*
*
* @see petrinet.PetrinetPackage#getPlace()
@@ -42,4 +44,18 @@ public interface Place extends Node {
*/
void setTokens(int value);
+ /**
+ * Returns the value of the 'Arcs ' reference list.
+ * The list contents are of type {@link petrinet.Arc}.
+ * It is bidirectional and its opposite is '{@link petrinet.Arc#getPlace Place }'.
+ *
+ *
+ * @return the value of the 'Arcs ' reference list.
+ * @see petrinet.PetrinetPackage#getPlace_Arcs()
+ * @see petrinet.Arc#getPlace
+ * @model opposite="place"
+ * @generated
+ */
+ EList getArcs();
+
} // Place
diff --git a/eclipse-workspace/fr.n7.petrinet/src/petrinet/Transition.java b/eclipse-workspace/fr.n7.petrinet/src/petrinet/Transition.java
index e81ec0b..eba4736 100644
--- a/eclipse-workspace/fr.n7.petrinet/src/petrinet/Transition.java
+++ b/eclipse-workspace/fr.n7.petrinet/src/petrinet/Transition.java
@@ -24,11 +24,13 @@ public interface Transition extends Node {
/**
* Returns the value of the 'Arcs ' containment reference list.
* The list contents are of type {@link petrinet.Arc}.
+ * It is bidirectional and its opposite is '{@link petrinet.Arc#getTransition Transition }'.
*
*
* @return the value of the 'Arcs ' containment reference list.
* @see petrinet.PetrinetPackage#getTransition_Arcs()
- * @model containment="true"
+ * @see petrinet.Arc#getTransition
+ * @model opposite="transition" containment="true"
* @generated
*/
EList getArcs();
diff --git a/eclipse-workspace/fr.n7.petrinet/src/petrinet/impl/ArcImpl.java b/eclipse-workspace/fr.n7.petrinet/src/petrinet/impl/ArcImpl.java
index 64c5065..c71a52b 100644
--- a/eclipse-workspace/fr.n7.petrinet/src/petrinet/impl/ArcImpl.java
+++ b/eclipse-workspace/fr.n7.petrinet/src/petrinet/impl/ArcImpl.java
@@ -3,6 +3,7 @@
package petrinet.impl;
import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;
@@ -10,9 +11,12 @@ import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+
import petrinet.Arc;
import petrinet.PetrinetPackage;
import petrinet.Place;
+import petrinet.Transition;
/**
*
@@ -24,7 +28,8 @@ import petrinet.Place;
*
* {@link petrinet.impl.ArcImpl#getWeight Weight }
* {@link petrinet.impl.ArcImpl#isOutgoing Outgoing }
- * {@link petrinet.impl.ArcImpl#getTarget Target }
+ * {@link petrinet.impl.ArcImpl#getPlace Place }
+ * {@link petrinet.impl.ArcImpl#getTransition Transition }
*
*
* @generated
@@ -71,14 +76,14 @@ public class ArcImpl extends MinimalEObjectImpl.Container implements Arc {
protected boolean outgoing = OUTGOING_EDEFAULT;
/**
- * The cached value of the '{@link #getTarget() Target }' reference.
+ * The cached value of the '{@link #getPlace() Place }' reference.
*
*
- * @see #getTarget()
+ * @see #getPlace()
* @generated
* @ordered
*/
- protected Place target;
+ protected Place place;
/**
*
@@ -146,16 +151,16 @@ public class ArcImpl extends MinimalEObjectImpl.Container implements Arc {
*
* @generated
*/
- public Place getTarget() {
- if (target != null && target.eIsProxy()) {
- InternalEObject oldTarget = (InternalEObject)target;
- target = (Place)eResolveProxy(oldTarget);
- if (target != oldTarget) {
+ public Place getPlace() {
+ if (place != null && place.eIsProxy()) {
+ InternalEObject oldPlace = (InternalEObject)place;
+ place = (Place)eResolveProxy(oldPlace);
+ if (place != oldPlace) {
if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, PetrinetPackage.ARC__TARGET, oldTarget, target));
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, PetrinetPackage.ARC__PLACE, oldPlace, place));
}
}
- return target;
+ return place;
}
/**
@@ -163,8 +168,8 @@ public class ArcImpl extends MinimalEObjectImpl.Container implements Arc {
*
* @generated
*/
- public Place basicGetTarget() {
- return target;
+ public Place basicGetPlace() {
+ return place;
}
/**
@@ -172,11 +177,124 @@ public class ArcImpl extends MinimalEObjectImpl.Container implements Arc {
*
* @generated
*/
- public void setTarget(Place newTarget) {
- Place oldTarget = target;
- target = newTarget;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, PetrinetPackage.ARC__TARGET, oldTarget, target));
+ public NotificationChain basicSetPlace(Place newPlace, NotificationChain msgs) {
+ Place oldPlace = place;
+ place = newPlace;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PetrinetPackage.ARC__PLACE, oldPlace, newPlace);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public void setPlace(Place newPlace) {
+ if (newPlace != place) {
+ NotificationChain msgs = null;
+ if (place != null)
+ msgs = ((InternalEObject)place).eInverseRemove(this, PetrinetPackage.PLACE__ARCS, Place.class, msgs);
+ if (newPlace != null)
+ msgs = ((InternalEObject)newPlace).eInverseAdd(this, PetrinetPackage.PLACE__ARCS, Place.class, msgs);
+ msgs = basicSetPlace(newPlace, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PetrinetPackage.ARC__PLACE, newPlace, newPlace));
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public Transition getTransition() {
+ if (eContainerFeatureID() != PetrinetPackage.ARC__TRANSITION) return null;
+ return (Transition)eInternalContainer();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public NotificationChain basicSetTransition(Transition newTransition, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject)newTransition, PetrinetPackage.ARC__TRANSITION, msgs);
+ return msgs;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public void setTransition(Transition newTransition) {
+ if (newTransition != eInternalContainer() || (eContainerFeatureID() != PetrinetPackage.ARC__TRANSITION && newTransition != null)) {
+ if (EcoreUtil.isAncestor(this, newTransition))
+ throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
+ NotificationChain msgs = null;
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ if (newTransition != null)
+ msgs = ((InternalEObject)newTransition).eInverseAdd(this, PetrinetPackage.TRANSITION__ARCS, Transition.class, msgs);
+ msgs = basicSetTransition(newTransition, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PetrinetPackage.ARC__TRANSITION, newTransition, newTransition));
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PetrinetPackage.ARC__PLACE:
+ if (place != null)
+ msgs = ((InternalEObject)place).eInverseRemove(this, PetrinetPackage.PLACE__ARCS, Place.class, msgs);
+ return basicSetPlace((Place)otherEnd, msgs);
+ case PetrinetPackage.ARC__TRANSITION:
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetTransition((Transition)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PetrinetPackage.ARC__PLACE:
+ return basicSetPlace(null, msgs);
+ case PetrinetPackage.ARC__TRANSITION:
+ return basicSetTransition(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case PetrinetPackage.ARC__TRANSITION:
+ return eInternalContainer().eInverseRemove(this, PetrinetPackage.TRANSITION__ARCS, Transition.class, msgs);
+ }
+ return super.eBasicRemoveFromContainerFeature(msgs);
}
/**
@@ -191,9 +309,11 @@ public class ArcImpl extends MinimalEObjectImpl.Container implements Arc {
return getWeight();
case PetrinetPackage.ARC__OUTGOING:
return isOutgoing();
- case PetrinetPackage.ARC__TARGET:
- if (resolve) return getTarget();
- return basicGetTarget();
+ case PetrinetPackage.ARC__PLACE:
+ if (resolve) return getPlace();
+ return basicGetPlace();
+ case PetrinetPackage.ARC__TRANSITION:
+ return getTransition();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -212,8 +332,11 @@ public class ArcImpl extends MinimalEObjectImpl.Container implements Arc {
case PetrinetPackage.ARC__OUTGOING:
setOutgoing((Boolean)newValue);
return;
- case PetrinetPackage.ARC__TARGET:
- setTarget((Place)newValue);
+ case PetrinetPackage.ARC__PLACE:
+ setPlace((Place)newValue);
+ return;
+ case PetrinetPackage.ARC__TRANSITION:
+ setTransition((Transition)newValue);
return;
}
super.eSet(featureID, newValue);
@@ -233,8 +356,11 @@ public class ArcImpl extends MinimalEObjectImpl.Container implements Arc {
case PetrinetPackage.ARC__OUTGOING:
setOutgoing(OUTGOING_EDEFAULT);
return;
- case PetrinetPackage.ARC__TARGET:
- setTarget((Place)null);
+ case PetrinetPackage.ARC__PLACE:
+ setPlace((Place)null);
+ return;
+ case PetrinetPackage.ARC__TRANSITION:
+ setTransition((Transition)null);
return;
}
super.eUnset(featureID);
@@ -252,8 +378,10 @@ public class ArcImpl extends MinimalEObjectImpl.Container implements Arc {
return weight != WEIGHT_EDEFAULT;
case PetrinetPackage.ARC__OUTGOING:
return outgoing != OUTGOING_EDEFAULT;
- case PetrinetPackage.ARC__TARGET:
- return target != null;
+ case PetrinetPackage.ARC__PLACE:
+ return place != null;
+ case PetrinetPackage.ARC__TRANSITION:
+ return getTransition() != null;
}
return super.eIsSet(featureID);
}
diff --git a/eclipse-workspace/fr.n7.petrinet/src/petrinet/impl/NetworkImpl.java b/eclipse-workspace/fr.n7.petrinet/src/petrinet/impl/NetworkImpl.java
index 26a5b45..9793369 100644
--- a/eclipse-workspace/fr.n7.petrinet/src/petrinet/impl/NetworkImpl.java
+++ b/eclipse-workspace/fr.n7.petrinet/src/petrinet/impl/NetworkImpl.java
@@ -15,7 +15,7 @@ import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
import org.eclipse.emf.ecore.util.InternalEList;
import petrinet.Network;
@@ -114,11 +114,26 @@ public class NetworkImpl extends MinimalEObjectImpl.Container implements Network
*/
public EList getNodes() {
if (nodes == null) {
- nodes = new EObjectContainmentEList(Node.class, this, PetrinetPackage.NETWORK__NODES);
+ nodes = new EObjectContainmentWithInverseEList(Node.class, this, PetrinetPackage.NETWORK__NODES, PetrinetPackage.NODE__NETWORK);
}
return nodes;
}
+ /**
+ *
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PetrinetPackage.NETWORK__NODES:
+ return ((InternalEList)(InternalEList>)getNodes()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
/**
*
*
diff --git a/eclipse-workspace/fr.n7.petrinet/src/petrinet/impl/NodeImpl.java b/eclipse-workspace/fr.n7.petrinet/src/petrinet/impl/NodeImpl.java
index 863c95c..ed2a1a5 100644
--- a/eclipse-workspace/fr.n7.petrinet/src/petrinet/impl/NodeImpl.java
+++ b/eclipse-workspace/fr.n7.petrinet/src/petrinet/impl/NodeImpl.java
@@ -3,12 +3,17 @@
package petrinet.impl;
import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+
+import petrinet.Network;
import petrinet.Node;
import petrinet.PetrinetPackage;
@@ -21,6 +26,7 @@ import petrinet.PetrinetPackage;
*
*
* {@link petrinet.impl.NodeImpl#getName Name }
+ * {@link petrinet.impl.NodeImpl#getNetwork Network }
*
*
* @generated
@@ -86,6 +92,91 @@ public abstract class NodeImpl extends MinimalEObjectImpl.Container implements N
eNotify(new ENotificationImpl(this, Notification.SET, PetrinetPackage.NODE__NAME, oldName, name));
}
+ /**
+ *
+ *
+ * @generated
+ */
+ public Network getNetwork() {
+ if (eContainerFeatureID() != PetrinetPackage.NODE__NETWORK) return null;
+ return (Network)eInternalContainer();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public NotificationChain basicSetNetwork(Network newNetwork, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject)newNetwork, PetrinetPackage.NODE__NETWORK, msgs);
+ return msgs;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public void setNetwork(Network newNetwork) {
+ if (newNetwork != eInternalContainer() || (eContainerFeatureID() != PetrinetPackage.NODE__NETWORK && newNetwork != null)) {
+ if (EcoreUtil.isAncestor(this, newNetwork))
+ throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
+ NotificationChain msgs = null;
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ if (newNetwork != null)
+ msgs = ((InternalEObject)newNetwork).eInverseAdd(this, PetrinetPackage.NETWORK__NODES, Network.class, msgs);
+ msgs = basicSetNetwork(newNetwork, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PetrinetPackage.NODE__NETWORK, newNetwork, newNetwork));
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PetrinetPackage.NODE__NETWORK:
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetNetwork((Network)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PetrinetPackage.NODE__NETWORK:
+ return basicSetNetwork(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case PetrinetPackage.NODE__NETWORK:
+ return eInternalContainer().eInverseRemove(this, PetrinetPackage.NETWORK__NODES, Network.class, msgs);
+ }
+ return super.eBasicRemoveFromContainerFeature(msgs);
+ }
+
/**
*
*
@@ -96,6 +187,8 @@ public abstract class NodeImpl extends MinimalEObjectImpl.Container implements N
switch (featureID) {
case PetrinetPackage.NODE__NAME:
return getName();
+ case PetrinetPackage.NODE__NETWORK:
+ return getNetwork();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -111,6 +204,9 @@ public abstract class NodeImpl extends MinimalEObjectImpl.Container implements N
case PetrinetPackage.NODE__NAME:
setName((String)newValue);
return;
+ case PetrinetPackage.NODE__NETWORK:
+ setNetwork((Network)newValue);
+ return;
}
super.eSet(featureID, newValue);
}
@@ -126,6 +222,9 @@ public abstract class NodeImpl extends MinimalEObjectImpl.Container implements N
case PetrinetPackage.NODE__NAME:
setName(NAME_EDEFAULT);
return;
+ case PetrinetPackage.NODE__NETWORK:
+ setNetwork((Network)null);
+ return;
}
super.eUnset(featureID);
}
@@ -140,6 +239,8 @@ public abstract class NodeImpl extends MinimalEObjectImpl.Container implements N
switch (featureID) {
case PetrinetPackage.NODE__NAME:
return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case PetrinetPackage.NODE__NETWORK:
+ return getNetwork() != null;
}
return super.eIsSet(featureID);
}
diff --git a/eclipse-workspace/fr.n7.petrinet/src/petrinet/impl/PetrinetPackageImpl.java b/eclipse-workspace/fr.n7.petrinet/src/petrinet/impl/PetrinetPackageImpl.java
index 86e42b2..db9424e 100644
--- a/eclipse-workspace/fr.n7.petrinet/src/petrinet/impl/PetrinetPackageImpl.java
+++ b/eclipse-workspace/fr.n7.petrinet/src/petrinet/impl/PetrinetPackageImpl.java
@@ -165,6 +165,15 @@ public class PetrinetPackageImpl extends EPackageImpl implements PetrinetPackage
return (EAttribute)nodeEClass.getEStructuralFeatures().get(0);
}
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getNode_Network() {
+ return (EReference)nodeEClass.getEStructuralFeatures().get(1);
+ }
+
/**
*
*
@@ -183,6 +192,15 @@ public class PetrinetPackageImpl extends EPackageImpl implements PetrinetPackage
return (EAttribute)placeEClass.getEStructuralFeatures().get(0);
}
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getPlace_Arcs() {
+ return (EReference)placeEClass.getEStructuralFeatures().get(1);
+ }
+
/**
*
*
@@ -215,10 +233,19 @@ public class PetrinetPackageImpl extends EPackageImpl implements PetrinetPackage
*
* @generated
*/
- public EReference getArc_Target() {
+ public EReference getArc_Place() {
return (EReference)arcEClass.getEStructuralFeatures().get(2);
}
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getArc_Transition() {
+ return (EReference)arcEClass.getEStructuralFeatures().get(3);
+ }
+
/**
*
*
@@ -271,14 +298,17 @@ public class PetrinetPackageImpl extends EPackageImpl implements PetrinetPackage
nodeEClass = createEClass(NODE);
createEAttribute(nodeEClass, NODE__NAME);
+ createEReference(nodeEClass, NODE__NETWORK);
placeEClass = createEClass(PLACE);
createEAttribute(placeEClass, PLACE__TOKENS);
+ createEReference(placeEClass, PLACE__ARCS);
arcEClass = createEClass(ARC);
createEAttribute(arcEClass, ARC__WEIGHT);
createEAttribute(arcEClass, ARC__OUTGOING);
- createEReference(arcEClass, ARC__TARGET);
+ createEReference(arcEClass, ARC__PLACE);
+ createEReference(arcEClass, ARC__TRANSITION);
transitionEClass = createEClass(TRANSITION);
createEReference(transitionEClass, TRANSITION__ARCS);
@@ -318,21 +348,24 @@ public class PetrinetPackageImpl extends EPackageImpl implements PetrinetPackage
// Initialize classes, features, and operations; add parameters
initEClass(networkEClass, Network.class, "Network", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getNetwork_Name(), ecorePackage.getEString(), "name", null, 1, 1, Network.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getNetwork_Nodes(), this.getNode(), null, "nodes", null, 0, -1, Network.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getNetwork_Nodes(), this.getNode(), this.getNode_Network(), "nodes", null, 0, -1, Network.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(nodeEClass, Node.class, "Node", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getNode_Name(), ecorePackage.getEString(), "name", null, 1, 1, Node.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getNode_Network(), this.getNetwork(), this.getNetwork_Nodes(), "network", null, 1, 1, Node.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(placeEClass, Place.class, "Place", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getPlace_Tokens(), ecorePackage.getEInt(), "tokens", null, 1, 1, Place.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPlace_Arcs(), this.getArc(), this.getArc_Place(), "arcs", null, 0, -1, Place.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(arcEClass, Arc.class, "Arc", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getArc_Weight(), ecorePackage.getEInt(), "weight", null, 1, 1, Arc.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getArc_Outgoing(), ecorePackage.getEBoolean(), "outgoing", null, 1, 1, Arc.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getArc_Target(), this.getPlace(), null, "target", null, 1, 1, Arc.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getArc_Place(), this.getPlace(), this.getPlace_Arcs(), "place", null, 1, 1, Arc.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getArc_Transition(), this.getTransition(), this.getTransition_Arcs(), "transition", null, 1, 1, Arc.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(transitionEClass, Transition.class, "Transition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEReference(getTransition_Arcs(), this.getArc(), null, "arcs", null, 0, -1, Transition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getTransition_Arcs(), this.getArc(), this.getArc_Transition(), "arcs", null, 0, -1, Transition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
// Create resource
createResource(eNS_URI);
diff --git a/eclipse-workspace/fr.n7.petrinet/src/petrinet/impl/PlaceImpl.java b/eclipse-workspace/fr.n7.petrinet/src/petrinet/impl/PlaceImpl.java
index 68d8d86..7832bda 100644
--- a/eclipse-workspace/fr.n7.petrinet/src/petrinet/impl/PlaceImpl.java
+++ b/eclipse-workspace/fr.n7.petrinet/src/petrinet/impl/PlaceImpl.java
@@ -2,12 +2,22 @@
*/
package petrinet.impl;
+import java.util.Collection;
+
import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import petrinet.Arc;
import petrinet.PetrinetPackage;
import petrinet.Place;
@@ -20,6 +30,7 @@ import petrinet.Place;
*
*
* {@link petrinet.impl.PlaceImpl#getTokens Tokens }
+ * {@link petrinet.impl.PlaceImpl#getArcs Arcs }
*
*
* @generated
@@ -45,6 +56,16 @@ public class PlaceImpl extends NodeImpl implements Place {
*/
protected int tokens = TOKENS_EDEFAULT;
+ /**
+ * The cached value of the '{@link #getArcs() Arcs }' reference list.
+ *
+ *
+ * @see #getArcs()
+ * @generated
+ * @ordered
+ */
+ protected EList arcs;
+
/**
*
*
@@ -85,6 +106,47 @@ public class PlaceImpl extends NodeImpl implements Place {
eNotify(new ENotificationImpl(this, Notification.SET, PetrinetPackage.PLACE__TOKENS, oldTokens, tokens));
}
+ /**
+ *
+ *
+ * @generated
+ */
+ public EList getArcs() {
+ if (arcs == null) {
+ arcs = new EObjectWithInverseResolvingEList(Arc.class, this, PetrinetPackage.PLACE__ARCS, PetrinetPackage.ARC__PLACE);
+ }
+ return arcs;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PetrinetPackage.PLACE__ARCS:
+ return ((InternalEList)(InternalEList>)getArcs()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PetrinetPackage.PLACE__ARCS:
+ return ((InternalEList>)getArcs()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
/**
*
*
@@ -95,6 +157,8 @@ public class PlaceImpl extends NodeImpl implements Place {
switch (featureID) {
case PetrinetPackage.PLACE__TOKENS:
return getTokens();
+ case PetrinetPackage.PLACE__ARCS:
+ return getArcs();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -104,12 +168,17 @@ public class PlaceImpl extends NodeImpl implements Place {
*
* @generated
*/
+ @SuppressWarnings("unchecked")
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
case PetrinetPackage.PLACE__TOKENS:
setTokens((Integer)newValue);
return;
+ case PetrinetPackage.PLACE__ARCS:
+ getArcs().clear();
+ getArcs().addAll((Collection extends Arc>)newValue);
+ return;
}
super.eSet(featureID, newValue);
}
@@ -125,6 +194,9 @@ public class PlaceImpl extends NodeImpl implements Place {
case PetrinetPackage.PLACE__TOKENS:
setTokens(TOKENS_EDEFAULT);
return;
+ case PetrinetPackage.PLACE__ARCS:
+ getArcs().clear();
+ return;
}
super.eUnset(featureID);
}
@@ -139,6 +211,8 @@ public class PlaceImpl extends NodeImpl implements Place {
switch (featureID) {
case PetrinetPackage.PLACE__TOKENS:
return tokens != TOKENS_EDEFAULT;
+ case PetrinetPackage.PLACE__ARCS:
+ return arcs != null && !arcs.isEmpty();
}
return super.eIsSet(featureID);
}
diff --git a/eclipse-workspace/fr.n7.petrinet/src/petrinet/impl/TransitionImpl.java b/eclipse-workspace/fr.n7.petrinet/src/petrinet/impl/TransitionImpl.java
index a763681..f03b0ec 100644
--- a/eclipse-workspace/fr.n7.petrinet/src/petrinet/impl/TransitionImpl.java
+++ b/eclipse-workspace/fr.n7.petrinet/src/petrinet/impl/TransitionImpl.java
@@ -11,7 +11,7 @@ import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
import org.eclipse.emf.ecore.util.InternalEList;
import petrinet.Arc;
@@ -68,11 +68,26 @@ public class TransitionImpl extends NodeImpl implements Transition {
*/
public EList getArcs() {
if (arcs == null) {
- arcs = new EObjectContainmentEList(Arc.class, this, PetrinetPackage.TRANSITION__ARCS);
+ arcs = new EObjectContainmentWithInverseEList(Arc.class, this, PetrinetPackage.TRANSITION__ARCS, PetrinetPackage.ARC__TRANSITION);
}
return arcs;
}
+ /**
+ *
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PetrinetPackage.TRANSITION__ARCS:
+ return ((InternalEList)(InternalEList>)getArcs()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
/**
*
*
diff --git a/eclipse-workspace/fr.n7.simplepdl.edit/plugin.properties b/eclipse-workspace/fr.n7.simplepdl.edit/plugin.properties
index 5ef4528..5fcdcb5 100644
--- a/eclipse-workspace/fr.n7.simplepdl.edit/plugin.properties
+++ b/eclipse-workspace/fr.n7.simplepdl.edit/plugin.properties
@@ -44,3 +44,7 @@ _UI_WorkSequenceType_startToStart_literal = startToStart
_UI_WorkSequenceType_finishToStart_literal = finishToStart
_UI_WorkSequenceType_startToFinish_literal = startToFinish
_UI_WorkSequenceType_finishToFinish_literal = finishToFinish
+_UI_ProcessElement_process_feature = Process
+_UI_ProcessElement_guidances_feature = Guidances
+_UI_Resource_requests_feature = Requests
+_UI_Request_requester_feature = Requester
diff --git a/eclipse-workspace/fr.n7.simplepdl.edit/src/simplepdl/provider/ProcessElementItemProvider.java b/eclipse-workspace/fr.n7.simplepdl.edit/src/simplepdl/provider/ProcessElementItemProvider.java
index ce39790..884b707 100644
--- a/eclipse-workspace/fr.n7.simplepdl.edit/src/simplepdl/provider/ProcessElementItemProvider.java
+++ b/eclipse-workspace/fr.n7.simplepdl.edit/src/simplepdl/provider/ProcessElementItemProvider.java
@@ -11,6 +11,7 @@ import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
@@ -18,6 +19,7 @@ import org.eclipse.emf.edit.provider.IItemPropertySource;
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import simplepdl.SimplepdlPackage;
/**
* This is the item provider adapter for a {@link simplepdl.ProcessElement} object.
@@ -54,10 +56,33 @@ public class ProcessElementItemProvider
if (itemPropertyDescriptors == null) {
super.getPropertyDescriptors(object);
+ addGuidancesPropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
+ /**
+ * This adds a property descriptor for the Guidances feature.
+ *
+ *
+ * @generated
+ */
+ protected void addGuidancesPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ProcessElement_guidances_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_ProcessElement_guidances_feature", "_UI_ProcessElement_type"),
+ SimplepdlPackage.Literals.PROCESS_ELEMENT__GUIDANCES,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
/**
* This returns the label text for the adapted class.
*
diff --git a/eclipse-workspace/fr.n7.simplepdl.edit/src/simplepdl/provider/RequestItemProvider.java b/eclipse-workspace/fr.n7.simplepdl.edit/src/simplepdl/provider/RequestItemProvider.java
index 522dd5e..1652748 100644
--- a/eclipse-workspace/fr.n7.simplepdl.edit/src/simplepdl/provider/RequestItemProvider.java
+++ b/eclipse-workspace/fr.n7.simplepdl.edit/src/simplepdl/provider/RequestItemProvider.java
@@ -130,8 +130,7 @@ public class RequestItemProvider
@Override
public String getText(Object object) {
Request request = (Request)object;
- String targetname = request.getTarget() != null ? request.getTarget().getName() : "";
- return getString("_UI_Request_type") + " --" + request.getQuantity() + "--> " + targetname;
+ return getString("_UI_Request_type") + " " + request.getQuantity();
}
diff --git a/eclipse-workspace/fr.n7.simplepdl.edit/src/simplepdl/provider/ResourceItemProvider.java b/eclipse-workspace/fr.n7.simplepdl.edit/src/simplepdl/provider/ResourceItemProvider.java
index 1381366..9456297 100644
--- a/eclipse-workspace/fr.n7.simplepdl.edit/src/simplepdl/provider/ResourceItemProvider.java
+++ b/eclipse-workspace/fr.n7.simplepdl.edit/src/simplepdl/provider/ResourceItemProvider.java
@@ -47,6 +47,7 @@ public class ResourceItemProvider extends ProcessElementItemProvider {
addQuantityPropertyDescriptor(object);
addNamePropertyDescriptor(object);
+ addRequestsPropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
@@ -95,6 +96,28 @@ public class ResourceItemProvider extends ProcessElementItemProvider {
null));
}
+ /**
+ * This adds a property descriptor for the Requests feature.
+ *
+ *
+ * @generated
+ */
+ protected void addRequestsPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Resource_requests_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Resource_requests_feature", "_UI_Resource_type"),
+ SimplepdlPackage.Literals.RESOURCE__REQUESTS,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
/**
* This returns Resource.gif.
*
@@ -115,10 +138,9 @@ public class ResourceItemProvider extends ProcessElementItemProvider {
@Override
public String getText(Object object) {
String label = ((Resource)object).getName();
- int qty = ((Resource)object).getQuantity();
return label == null || label.length() == 0 ?
getString("_UI_Resource_type") :
- getString("_UI_Resource_type") + " " + label + " (" + qty + ")";
+ getString("_UI_Resource_type") + " " + label;
}
diff --git a/eclipse-workspace/fr.n7.simplepdl.edit/src/simplepdl/provider/WorkSequenceItemProvider.java b/eclipse-workspace/fr.n7.simplepdl.edit/src/simplepdl/provider/WorkSequenceItemProvider.java
index e91689e..6b5d72f 100644
--- a/eclipse-workspace/fr.n7.simplepdl.edit/src/simplepdl/provider/WorkSequenceItemProvider.java
+++ b/eclipse-workspace/fr.n7.simplepdl.edit/src/simplepdl/provider/WorkSequenceItemProvider.java
@@ -161,8 +161,6 @@ public class WorkSequenceItemProvider extends ProcessElementItemProvider {
updateChildren(notification);
switch (notification.getFeatureID(WorkSequence.class)) {
- case SimplepdlPackage.WORK_SEQUENCE__PREDECESSOR:
- case SimplepdlPackage.WORK_SEQUENCE__SUCCESSOR:
case SimplepdlPackage.WORK_SEQUENCE__LINK_TYPE:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
diff --git a/eclipse-workspace/fr.n7.simplepdl.editor/src/simplepdl/presentation/SimplepdlModelWizard.java b/eclipse-workspace/fr.n7.simplepdl.editor/src/simplepdl/presentation/SimplepdlModelWizard.java
index a632edb..25b3a7a 100644
--- a/eclipse-workspace/fr.n7.simplepdl.editor/src/simplepdl/presentation/SimplepdlModelWizard.java
+++ b/eclipse-workspace/fr.n7.simplepdl.editor/src/simplepdl/presentation/SimplepdlModelWizard.java
@@ -395,8 +395,7 @@ public class SimplepdlModelWizard extends Wizard implements INewWizard {
* @generated
*/
public void createControl(Composite parent) {
- Composite composite = new Composite(parent, SWT.NONE);
- {
+ Composite composite = new Composite(parent, SWT.NONE); {
GridLayout layout = new GridLayout();
layout.numColumns = 1;
layout.verticalSpacing = 12;
diff --git a/eclipse-workspace/fr.n7.simplepdl.txt.pdl.tests/test-bin/fr/n7/simplepdl/txt/tests/.PDLParsingTest.xtendbin b/eclipse-workspace/fr.n7.simplepdl.txt.pdl.tests/test-bin/fr/n7/simplepdl/txt/tests/.PDLParsingTest.xtendbin
index f2c2274..3b1d59b 100644
Binary files a/eclipse-workspace/fr.n7.simplepdl.txt.pdl.tests/test-bin/fr/n7/simplepdl/txt/tests/.PDLParsingTest.xtendbin and b/eclipse-workspace/fr.n7.simplepdl.txt.pdl.tests/test-bin/fr/n7/simplepdl/txt/tests/.PDLParsingTest.xtendbin differ
diff --git a/eclipse-workspace/fr.n7.simplepdl.txt.pdl.tests/xtend-gen/fr/n7/simplepdl/txt/tests/.PDLParsingTest.xtendbin b/eclipse-workspace/fr.n7.simplepdl.txt.pdl.tests/xtend-gen/fr/n7/simplepdl/txt/tests/.PDLParsingTest.xtendbin
index f2c2274..3b1d59b 100644
Binary files a/eclipse-workspace/fr.n7.simplepdl.txt.pdl.tests/xtend-gen/fr/n7/simplepdl/txt/tests/.PDLParsingTest.xtendbin and b/eclipse-workspace/fr.n7.simplepdl.txt.pdl.tests/xtend-gen/fr/n7/simplepdl/txt/tests/.PDLParsingTest.xtendbin differ
diff --git a/eclipse-workspace/fr.n7.simplepdl.txt.pdl/xtend-gen/fr/n7/simplepdl/txt/formatting2/.PDLFormatter.xtendbin b/eclipse-workspace/fr.n7.simplepdl.txt.pdl/xtend-gen/fr/n7/simplepdl/txt/formatting2/.PDLFormatter.xtendbin
index a6ecd0a..125f8a1 100644
Binary files a/eclipse-workspace/fr.n7.simplepdl.txt.pdl/xtend-gen/fr/n7/simplepdl/txt/formatting2/.PDLFormatter.xtendbin and b/eclipse-workspace/fr.n7.simplepdl.txt.pdl/xtend-gen/fr/n7/simplepdl/txt/formatting2/.PDLFormatter.xtendbin differ
diff --git a/eclipse-workspace/fr.n7.simplepdl.txt.pdl/xtend-gen/fr/n7/simplepdl/txt/generator/.PDLGenerator.xtendbin b/eclipse-workspace/fr.n7.simplepdl.txt.pdl/xtend-gen/fr/n7/simplepdl/txt/generator/.PDLGenerator.xtendbin
index 0c7e39a..8157b5b 100644
Binary files a/eclipse-workspace/fr.n7.simplepdl.txt.pdl/xtend-gen/fr/n7/simplepdl/txt/generator/.PDLGenerator.xtendbin and b/eclipse-workspace/fr.n7.simplepdl.txt.pdl/xtend-gen/fr/n7/simplepdl/txt/generator/.PDLGenerator.xtendbin differ
diff --git a/eclipse-workspace/fr.n7.simplepdl/simplePDL.genmodel b/eclipse-workspace/fr.n7.simplepdl/simplePDL.genmodel
index e7e6a12..22266f1 100644
--- a/eclipse-workspace/fr.n7.simplepdl/simplePDL.genmodel
+++ b/eclipse-workspace/fr.n7.simplepdl/simplePDL.genmodel
@@ -12,7 +12,10 @@
-
+
+
+
+
@@ -35,10 +38,12 @@
+
+
diff --git a/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/Guidance.java b/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/Guidance.java
index 7a79f9d..90d8574 100644
--- a/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/Guidance.java
+++ b/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/Guidance.java
@@ -47,11 +47,13 @@ public interface Guidance extends ProcessElement {
/**
* Returns the value of the 'Elements ' reference list.
* The list contents are of type {@link simplepdl.ProcessElement}.
+ * It is bidirectional and its opposite is '{@link simplepdl.ProcessElement#getGuidances Guidances }'.
*
*
* @return the value of the 'Elements ' reference list.
* @see simplepdl.SimplepdlPackage#getGuidance_Elements()
- * @model
+ * @see simplepdl.ProcessElement#getGuidances
+ * @model opposite="guidances"
* @generated
*/
EList getElements();
diff --git a/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/Process.java b/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/Process.java
index 7457b4c..8136449 100644
--- a/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/Process.java
+++ b/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/Process.java
@@ -49,11 +49,13 @@ public interface Process extends EObject {
/**
* Returns the value of the 'Process Elements ' containment reference list.
* The list contents are of type {@link simplepdl.ProcessElement}.
+ * It is bidirectional and its opposite is '{@link simplepdl.ProcessElement#getProcess Process }'.
*
*
* @return the value of the 'Process Elements ' containment reference list.
* @see simplepdl.SimplepdlPackage#getProcess_ProcessElements()
- * @model containment="true"
+ * @see simplepdl.ProcessElement#getProcess
+ * @model opposite="process" containment="true"
* @generated
*/
EList getProcessElements();
diff --git a/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/ProcessElement.java b/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/ProcessElement.java
index f8bf674..d9a978b 100644
--- a/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/ProcessElement.java
+++ b/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/ProcessElement.java
@@ -2,6 +2,7 @@
*/
package simplepdl;
+import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
/**
@@ -9,10 +10,55 @@ import org.eclipse.emf.ecore.EObject;
* A representation of the model object 'Process Element '.
*
*
+ *
+ * The following features are supported:
+ *
+ *
+ * {@link simplepdl.ProcessElement#getProcess Process }
+ * {@link simplepdl.ProcessElement#getGuidances Guidances }
+ *
*
* @see simplepdl.SimplepdlPackage#getProcessElement()
* @model abstract="true"
* @generated
*/
public interface ProcessElement extends EObject {
+
+ /**
+ * Returns the value of the 'Process ' container reference.
+ * It is bidirectional and its opposite is '{@link simplepdl.Process#getProcessElements Process Elements }'.
+ *
+ *
+ * @return the value of the 'Process ' container reference.
+ * @see #setProcess(simplepdl.Process)
+ * @see simplepdl.SimplepdlPackage#getProcessElement_Process()
+ * @see simplepdl.Process#getProcessElements
+ * @model opposite="processElements" required="true" transient="false"
+ * @generated
+ */
+ simplepdl.Process getProcess();
+
+ /**
+ * Sets the value of the '{@link simplepdl.ProcessElement#getProcess Process }' container reference.
+ *
+ *
+ * @param value the new value of the 'Process ' container reference.
+ * @see #getProcess()
+ * @generated
+ */
+ void setProcess(simplepdl.Process value);
+
+ /**
+ * Returns the value of the 'Guidances ' reference list.
+ * The list contents are of type {@link simplepdl.Guidance}.
+ * It is bidirectional and its opposite is '{@link simplepdl.Guidance#getElements Elements }'.
+ *
+ *
+ * @return the value of the 'Guidances ' reference list.
+ * @see simplepdl.SimplepdlPackage#getProcessElement_Guidances()
+ * @see simplepdl.Guidance#getElements
+ * @model opposite="elements"
+ * @generated
+ */
+ EList getGuidances();
} // ProcessElement
diff --git a/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/Request.java b/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/Request.java
index f7efba5..ffad2ab 100644
--- a/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/Request.java
+++ b/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/Request.java
@@ -15,6 +15,7 @@ import org.eclipse.emf.ecore.EObject;
*
* {@link simplepdl.Request#getQuantity Quantity }
* {@link simplepdl.Request#getTarget Target }
+ * {@link simplepdl.Request#getRequester Requester }
*
*
* @see simplepdl.SimplepdlPackage#getRequest()
@@ -46,12 +47,14 @@ public interface Request extends EObject {
/**
* Returns the value of the 'Target ' reference.
+ * It is bidirectional and its opposite is '{@link simplepdl.Resource#getRequests Requests }'.
*
*
* @return the value of the 'Target ' reference.
* @see #setTarget(Resource)
* @see simplepdl.SimplepdlPackage#getRequest_Target()
- * @model required="true"
+ * @see simplepdl.Resource#getRequests
+ * @model opposite="requests" required="true"
* @generated
*/
Resource getTarget();
@@ -66,4 +69,28 @@ public interface Request extends EObject {
*/
void setTarget(Resource value);
+ /**
+ * Returns the value of the 'Requester ' container reference.
+ * It is bidirectional and its opposite is '{@link simplepdl.WorkDefinition#getRequests Requests }'.
+ *
+ *
+ * @return the value of the 'Requester ' container reference.
+ * @see #setRequester(WorkDefinition)
+ * @see simplepdl.SimplepdlPackage#getRequest_Requester()
+ * @see simplepdl.WorkDefinition#getRequests
+ * @model opposite="requests" required="true" transient="false"
+ * @generated
+ */
+ WorkDefinition getRequester();
+
+ /**
+ * Sets the value of the '{@link simplepdl.Request#getRequester Requester }' container reference.
+ *
+ *
+ * @param value the new value of the 'Requester ' container reference.
+ * @see #getRequester()
+ * @generated
+ */
+ void setRequester(WorkDefinition value);
+
} // Request
diff --git a/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/Resource.java b/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/Resource.java
index 5947a8a..d9e6bd2 100644
--- a/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/Resource.java
+++ b/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/Resource.java
@@ -2,6 +2,8 @@
*/
package simplepdl;
+import org.eclipse.emf.common.util.EList;
+
/**
*
@@ -14,6 +16,7 @@ package simplepdl;
*
* {@link simplepdl.Resource#getQuantity Quantity }
* {@link simplepdl.Resource#getName Name }
+ * {@link simplepdl.Resource#getRequests Requests }
*
*
* @see simplepdl.SimplepdlPackage#getResource()
@@ -65,4 +68,18 @@ public interface Resource extends ProcessElement {
*/
void setName(String value);
+ /**
+ * Returns the value of the 'Requests ' reference list.
+ * The list contents are of type {@link simplepdl.Request}.
+ * It is bidirectional and its opposite is '{@link simplepdl.Request#getTarget Target }'.
+ *
+ *
+ * @return the value of the 'Requests ' reference list.
+ * @see simplepdl.SimplepdlPackage#getResource_Requests()
+ * @see simplepdl.Request#getTarget
+ * @model opposite="target"
+ * @generated
+ */
+ EList getRequests();
+
} // Resource
diff --git a/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/SimplepdlPackage.java b/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/SimplepdlPackage.java
index 3a3d42d..afa6417 100644
--- a/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/SimplepdlPackage.java
+++ b/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/SimplepdlPackage.java
@@ -67,6 +67,24 @@ public interface SimplepdlPackage extends EPackage {
*/
int PROCESS_ELEMENT = 0;
+ /**
+ * The feature id for the 'Process ' container reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int PROCESS_ELEMENT__PROCESS = 0;
+
+ /**
+ * The feature id for the 'Guidances ' reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int PROCESS_ELEMENT__GUIDANCES = 1;
+
/**
* The number of structural features of the 'Process Element ' class.
*
@@ -74,7 +92,7 @@ public interface SimplepdlPackage extends EPackage {
* @generated
* @ordered
*/
- int PROCESS_ELEMENT_FEATURE_COUNT = 0;
+ int PROCESS_ELEMENT_FEATURE_COUNT = 2;
/**
* The number of operations of the 'Process Element ' class.
@@ -95,6 +113,24 @@ public interface SimplepdlPackage extends EPackage {
*/
int WORK_DEFINITION = 1;
+ /**
+ * The feature id for the 'Process ' container reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int WORK_DEFINITION__PROCESS = PROCESS_ELEMENT__PROCESS;
+
+ /**
+ * The feature id for the 'Guidances ' reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int WORK_DEFINITION__GUIDANCES = PROCESS_ELEMENT__GUIDANCES;
+
/**
* The feature id for the 'Links To Predecessors ' reference list.
*
@@ -159,6 +195,24 @@ public interface SimplepdlPackage extends EPackage {
*/
int WORK_SEQUENCE = 2;
+ /**
+ * The feature id for the 'Process ' container reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int WORK_SEQUENCE__PROCESS = PROCESS_ELEMENT__PROCESS;
+
+ /**
+ * The feature id for the 'Guidances ' reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int WORK_SEQUENCE__GUIDANCES = PROCESS_ELEMENT__GUIDANCES;
+
/**
* The feature id for the 'Link Type ' attribute.
*
@@ -260,6 +314,24 @@ public interface SimplepdlPackage extends EPackage {
*/
int GUIDANCE = 4;
+ /**
+ * The feature id for the 'Process ' container reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int GUIDANCE__PROCESS = PROCESS_ELEMENT__PROCESS;
+
+ /**
+ * The feature id for the 'Guidances ' reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int GUIDANCE__GUIDANCES = PROCESS_ELEMENT__GUIDANCES;
+
/**
* The feature id for the 'Text ' attribute.
*
@@ -306,6 +378,24 @@ public interface SimplepdlPackage extends EPackage {
*/
int RESOURCE = 5;
+ /**
+ * The feature id for the 'Process ' container reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int RESOURCE__PROCESS = PROCESS_ELEMENT__PROCESS;
+
+ /**
+ * The feature id for the 'Guidances ' reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int RESOURCE__GUIDANCES = PROCESS_ELEMENT__GUIDANCES;
+
/**
* The feature id for the 'Quantity ' attribute.
*
@@ -324,6 +414,15 @@ public interface SimplepdlPackage extends EPackage {
*/
int RESOURCE__NAME = PROCESS_ELEMENT_FEATURE_COUNT + 1;
+ /**
+ * The feature id for the 'Requests ' reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int RESOURCE__REQUESTS = PROCESS_ELEMENT_FEATURE_COUNT + 2;
+
/**
* The number of structural features of the 'Resource ' class.
*
@@ -331,7 +430,7 @@ public interface SimplepdlPackage extends EPackage {
* @generated
* @ordered
*/
- int RESOURCE_FEATURE_COUNT = PROCESS_ELEMENT_FEATURE_COUNT + 2;
+ int RESOURCE_FEATURE_COUNT = PROCESS_ELEMENT_FEATURE_COUNT + 3;
/**
* The number of operations of the 'Resource ' class.
@@ -370,6 +469,15 @@ public interface SimplepdlPackage extends EPackage {
*/
int REQUEST__TARGET = 1;
+ /**
+ * The feature id for the 'Requester ' container reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int REQUEST__REQUESTER = 2;
+
/**
* The number of structural features of the 'Request ' class.
*
@@ -377,7 +485,7 @@ public interface SimplepdlPackage extends EPackage {
* @generated
* @ordered
*/
- int REQUEST_FEATURE_COUNT = 2;
+ int REQUEST_FEATURE_COUNT = 3;
/**
* The number of operations of the 'Request ' class.
@@ -409,6 +517,28 @@ public interface SimplepdlPackage extends EPackage {
*/
EClass getProcessElement();
+ /**
+ * Returns the meta object for the container reference '{@link simplepdl.ProcessElement#getProcess Process }'.
+ *
+ *
+ * @return the meta object for the container reference 'Process '.
+ * @see simplepdl.ProcessElement#getProcess()
+ * @see #getProcessElement()
+ * @generated
+ */
+ EReference getProcessElement_Process();
+
+ /**
+ * Returns the meta object for the reference list '{@link simplepdl.ProcessElement#getGuidances Guidances }'.
+ *
+ *
+ * @return the meta object for the reference list 'Guidances '.
+ * @see simplepdl.ProcessElement#getGuidances()
+ * @see #getProcessElement()
+ * @generated
+ */
+ EReference getProcessElement_Guidances();
+
/**
* Returns the meta object for class '{@link simplepdl.WorkDefinition Work Definition }'.
*
@@ -602,6 +732,17 @@ public interface SimplepdlPackage extends EPackage {
*/
EAttribute getResource_Name();
+ /**
+ * Returns the meta object for the reference list '{@link simplepdl.Resource#getRequests Requests }'.
+ *
+ *
+ * @return the meta object for the reference list 'Requests '.
+ * @see simplepdl.Resource#getRequests()
+ * @see #getResource()
+ * @generated
+ */
+ EReference getResource_Requests();
+
/**
* Returns the meta object for class '{@link simplepdl.Request Request }'.
*
@@ -634,6 +775,17 @@ public interface SimplepdlPackage extends EPackage {
*/
EReference getRequest_Target();
+ /**
+ * Returns the meta object for the container reference '{@link simplepdl.Request#getRequester Requester }'.
+ *
+ *
+ * @return the meta object for the container reference 'Requester '.
+ * @see simplepdl.Request#getRequester()
+ * @see #getRequest()
+ * @generated
+ */
+ EReference getRequest_Requester();
+
/**
* Returns the meta object for enum '{@link simplepdl.WorkSequenceType Work Sequence Type }'.
*
@@ -677,6 +829,22 @@ public interface SimplepdlPackage extends EPackage {
*/
EClass PROCESS_ELEMENT = eINSTANCE.getProcessElement();
+ /**
+ * The meta object literal for the 'Process ' container reference feature.
+ *
+ *
+ * @generated
+ */
+ EReference PROCESS_ELEMENT__PROCESS = eINSTANCE.getProcessElement_Process();
+
+ /**
+ * The meta object literal for the 'Guidances ' reference list feature.
+ *
+ *
+ * @generated
+ */
+ EReference PROCESS_ELEMENT__GUIDANCES = eINSTANCE.getProcessElement_Guidances();
+
/**
* The meta object literal for the '{@link simplepdl.impl.WorkDefinitionImpl Work Definition }' class.
*
@@ -831,6 +999,14 @@ public interface SimplepdlPackage extends EPackage {
*/
EAttribute RESOURCE__NAME = eINSTANCE.getResource_Name();
+ /**
+ * The meta object literal for the 'Requests ' reference list feature.
+ *
+ *
+ * @generated
+ */
+ EReference RESOURCE__REQUESTS = eINSTANCE.getResource_Requests();
+
/**
* The meta object literal for the '{@link simplepdl.impl.RequestImpl Request }' class.
*
@@ -857,6 +1033,14 @@ public interface SimplepdlPackage extends EPackage {
*/
EReference REQUEST__TARGET = eINSTANCE.getRequest_Target();
+ /**
+ * The meta object literal for the 'Requester ' container reference feature.
+ *
+ *
+ * @generated
+ */
+ EReference REQUEST__REQUESTER = eINSTANCE.getRequest_Requester();
+
/**
* The meta object literal for the '{@link simplepdl.WorkSequenceType Work Sequence Type }' enum.
*
diff --git a/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/WorkDefinition.java b/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/WorkDefinition.java
index b4c6357..4af9f4f 100644
--- a/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/WorkDefinition.java
+++ b/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/WorkDefinition.java
@@ -77,11 +77,13 @@ public interface WorkDefinition extends ProcessElement {
/**
* Returns the value of the 'Requests ' containment reference list.
* The list contents are of type {@link simplepdl.Request}.
+ * It is bidirectional and its opposite is '{@link simplepdl.Request#getRequester Requester }'.
*
*
* @return the value of the 'Requests ' containment reference list.
* @see simplepdl.SimplepdlPackage#getWorkDefinition_Requests()
- * @model containment="true"
+ * @see simplepdl.Request#getRequester
+ * @model opposite="requester" containment="true"
* @generated
*/
EList getRequests();
diff --git a/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/impl/GuidanceImpl.java b/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/impl/GuidanceImpl.java
index fb8f7a0..467aa4f 100644
--- a/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/impl/GuidanceImpl.java
+++ b/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/impl/GuidanceImpl.java
@@ -6,14 +6,15 @@ import java.util.Collection;
import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.emf.ecore.util.EObjectResolvingEList;
-
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
import simplepdl.Guidance;
import simplepdl.ProcessElement;
import simplepdl.SimplepdlPackage;
@@ -110,11 +111,40 @@ public class GuidanceImpl extends ProcessElementImpl implements Guidance {
*/
public EList getElements() {
if (elements == null) {
- elements = new EObjectResolvingEList(ProcessElement.class, this, SimplepdlPackage.GUIDANCE__ELEMENTS);
+ elements = new EObjectWithInverseResolvingEList.ManyInverse(ProcessElement.class, this, SimplepdlPackage.GUIDANCE__ELEMENTS, SimplepdlPackage.PROCESS_ELEMENT__GUIDANCES);
}
return elements;
}
+ /**
+ *
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SimplepdlPackage.GUIDANCE__ELEMENTS:
+ return ((InternalEList)(InternalEList>)getElements()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SimplepdlPackage.GUIDANCE__ELEMENTS:
+ return ((InternalEList>)getElements()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
/**
*
*
diff --git a/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/impl/ProcessElementImpl.java b/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/impl/ProcessElementImpl.java
index 0df9f5f..d190613 100644
--- a/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/impl/ProcessElementImpl.java
+++ b/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/impl/ProcessElementImpl.java
@@ -2,10 +2,20 @@
*/
package simplepdl.impl;
+import java.util.Collection;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.util.InternalEList;
+import simplepdl.Guidance;
import simplepdl.ProcessElement;
import simplepdl.SimplepdlPackage;
@@ -13,10 +23,27 @@ import simplepdl.SimplepdlPackage;
*
* An implementation of the model object 'Process Element '.
*
+ *
+ * The following features are implemented:
+ *
+ *
+ * {@link simplepdl.impl.ProcessElementImpl#getProcess Process }
+ * {@link simplepdl.impl.ProcessElementImpl#getGuidances Guidances }
+ *
*
* @generated
*/
public abstract class ProcessElementImpl extends MinimalEObjectImpl.Container implements ProcessElement {
+ /**
+ * The cached value of the '{@link #getGuidances() Guidances }' reference list.
+ *
+ *
+ * @see #getGuidances()
+ * @generated
+ * @ordered
+ */
+ protected EList guidances;
+
/**
*
*
@@ -36,4 +63,176 @@ public abstract class ProcessElementImpl extends MinimalEObjectImpl.Container im
return SimplepdlPackage.Literals.PROCESS_ELEMENT;
}
+ /**
+ *
+ *
+ * @generated
+ */
+ public simplepdl.Process getProcess() {
+ if (eContainerFeatureID() != SimplepdlPackage.PROCESS_ELEMENT__PROCESS) return null;
+ return (simplepdl.Process)eInternalContainer();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public NotificationChain basicSetProcess(simplepdl.Process newProcess, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject)newProcess, SimplepdlPackage.PROCESS_ELEMENT__PROCESS, msgs);
+ return msgs;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public void setProcess(simplepdl.Process newProcess) {
+ if (newProcess != eInternalContainer() || (eContainerFeatureID() != SimplepdlPackage.PROCESS_ELEMENT__PROCESS && newProcess != null)) {
+ if (EcoreUtil.isAncestor(this, newProcess))
+ throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
+ NotificationChain msgs = null;
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ if (newProcess != null)
+ msgs = ((InternalEObject)newProcess).eInverseAdd(this, SimplepdlPackage.PROCESS__PROCESS_ELEMENTS, simplepdl.Process.class, msgs);
+ msgs = basicSetProcess(newProcess, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SimplepdlPackage.PROCESS_ELEMENT__PROCESS, newProcess, newProcess));
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EList getGuidances() {
+ if (guidances == null) {
+ guidances = new EObjectWithInverseResolvingEList.ManyInverse(Guidance.class, this, SimplepdlPackage.PROCESS_ELEMENT__GUIDANCES, SimplepdlPackage.GUIDANCE__ELEMENTS);
+ }
+ return guidances;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SimplepdlPackage.PROCESS_ELEMENT__PROCESS:
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetProcess((simplepdl.Process)otherEnd, msgs);
+ case SimplepdlPackage.PROCESS_ELEMENT__GUIDANCES:
+ return ((InternalEList)(InternalEList>)getGuidances()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SimplepdlPackage.PROCESS_ELEMENT__PROCESS:
+ return basicSetProcess(null, msgs);
+ case SimplepdlPackage.PROCESS_ELEMENT__GUIDANCES:
+ return ((InternalEList>)getGuidances()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case SimplepdlPackage.PROCESS_ELEMENT__PROCESS:
+ return eInternalContainer().eInverseRemove(this, SimplepdlPackage.PROCESS__PROCESS_ELEMENTS, simplepdl.Process.class, msgs);
+ }
+ return super.eBasicRemoveFromContainerFeature(msgs);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SimplepdlPackage.PROCESS_ELEMENT__PROCESS:
+ return getProcess();
+ case SimplepdlPackage.PROCESS_ELEMENT__GUIDANCES:
+ return getGuidances();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SimplepdlPackage.PROCESS_ELEMENT__PROCESS:
+ setProcess((simplepdl.Process)newValue);
+ return;
+ case SimplepdlPackage.PROCESS_ELEMENT__GUIDANCES:
+ getGuidances().clear();
+ getGuidances().addAll((Collection extends Guidance>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SimplepdlPackage.PROCESS_ELEMENT__PROCESS:
+ setProcess((simplepdl.Process)null);
+ return;
+ case SimplepdlPackage.PROCESS_ELEMENT__GUIDANCES:
+ getGuidances().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SimplepdlPackage.PROCESS_ELEMENT__PROCESS:
+ return getProcess() != null;
+ case SimplepdlPackage.PROCESS_ELEMENT__GUIDANCES:
+ return guidances != null && !guidances.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
} //ProcessElementImpl
diff --git a/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/impl/ProcessImpl.java b/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/impl/ProcessImpl.java
index a6908b3..7f5fdd9 100644
--- a/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/impl/ProcessImpl.java
+++ b/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/impl/ProcessImpl.java
@@ -14,8 +14,7 @@ import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
import org.eclipse.emf.ecore.util.InternalEList;
import simplepdl.ProcessElement;
@@ -113,11 +112,26 @@ public class ProcessImpl extends MinimalEObjectImpl.Container implements simplep
*/
public EList getProcessElements() {
if (processElements == null) {
- processElements = new EObjectContainmentEList(ProcessElement.class, this, SimplepdlPackage.PROCESS__PROCESS_ELEMENTS);
+ processElements = new EObjectContainmentWithInverseEList(ProcessElement.class, this, SimplepdlPackage.PROCESS__PROCESS_ELEMENTS, SimplepdlPackage.PROCESS_ELEMENT__PROCESS);
}
return processElements;
}
+ /**
+ *
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SimplepdlPackage.PROCESS__PROCESS_ELEMENTS:
+ return ((InternalEList)(InternalEList>)getProcessElements()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
/**
*
*
diff --git a/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/impl/RequestImpl.java b/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/impl/RequestImpl.java
index 4489022..359f8fa 100644
--- a/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/impl/RequestImpl.java
+++ b/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/impl/RequestImpl.java
@@ -4,15 +4,18 @@ package simplepdl.impl;
import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EcoreUtil;
import simplepdl.Request;
import simplepdl.Resource;
import simplepdl.SimplepdlPackage;
+import simplepdl.WorkDefinition;
/**
*
@@ -24,6 +27,7 @@ import simplepdl.SimplepdlPackage;
*
* {@link simplepdl.impl.RequestImpl#getQuantity Quantity }
* {@link simplepdl.impl.RequestImpl#getTarget Target }
+ * {@link simplepdl.impl.RequestImpl#getRequester Requester }
*
*
* @generated
@@ -130,11 +134,124 @@ public class RequestImpl extends MinimalEObjectImpl.Container implements Request
*
* @generated
*/
- public void setTarget(Resource newTarget) {
+ public NotificationChain basicSetTarget(Resource newTarget, NotificationChain msgs) {
Resource oldTarget = target;
target = newTarget;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, SimplepdlPackage.REQUEST__TARGET, oldTarget, target));
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SimplepdlPackage.REQUEST__TARGET, oldTarget, newTarget);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public void setTarget(Resource newTarget) {
+ if (newTarget != target) {
+ NotificationChain msgs = null;
+ if (target != null)
+ msgs = ((InternalEObject)target).eInverseRemove(this, SimplepdlPackage.RESOURCE__REQUESTS, Resource.class, msgs);
+ if (newTarget != null)
+ msgs = ((InternalEObject)newTarget).eInverseAdd(this, SimplepdlPackage.RESOURCE__REQUESTS, Resource.class, msgs);
+ msgs = basicSetTarget(newTarget, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SimplepdlPackage.REQUEST__TARGET, newTarget, newTarget));
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public WorkDefinition getRequester() {
+ if (eContainerFeatureID() != SimplepdlPackage.REQUEST__REQUESTER) return null;
+ return (WorkDefinition)eInternalContainer();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public NotificationChain basicSetRequester(WorkDefinition newRequester, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject)newRequester, SimplepdlPackage.REQUEST__REQUESTER, msgs);
+ return msgs;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public void setRequester(WorkDefinition newRequester) {
+ if (newRequester != eInternalContainer() || (eContainerFeatureID() != SimplepdlPackage.REQUEST__REQUESTER && newRequester != null)) {
+ if (EcoreUtil.isAncestor(this, newRequester))
+ throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
+ NotificationChain msgs = null;
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ if (newRequester != null)
+ msgs = ((InternalEObject)newRequester).eInverseAdd(this, SimplepdlPackage.WORK_DEFINITION__REQUESTS, WorkDefinition.class, msgs);
+ msgs = basicSetRequester(newRequester, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SimplepdlPackage.REQUEST__REQUESTER, newRequester, newRequester));
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SimplepdlPackage.REQUEST__TARGET:
+ if (target != null)
+ msgs = ((InternalEObject)target).eInverseRemove(this, SimplepdlPackage.RESOURCE__REQUESTS, Resource.class, msgs);
+ return basicSetTarget((Resource)otherEnd, msgs);
+ case SimplepdlPackage.REQUEST__REQUESTER:
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetRequester((WorkDefinition)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SimplepdlPackage.REQUEST__TARGET:
+ return basicSetTarget(null, msgs);
+ case SimplepdlPackage.REQUEST__REQUESTER:
+ return basicSetRequester(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case SimplepdlPackage.REQUEST__REQUESTER:
+ return eInternalContainer().eInverseRemove(this, SimplepdlPackage.WORK_DEFINITION__REQUESTS, WorkDefinition.class, msgs);
+ }
+ return super.eBasicRemoveFromContainerFeature(msgs);
}
/**
@@ -150,6 +267,8 @@ public class RequestImpl extends MinimalEObjectImpl.Container implements Request
case SimplepdlPackage.REQUEST__TARGET:
if (resolve) return getTarget();
return basicGetTarget();
+ case SimplepdlPackage.REQUEST__REQUESTER:
+ return getRequester();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -168,6 +287,9 @@ public class RequestImpl extends MinimalEObjectImpl.Container implements Request
case SimplepdlPackage.REQUEST__TARGET:
setTarget((Resource)newValue);
return;
+ case SimplepdlPackage.REQUEST__REQUESTER:
+ setRequester((WorkDefinition)newValue);
+ return;
}
super.eSet(featureID, newValue);
}
@@ -186,6 +308,9 @@ public class RequestImpl extends MinimalEObjectImpl.Container implements Request
case SimplepdlPackage.REQUEST__TARGET:
setTarget((Resource)null);
return;
+ case SimplepdlPackage.REQUEST__REQUESTER:
+ setRequester((WorkDefinition)null);
+ return;
}
super.eUnset(featureID);
}
@@ -202,6 +327,8 @@ public class RequestImpl extends MinimalEObjectImpl.Container implements Request
return quantity != QUANTITY_EDEFAULT;
case SimplepdlPackage.REQUEST__TARGET:
return target != null;
+ case SimplepdlPackage.REQUEST__REQUESTER:
+ return getRequester() != null;
}
return super.eIsSet(featureID);
}
diff --git a/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/impl/ResourceImpl.java b/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/impl/ResourceImpl.java
index 3c36103..d0c8161 100644
--- a/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/impl/ResourceImpl.java
+++ b/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/impl/ResourceImpl.java
@@ -2,12 +2,19 @@
*/
package simplepdl.impl;
+import java.util.Collection;
import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import simplepdl.Request;
import simplepdl.Resource;
import simplepdl.SimplepdlPackage;
@@ -21,6 +28,7 @@ import simplepdl.SimplepdlPackage;
*
* {@link simplepdl.impl.ResourceImpl#getQuantity Quantity }
* {@link simplepdl.impl.ResourceImpl#getName Name }
+ * {@link simplepdl.impl.ResourceImpl#getRequests Requests }
*
*
* @generated
@@ -66,6 +74,16 @@ public class ResourceImpl extends ProcessElementImpl implements Resource {
*/
protected String name = NAME_EDEFAULT;
+ /**
+ * The cached value of the '{@link #getRequests() Requests }' reference list.
+ *
+ *
+ * @see #getRequests()
+ * @generated
+ * @ordered
+ */
+ protected EList requests;
+
/**
*
*
@@ -127,6 +145,47 @@ public class ResourceImpl extends ProcessElementImpl implements Resource {
eNotify(new ENotificationImpl(this, Notification.SET, SimplepdlPackage.RESOURCE__NAME, oldName, name));
}
+ /**
+ *
+ *
+ * @generated
+ */
+ public EList getRequests() {
+ if (requests == null) {
+ requests = new EObjectWithInverseResolvingEList(Request.class, this, SimplepdlPackage.RESOURCE__REQUESTS, SimplepdlPackage.REQUEST__TARGET);
+ }
+ return requests;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SimplepdlPackage.RESOURCE__REQUESTS:
+ return ((InternalEList)(InternalEList>)getRequests()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SimplepdlPackage.RESOURCE__REQUESTS:
+ return ((InternalEList>)getRequests()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
/**
*
*
@@ -139,6 +198,8 @@ public class ResourceImpl extends ProcessElementImpl implements Resource {
return getQuantity();
case SimplepdlPackage.RESOURCE__NAME:
return getName();
+ case SimplepdlPackage.RESOURCE__REQUESTS:
+ return getRequests();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -148,6 +209,7 @@ public class ResourceImpl extends ProcessElementImpl implements Resource {
*
* @generated
*/
+ @SuppressWarnings("unchecked")
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
@@ -157,6 +219,10 @@ public class ResourceImpl extends ProcessElementImpl implements Resource {
case SimplepdlPackage.RESOURCE__NAME:
setName((String)newValue);
return;
+ case SimplepdlPackage.RESOURCE__REQUESTS:
+ getRequests().clear();
+ getRequests().addAll((Collection extends Request>)newValue);
+ return;
}
super.eSet(featureID, newValue);
}
@@ -175,6 +241,9 @@ public class ResourceImpl extends ProcessElementImpl implements Resource {
case SimplepdlPackage.RESOURCE__NAME:
setName(NAME_EDEFAULT);
return;
+ case SimplepdlPackage.RESOURCE__REQUESTS:
+ getRequests().clear();
+ return;
}
super.eUnset(featureID);
}
@@ -191,6 +260,8 @@ public class ResourceImpl extends ProcessElementImpl implements Resource {
return quantity != QUANTITY_EDEFAULT;
case SimplepdlPackage.RESOURCE__NAME:
return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case SimplepdlPackage.RESOURCE__REQUESTS:
+ return requests != null && !requests.isEmpty();
}
return super.eIsSet(featureID);
}
diff --git a/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/impl/SimplepdlPackageImpl.java b/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/impl/SimplepdlPackageImpl.java
index 808fb5e..ea99c1d 100644
--- a/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/impl/SimplepdlPackageImpl.java
+++ b/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/impl/SimplepdlPackageImpl.java
@@ -153,6 +153,24 @@ public class SimplepdlPackageImpl extends EPackageImpl implements SimplepdlPacka
return processElementEClass;
}
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getProcessElement_Process() {
+ return (EReference)processElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getProcessElement_Guidances() {
+ return (EReference)processElementEClass.getEStructuralFeatures().get(1);
+ }
+
/**
*
*
@@ -315,6 +333,15 @@ public class SimplepdlPackageImpl extends EPackageImpl implements SimplepdlPacka
return (EAttribute)resourceEClass.getEStructuralFeatures().get(1);
}
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getResource_Requests() {
+ return (EReference)resourceEClass.getEStructuralFeatures().get(2);
+ }
+
/**
*
*
@@ -342,6 +369,15 @@ public class SimplepdlPackageImpl extends EPackageImpl implements SimplepdlPacka
return (EReference)requestEClass.getEStructuralFeatures().get(1);
}
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getRequest_Requester() {
+ return (EReference)requestEClass.getEStructuralFeatures().get(2);
+ }
+
/**
*
*
@@ -380,6 +416,8 @@ public class SimplepdlPackageImpl extends EPackageImpl implements SimplepdlPacka
// Create classes and their features
processElementEClass = createEClass(PROCESS_ELEMENT);
+ createEReference(processElementEClass, PROCESS_ELEMENT__PROCESS);
+ createEReference(processElementEClass, PROCESS_ELEMENT__GUIDANCES);
workDefinitionEClass = createEClass(WORK_DEFINITION);
createEReference(workDefinitionEClass, WORK_DEFINITION__LINKS_TO_PREDECESSORS);
@@ -403,10 +441,12 @@ public class SimplepdlPackageImpl extends EPackageImpl implements SimplepdlPacka
resourceEClass = createEClass(RESOURCE);
createEAttribute(resourceEClass, RESOURCE__QUANTITY);
createEAttribute(resourceEClass, RESOURCE__NAME);
+ createEReference(resourceEClass, RESOURCE__REQUESTS);
requestEClass = createEClass(REQUEST);
createEAttribute(requestEClass, REQUEST__QUANTITY);
createEReference(requestEClass, REQUEST__TARGET);
+ createEReference(requestEClass, REQUEST__REQUESTER);
// Create enums
workSequenceTypeEEnum = createEEnum(WORK_SEQUENCE_TYPE);
@@ -447,12 +487,14 @@ public class SimplepdlPackageImpl extends EPackageImpl implements SimplepdlPacka
// Initialize classes, features, and operations; add parameters
initEClass(processElementEClass, ProcessElement.class, "ProcessElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getProcessElement_Process(), this.getProcess(), this.getProcess_ProcessElements(), "process", null, 1, 1, ProcessElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getProcessElement_Guidances(), this.getGuidance(), this.getGuidance_Elements(), "guidances", null, 0, -1, ProcessElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(workDefinitionEClass, WorkDefinition.class, "WorkDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getWorkDefinition_LinksToPredecessors(), this.getWorkSequence(), this.getWorkSequence_Successor(), "linksToPredecessors", null, 0, -1, WorkDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getWorkDefinition_LinksToSuccessors(), this.getWorkSequence(), this.getWorkSequence_Predecessor(), "linksToSuccessors", null, 0, -1, WorkDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getWorkDefinition_Name(), ecorePackage.getEString(), "name", null, 1, 1, WorkDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getWorkDefinition_Requests(), this.getRequest(), null, "requests", null, 0, -1, WorkDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getWorkDefinition_Requests(), this.getRequest(), this.getRequest_Requester(), "requests", null, 0, -1, WorkDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(workSequenceEClass, WorkSequence.class, "WorkSequence", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getWorkSequence_LinkType(), this.getWorkSequenceType(), "linkType", null, 1, 1, WorkSequence.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -461,19 +503,21 @@ public class SimplepdlPackageImpl extends EPackageImpl implements SimplepdlPacka
initEClass(processEClass, simplepdl.Process.class, "Process", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getProcess_Name(), ecorePackage.getEString(), "name", null, 1, 1, simplepdl.Process.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getProcess_ProcessElements(), this.getProcessElement(), null, "processElements", null, 0, -1, simplepdl.Process.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getProcess_ProcessElements(), this.getProcessElement(), this.getProcessElement_Process(), "processElements", null, 0, -1, simplepdl.Process.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(guidanceEClass, Guidance.class, "Guidance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getGuidance_Text(), ecorePackage.getEString(), "text", null, 1, 1, Guidance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getGuidance_Elements(), this.getProcessElement(), null, "elements", null, 0, -1, Guidance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getGuidance_Elements(), this.getProcessElement(), this.getProcessElement_Guidances(), "elements", null, 0, -1, Guidance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(resourceEClass, Resource.class, "Resource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getResource_Quantity(), ecorePackage.getEInt(), "quantity", null, 1, 1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getResource_Name(), ecorePackage.getEString(), "name", null, 1, 1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getResource_Requests(), this.getRequest(), this.getRequest_Target(), "requests", null, 0, -1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(requestEClass, Request.class, "Request", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getRequest_Quantity(), ecorePackage.getEInt(), "quantity", null, 1, 1, Request.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getRequest_Target(), this.getResource(), null, "target", null, 1, 1, Request.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRequest_Target(), this.getResource(), this.getResource_Requests(), "target", null, 1, 1, Request.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRequest_Requester(), this.getWorkDefinition(), this.getWorkDefinition_Requests(), "requester", null, 1, 1, Request.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
// Initialize enums and add enum literals
initEEnum(workSequenceTypeEEnum, WorkSequenceType.class, "WorkSequenceType");
diff --git a/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/impl/WorkDefinitionImpl.java b/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/impl/WorkDefinitionImpl.java
index 3e69f5f..f36a9b9 100644
--- a/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/impl/WorkDefinitionImpl.java
+++ b/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/impl/WorkDefinitionImpl.java
@@ -13,8 +13,7 @@ import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
import org.eclipse.emf.ecore.util.InternalEList;
@@ -161,7 +160,7 @@ public class WorkDefinitionImpl extends ProcessElementImpl implements WorkDefini
*/
public EList getRequests() {
if (requests == null) {
- requests = new EObjectContainmentEList(Request.class, this, SimplepdlPackage.WORK_DEFINITION__REQUESTS);
+ requests = new EObjectContainmentWithInverseEList(Request.class, this, SimplepdlPackage.WORK_DEFINITION__REQUESTS, SimplepdlPackage.REQUEST__REQUESTER);
}
return requests;
}
@@ -179,6 +178,8 @@ public class WorkDefinitionImpl extends ProcessElementImpl implements WorkDefini
return ((InternalEList)(InternalEList>)getLinksToPredecessors()).basicAdd(otherEnd, msgs);
case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS:
return ((InternalEList)(InternalEList>)getLinksToSuccessors()).basicAdd(otherEnd, msgs);
+ case SimplepdlPackage.WORK_DEFINITION__REQUESTS:
+ return ((InternalEList)(InternalEList>)getRequests()).basicAdd(otherEnd, msgs);
}
return super.eInverseAdd(otherEnd, featureID, msgs);
}