summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkwilk2012-05-22 13:24:32 (EDT)
committer Roberto E. Escobar2012-05-22 13:24:32 (EDT)
commit679377b03b6a4c98060c1bdf2215935691a9fdd9 (patch)
tree4d46b230c1842f6076c5d21298a6da79ca2324de
parentc545d7f5f0ed6bf416b478c8cb023fbdbff2cfa5 (diff)
downloadorg.eclipse.osee-679377b03b6a4c98060c1bdf2215935691a9fdd9.zip
org.eclipse.osee-679377b03b6a4c98060c1bdf2215935691a9fdd9.tar.gz
org.eclipse.osee-679377b03b6a4c98060c1bdf2215935691a9fdd9.tar.bz2
feature: Add parallel configuration to AtsDsl
-rw-r--r--plugins/org.eclipse.osee.ats.dsl/src-gen/org/eclipse/osee/ats/dsl/atsDsl/Program.java74
-rw-r--r--plugins/org.eclipse.osee.ats.dsl/src-gen/org/eclipse/osee/ats/dsl/atsDsl/ProgramParallelConfiguration.java55
-rw-r--r--plugins/org.eclipse.osee.ats.dsl/src-gen/org/eclipse/osee/ats/dsl/atsDsl/Version.java82
-rw-r--r--plugins/org.eclipse.osee.ats.dsl/src-gen/org/eclipse/osee/ats/dsl/atsDsl/VersionType.java55
-rw-r--r--plugins/org.eclipse.osee.ats.dsl/src-gen/org/eclipse/osee/ats/dsl/atsDsl/impl/ProgramImpl.java181
-rw-r--r--plugins/org.eclipse.osee.ats.dsl/src-gen/org/eclipse/osee/ats/dsl/atsDsl/impl/ProgramParallelConfigurationImpl.java181
-rw-r--r--plugins/org.eclipse.osee.ats.dsl/src-gen/org/eclipse/osee/ats/dsl/atsDsl/impl/VersionImpl.java269
-rw-r--r--plugins/org.eclipse.osee.ats.dsl/src/org/eclipse/osee/ats/dsl/AtsDsl.xtext23
8 files changed, 919 insertions, 1 deletions
diff --git a/plugins/org.eclipse.osee.ats.dsl/src-gen/org/eclipse/osee/ats/dsl/atsDsl/Program.java b/plugins/org.eclipse.osee.ats.dsl/src-gen/org/eclipse/osee/ats/dsl/atsDsl/Program.java
new file mode 100644
index 0000000..7367e84
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats.dsl/src-gen/org/eclipse/osee/ats/dsl/atsDsl/Program.java
@@ -0,0 +1,74 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.osee.ats.dsl.atsDsl;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Program</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.osee.ats.dsl.atsDsl.Program#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.osee.ats.dsl.atsDsl.Program#getVersion <em>Version</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osee.ats.dsl.atsDsl.AtsDslPackage#getProgram()
+ * @model
+ * @generated
+ */
+public interface Program extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.osee.ats.dsl.atsDsl.AtsDslPackage#getProgram_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.osee.ats.dsl.atsDsl.Program#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Version</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.osee.ats.dsl.atsDsl.Version}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Version</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Version</em>' containment reference list.
+ * @see org.eclipse.osee.ats.dsl.atsDsl.AtsDslPackage#getProgram_Version()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Version> getVersion();
+
+} // Program
diff --git a/plugins/org.eclipse.osee.ats.dsl/src-gen/org/eclipse/osee/ats/dsl/atsDsl/ProgramParallelConfiguration.java b/plugins/org.eclipse.osee.ats.dsl/src-gen/org/eclipse/osee/ats/dsl/atsDsl/ProgramParallelConfiguration.java
new file mode 100644
index 0000000..899eef4
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats.dsl/src-gen/org/eclipse/osee/ats/dsl/atsDsl/ProgramParallelConfiguration.java
@@ -0,0 +1,55 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.osee.ats.dsl.atsDsl;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Program Parallel Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.osee.ats.dsl.atsDsl.ProgramParallelConfiguration#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osee.ats.dsl.atsDsl.AtsDslPackage#getProgramParallelConfiguration()
+ * @model
+ * @generated
+ */
+public interface ProgramParallelConfiguration extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.osee.ats.dsl.atsDsl.AtsDslPackage#getProgramParallelConfiguration_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.osee.ats.dsl.atsDsl.ProgramParallelConfiguration#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+} // ProgramParallelConfiguration
diff --git a/plugins/org.eclipse.osee.ats.dsl/src-gen/org/eclipse/osee/ats/dsl/atsDsl/Version.java b/plugins/org.eclipse.osee.ats.dsl/src-gen/org/eclipse/osee/ats/dsl/atsDsl/Version.java
new file mode 100644
index 0000000..4fefda4
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats.dsl/src-gen/org/eclipse/osee/ats/dsl/atsDsl/Version.java
@@ -0,0 +1,82 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.osee.ats.dsl.atsDsl;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Version</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.osee.ats.dsl.atsDsl.Version#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.osee.ats.dsl.atsDsl.Version#getConfigurationId <em>Configuration Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osee.ats.dsl.atsDsl.AtsDslPackage#getVersion()
+ * @model
+ * @generated
+ */
+public interface Version extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.osee.ats.dsl.atsDsl.AtsDslPackage#getVersion_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.osee.ats.dsl.atsDsl.Version#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Configuration Id</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Configuration Id</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Configuration Id</em>' containment reference.
+ * @see #setConfigurationId(ProgramParallelConfiguration)
+ * @see org.eclipse.osee.ats.dsl.atsDsl.AtsDslPackage#getVersion_ConfigurationId()
+ * @model containment="true"
+ * @generated
+ */
+ ProgramParallelConfiguration getConfigurationId();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.osee.ats.dsl.atsDsl.Version#getConfigurationId <em>Configuration Id</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Configuration Id</em>' containment reference.
+ * @see #getConfigurationId()
+ * @generated
+ */
+ void setConfigurationId(ProgramParallelConfiguration value);
+
+} // Version
diff --git a/plugins/org.eclipse.osee.ats.dsl/src-gen/org/eclipse/osee/ats/dsl/atsDsl/VersionType.java b/plugins/org.eclipse.osee.ats.dsl/src-gen/org/eclipse/osee/ats/dsl/atsDsl/VersionType.java
new file mode 100644
index 0000000..ee041c7
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats.dsl/src-gen/org/eclipse/osee/ats/dsl/atsDsl/VersionType.java
@@ -0,0 +1,55 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.osee.ats.dsl.atsDsl;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Version Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.osee.ats.dsl.atsDsl.VersionType#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osee.ats.dsl.atsDsl.AtsDslPackage#getVersionType()
+ * @model
+ * @generated
+ */
+public interface VersionType extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.osee.ats.dsl.atsDsl.AtsDslPackage#getVersionType_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.osee.ats.dsl.atsDsl.VersionType#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+} // VersionType
diff --git a/plugins/org.eclipse.osee.ats.dsl/src-gen/org/eclipse/osee/ats/dsl/atsDsl/impl/ProgramImpl.java b/plugins/org.eclipse.osee.ats.dsl/src-gen/org/eclipse/osee/ats/dsl/atsDsl/impl/ProgramImpl.java
new file mode 100644
index 0000000..1a8d57f
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats.dsl/src-gen/org/eclipse/osee/ats/dsl/atsDsl/impl/ProgramImpl.java
@@ -0,0 +1,181 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.osee.ats.dsl.atsDsl.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 org.eclipse.osee.ats.dsl.atsDsl.AtsDslPackage;
+import org.eclipse.osee.ats.dsl.atsDsl.Program;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Program</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.osee.ats.dsl.atsDsl.impl.ProgramImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ProgramImpl extends MinimalEObjectImpl.Container implements Program
+{
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ProgramImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AtsDslPackage.Literals.PROGRAM;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AtsDslPackage.PROGRAM__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AtsDslPackage.PROGRAM__NAME:
+ return getName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AtsDslPackage.PROGRAM__NAME:
+ setName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AtsDslPackage.PROGRAM__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AtsDslPackage.PROGRAM__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ProgramImpl
diff --git a/plugins/org.eclipse.osee.ats.dsl/src-gen/org/eclipse/osee/ats/dsl/atsDsl/impl/ProgramParallelConfigurationImpl.java b/plugins/org.eclipse.osee.ats.dsl/src-gen/org/eclipse/osee/ats/dsl/atsDsl/impl/ProgramParallelConfigurationImpl.java
new file mode 100644
index 0000000..3181129
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats.dsl/src-gen/org/eclipse/osee/ats/dsl/atsDsl/impl/ProgramParallelConfigurationImpl.java
@@ -0,0 +1,181 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.osee.ats.dsl.atsDsl.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 org.eclipse.osee.ats.dsl.atsDsl.AtsDslPackage;
+import org.eclipse.osee.ats.dsl.atsDsl.ProgramParallelConfiguration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Program Parallel Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.osee.ats.dsl.atsDsl.impl.ProgramParallelConfigurationImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ProgramParallelConfigurationImpl extends MinimalEObjectImpl.Container implements ProgramParallelConfiguration
+{
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ProgramParallelConfigurationImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AtsDslPackage.Literals.PROGRAM_PARALLEL_CONFIGURATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AtsDslPackage.PROGRAM_PARALLEL_CONFIGURATION__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AtsDslPackage.PROGRAM_PARALLEL_CONFIGURATION__NAME:
+ return getName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AtsDslPackage.PROGRAM_PARALLEL_CONFIGURATION__NAME:
+ setName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AtsDslPackage.PROGRAM_PARALLEL_CONFIGURATION__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AtsDslPackage.PROGRAM_PARALLEL_CONFIGURATION__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ProgramParallelConfigurationImpl
diff --git a/plugins/org.eclipse.osee.ats.dsl/src-gen/org/eclipse/osee/ats/dsl/atsDsl/impl/VersionImpl.java b/plugins/org.eclipse.osee.ats.dsl/src-gen/org/eclipse/osee/ats/dsl/atsDsl/impl/VersionImpl.java
new file mode 100644
index 0000000..9a58089
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats.dsl/src-gen/org/eclipse/osee/ats/dsl/atsDsl/impl/VersionImpl.java
@@ -0,0 +1,269 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.osee.ats.dsl.atsDsl.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.osee.ats.dsl.atsDsl.AtsDslPackage;
+import org.eclipse.osee.ats.dsl.atsDsl.ProgramParallelConfiguration;
+import org.eclipse.osee.ats.dsl.atsDsl.Version;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Version</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.osee.ats.dsl.atsDsl.impl.VersionImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.osee.ats.dsl.atsDsl.impl.VersionImpl#getConfigurationId <em>Configuration Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class VersionImpl extends MinimalEObjectImpl.Container implements Version
+{
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getConfigurationId() <em>Configuration Id</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConfigurationId()
+ * @generated
+ * @ordered
+ */
+ protected ProgramParallelConfiguration configurationId;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected VersionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return AtsDslPackage.Literals.VERSION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AtsDslPackage.VERSION__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ProgramParallelConfiguration getConfigurationId()
+ {
+ return configurationId;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetConfigurationId(ProgramParallelConfiguration newConfigurationId, NotificationChain msgs)
+ {
+ ProgramParallelConfiguration oldConfigurationId = configurationId;
+ configurationId = newConfigurationId;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AtsDslPackage.VERSION__CONFIGURATION_ID, oldConfigurationId, newConfigurationId);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setConfigurationId(ProgramParallelConfiguration newConfigurationId)
+ {
+ if (newConfigurationId != configurationId)
+ {
+ NotificationChain msgs = null;
+ if (configurationId != null)
+ msgs = ((InternalEObject)configurationId).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - AtsDslPackage.VERSION__CONFIGURATION_ID, null, msgs);
+ if (newConfigurationId != null)
+ msgs = ((InternalEObject)newConfigurationId).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - AtsDslPackage.VERSION__CONFIGURATION_ID, null, msgs);
+ msgs = basicSetConfigurationId(newConfigurationId, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AtsDslPackage.VERSION__CONFIGURATION_ID, newConfigurationId, newConfigurationId));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case AtsDslPackage.VERSION__CONFIGURATION_ID:
+ return basicSetConfigurationId(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case AtsDslPackage.VERSION__NAME:
+ return getName();
+ case AtsDslPackage.VERSION__CONFIGURATION_ID:
+ return getConfigurationId();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case AtsDslPackage.VERSION__NAME:
+ setName((String)newValue);
+ return;
+ case AtsDslPackage.VERSION__CONFIGURATION_ID:
+ setConfigurationId((ProgramParallelConfiguration)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case AtsDslPackage.VERSION__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case AtsDslPackage.VERSION__CONFIGURATION_ID:
+ setConfigurationId((ProgramParallelConfiguration)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case AtsDslPackage.VERSION__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case AtsDslPackage.VERSION__CONFIGURATION_ID:
+ return configurationId != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //VersionImpl
diff --git a/plugins/org.eclipse.osee.ats.dsl/src/org/eclipse/osee/ats/dsl/AtsDsl.xtext b/plugins/org.eclipse.osee.ats.dsl/src/org/eclipse/osee/ats/dsl/AtsDsl.xtext
index e71242d..82a8472 100644
--- a/plugins/org.eclipse.osee.ats.dsl/src/org/eclipse/osee/ats/dsl/AtsDsl.xtext
+++ b/plugins/org.eclipse.osee.ats.dsl/src/org/eclipse/osee/ats/dsl/AtsDsl.xtext
@@ -6,7 +6,28 @@ AtsDsl:
('workDefinition' workDef=WorkDef)?
('userDefinition' userDef+=UserDef)*
('teamDefinition' teamDef+=TeamDef)*
- ('actionableItem' actionableItemDef+=ActionableItemDef)*;
+ ('actionableItem' actionableItemDef+=ActionableItemDef)*
+ ('program' program = Program)?
+;
+
+Program:
+ name = STRING
+ '{'
+ version += Version
+ '}'
+;
+
+Version:
+ 'version' name = STRING
+ ('{'
+ 'parallel configuration' configurationId = ProgramParallelConfiguration
+ '}')?
+;
+
+ProgramParallelConfiguration:
+ name = ID
+;
+
USER_DEF_REFERENCE:
STRING;