nasa$certware
EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor
void
void completeDecomposition_Name(EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor)
EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor
void
void completeDecomposition_Id(EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor)
nasa$certware
EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor
void
void completeDocItem_Name(EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor)
EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor
void
void completeDocItem_Id(EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor)
nasa$certware
EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor
void
void completeIntent_Name(EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor)
EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor
void
void completeIntent_Id(EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor)
nasa$certware
EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor
void
void completeListItem_Name(EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor)
EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor
void
void completeListItem_Id(EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor)
nasa$certware
EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor
void
void completeModelItem_Name(EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor)
EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor
void
void completeModelItem_Id(EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor)
nasa$certware
EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor
void
void completeRefinement_Name(EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor)
EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor
void
void completeRefinement_Id(EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor)
nasa$certware
EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor
void
void completeSpecification_Name(EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor)
EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor
void
void completeSpecification_Id(EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor)
nasa$certware
return cTypeNameAlternatives_0;
Alternatives
Alternatives getTypeNameAlternatives_0()
return cAlternatives;
Alternatives
Alternatives getAlternatives()
nasa$certware
return cTypeNameAlternatives_0;
Alternatives
Alternatives getTypeNameAlternatives_0()
return cAlternatives;
Alternatives
Alternatives getAlternatives()
nasa$certware
return cTypeNameAlternatives_0;
Alternatives
Alternatives getTypeNameAlternatives_0()
return cAlternatives;
Alternatives
Alternatives getAlternatives()
nasa$certware
return cTypeNameAlternatives_0;
Alternatives
Alternatives getTypeNameAlternatives_0()
return cAlternatives;
Alternatives
Alternatives getAlternatives()
nasa$certware
return cTypeNameAlternatives_0;
Alternatives
Alternatives getTypeNameAlternatives_0()
return cAlternatives;
Alternatives
Alternatives getAlternatives()
nasa$certware
return cTypeNameBasicKeyword_0_0;
Keyword
Keyword getTypeNameBasicKeyword_0_0()
return cBasicKeyword_0;
Keyword
Keyword getBasicKeyword_0()
nasa$certware
return cTypeNameBreakKeyword_0_2;
Keyword
Keyword getTypeNameBreakKeyword_0_2()
return cBreakKeyword_2;
Keyword
Keyword getBreakKeyword_2()
nasa$certware
return cTypeNameConditionKeyword_0_0;
Keyword
Keyword getTypeNameConditionKeyword_0_0()
return cConditionKeyword_0;
Keyword
Keyword getConditionKeyword_0()
nasa$certware
return cTypeNameConstraintKeyword_0_3;
Keyword
Keyword getTypeNameConstraintKeyword_0_3()
return cConstraintKeyword_3;
Keyword
Keyword getConstraintKeyword_3()
nasa$certware
EAttribute
EAttribute getDecomposition_Name()
EAttribute
EAttribute getDecomposition_Id()
nasa$certware
return cTypeNameDesignKeyword_0_4;
Keyword
Keyword getTypeNameDesignKeyword_0_4()
return cDesignKeyword_4;
Keyword
Keyword getDesignKeyword_4()
nasa$certware
EAttribute
EAttribute getDocItem_Name()
EAttribute
EAttribute getDocItem_Id()
nasa$certware
return cTypeNameEnvironmentKeyword_0_0;
Keyword
Keyword getTypeNameEnvironmentKeyword_0_0()
return cEnvironmentKeyword_0;
Keyword
Keyword getEnvironmentKeyword_0()
nasa$certware
return cTypeNameFigureKeyword_0_1;
Keyword
Keyword getTypeNameFigureKeyword_0_1()
return cFigureKeyword_1;
Keyword
Keyword getFigureKeyword_1()
nasa$certware
return cTypeNameFunctionKeyword_0_4;
Keyword
Keyword getTypeNameFunctionKeyword_0_4()
return cFunctionKeyword_4;
Keyword
Keyword getFunctionKeyword_4()
nasa$certware
return cTypeNameGoalKeyword_0_1;
Keyword
Keyword getTypeNameGoalKeyword_0_1()
return cGoalKeyword_1;
Keyword
Keyword getGoalKeyword_1()
nasa$certware
return cTypeNameHazardKeyword_0_2;
Keyword
Keyword getTypeNameHazardKeyword_0_2()
return cHazardKeyword_2;
Keyword
Keyword getHazardKeyword_2()
nasa$certware
String
String getName()
String
String getId()
nasa$certware
String
String getName()
String
String getId()
nasa$certware
String
String getName()
String
String getId()
nasa$certware
String
String getName()
String
String getId()
nasa$certware
String
String getName()
String
String getId()
nasa$certware
String
String getName()
String
String getId()
nasa$certware
String
String getName()
String
String getId()
nasa$certware
return cNameAssignment_1;
Assignment
Assignment getNameAssignment_1()
return cIdAssignment_1;
Assignment
Assignment getIdAssignment_1()
nasa$certware
return cNameAssignment_1;
Assignment
Assignment getNameAssignment_1()
return cIdAssignment_1;
Assignment
Assignment getIdAssignment_1()
nasa$certware
return cNameAssignment_1;
Assignment
Assignment getNameAssignment_1()
return cIdAssignment_1;
Assignment
Assignment getIdAssignment_1()
nasa$certware
return cNameAssignment_1;
Assignment
Assignment getNameAssignment_1()
return cIdAssignment_1;
Assignment
Assignment getIdAssignment_1()
nasa$certware
return cNameAssignment_1;
Assignment
Assignment getNameAssignment_1()
return cIdAssignment_1;
Assignment
Assignment getIdAssignment_1()
nasa$certware
return cNameAssignment_1;
Assignment
Assignment getNameAssignment_1()
return cIdAssignment_1;
Assignment
Assignment getIdAssignment_1()
nasa$certware
return cNameAssignment_1;
Assignment
Assignment getNameAssignment_1()
return cIdAssignment_1;
Assignment
Assignment getIdAssignment_1()
nasa$certware
return cNameIDTerminalRuleCall_1_0;
RuleCall
RuleCall getNameIDTerminalRuleCall_1_0()
return cIdIDTerminalRuleCall_1_0;
RuleCall
RuleCall getIdIDTerminalRuleCall_1_0()
nasa$certware
return cNameIDTerminalRuleCall_1_0;
RuleCall
RuleCall getNameIDTerminalRuleCall_1_0()
return cIdIDTerminalRuleCall_1_0;
RuleCall
RuleCall getIdIDTerminalRuleCall_1_0()
nasa$certware
return cNameIDTerminalRuleCall_1_0;
RuleCall
RuleCall getNameIDTerminalRuleCall_1_0()
return cIdIDTerminalRuleCall_1_0;
RuleCall
RuleCall getIdIDTerminalRuleCall_1_0()
nasa$certware
return cNameIDTerminalRuleCall_1_0;
RuleCall
RuleCall getNameIDTerminalRuleCall_1_0()
return cIdIDTerminalRuleCall_1_0;
RuleCall
RuleCall getIdIDTerminalRuleCall_1_0()
nasa$certware
return cNameIDTerminalRuleCall_1_0;
RuleCall
RuleCall getNameIDTerminalRuleCall_1_0()
return cIdIDTerminalRuleCall_1_0;
RuleCall
RuleCall getIdIDTerminalRuleCall_1_0()
nasa$certware
return cNameIDTerminalRuleCall_1_0;
RuleCall
RuleCall getNameIDTerminalRuleCall_1_0()
return cIdIDTerminalRuleCall_1_0;
RuleCall
RuleCall getIdIDTerminalRuleCall_1_0()
nasa$certware
return cNameIDTerminalRuleCall_1_0;
RuleCall
RuleCall getNameIDTerminalRuleCall_1_0()
return cIdIDTerminalRuleCall_1_0;
RuleCall
RuleCall getIdIDTerminalRuleCall_1_0()
nasa$certware
return cTypeNameImplementationKeyword_0_5;
Keyword
Keyword getTypeNameImplementationKeyword_0_5()
return cImplementationKeyword_5;
Keyword
Keyword getImplementationKeyword_5()
nasa$certware
return cTypeNameInputKeyword_0_5;
Keyword
Keyword getTypeNameInputKeyword_0_5()
return cInputKeyword_5;
Keyword
Keyword getInputKeyword_5()
nasa$certware
EAttribute
EAttribute getIntent_Name()
EAttribute
EAttribute getIntent_Id()
nasa$certware
EAttribute
EAttribute getListItem_Name()
EAttribute
EAttribute getListItem_Id()
nasa$certware
return cTypeNameMacroKeyword_0_3;
Keyword
Keyword getTypeNameMacroKeyword_0_3()
return cMacroKeyword_3;
Keyword
Keyword getMacroKeyword_3()
nasa$certware
return cTypeNameModeKeyword_0_1;
Keyword
Keyword getTypeNameModeKeyword_0_1()
return cModeKeyword_1;
Keyword
Keyword getModeKeyword_1()
nasa$certware
EAttribute
EAttribute getModelItem_Name()
EAttribute
EAttribute getModelItem_Id()
nasa$certware
return cTypeNameModelKeyword_0_3;
Keyword
Keyword getTypeNameModelKeyword_0_3()
return cModelKeyword_3;
Keyword
Keyword getModelKeyword_3()
nasa$certware
return cTypeNameModelsKeyword_0_3;
Keyword
Keyword getTypeNameModelsKeyword_0_3()
return cModelsKeyword_3;
Keyword
Keyword getModelsKeyword_3()
nasa$certware
return cTypeNameOperationKeyword_0_6;
Keyword
Keyword getTypeNameOperationKeyword_0_6()
return cOperationKeyword_6;
Keyword
Keyword getOperationKeyword_6()
nasa$certware
return cTypeNameOperatorKeyword_0_1;
Keyword
Keyword getTypeNameOperatorKeyword_0_1()
return cOperatorKeyword_1;
Keyword
Keyword getOperatorKeyword_1()
nasa$certware
return cTypeNameOutputKeyword_0_0;
Keyword
Keyword getTypeNameOutputKeyword_0_0()
return cOutputKeyword_0;
Keyword
Keyword getOutputKeyword_0()
nasa$certware
return cTypeNameParagraphKeyword_0_4;
Keyword
Keyword getTypeNameParagraphKeyword_0_4()
return cParagraphKeyword_4;
Keyword
Keyword getParagraphKeyword_4()
nasa$certware
return cTypeNamePrinciplesKeyword_0_2;
Keyword
Keyword getTypeNamePrinciplesKeyword_0_2()
return cPrinciplesKeyword_2;
Keyword
Keyword getPrinciplesKeyword_2()
nasa$certware
return cTypeNamePurposeKeyword_0_1;
Keyword
Keyword getTypeNamePurposeKeyword_0_1()
return cPurposeKeyword_1;
Keyword
Keyword getPurposeKeyword_1()
nasa$certware
EAttribute
EAttribute getRefinement_Name()
EAttribute
EAttribute getRefinement_Id()
nasa$certware
return cTypeNameRequirementKeyword_0_0;
Keyword
Keyword getTypeNameRequirementKeyword_0_0()
return cRequirementKeyword_0;
Keyword
Keyword getRequirementKeyword_0()
nasa$certware
return cTypeNameSectionKeyword_0_5;
Keyword
Keyword getTypeNameSectionKeyword_0_5()
return cSectionKeyword_5;
Keyword
Keyword getSectionKeyword_5()
nasa$certware
EAttribute
EAttribute getSpecification_Name()
EAttribute
EAttribute getSpecification_Id()
nasa$certware
return cTypeNameStateKeyword_0_2;
Keyword
Keyword getTypeNameStateKeyword_0_2()
return cStateKeyword_2;
Keyword
Keyword getStateKeyword_2()
nasa$certware
return cTypeNameSystemKeyword_0_2;
Keyword
Keyword getTypeNameSystemKeyword_0_2()
return cSystemKeyword_2;
Keyword
Keyword getSystemKeyword_2()
nasa$certware
return cTypeNameTableKeyword_0_6;
Keyword
Keyword getTypeNameTableKeyword_0_6()
return cTableKeyword_6;
Keyword
Keyword getTableKeyword_6()
nasa$certware
return cTypeNameVerificationKeyword_0_3;
Keyword
Keyword getTypeNameVerificationKeyword_0_3()
return cVerificationKeyword_3;
Keyword
Keyword getVerificationKeyword_3()
nasa$certware
void
void rule__Decomposition__NameAssignment_1()
void
void rule__Decomposition__IdAssignment_1()
nasa$certware
void
void rule__DocItem__NameAssignment_1()
void
void rule__DocItem__IdAssignment_1()
nasa$certware
void
void rule__Intent__NameAssignment_1()
void
void rule__Intent__IdAssignment_1()
nasa$certware
void
void rule__ListItem__NameAssignment_1()
void
void rule__ListItem__IdAssignment_1()
nasa$certware
void
void rule__ModelItem__NameAssignment_1()
void
void rule__ModelItem__IdAssignment_1()
nasa$certware
void
void rule__Refinement__NameAssignment_1()
void
void rule__Refinement__IdAssignment_1()
nasa$certware
void
void rule__Specification__NameAssignment_1()
void
void rule__Specification__IdAssignment_1()
nasa$certware
String newName
void
void setName(String newName)
String newId
void
void setId(String newId)
nasa$certware
String newName
void
void setName(String newName)
String newId
void
void setId(String newId)
nasa$certware
String newName
void
void setName(String newName)
String newType
void
void setType(String newType)
nasa$certware
String newName
void
void setName(String newName)
String newType
void
void setType(String newType)
nasa$certware
String newName
void
void setName(String newName)
String newType
void
void setType(String newType)
nasa$certware
String newName
void
void setName(String newName)
String newType
void
void setType(String newType)
nasa$certware
String newName
void
void setName(String newName)
String newType
void
void setType(String newType)
https://github.com/nasa/CertWare/blob/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent.ui%2Fplugin.xml
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent.ui%2Fplugin.xml?ref=27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9
net.certware.intent.ui/plugin.xml
              name="Intent Specification Editor">
              name="Intent Specification">
              name="Intent Specification">
            label="Intent Specification"/>
	        name="Intent Specification Problem"
	        name="Intent Specification Problem"
	        name="Intent Specification Problem"
            extensions="intent" label="Intent Specification Compare">
              name="IntentSpecification Editor">
              name="IntentSpecification">
              name="IntentSpecification">
            label="IntentSpecification"/>
	        name="IntentSpecification Problem"
	        name="IntentSpecification Problem"
	        name="IntentSpecification Problem"
            extensions="intent" label="IntentSpecification Compare">
@@ -12,7 +12,7 @@
               extensions="intent"
               icon="icons/obj16/intent.gif"
               id="net.certware.intent.IntentSpecification"
-              name="IntentSpecification Editor">
+              name="Intent Specification Editor">
         </editor>
     </extension>
     <extension
@@ -84,7 +84,7 @@
               category="certware"
               class="net.certware.intent.ui.IntentSpecificationExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
               id="net.certware.intent.IntentSpecification"
-              name="IntentSpecification">
+              name="Intent Specification">
             <keywordReference id="net.certware.intent.ui.keyword_IntentSpecification"/>
         </page>
         <page
@@ -108,7 +108,7 @@
               class="net.certware.intent.ui.IntentSpecificationExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
               icon="icons/obj16/intent.gif"
               id="net.certware.intent.IntentSpecification"
-              name="IntentSpecification">
+              name="Intent Specification">
             <keywordReference id="net.certware.intent.ui.keyword_IntentSpecification"/>
             <enabledWhen>
 	            <adapt type="org.eclipse.core.resources.IProject"/>
@@ -120,7 +120,7 @@
         point="org.eclipse.ui.keywords">
         <keyword
             id="net.certware.intent.ui.keyword_IntentSpecification"
-            label="IntentSpecification"/>
+            label="Intent Specification"/>
     </extension>
     <extension
          point="org.eclipse.ui.commands">
@@ -235,21 +235,21 @@
 	<!-- marker definitions for net.certware.intent.IntentSpecification -->
 	<extension
 	        id="intentspecification.check.fast"
-	        name="IntentSpecification Problem"
+	        name="Intent Specification Problem"
 	        point="org.eclipse.core.resources.markers">
 	    <super type="org.eclipse.xtext.ui.check.fast"/>
 	    <persistent value="true"/>
 	</extension>
 	<extension
 	        id="intentspecification.check.normal"
-	        name="IntentSpecification Problem"
+	        name="Intent Specification Problem"
 	        point="org.eclipse.core.resources.markers">
 	    <super type="org.eclipse.xtext.ui.check.normal"/>
 	    <persistent value="true"/>
 	</extension>
 	<extension
 	        id="intentspecification.check.expensive"
-	        name="IntentSpecification Problem"
+	        name="Intent Specification Problem"
 	        point="org.eclipse.core.resources.markers">
 	    <super type="org.eclipse.xtext.ui.check.expensive"/>
 	    <persistent value="true"/>
@@ -406,7 +406,7 @@
   <extension point="org.eclipse.compare.contentMergeViewers">
     <viewer id="net.certware.intent.IntentSpecification.compare.contentMergeViewers"
             class="net.certware.intent.ui.IntentSpecificationExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
-            extensions="intent" label="IntentSpecification Compare">
+            extensions="intent" label="Intent Specification Compare">
      </viewer>
   </extension>
   <extension point="org.eclipse.ui.editors.documentProviders">
https://github.com/nasa/CertWare/raw/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent.ui%2Fplugin.xml
52d4008c146ac7ae28f9ac61d210b6334ac321db
modified
https://github.com/nasa/CertWare/blob/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent.ui%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fui%2Fcontentassist%2FAbstractIntentSpecificationProposalProvider.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent.ui%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fui%2Fcontentassist%2FAbstractIntentSpecificationProposalProvider.java?ref=27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9
net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/AbstractIntentSpecificationProposalProvider.java
	public void completeSpecification_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeRefinement_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeIntent_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeIntentType_TypeName(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
		// subclasses may override
		// subclasses may override
		// subclasses may override
		// subclasses may override
		// subclasses may override
		// subclasses may override
		// subclasses may override
	}
	public void completeDecomposition_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeDecompositionType_TypeName(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
		// subclasses may override
		// subclasses may override
		// subclasses may override
		// subclasses may override
	}
	public void completeDocItemType_TypeName(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
		// subclasses may override
		// subclasses may override
		// subclasses may override
		// subclasses may override
		// subclasses may override
		// subclasses may override
		// subclasses may override
	}
	public void completeDocItem_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeModelType_TypeName(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
		// subclasses may override
		// subclasses may override
		// subclasses may override
		// subclasses may override
		// subclasses may override
		// subclasses may override
	}
	public void completeModelItem_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeListItemType_TypeName(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
		// subclasses may override
		// subclasses may override
		// subclasses may override
		// subclasses may override
	}
	public void completeListItem_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
EObject model  Assignment assignment  ContentAssistContext context  ICompletionProposalAcceptor acceptor
net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/AbstractIntentSpecificationProposalProvider.java
public void completeRefinement_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeIntent_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeIntentType_TypeName(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
		// subclasses may override
		// subclasses may override
		// subclasses may override
		// subclasses may override
		// subclasses may override
		// subclasses may override
		// subclasses may override
void completeSpecification_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor)
EObject model  Assignment assignment  ContentAssistContext context  ICompletionProposalAcceptor acceptor
net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/AbstractIntentSpecificationProposalProvider.java
public void completeDecompositionType_TypeName(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
		// subclasses may override
		// subclasses may override
		// subclasses may override
		// subclasses may override
void completeDecomposition_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor)
EObject model  Assignment assignment  ContentAssistContext context  ICompletionProposalAcceptor acceptor
net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/AbstractIntentSpecificationProposalProvider.java
// subclasses may override
		// subclasses may override
		// subclasses may override
		// subclasses may override
		// subclasses may override
		// subclasses may override
		// subclasses may override
void completeDocItemType_TypeName(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor)
EObject model  Assignment assignment  ContentAssistContext context  ICompletionProposalAcceptor acceptor
net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/AbstractIntentSpecificationProposalProvider.java
public void completeModelType_TypeName(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
		// subclasses may override
		// subclasses may override
		// subclasses may override
		// subclasses may override
		// subclasses may override
		// subclasses may override
void completeDocItem_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor)
EObject model  Assignment assignment  ContentAssistContext context  ICompletionProposalAcceptor acceptor
net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/AbstractIntentSpecificationProposalProvider.java
public void completeListItemType_TypeName(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
		// subclasses may override
		// subclasses may override
		// subclasses may override
		// subclasses may override
void completeModelItem_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor)
	public void completeSpecification_Id(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeRefinement_Id(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeIntent_Id(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeDecomposition_Id(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeDocItem_Id(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeModelItem_Id(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeListItem_Id(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
@@ -16,13 +16,13 @@
 @SuppressWarnings("all")
 public class AbstractIntentSpecificationProposalProvider extends org.eclipse.xtext.common.ui.contentassist.TerminalsProposalProvider {
 		
-	public void completeSpecification_Id(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+	public void completeSpecification_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
 	public void completeSpecification_Refinements(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
-	public void completeRefinement_Id(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+	public void completeRefinement_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
 	public void completeRefinement_Desc(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
@@ -34,7 +34,7 @@ public void completeRefinement_Intents(EObject model, Assignment assignment, Con
 	public void completeIntent_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
-	public void completeIntent_Id(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+	public void completeIntent_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
 	public void completeIntent_Desc(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
@@ -43,10 +43,19 @@ public void completeIntent_Desc(EObject model, Assignment assignment, ContentAss
 	public void completeIntent_Decompositions(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
+	public void completeIntentType_TypeName(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+		// subclasses may override
+		// subclasses may override
+		// subclasses may override
+		// subclasses may override
+		// subclasses may override
+		// subclasses may override
+	}
 	public void completeDecomposition_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
-	public void completeDecomposition_Id(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+	public void completeDecomposition_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
 	public void completeDecomposition_Desc(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
@@ -61,31 +70,60 @@ public void completeDecomposition_Models(EObject model, Assignment assignment, C
 	public void completeDecomposition_Items(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
+	public void completeDecompositionType_TypeName(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+		// subclasses may override
+		// subclasses may override
+		// subclasses may override
+	}
 	public void completeDocument_Entries(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
+	public void completeDocItemType_TypeName(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+		// subclasses may override
+		// subclasses may override
+		// subclasses may override
+		// subclasses may override
+		// subclasses may override
+		// subclasses may override
+	}
 	public void completeDocItem_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
-	public void completeDocItem_Id(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+	public void completeDocItem_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
 	public void completeDocItem_Ref(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
+	public void completeModelType_TypeName(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+		// subclasses may override
+		// subclasses may override
+		// subclasses may override
+		// subclasses may override
+		// subclasses may override
+	}
 	public void completeModelItem_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
-	public void completeModelItem_Id(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+	public void completeModelItem_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
 	public void completeModelItem_Desc(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
+	public void completeListItemType_TypeName(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+		// subclasses may override
+		// subclasses may override
+		// subclasses may override
+	}
 	public void completeListItem_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
-	public void completeListItem_Id(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+	public void completeListItem_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
 	public void completeListItem_Desc(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
https://github.com/nasa/CertWare/raw/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent.ui%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fui%2Fcontentassist%2FAbstractIntentSpecificationProposalProvider.java
945949ad08b9388eee93eff0ed125c80b438cf72
modified
https://github.com/nasa/CertWare/blob/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent.ui%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fui%2Fcontentassist%2Fantlr%2FIntentSpecificationParser.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent.ui%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fui%2Fcontentassist%2Fantlr%2FIntentSpecificationParser.java?ref=27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9
net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/IntentSpecificationParser.java
					put(grammarAccess.getIntentTypeAccess().getTypeNameAlternatives_0(), "rule__IntentType__TypeNameAlternatives_0");
					put(grammarAccess.getDecompositionTypeAccess().getTypeNameAlternatives_0(), "rule__DecompositionType__TypeNameAlternatives_0");
					put(grammarAccess.getDocItemTypeAccess().getTypeNameAlternatives_0(), "rule__DocItemType__TypeNameAlternatives_0");
					put(grammarAccess.getModelTypeAccess().getTypeNameAlternatives_0(), "rule__ModelType__TypeNameAlternatives_0");
					put(grammarAccess.getListItemTypeAccess().getTypeNameAlternatives_0(), "rule__ListItemType__TypeNameAlternatives_0");
					put(grammarAccess.getSpecificationAccess().getNameAssignment_1(), "rule__Specification__NameAssignment_1");
					put(grammarAccess.getRefinementAccess().getNameAssignment_1(), "rule__Refinement__NameAssignment_1");
					put(grammarAccess.getIntentAccess().getNameAssignment_1(), "rule__Intent__NameAssignment_1");
					put(grammarAccess.getIntentTypeAccess().getTypeNameAssignment(), "rule__IntentType__TypeNameAssignment");
					put(grammarAccess.getDecompositionAccess().getNameAssignment_1(), "rule__Decomposition__NameAssignment_1");
					put(grammarAccess.getDecompositionTypeAccess().getTypeNameAssignment(), "rule__DecompositionType__TypeNameAssignment");
					put(grammarAccess.getDocItemTypeAccess().getTypeNameAssignment(), "rule__DocItemType__TypeNameAssignment");
					put(grammarAccess.getDocItemAccess().getNameAssignment_1(), "rule__DocItem__NameAssignment_1");
					put(grammarAccess.getModelTypeAccess().getTypeNameAssignment(), "rule__ModelType__TypeNameAssignment");
					put(grammarAccess.getModelItemAccess().getNameAssignment_1(), "rule__ModelItem__NameAssignment_1");
					put(grammarAccess.getListItemTypeAccess().getTypeNameAssignment(), "rule__ListItemType__TypeNameAssignment");
					put(grammarAccess.getListItemAccess().getNameAssignment_1(), "rule__ListItem__NameAssignment_1");
					put(grammarAccess.getIntentTypeAccess().getAlternatives(), "rule__IntentType__Alternatives");
					put(grammarAccess.getDecompositionTypeAccess().getAlternatives(), "rule__DecompositionType__Alternatives");
					put(grammarAccess.getDocItemTypeAccess().getAlternatives(), "rule__DocItemType__Alternatives");
					put(grammarAccess.getModelTypeAccess().getAlternatives(), "rule__ModelType__Alternatives");
					put(grammarAccess.getListItemTypeAccess().getAlternatives(), "rule__ListItemType__Alternatives");
					put(grammarAccess.getSpecificationAccess().getIdAssignment_1(), "rule__Specification__IdAssignment_1");
					put(grammarAccess.getRefinementAccess().getIdAssignment_1(), "rule__Refinement__IdAssignment_1");
					put(grammarAccess.getIntentAccess().getIdAssignment_1(), "rule__Intent__IdAssignment_1");
					put(grammarAccess.getDecompositionAccess().getIdAssignment_1(), "rule__Decomposition__IdAssignment_1");
					put(grammarAccess.getDocItemAccess().getIdAssignment_1(), "rule__DocItem__IdAssignment_1");
					put(grammarAccess.getModelItemAccess().getIdAssignment_1(), "rule__ModelItem__IdAssignment_1");
					put(grammarAccess.getListItemAccess().getIdAssignment_1(), "rule__ListItem__IdAssignment_1");
@@ -37,11 +37,11 @@ protected String getRuleName(AbstractElement element) {
 			nameMappings = new HashMap<AbstractElement, String>() {
 				private static final long serialVersionUID = 1L;
 				{
-					put(grammarAccess.getIntentTypeAccess().getAlternatives(), "rule__IntentType__Alternatives");
-					put(grammarAccess.getDecompositionTypeAccess().getAlternatives(), "rule__DecompositionType__Alternatives");
-					put(grammarAccess.getDocItemTypeAccess().getAlternatives(), "rule__DocItemType__Alternatives");
-					put(grammarAccess.getModelTypeAccess().getAlternatives(), "rule__ModelType__Alternatives");
-					put(grammarAccess.getListItemTypeAccess().getAlternatives(), "rule__ListItemType__Alternatives");
+					put(grammarAccess.getIntentTypeAccess().getTypeNameAlternatives_0(), "rule__IntentType__TypeNameAlternatives_0");
+					put(grammarAccess.getDecompositionTypeAccess().getTypeNameAlternatives_0(), "rule__DecompositionType__TypeNameAlternatives_0");
+					put(grammarAccess.getDocItemTypeAccess().getTypeNameAlternatives_0(), "rule__DocItemType__TypeNameAlternatives_0");
+					put(grammarAccess.getModelTypeAccess().getTypeNameAlternatives_0(), "rule__ModelType__TypeNameAlternatives_0");
+					put(grammarAccess.getListItemTypeAccess().getTypeNameAlternatives_0(), "rule__ListItemType__TypeNameAlternatives_0");
 					put(grammarAccess.getSpecificationAccess().getGroup(), "rule__Specification__Group__0");
 					put(grammarAccess.getRefinementAccess().getGroup(), "rule__Refinement__Group__0");
 					put(grammarAccess.getIntentAccess().getGroup(), "rule__Intent__Group__0");
@@ -56,30 +56,35 @@ protected String getRuleName(AbstractElement element) {
 					put(grammarAccess.getListItemAccess().getGroup_3(), "rule__ListItem__Group_3__0");
 					put(grammarAccess.getListItemAccess().getGroup_4(), "rule__ListItem__Group_4__0");
 					put(grammarAccess.getListItemAccess().getGroup_5(), "rule__ListItem__Group_5__0");
-					put(grammarAccess.getSpecificationAccess().getIdAssignment_1(), "rule__Specification__IdAssignment_1");
+					put(grammarAccess.getSpecificationAccess().getNameAssignment_1(), "rule__Specification__NameAssignment_1");
 					put(grammarAccess.getSpecificationAccess().getRefinementsAssignment_2(), "rule__Specification__RefinementsAssignment_2");
-					put(grammarAccess.getRefinementAccess().getIdAssignment_1(), "rule__Refinement__IdAssignment_1");
+					put(grammarAccess.getRefinementAccess().getNameAssignment_1(), "rule__Refinement__NameAssignment_1");
 					put(grammarAccess.getRefinementAccess().getDescAssignment_2(), "rule__Refinement__DescAssignment_2");
 					put(grammarAccess.getRefinementAccess().getIntentsAssignment_3(), "rule__Refinement__IntentsAssignment_3");
 					put(grammarAccess.getIntentAccess().getTypeAssignment_0(), "rule__Intent__TypeAssignment_0");
-					put(grammarAccess.getIntentAccess().getIdAssignment_1(), "rule__Intent__IdAssignment_1");
+					put(grammarAccess.getIntentAccess().getNameAssignment_1(), "rule__Intent__NameAssignment_1");
 					put(grammarAccess.getIntentAccess().getDescAssignment_2(), "rule__Intent__DescAssignment_2");
 					put(grammarAccess.getIntentAccess().getDecompositionsAssignment_3(), "rule__Intent__DecompositionsAssignment_3");
+					put(grammarAccess.getIntentTypeAccess().getTypeNameAssignment(), "rule__IntentType__TypeNameAssignment");
 					put(grammarAccess.getDecompositionAccess().getTypeAssignment_0(), "rule__Decomposition__TypeAssignment_0");
-					put(grammarAccess.getDecompositionAccess().getIdAssignment_1(), "rule__Decomposition__IdAssignment_1");
+					put(grammarAccess.getDecompositionAccess().getNameAssignment_1(), "rule__Decomposition__NameAssignment_1");
 					put(grammarAccess.getDecompositionAccess().getDescAssignment_2(), "rule__Decomposition__DescAssignment_2");
 					put(grammarAccess.getDecompositionAccess().getDocumentsAssignment_3_1(), "rule__Decomposition__DocumentsAssignment_3_1");
 					put(grammarAccess.getDecompositionAccess().getModelsAssignment_4_1(), "rule__Decomposition__ModelsAssignment_4_1");
 					put(grammarAccess.getDecompositionAccess().getItemsAssignment_5_1(), "rule__Decomposition__ItemsAssignment_5_1");
+					put(grammarAccess.getDecompositionTypeAccess().getTypeNameAssignment(), "rule__DecompositionType__TypeNameAssignment");
 					put(grammarAccess.getDocumentAccess().getEntriesAssignment_1(), "rule__Document__EntriesAssignment_1");
+					put(grammarAccess.getDocItemTypeAccess().getTypeNameAssignment(), "rule__DocItemType__TypeNameAssignment");
 					put(grammarAccess.getDocItemAccess().getTypeAssignment_0(), "rule__DocItem__TypeAssignment_0");
-					put(grammarAccess.getDocItemAccess().getIdAssignment_1(), "rule__DocItem__IdAssignment_1");
+					put(grammarAccess.getDocItemAccess().getNameAssignment_1(), "rule__DocItem__NameAssignment_1");
 					put(grammarAccess.getDocItemAccess().getRefAssignment_2(), "rule__DocItem__RefAssignment_2");
+					put(grammarAccess.getModelTypeAccess().getTypeNameAssignment(), "rule__ModelType__TypeNameAssignment");
 					put(grammarAccess.getModelItemAccess().getTypeAssignment_0(), "rule__ModelItem__TypeAssignment_0");
-					put(grammarAccess.getModelItemAccess().getIdAssignment_1(), "rule__ModelItem__IdAssignment_1");
+					put(grammarAccess.getModelItemAccess().getNameAssignment_1(), "rule__ModelItem__NameAssignment_1");
 					put(grammarAccess.getModelItemAccess().getDescAssignment_2(), "rule__ModelItem__DescAssignment_2");
+					put(grammarAccess.getListItemTypeAccess().getTypeNameAssignment(), "rule__ListItemType__TypeNameAssignment");
 					put(grammarAccess.getListItemAccess().getTypeAssignment_0(), "rule__ListItem__TypeAssignment_0");
-					put(grammarAccess.getListItemAccess().getIdAssignment_1(), "rule__ListItem__IdAssignment_1");
+					put(grammarAccess.getListItemAccess().getNameAssignment_1(), "rule__ListItem__NameAssignment_1");
 					put(grammarAccess.getListItemAccess().getDescAssignment_2(), "rule__ListItem__DescAssignment_2");
 					put(grammarAccess.getListItemAccess().getDocReferencesAssignment_3_1(), "rule__ListItem__DocReferencesAssignment_3_1");
 					put(grammarAccess.getListItemAccess().getItemReferencesAssignment_4_1(), "rule__ListItem__ItemReferencesAssignment_4_1");
https://github.com/nasa/CertWare/raw/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent.ui%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fui%2Fcontentassist%2Fantlr%2FIntentSpecificationParser.java
5c5686f85064519494d96b38b242142fa1059954
modified
https://github.com/nasa/CertWare/blob/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent.ui%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fui%2Fcontentassist%2Fantlr%2Finternal%2FInternalIntentSpecification.g
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent.ui%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fui%2Fcontentassist%2Fantlr%2Finternal%2FInternalIntentSpecification.g?ref=27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9
net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g
{ before(grammarAccess.getIntentTypeAccess().getTypeNameAssignment()); }
(rule__IntentType__TypeNameAssignment)
{ after(grammarAccess.getIntentTypeAccess().getTypeNameAssignment()); }
{ before(grammarAccess.getDecompositionTypeAccess().getTypeNameAssignment()); }
(rule__DecompositionType__TypeNameAssignment)
{ after(grammarAccess.getDecompositionTypeAccess().getTypeNameAssignment()); }
{ before(grammarAccess.getDocItemTypeAccess().getTypeNameAssignment()); }
(rule__DocItemType__TypeNameAssignment)
{ after(grammarAccess.getDocItemTypeAccess().getTypeNameAssignment()); }
{ before(grammarAccess.getModelTypeAccess().getTypeNameAssignment()); }
(rule__ModelType__TypeNameAssignment)
{ after(grammarAccess.getModelTypeAccess().getTypeNameAssignment()); }
{ before(grammarAccess.getListItemTypeAccess().getTypeNameAssignment()); }
(rule__ListItemType__TypeNameAssignment)
{ after(grammarAccess.getListItemTypeAccess().getTypeNameAssignment()); }
rule__IntentType__TypeNameAlternatives_0
{ before(grammarAccess.getIntentTypeAccess().getTypeNameBasicKeyword_0_0()); }
{ after(grammarAccess.getIntentTypeAccess().getTypeNameBasicKeyword_0_0()); }
{ before(grammarAccess.getIntentTypeAccess().getTypeNamePurposeKeyword_0_1()); }
{ after(grammarAccess.getIntentTypeAccess().getTypeNamePurposeKeyword_0_1()); }
{ before(grammarAccess.getIntentTypeAccess().getTypeNamePrinciplesKeyword_0_2()); }
{ after(grammarAccess.getIntentTypeAccess().getTypeNamePrinciplesKeyword_0_2()); }
{ before(grammarAccess.getIntentTypeAccess().getTypeNameModelsKeyword_0_3()); }
{ after(grammarAccess.getIntentTypeAccess().getTypeNameModelsKeyword_0_3()); }
{ before(grammarAccess.getIntentTypeAccess().getTypeNameDesignKeyword_0_4()); }
{ after(grammarAccess.getIntentTypeAccess().getTypeNameDesignKeyword_0_4()); }
{ before(grammarAccess.getIntentTypeAccess().getTypeNameImplementationKeyword_0_5()); }
{ after(grammarAccess.getIntentTypeAccess().getTypeNameImplementationKeyword_0_5()); }
{ before(grammarAccess.getIntentTypeAccess().getTypeNameOperationKeyword_0_6()); }
{ after(grammarAccess.getIntentTypeAccess().getTypeNameOperationKeyword_0_6()); }
rule__DecompositionType__TypeNameAlternatives_0
{ before(grammarAccess.getDecompositionTypeAccess().getTypeNameEnvironmentKeyword_0_0()); }
{ after(grammarAccess.getDecompositionTypeAccess().getTypeNameEnvironmentKeyword_0_0()); }
{ before(grammarAccess.getDecompositionTypeAccess().getTypeNameOperatorKeyword_0_1()); }
{ after(grammarAccess.getDecompositionTypeAccess().getTypeNameOperatorKeyword_0_1()); }
{ before(grammarAccess.getDecompositionTypeAccess().getTypeNameSystemKeyword_0_2()); }
{ after(grammarAccess.getDecompositionTypeAccess().getTypeNameSystemKeyword_0_2()); }
{ before(grammarAccess.getDecompositionTypeAccess().getTypeNameVerificationKeyword_0_3()); }
{ after(grammarAccess.getDecompositionTypeAccess().getTypeNameVerificationKeyword_0_3()); }
rule__DocItemType__TypeNameAlternatives_0
{ before(grammarAccess.getDocItemTypeAccess().getTypeNameConditionKeyword_0_0()); }
{ after(grammarAccess.getDocItemTypeAccess().getTypeNameConditionKeyword_0_0()); }
{ before(grammarAccess.getDocItemTypeAccess().getTypeNameFigureKeyword_0_1()); }
{ after(grammarAccess.getDocItemTypeAccess().getTypeNameFigureKeyword_0_1()); }
{ before(grammarAccess.getDocItemTypeAccess().getTypeNameBreakKeyword_0_2()); }
{ after(grammarAccess.getDocItemTypeAccess().getTypeNameBreakKeyword_0_2()); }
{ before(grammarAccess.getDocItemTypeAccess().getTypeNameModelKeyword_0_3()); }
{ after(grammarAccess.getDocItemTypeAccess().getTypeNameModelKeyword_0_3()); }
{ before(grammarAccess.getDocItemTypeAccess().getTypeNameParagraphKeyword_0_4()); }
{ after(grammarAccess.getDocItemTypeAccess().getTypeNameParagraphKeyword_0_4()); }
{ before(grammarAccess.getDocItemTypeAccess().getTypeNameSectionKeyword_0_5()); }
{ after(grammarAccess.getDocItemTypeAccess().getTypeNameSectionKeyword_0_5()); }
{ before(grammarAccess.getDocItemTypeAccess().getTypeNameTableKeyword_0_6()); }
{ after(grammarAccess.getDocItemTypeAccess().getTypeNameTableKeyword_0_6()); }
rule__ModelType__TypeNameAlternatives_0
{ before(grammarAccess.getModelTypeAccess().getTypeNameOutputKeyword_0_0()); }
{ after(grammarAccess.getModelTypeAccess().getTypeNameOutputKeyword_0_0()); }
{ before(grammarAccess.getModelTypeAccess().getTypeNameModeKeyword_0_1()); }
{ after(grammarAccess.getModelTypeAccess().getTypeNameModeKeyword_0_1()); }
{ before(grammarAccess.getModelTypeAccess().getTypeNameStateKeyword_0_2()); }
{ after(grammarAccess.getModelTypeAccess().getTypeNameStateKeyword_0_2()); }
{ before(grammarAccess.getModelTypeAccess().getTypeNameMacroKeyword_0_3()); }
{ after(grammarAccess.getModelTypeAccess().getTypeNameMacroKeyword_0_3()); }
{ before(grammarAccess.getModelTypeAccess().getTypeNameFunctionKeyword_0_4()); }
{ after(grammarAccess.getModelTypeAccess().getTypeNameFunctionKeyword_0_4()); }
{ before(grammarAccess.getModelTypeAccess().getTypeNameInputKeyword_0_5()); }
{ after(grammarAccess.getModelTypeAccess().getTypeNameInputKeyword_0_5()); }
rule__ListItemType__TypeNameAlternatives_0
{ before(grammarAccess.getListItemTypeAccess().getTypeNameRequirementKeyword_0_0()); }
{ after(grammarAccess.getListItemTypeAccess().getTypeNameRequirementKeyword_0_0()); }
{ before(grammarAccess.getListItemTypeAccess().getTypeNameGoalKeyword_0_1()); }
{ after(grammarAccess.getListItemTypeAccess().getTypeNameGoalKeyword_0_1()); }
{ before(grammarAccess.getListItemTypeAccess().getTypeNameHazardKeyword_0_2()); }
{ after(grammarAccess.getListItemTypeAccess().getTypeNameHazardKeyword_0_2()); }
{ before(grammarAccess.getListItemTypeAccess().getTypeNameConstraintKeyword_0_3()); }
{ after(grammarAccess.getListItemTypeAccess().getTypeNameConstraintKeyword_0_3()); }
{ before(grammarAccess.getSpecificationAccess().getNameAssignment_1()); }
(rule__Specification__NameAssignment_1)
{ after(grammarAccess.getSpecificationAccess().getNameAssignment_1()); }
{ before(grammarAccess.getRefinementAccess().getNameAssignment_1()); }
(rule__Refinement__NameAssignment_1)
{ after(grammarAccess.getRefinementAccess().getNameAssignment_1()); }
{ before(grammarAccess.getIntentAccess().getNameAssignment_1()); }
(rule__Intent__NameAssignment_1)
{ after(grammarAccess.getIntentAccess().getNameAssignment_1()); }
{ before(grammarAccess.getDecompositionAccess().getNameAssignment_1()); }
(rule__Decomposition__NameAssignment_1)
{ after(grammarAccess.getDecompositionAccess().getNameAssignment_1()); }
{ before(grammarAccess.getDocItemAccess().getNameAssignment_1()); }
(rule__DocItem__NameAssignment_1)
{ after(grammarAccess.getDocItemAccess().getNameAssignment_1()); }
{ before(grammarAccess.getModelItemAccess().getNameAssignment_1()); }
(rule__ModelItem__NameAssignment_1)
{ after(grammarAccess.getModelItemAccess().getNameAssignment_1()); }
{ before(grammarAccess.getListItemAccess().getNameAssignment_1()); }
(rule__ListItem__NameAssignment_1)
{ after(grammarAccess.getListItemAccess().getNameAssignment_1()); }
(
{ before(grammarAccess.getListItemAccess().getDocReferencesAssignment_3_1()); }
(rule__ListItem__DocReferencesAssignment_3_1)
{ after(grammarAccess.getListItemAccess().getDocReferencesAssignment_3_1()); }
)
(
)
(
{ before(grammarAccess.getListItemAccess().getItemReferencesAssignment_4_1()); }
(rule__ListItem__ItemReferencesAssignment_4_1)
{ after(grammarAccess.getListItemAccess().getItemReferencesAssignment_4_1()); }
)
(
)
(
{ before(grammarAccess.getListItemAccess().getModelReferencesAssignment_5_1()); }
(rule__ListItem__ModelReferencesAssignment_5_1)
{ after(grammarAccess.getListItemAccess().getModelReferencesAssignment_5_1()); }
)
(
)
rule__Specification__NameAssignment_1
{ before(grammarAccess.getSpecificationAccess().getNameIDTerminalRuleCall_1_0()); }
	RULE_ID{ after(grammarAccess.getSpecificationAccess().getNameIDTerminalRuleCall_1_0()); }
rule__Refinement__NameAssignment_1
{ before(grammarAccess.getRefinementAccess().getNameIDTerminalRuleCall_1_0()); }
	RULE_ID{ after(grammarAccess.getRefinementAccess().getNameIDTerminalRuleCall_1_0()); }
rule__Intent__NameAssignment_1
{ before(grammarAccess.getIntentAccess().getNameIDTerminalRuleCall_1_0()); }
	RULE_ID{ after(grammarAccess.getIntentAccess().getNameIDTerminalRuleCall_1_0()); }
rule__IntentType__TypeNameAssignment
    @init {
		int stackSize = keepStackSize();
    }
:
(
{ before(grammarAccess.getIntentTypeAccess().getTypeNameAlternatives_0()); }
(rule__IntentType__TypeNameAlternatives_0)
{ after(grammarAccess.getIntentTypeAccess().getTypeNameAlternatives_0()); }
)

;
finally {
	restoreStackSize(stackSize);
}

rule__Decomposition__NameAssignment_1
{ before(grammarAccess.getDecompositionAccess().getNameIDTerminalRuleCall_1_0()); }
	RULE_ID{ after(grammarAccess.getDecompositionAccess().getNameIDTerminalRuleCall_1_0()); }
rule__DecompositionType__TypeNameAssignment
    @init {
		int stackSize = keepStackSize();
    }
:
(
{ before(grammarAccess.getDecompositionTypeAccess().getTypeNameAlternatives_0()); }
(rule__DecompositionType__TypeNameAlternatives_0)
{ after(grammarAccess.getDecompositionTypeAccess().getTypeNameAlternatives_0()); }
)

;
finally {
	restoreStackSize(stackSize);
}

rule__DocItemType__TypeNameAssignment
    @init {
		int stackSize = keepStackSize();
    }
:
(
{ before(grammarAccess.getDocItemTypeAccess().getTypeNameAlternatives_0()); }
(rule__DocItemType__TypeNameAlternatives_0)
{ after(grammarAccess.getDocItemTypeAccess().getTypeNameAlternatives_0()); }
)

;
finally {
	restoreStackSize(stackSize);
}

rule__DocItem__NameAssignment_1
{ before(grammarAccess.getDocItemAccess().getNameIDTerminalRuleCall_1_0()); }
	RULE_ID{ after(grammarAccess.getDocItemAccess().getNameIDTerminalRuleCall_1_0()); }
rule__ModelType__TypeNameAssignment
    @init {
		int stackSize = keepStackSize();
    }
:
(
{ before(grammarAccess.getModelTypeAccess().getTypeNameAlternatives_0()); }
(rule__ModelType__TypeNameAlternatives_0)
{ after(grammarAccess.getModelTypeAccess().getTypeNameAlternatives_0()); }
)

;
finally {
	restoreStackSize(stackSize);
}

rule__ModelItem__NameAssignment_1
{ before(grammarAccess.getModelItemAccess().getNameIDTerminalRuleCall_1_0()); }
	RULE_ID{ after(grammarAccess.getModelItemAccess().getNameIDTerminalRuleCall_1_0()); }
rule__ListItemType__TypeNameAssignment
    @init {
		int stackSize = keepStackSize();
    }
:
(
{ before(grammarAccess.getListItemTypeAccess().getTypeNameAlternatives_0()); }
(rule__ListItemType__TypeNameAlternatives_0)
{ after(grammarAccess.getListItemTypeAccess().getTypeNameAlternatives_0()); }
)

;
finally {
	restoreStackSize(stackSize);
}

rule__ListItem__NameAssignment_1
{ before(grammarAccess.getListItemAccess().getNameIDTerminalRuleCall_1_0()); }
	RULE_ID{ after(grammarAccess.getListItemAccess().getNameIDTerminalRuleCall_1_0()); }
{ before(grammarAccess.getIntentTypeAccess().getAlternatives()); }
(rule__IntentType__Alternatives)
{ after(grammarAccess.getIntentTypeAccess().getAlternatives()); }
{ before(grammarAccess.getDecompositionTypeAccess().getAlternatives()); }
(rule__DecompositionType__Alternatives)
{ after(grammarAccess.getDecompositionTypeAccess().getAlternatives()); }
{ before(grammarAccess.getDocItemTypeAccess().getAlternatives()); }
(rule__DocItemType__Alternatives)
{ after(grammarAccess.getDocItemTypeAccess().getAlternatives()); }
{ before(grammarAccess.getModelTypeAccess().getAlternatives()); }
(rule__ModelType__Alternatives)
{ after(grammarAccess.getModelTypeAccess().getAlternatives()); }
{ before(grammarAccess.getListItemTypeAccess().getAlternatives()); }
(rule__ListItemType__Alternatives)
{ after(grammarAccess.getListItemTypeAccess().getAlternatives()); }
rule__IntentType__Alternatives
{ before(grammarAccess.getIntentTypeAccess().getBasicKeyword_0()); }
{ after(grammarAccess.getIntentTypeAccess().getBasicKeyword_0()); }
{ before(grammarAccess.getIntentTypeAccess().getPurposeKeyword_1()); }
{ after(grammarAccess.getIntentTypeAccess().getPurposeKeyword_1()); }
{ before(grammarAccess.getIntentTypeAccess().getPrinciplesKeyword_2()); }
{ after(grammarAccess.getIntentTypeAccess().getPrinciplesKeyword_2()); }
{ before(grammarAccess.getIntentTypeAccess().getModelsKeyword_3()); }
{ after(grammarAccess.getIntentTypeAccess().getModelsKeyword_3()); }
{ before(grammarAccess.getIntentTypeAccess().getDesignKeyword_4()); }
{ after(grammarAccess.getIntentTypeAccess().getDesignKeyword_4()); }
{ before(grammarAccess.getIntentTypeAccess().getImplementationKeyword_5()); }
{ after(grammarAccess.getIntentTypeAccess().getImplementationKeyword_5()); }
{ before(grammarAccess.getIntentTypeAccess().getOperationKeyword_6()); }
{ after(grammarAccess.getIntentTypeAccess().getOperationKeyword_6()); }
rule__DecompositionType__Alternatives
{ before(grammarAccess.getDecompositionTypeAccess().getEnvironmentKeyword_0()); }
{ after(grammarAccess.getDecompositionTypeAccess().getEnvironmentKeyword_0()); }
{ before(grammarAccess.getDecompositionTypeAccess().getOperatorKeyword_1()); }
{ after(grammarAccess.getDecompositionTypeAccess().getOperatorKeyword_1()); }
{ before(grammarAccess.getDecompositionTypeAccess().getSystemKeyword_2()); }
{ after(grammarAccess.getDecompositionTypeAccess().getSystemKeyword_2()); }
{ before(grammarAccess.getDecompositionTypeAccess().getVerificationKeyword_3()); }
{ after(grammarAccess.getDecompositionTypeAccess().getVerificationKeyword_3()); }
rule__DocItemType__Alternatives
{ before(grammarAccess.getDocItemTypeAccess().getConditionKeyword_0()); }
{ after(grammarAccess.getDocItemTypeAccess().getConditionKeyword_0()); }
{ before(grammarAccess.getDocItemTypeAccess().getFigureKeyword_1()); }
{ after(grammarAccess.getDocItemTypeAccess().getFigureKeyword_1()); }
{ before(grammarAccess.getDocItemTypeAccess().getBreakKeyword_2()); }
{ after(grammarAccess.getDocItemTypeAccess().getBreakKeyword_2()); }
{ before(grammarAccess.getDocItemTypeAccess().getModelKeyword_3()); }
{ after(grammarAccess.getDocItemTypeAccess().getModelKeyword_3()); }
{ before(grammarAccess.getDocItemTypeAccess().getParagraphKeyword_4()); }
{ after(grammarAccess.getDocItemTypeAccess().getParagraphKeyword_4()); }
{ before(grammarAccess.getDocItemTypeAccess().getSectionKeyword_5()); }
{ after(grammarAccess.getDocItemTypeAccess().getSectionKeyword_5()); }
{ before(grammarAccess.getDocItemTypeAccess().getTableKeyword_6()); }
{ after(grammarAccess.getDocItemTypeAccess().getTableKeyword_6()); }
rule__ModelType__Alternatives
{ before(grammarAccess.getModelTypeAccess().getOutputKeyword_0()); }
{ after(grammarAccess.getModelTypeAccess().getOutputKeyword_0()); }
{ before(grammarAccess.getModelTypeAccess().getModeKeyword_1()); }
{ after(grammarAccess.getModelTypeAccess().getModeKeyword_1()); }
{ before(grammarAccess.getModelTypeAccess().getStateKeyword_2()); }
{ after(grammarAccess.getModelTypeAccess().getStateKeyword_2()); }
{ before(grammarAccess.getModelTypeAccess().getMacroKeyword_3()); }
{ after(grammarAccess.getModelTypeAccess().getMacroKeyword_3()); }
{ before(grammarAccess.getModelTypeAccess().getFunctionKeyword_4()); }
{ after(grammarAccess.getModelTypeAccess().getFunctionKeyword_4()); }
{ before(grammarAccess.getModelTypeAccess().getInputKeyword_5()); }
{ after(grammarAccess.getModelTypeAccess().getInputKeyword_5()); }
rule__ListItemType__Alternatives
{ before(grammarAccess.getListItemTypeAccess().getRequirementKeyword_0()); }
{ after(grammarAccess.getListItemTypeAccess().getRequirementKeyword_0()); }
{ before(grammarAccess.getListItemTypeAccess().getGoalKeyword_1()); }
{ after(grammarAccess.getListItemTypeAccess().getGoalKeyword_1()); }
{ before(grammarAccess.getListItemTypeAccess().getHazardKeyword_2()); }
{ after(grammarAccess.getListItemTypeAccess().getHazardKeyword_2()); }
{ before(grammarAccess.getListItemTypeAccess().getConstraintKeyword_3()); }
{ after(grammarAccess.getListItemTypeAccess().getConstraintKeyword_3()); }
{ before(grammarAccess.getSpecificationAccess().getIdAssignment_1()); }
(rule__Specification__IdAssignment_1)
{ after(grammarAccess.getSpecificationAccess().getIdAssignment_1()); }
{ before(grammarAccess.getRefinementAccess().getIdAssignment_1()); }
(rule__Refinement__IdAssignment_1)
{ after(grammarAccess.getRefinementAccess().getIdAssignment_1()); }
{ before(grammarAccess.getIntentAccess().getIdAssignment_1()); }
(rule__Intent__IdAssignment_1)
{ after(grammarAccess.getIntentAccess().getIdAssignment_1()); }
{ before(grammarAccess.getDecompositionAccess().getIdAssignment_1()); }
(rule__Decomposition__IdAssignment_1)
{ after(grammarAccess.getDecompositionAccess().getIdAssignment_1()); }
{ before(grammarAccess.getDocItemAccess().getIdAssignment_1()); }
(rule__DocItem__IdAssignment_1)
{ after(grammarAccess.getDocItemAccess().getIdAssignment_1()); }
{ before(grammarAccess.getModelItemAccess().getIdAssignment_1()); }
(rule__ModelItem__IdAssignment_1)
{ after(grammarAccess.getModelItemAccess().getIdAssignment_1()); }
{ before(grammarAccess.getListItemAccess().getIdAssignment_1()); }
(rule__ListItem__IdAssignment_1)
{ after(grammarAccess.getListItemAccess().getIdAssignment_1()); }
rule__Specification__IdAssignment_1
{ before(grammarAccess.getSpecificationAccess().getIdIDTerminalRuleCall_1_0()); }
	RULE_ID{ after(grammarAccess.getSpecificationAccess().getIdIDTerminalRuleCall_1_0()); }
rule__Refinement__IdAssignment_1
{ before(grammarAccess.getRefinementAccess().getIdIDTerminalRuleCall_1_0()); }
	RULE_ID{ after(grammarAccess.getRefinementAccess().getIdIDTerminalRuleCall_1_0()); }
rule__Intent__IdAssignment_1
{ before(grammarAccess.getIntentAccess().getIdIDTerminalRuleCall_1_0()); }
	RULE_ID{ after(grammarAccess.getIntentAccess().getIdIDTerminalRuleCall_1_0()); }
rule__Decomposition__IdAssignment_1
{ before(grammarAccess.getDecompositionAccess().getIdIDTerminalRuleCall_1_0()); }
	RULE_ID{ after(grammarAccess.getDecompositionAccess().getIdIDTerminalRuleCall_1_0()); }
rule__DocItem__IdAssignment_1
{ before(grammarAccess.getDocItemAccess().getIdIDTerminalRuleCall_1_0()); }
	RULE_ID{ after(grammarAccess.getDocItemAccess().getIdIDTerminalRuleCall_1_0()); }
rule__ModelItem__IdAssignment_1
{ before(grammarAccess.getModelItemAccess().getIdIDTerminalRuleCall_1_0()); }
	RULE_ID{ after(grammarAccess.getModelItemAccess().getIdIDTerminalRuleCall_1_0()); }
rule__ListItem__IdAssignment_1
{ before(grammarAccess.getListItemAccess().getIdIDTerminalRuleCall_1_0()); }
	RULE_ID{ after(grammarAccess.getListItemAccess().getIdIDTerminalRuleCall_1_0()); }
@@ -156,9 +156,9 @@ ruleIntentType
     }
 	:
 (
-{ before(grammarAccess.getIntentTypeAccess().getAlternatives()); }
-(rule__IntentType__Alternatives)
-{ after(grammarAccess.getIntentTypeAccess().getAlternatives()); }
+{ before(grammarAccess.getIntentTypeAccess().getTypeNameAssignment()); }
+(rule__IntentType__TypeNameAssignment)
+{ after(grammarAccess.getIntentTypeAccess().getTypeNameAssignment()); }
 )
 
 ;
@@ -212,9 +212,9 @@ ruleDecompositionType
     }
 	:
 (
-{ before(grammarAccess.getDecompositionTypeAccess().getAlternatives()); }
-(rule__DecompositionType__Alternatives)
-{ after(grammarAccess.getDecompositionTypeAccess().getAlternatives()); }
+{ before(grammarAccess.getDecompositionTypeAccess().getTypeNameAssignment()); }
+(rule__DecompositionType__TypeNameAssignment)
+{ after(grammarAccess.getDecompositionTypeAccess().getTypeNameAssignment()); }
 )
 
 ;
@@ -268,9 +268,9 @@ ruleDocItemType
     }
 	:
 (
-{ before(grammarAccess.getDocItemTypeAccess().getAlternatives()); }
-(rule__DocItemType__Alternatives)
-{ after(grammarAccess.getDocItemTypeAccess().getAlternatives()); }
+{ before(grammarAccess.getDocItemTypeAccess().getTypeNameAssignment()); }
+(rule__DocItemType__TypeNameAssignment)
+{ after(grammarAccess.getDocItemTypeAccess().getTypeNameAssignment()); }
 )
 
 ;
@@ -324,9 +324,9 @@ ruleModelType
     }
 	:
 (
-{ before(grammarAccess.getModelTypeAccess().getAlternatives()); }
-(rule__ModelType__Alternatives)
-{ after(grammarAccess.getModelTypeAccess().getAlternatives()); }
+{ before(grammarAccess.getModelTypeAccess().getTypeNameAssignment()); }
+(rule__ModelType__TypeNameAssignment)
+{ after(grammarAccess.getModelTypeAccess().getTypeNameAssignment()); }
 )
 
 ;
@@ -380,9 +380,9 @@ ruleListItemType
     }
 	:
 (
-{ before(grammarAccess.getListItemTypeAccess().getAlternatives()); }
-(rule__ListItemType__Alternatives)
-{ after(grammarAccess.getListItemTypeAccess().getAlternatives()); }
+{ before(grammarAccess.getListItemTypeAccess().getTypeNameAssignment()); }
+(rule__ListItemType__TypeNameAssignment)
+{ after(grammarAccess.getListItemTypeAccess().getTypeNameAssignment()); }
 )
 
 ;
@@ -421,273 +421,273 @@ finally {
 
 
 
-rule__IntentType__Alternatives
+rule__IntentType__TypeNameAlternatives_0
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getIntentTypeAccess().getBasicKeyword_0()); }
+{ before(grammarAccess.getIntentTypeAccess().getTypeNameBasicKeyword_0_0()); }
 
 	'basic' 
 
-{ after(grammarAccess.getIntentTypeAccess().getBasicKeyword_0()); }
+{ after(grammarAccess.getIntentTypeAccess().getTypeNameBasicKeyword_0_0()); }
 )
 
     |(
-{ before(grammarAccess.getIntentTypeAccess().getPurposeKeyword_1()); }
+{ before(grammarAccess.getIntentTypeAccess().getTypeNamePurposeKeyword_0_1()); }
 
 	'purpose' 
 
-{ after(grammarAccess.getIntentTypeAccess().getPurposeKeyword_1()); }
+{ after(grammarAccess.getIntentTypeAccess().getTypeNamePurposeKeyword_0_1()); }
 )
 
     |(
-{ before(grammarAccess.getIntentTypeAccess().getPrinciplesKeyword_2()); }
+{ before(grammarAccess.getIntentTypeAccess().getTypeNamePrinciplesKeyword_0_2()); }
 
 	'principles' 
 
-{ after(grammarAccess.getIntentTypeAccess().getPrinciplesKeyword_2()); }
+{ after(grammarAccess.getIntentTypeAccess().getTypeNamePrinciplesKeyword_0_2()); }
 )
 
     |(
-{ before(grammarAccess.getIntentTypeAccess().getModelsKeyword_3()); }
+{ before(grammarAccess.getIntentTypeAccess().getTypeNameModelsKeyword_0_3()); }
 
 	'models' 
 
-{ after(grammarAccess.getIntentTypeAccess().getModelsKeyword_3()); }
+{ after(grammarAccess.getIntentTypeAccess().getTypeNameModelsKeyword_0_3()); }
 )
 
     |(
-{ before(grammarAccess.getIntentTypeAccess().getDesignKeyword_4()); }
+{ before(grammarAccess.getIntentTypeAccess().getTypeNameDesignKeyword_0_4()); }
 
 	'design' 
 
-{ after(grammarAccess.getIntentTypeAccess().getDesignKeyword_4()); }
+{ after(grammarAccess.getIntentTypeAccess().getTypeNameDesignKeyword_0_4()); }
 )
 
     |(
-{ before(grammarAccess.getIntentTypeAccess().getImplementationKeyword_5()); }
+{ before(grammarAccess.getIntentTypeAccess().getTypeNameImplementationKeyword_0_5()); }
 
 	'implementation' 
 
-{ after(grammarAccess.getIntentTypeAccess().getImplementationKeyword_5()); }
+{ after(grammarAccess.getIntentTypeAccess().getTypeNameImplementationKeyword_0_5()); }
 )
 
     |(
-{ before(grammarAccess.getIntentTypeAccess().getOperationKeyword_6()); }
+{ before(grammarAccess.getIntentTypeAccess().getTypeNameOperationKeyword_0_6()); }
 
 	'operation' 
 
-{ after(grammarAccess.getIntentTypeAccess().getOperationKeyword_6()); }
+{ after(grammarAccess.getIntentTypeAccess().getTypeNameOperationKeyword_0_6()); }
 )
 
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__DecompositionType__Alternatives
+rule__DecompositionType__TypeNameAlternatives_0
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getDecompositionTypeAccess().getEnvironmentKeyword_0()); }
+{ before(grammarAccess.getDecompositionTypeAccess().getTypeNameEnvironmentKeyword_0_0()); }
 
 	'environment' 
 
-{ after(grammarAccess.getDecompositionTypeAccess().getEnvironmentKeyword_0()); }
+{ after(grammarAccess.getDecompositionTypeAccess().getTypeNameEnvironmentKeyword_0_0()); }
 )
 
     |(
-{ before(grammarAccess.getDecompositionTypeAccess().getOperatorKeyword_1()); }
+{ before(grammarAccess.getDecompositionTypeAccess().getTypeNameOperatorKeyword_0_1()); }
 
 	'operator' 
 
-{ after(grammarAccess.getDecompositionTypeAccess().getOperatorKeyword_1()); }
+{ after(grammarAccess.getDecompositionTypeAccess().getTypeNameOperatorKeyword_0_1()); }
 )
 
     |(
-{ before(grammarAccess.getDecompositionTypeAccess().getSystemKeyword_2()); }
+{ before(grammarAccess.getDecompositionTypeAccess().getTypeNameSystemKeyword_0_2()); }
 
 	'system' 
 
-{ after(grammarAccess.getDecompositionTypeAccess().getSystemKeyword_2()); }
+{ after(grammarAccess.getDecompositionTypeAccess().getTypeNameSystemKeyword_0_2()); }
 )
 
     |(
-{ before(grammarAccess.getDecompositionTypeAccess().getVerificationKeyword_3()); }
+{ before(grammarAccess.getDecompositionTypeAccess().getTypeNameVerificationKeyword_0_3()); }
 
 	'verification' 
 
-{ after(grammarAccess.getDecompositionTypeAccess().getVerificationKeyword_3()); }
+{ after(grammarAccess.getDecompositionTypeAccess().getTypeNameVerificationKeyword_0_3()); }
 )
 
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__DocItemType__Alternatives
+rule__DocItemType__TypeNameAlternatives_0
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getDocItemTypeAccess().getConditionKeyword_0()); }
+{ before(grammarAccess.getDocItemTypeAccess().getTypeNameConditionKeyword_0_0()); }
 
 	'condition' 
 
-{ after(grammarAccess.getDocItemTypeAccess().getConditionKeyword_0()); }
+{ after(grammarAccess.getDocItemTypeAccess().getTypeNameConditionKeyword_0_0()); }
 )
 
     |(
-{ before(grammarAccess.getDocItemTypeAccess().getFigureKeyword_1()); }
+{ before(grammarAccess.getDocItemTypeAccess().getTypeNameFigureKeyword_0_1()); }
 
 	'figure' 
 
-{ after(grammarAccess.getDocItemTypeAccess().getFigureKeyword_1()); }
+{ after(grammarAccess.getDocItemTypeAccess().getTypeNameFigureKeyword_0_1()); }
 )
 
     |(
-{ before(grammarAccess.getDocItemTypeAccess().getBreakKeyword_2()); }
+{ before(grammarAccess.getDocItemTypeAccess().getTypeNameBreakKeyword_0_2()); }
 
 	'break' 
 
-{ after(grammarAccess.getDocItemTypeAccess().getBreakKeyword_2()); }
+{ after(grammarAccess.getDocItemTypeAccess().getTypeNameBreakKeyword_0_2()); }
 )
 
     |(
-{ before(grammarAccess.getDocItemTypeAccess().getModelKeyword_3()); }
+{ before(grammarAccess.getDocItemTypeAccess().getTypeNameModelKeyword_0_3()); }
 
 	'model' 
 
-{ after(grammarAccess.getDocItemTypeAccess().getModelKeyword_3()); }
+{ after(grammarAccess.getDocItemTypeAccess().getTypeNameModelKeyword_0_3()); }
 )
 
     |(
-{ before(grammarAccess.getDocItemTypeAccess().getParagraphKeyword_4()); }
+{ before(grammarAccess.getDocItemTypeAccess().getTypeNameParagraphKeyword_0_4()); }
 
 	'paragraph' 
 
-{ after(grammarAccess.getDocItemTypeAccess().getParagraphKeyword_4()); }
+{ after(grammarAccess.getDocItemTypeAccess().getTypeNameParagraphKeyword_0_4()); }
 )
 
     |(
-{ before(grammarAccess.getDocItemTypeAccess().getSectionKeyword_5()); }
+{ before(grammarAccess.getDocItemTypeAccess().getTypeNameSectionKeyword_0_5()); }
 
 	'section' 
 
-{ after(grammarAccess.getDocItemTypeAccess().getSectionKeyword_5()); }
+{ after(grammarAccess.getDocItemTypeAccess().getTypeNameSectionKeyword_0_5()); }
 )
 
     |(
-{ before(grammarAccess.getDocItemTypeAccess().getTableKeyword_6()); }
+{ before(grammarAccess.getDocItemTypeAccess().getTypeNameTableKeyword_0_6()); }
 
 	'table' 
 
-{ after(grammarAccess.getDocItemTypeAccess().getTableKeyword_6()); }
+{ after(grammarAccess.getDocItemTypeAccess().getTypeNameTableKeyword_0_6()); }
 )
 
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__ModelType__Alternatives
+rule__ModelType__TypeNameAlternatives_0
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getModelTypeAccess().getOutputKeyword_0()); }
+{ before(grammarAccess.getModelTypeAccess().getTypeNameOutputKeyword_0_0()); }
 
 	'output' 
 
-{ after(grammarAccess.getModelTypeAccess().getOutputKeyword_0()); }
+{ after(grammarAccess.getModelTypeAccess().getTypeNameOutputKeyword_0_0()); }
 )
 
     |(
-{ before(grammarAccess.getModelTypeAccess().getModeKeyword_1()); }
+{ before(grammarAccess.getModelTypeAccess().getTypeNameModeKeyword_0_1()); }
 
 	'mode' 
 
-{ after(grammarAccess.getModelTypeAccess().getModeKeyword_1()); }
+{ after(grammarAccess.getModelTypeAccess().getTypeNameModeKeyword_0_1()); }
 )
 
     |(
-{ before(grammarAccess.getModelTypeAccess().getStateKeyword_2()); }
+{ before(grammarAccess.getModelTypeAccess().getTypeNameStateKeyword_0_2()); }
 
 	'state' 
 
-{ after(grammarAccess.getModelTypeAccess().getStateKeyword_2()); }
+{ after(grammarAccess.getModelTypeAccess().getTypeNameStateKeyword_0_2()); }
 )
 
     |(
-{ before(grammarAccess.getModelTypeAccess().getMacroKeyword_3()); }
+{ before(grammarAccess.getModelTypeAccess().getTypeNameMacroKeyword_0_3()); }
 
 	'macro' 
 
-{ after(grammarAccess.getModelTypeAccess().getMacroKeyword_3()); }
+{ after(grammarAccess.getModelTypeAccess().getTypeNameMacroKeyword_0_3()); }
 )
 
     |(
-{ before(grammarAccess.getModelTypeAccess().getFunctionKeyword_4()); }
+{ before(grammarAccess.getModelTypeAccess().getTypeNameFunctionKeyword_0_4()); }
 
 	'function' 
 
-{ after(grammarAccess.getModelTypeAccess().getFunctionKeyword_4()); }
+{ after(grammarAccess.getModelTypeAccess().getTypeNameFunctionKeyword_0_4()); }
 )
 
     |(
-{ before(grammarAccess.getModelTypeAccess().getInputKeyword_5()); }
+{ before(grammarAccess.getModelTypeAccess().getTypeNameInputKeyword_0_5()); }
 
 	'input' 
 
-{ after(grammarAccess.getModelTypeAccess().getInputKeyword_5()); }
+{ after(grammarAccess.getModelTypeAccess().getTypeNameInputKeyword_0_5()); }
 )
 
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__ListItemType__Alternatives
+rule__ListItemType__TypeNameAlternatives_0
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getListItemTypeAccess().getRequirementKeyword_0()); }
+{ before(grammarAccess.getListItemTypeAccess().getTypeNameRequirementKeyword_0_0()); }
 
 	'requirement' 
 
-{ after(grammarAccess.getListItemTypeAccess().getRequirementKeyword_0()); }
+{ after(grammarAccess.getListItemTypeAccess().getTypeNameRequirementKeyword_0_0()); }
 )
 
     |(
-{ before(grammarAccess.getListItemTypeAccess().getGoalKeyword_1()); }
+{ before(grammarAccess.getListItemTypeAccess().getTypeNameGoalKeyword_0_1()); }
 
 	'goal' 
 
-{ after(grammarAccess.getListItemTypeAccess().getGoalKeyword_1()); }
+{ after(grammarAccess.getListItemTypeAccess().getTypeNameGoalKeyword_0_1()); }
 )
 
     |(
-{ before(grammarAccess.getListItemTypeAccess().getHazardKeyword_2()); }
+{ before(grammarAccess.getListItemTypeAccess().getTypeNameHazardKeyword_0_2()); }
 
 	'hazard' 
 
-{ after(grammarAccess.getListItemTypeAccess().getHazardKeyword_2()); }
+{ after(grammarAccess.getListItemTypeAccess().getTypeNameHazardKeyword_0_2()); }
 )
 
     |(
-{ before(grammarAccess.getListItemTypeAccess().getConstraintKeyword_3()); }
+{ before(grammarAccess.getListItemTypeAccess().getTypeNameConstraintKeyword_0_3()); }
 
 	'constraint' 
 
-{ after(grammarAccess.getListItemTypeAccess().getConstraintKeyword_3()); }
+{ after(grammarAccess.getListItemTypeAccess().getTypeNameConstraintKeyword_0_3()); }
 )
 
 ;
@@ -746,9 +746,9 @@ rule__Specification__Group__1__Impl
     }
 :
 (
-{ before(grammarAccess.getSpecificationAccess().getIdAssignment_1()); }
-(rule__Specification__IdAssignment_1)
-{ after(grammarAccess.getSpecificationAccess().getIdAssignment_1()); }
+{ before(grammarAccess.getSpecificationAccess().getNameAssignment_1()); }
+(rule__Specification__NameAssignment_1)
+{ after(grammarAccess.getSpecificationAccess().getNameAssignment_1()); }
 )
 
 ;
@@ -847,9 +847,9 @@ rule__Refinement__Group__1__Impl
     }
 :
 (
-{ before(grammarAccess.getRefinementAccess().getIdAssignment_1()); }
-(rule__Refinement__IdAssignment_1)
-{ after(grammarAccess.getRefinementAccess().getIdAssignment_1()); }
+{ before(grammarAccess.getRefinementAccess().getNameAssignment_1()); }
+(rule__Refinement__NameAssignment_1)
+{ after(grammarAccess.getRefinementAccess().getNameAssignment_1()); }
 )
 
 ;
@@ -977,9 +977,9 @@ rule__Intent__Group__1__Impl
     }
 :
 (
-{ before(grammarAccess.getIntentAccess().getIdAssignment_1()); }
-(rule__Intent__IdAssignment_1)
-{ after(grammarAccess.getIntentAccess().getIdAssignment_1()); }
+{ before(grammarAccess.getIntentAccess().getNameAssignment_1()); }
+(rule__Intent__NameAssignment_1)
+{ after(grammarAccess.getIntentAccess().getNameAssignment_1()); }
 )
 
 ;
@@ -1107,9 +1107,9 @@ rule__Decomposition__Group__1__Impl
     }
 :
 (
-{ before(grammarAccess.getDecompositionAccess().getIdAssignment_1()); }
-(rule__Decomposition__IdAssignment_1)
-{ after(grammarAccess.getDecompositionAccess().getIdAssignment_1()); }
+{ before(grammarAccess.getDecompositionAccess().getNameAssignment_1()); }
+(rule__Decomposition__NameAssignment_1)
+{ after(grammarAccess.getDecompositionAccess().getNameAssignment_1()); }
 )
 
 ;
@@ -1683,9 +1683,9 @@ rule__DocItem__Group__1__Impl
     }
 :
 (
-{ before(grammarAccess.getDocItemAccess().getIdAssignment_1()); }
-(rule__DocItem__IdAssignment_1)
-{ after(grammarAccess.getDocItemAccess().getIdAssignment_1()); }
+{ before(grammarAccess.getDocItemAccess().getNameAssignment_1()); }
+(rule__DocItem__NameAssignment_1)
+{ after(grammarAccess.getDocItemAccess().getNameAssignment_1()); }
 )
 
 ;
@@ -1808,9 +1808,9 @@ rule__ModelItem__Group__1__Impl
     }
 :
 (
-{ before(grammarAccess.getModelItemAccess().getIdAssignment_1()); }
-(rule__ModelItem__IdAssignment_1)
-{ after(grammarAccess.getModelItemAccess().getIdAssignment_1()); }
+{ before(grammarAccess.getModelItemAccess().getNameAssignment_1()); }
+(rule__ModelItem__NameAssignment_1)
+{ after(grammarAccess.getModelItemAccess().getNameAssignment_1()); }
 )
 
 ;
@@ -1933,9 +1933,9 @@ rule__ListItem__Group__1__Impl
     }
 :
 (
-{ before(grammarAccess.getListItemAccess().getIdAssignment_1()); }
-(rule__ListItem__IdAssignment_1)
-{ after(grammarAccess.getListItemAccess().getIdAssignment_1()); }
+{ before(grammarAccess.getListItemAccess().getNameAssignment_1()); }
+(rule__ListItem__NameAssignment_1)
+{ after(grammarAccess.getListItemAccess().getNameAssignment_1()); }
 )
 
 ;
@@ -2153,10 +2153,17 @@ rule__ListItem__Group_3__1__Impl
     }
 :
 (
+(
+{ before(grammarAccess.getListItemAccess().getDocReferencesAssignment_3_1()); }
+(rule__ListItem__DocReferencesAssignment_3_1)
+{ after(grammarAccess.getListItemAccess().getDocReferencesAssignment_3_1()); }
+)
+(
 { before(grammarAccess.getListItemAccess().getDocReferencesAssignment_3_1()); }
 (rule__ListItem__DocReferencesAssignment_3_1)*
 { after(grammarAccess.getListItemAccess().getDocReferencesAssignment_3_1()); }
 )
+)
 
 ;
 finally {
@@ -2249,10 +2256,17 @@ rule__ListItem__Group_4__1__Impl
     }
 :
 (
+(
+{ before(grammarAccess.getListItemAccess().getItemReferencesAssignment_4_1()); }
+(rule__ListItem__ItemReferencesAssignment_4_1)
+{ after(grammarAccess.getListItemAccess().getItemReferencesAssignment_4_1()); }
+)
+(
 { before(grammarAccess.getListItemAccess().getItemReferencesAssignment_4_1()); }
 (rule__ListItem__ItemReferencesAssignment_4_1)*
 { after(grammarAccess.getListItemAccess().getItemReferencesAssignment_4_1()); }
 )
+)
 
 ;
 finally {
@@ -2345,10 +2359,17 @@ rule__ListItem__Group_5__1__Impl
     }
 :
 (
+(
+{ before(grammarAccess.getListItemAccess().getModelReferencesAssignment_5_1()); }
+(rule__ListItem__ModelReferencesAssignment_5_1)
+{ after(grammarAccess.getListItemAccess().getModelReferencesAssignment_5_1()); }
+)
+(
 { before(grammarAccess.getListItemAccess().getModelReferencesAssignment_5_1()); }
 (rule__ListItem__ModelReferencesAssignment_5_1)*
 { after(grammarAccess.getListItemAccess().getModelReferencesAssignment_5_1()); }
 )
+)
 
 ;
 finally {
@@ -2393,14 +2414,14 @@ finally {
 
 
 
-rule__Specification__IdAssignment_1
+rule__Specification__NameAssignment_1
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getSpecificationAccess().getIdIDTerminalRuleCall_1_0()); }
-	RULE_ID{ after(grammarAccess.getSpecificationAccess().getIdIDTerminalRuleCall_1_0()); }
+{ before(grammarAccess.getSpecificationAccess().getNameIDTerminalRuleCall_1_0()); }
+	RULE_ID{ after(grammarAccess.getSpecificationAccess().getNameIDTerminalRuleCall_1_0()); }
 )
 
 ;
@@ -2423,14 +2444,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Refinement__IdAssignment_1
+rule__Refinement__NameAssignment_1
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getRefinementAccess().getIdIDTerminalRuleCall_1_0()); }
-	RULE_ID{ after(grammarAccess.getRefinementAccess().getIdIDTerminalRuleCall_1_0()); }
+{ before(grammarAccess.getRefinementAccess().getNameIDTerminalRuleCall_1_0()); }
+	RULE_ID{ after(grammarAccess.getRefinementAccess().getNameIDTerminalRuleCall_1_0()); }
 )
 
 ;
@@ -2483,14 +2504,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Intent__IdAssignment_1
+rule__Intent__NameAssignment_1
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getIntentAccess().getIdIDTerminalRuleCall_1_0()); }
-	RULE_ID{ after(grammarAccess.getIntentAccess().getIdIDTerminalRuleCall_1_0()); }
+{ before(grammarAccess.getIntentAccess().getNameIDTerminalRuleCall_1_0()); }
+	RULE_ID{ after(grammarAccess.getIntentAccess().getNameIDTerminalRuleCall_1_0()); }
 )
 
 ;
@@ -2528,6 +2549,22 @@ finally {
 	restoreStackSize(stackSize);
 }
 
+rule__IntentType__TypeNameAssignment
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getIntentTypeAccess().getTypeNameAlternatives_0()); }
+(rule__IntentType__TypeNameAlternatives_0)
+{ after(grammarAccess.getIntentTypeAccess().getTypeNameAlternatives_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
 rule__Decomposition__TypeAssignment_0
     @init {
 		int stackSize = keepStackSize();
@@ -2543,14 +2580,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Decomposition__IdAssignment_1
+rule__Decomposition__NameAssignment_1
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getDecompositionAccess().getIdIDTerminalRuleCall_1_0()); }
-	RULE_ID{ after(grammarAccess.getDecompositionAccess().getIdIDTerminalRuleCall_1_0()); }
+{ before(grammarAccess.getDecompositionAccess().getNameIDTerminalRuleCall_1_0()); }
+	RULE_ID{ after(grammarAccess.getDecompositionAccess().getNameIDTerminalRuleCall_1_0()); }
 )
 
 ;
@@ -2618,6 +2655,22 @@ finally {
 	restoreStackSize(stackSize);
 }
 
+rule__DecompositionType__TypeNameAssignment
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getDecompositionTypeAccess().getTypeNameAlternatives_0()); }
+(rule__DecompositionType__TypeNameAlternatives_0)
+{ after(grammarAccess.getDecompositionTypeAccess().getTypeNameAlternatives_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
 rule__Document__EntriesAssignment_1
     @init {
 		int stackSize = keepStackSize();
@@ -2633,6 +2686,22 @@ finally {
 	restoreStackSize(stackSize);
 }
 
+rule__DocItemType__TypeNameAssignment
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getDocItemTypeAccess().getTypeNameAlternatives_0()); }
+(rule__DocItemType__TypeNameAlternatives_0)
+{ after(grammarAccess.getDocItemTypeAccess().getTypeNameAlternatives_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
 rule__DocItem__TypeAssignment_0
     @init {
 		int stackSize = keepStackSize();
@@ -2648,14 +2717,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__DocItem__IdAssignment_1
+rule__DocItem__NameAssignment_1
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getDocItemAccess().getIdIDTerminalRuleCall_1_0()); }
-	RULE_ID{ after(grammarAccess.getDocItemAccess().getIdIDTerminalRuleCall_1_0()); }
+{ before(grammarAccess.getDocItemAccess().getNameIDTerminalRuleCall_1_0()); }
+	RULE_ID{ after(grammarAccess.getDocItemAccess().getNameIDTerminalRuleCall_1_0()); }
 )
 
 ;
@@ -2678,6 +2747,22 @@ finally {
 	restoreStackSize(stackSize);
 }
 
+rule__ModelType__TypeNameAssignment
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getModelTypeAccess().getTypeNameAlternatives_0()); }
+(rule__ModelType__TypeNameAlternatives_0)
+{ after(grammarAccess.getModelTypeAccess().getTypeNameAlternatives_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
 rule__ModelItem__TypeAssignment_0
     @init {
 		int stackSize = keepStackSize();
@@ -2693,14 +2778,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__ModelItem__IdAssignment_1
+rule__ModelItem__NameAssignment_1
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getModelItemAccess().getIdIDTerminalRuleCall_1_0()); }
-	RULE_ID{ after(grammarAccess.getModelItemAccess().getIdIDTerminalRuleCall_1_0()); }
+{ before(grammarAccess.getModelItemAccess().getNameIDTerminalRuleCall_1_0()); }
+	RULE_ID{ after(grammarAccess.getModelItemAccess().getNameIDTerminalRuleCall_1_0()); }
 )
 
 ;
@@ -2723,6 +2808,22 @@ finally {
 	restoreStackSize(stackSize);
 }
 
+rule__ListItemType__TypeNameAssignment
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getListItemTypeAccess().getTypeNameAlternatives_0()); }
+(rule__ListItemType__TypeNameAlternatives_0)
+{ after(grammarAccess.getListItemTypeAccess().getTypeNameAlternatives_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
 rule__ListItem__TypeAssignment_0
     @init {
 		int stackSize = keepStackSize();
@@ -2738,14 +2839,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__ListItem__IdAssignment_1
+rule__ListItem__NameAssignment_1
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getListItemAccess().getIdIDTerminalRuleCall_1_0()); }
-	RULE_ID{ after(grammarAccess.getListItemAccess().getIdIDTerminalRuleCall_1_0()); }
+{ before(grammarAccess.getListItemAccess().getNameIDTerminalRuleCall_1_0()); }
+	RULE_ID{ after(grammarAccess.getListItemAccess().getNameIDTerminalRuleCall_1_0()); }
 )
 
 ;
https://github.com/nasa/CertWare/raw/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent.ui%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fui%2Fcontentassist%2Fantlr%2Finternal%2FInternalIntentSpecification.g
2f0f83febe026383eed03a5f02b7967fd5fc4101
modified
https://github.com/nasa/CertWare/blob/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent.ui%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fui%2Fcontentassist%2Fantlr%2Finternal%2FInternalIntentSpecificationLexer.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent.ui%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fui%2Fcontentassist%2Fantlr%2Finternal%2FInternalIntentSpecificationLexer.java?ref=27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9
net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecificationLexer.java
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2930:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2930:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2930:11: ( '^' )?
                    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2930:11: '^'
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2930:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2932:10: ( ( '0' .. '9' )+ )
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2932:12: ( '0' .. '9' )+
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2932:12: ( '0' .. '9' )+
            	    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2932:13: '0' .. '9'
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2934:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2934:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2934:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
                    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2934:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
                    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2934:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
                    	    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2934:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
                    	    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2934:66: ~ ( ( '\\\\' | '\"' ) )
                    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2934:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
                    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2934:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
                    	    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2934:92: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
                    	    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2934:137: ~ ( ( '\\\\' | '\\'' ) )
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2936:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2936:19: '/*' ( options {greedy=false; } : . )* '*/'
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2936:24: ( options {greedy=false; } : . )*
            	    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2936:52: .
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2938:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2938:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2938:24: (~ ( ( '\\n' | '\\r' ) ) )*
            	    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2938:24: ~ ( ( '\\n' | '\\r' ) )
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2938:40: ( ( '\\r' )? '\\n' )?
                    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2938:41: ( '\\r' )? '\\n'
                    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2938:41: ( '\\r' )?
                            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2938:41: '\\r'
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2940:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2940:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2940:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2942:16: ( . )
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2942:18: .
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2829:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2829:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2829:11: ( '^' )?
                    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2829:11: '^'
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2829:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2831:10: ( ( '0' .. '9' )+ )
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2831:12: ( '0' .. '9' )+
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2831:12: ( '0' .. '9' )+
            	    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2831:13: '0' .. '9'
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2833:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2833:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2833:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
                    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2833:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
                    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2833:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
                    	    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2833:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
                    	    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2833:66: ~ ( ( '\\\\' | '\"' ) )
                    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2833:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
                    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2833:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
                    	    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2833:92: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
                    	    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2833:137: ~ ( ( '\\\\' | '\\'' ) )
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2835:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2835:19: '/*' ( options {greedy=false; } : . )* '*/'
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2835:24: ( options {greedy=false; } : . )*
            	    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2835:52: .
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2837:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2837:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2837:24: (~ ( ( '\\n' | '\\r' ) ) )*
            	    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2837:24: ~ ( ( '\\n' | '\\r' ) )
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2837:40: ( ( '\\r' )? '\\n' )?
                    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2837:41: ( '\\r' )? '\\n'
                    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2837:41: ( '\\r' )?
                            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2837:41: '\\r'
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2839:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2839:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2839:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2841:16: ( . )
            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2841:18: .
@@ -846,10 +846,10 @@ public final void mRULE_ID() throws RecognitionException {
         try {
             int _type = RULE_ID;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2829:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
-            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2829:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2930:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
+            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2930:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
             {
-            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2829:11: ( '^' )?
+            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2930:11: ( '^' )?
             int alt1=2;
             int LA1_0 = input.LA(1);
 
@@ -858,7 +858,7 @@ public final void mRULE_ID() throws RecognitionException {
             }
             switch (alt1) {
                 case 1 :
-                    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2829:11: '^'
+                    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2930:11: '^'
                     {
                     match('^'); 
 
@@ -876,7 +876,7 @@ public final void mRULE_ID() throws RecognitionException {
                 recover(mse);
                 throw mse;}
 
-            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2829:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2930:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
             loop2:
             do {
                 int alt2=2;
@@ -925,10 +925,10 @@ public final void mRULE_INT() throws RecognitionException {
         try {
             int _type = RULE_INT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2831:10: ( ( '0' .. '9' )+ )
-            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2831:12: ( '0' .. '9' )+
+            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2932:10: ( ( '0' .. '9' )+ )
+            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2932:12: ( '0' .. '9' )+
             {
-            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2831:12: ( '0' .. '9' )+
+            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2932:12: ( '0' .. '9' )+
             int cnt3=0;
             loop3:
             do {
@@ -942,7 +942,7 @@ public final void mRULE_INT() throws RecognitionException {
 
                 switch (alt3) {
             	case 1 :
-            	    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2831:13: '0' .. '9'
+            	    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2932:13: '0' .. '9'
             	    {
             	    matchRange('0','9'); 
 
@@ -974,10 +974,10 @@ public final void mRULE_STRING() throws RecognitionException {
         try {
             int _type = RULE_STRING;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2833:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
-            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2833:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2934:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
+            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2934:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
             {
-            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2833:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2934:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
             int alt6=2;
             int LA6_0 = input.LA(1);
 
@@ -995,10 +995,10 @@ else if ( (LA6_0=='\'') ) {
             }
             switch (alt6) {
                 case 1 :
-                    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2833:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+                    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2934:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
                     {
                     match('\"'); 
-                    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2833:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
+                    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2934:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
                     loop4:
                     do {
                         int alt4=3;
@@ -1014,7 +1014,7 @@ else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=
 
                         switch (alt4) {
                     	case 1 :
-                    	    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2833:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
+                    	    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2934:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
                     	    {
                     	    match('\\'); 
                     	    if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) {
@@ -1030,7 +1030,7 @@ else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2833:66: ~ ( ( '\\\\' | '\"' ) )
+                    	    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2934:66: ~ ( ( '\\\\' | '\"' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -1055,10 +1055,10 @@ else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=
                     }
                     break;
                 case 2 :
-                    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2833:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+                    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2934:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
                     {
                     match('\''); 
-                    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2833:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
+                    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2934:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
                     loop5:
                     do {
                         int alt5=3;
@@ -1074,7 +1074,7 @@ else if ( ((LA5_0>='\u0000' && LA5_0<='&')||(LA5_0>='(' && LA5_0<='[')||(LA5_0>=
 
                         switch (alt5) {
                     	case 1 :
-                    	    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2833:92: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
+                    	    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2934:92: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
                     	    {
                     	    match('\\'); 
                     	    if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) {
@@ -1090,7 +1090,7 @@ else if ( ((LA5_0>='\u0000' && LA5_0<='&')||(LA5_0>='(' && LA5_0<='[')||(LA5_0>=
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2833:137: ~ ( ( '\\\\' | '\\'' ) )
+                    	    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2934:137: ~ ( ( '\\\\' | '\\'' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -1133,12 +1133,12 @@ public final void mRULE_ML_COMMENT() throws RecognitionException {
         try {
             int _type = RULE_ML_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2835:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2835:19: '/*' ( options {greedy=false; } : . )* '*/'
+            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2936:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2936:19: '/*' ( options {greedy=false; } : . )* '*/'
             {
             match("/*"); 
 
-            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2835:24: ( options {greedy=false; } : . )*
+            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2936:24: ( options {greedy=false; } : . )*
             loop7:
             do {
                 int alt7=2;
@@ -1163,7 +1163,7 @@ else if ( ((LA7_0>='\u0000' && LA7_0<=')')||(LA7_0>='+' && LA7_0<='\uFFFF')) ) {
 
                 switch (alt7) {
             	case 1 :
-            	    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2835:52: .
+            	    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2936:52: .
             	    {
             	    matchAny(); 
 
@@ -1193,12 +1193,12 @@ public final void mRULE_SL_COMMENT() throws RecognitionException {
         try {
             int _type = RULE_SL_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2837:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
-            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2837:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2938:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2938:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
             {
             match("//"); 
 
-            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2837:24: (~ ( ( '\\n' | '\\r' ) ) )*
+            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2938:24: (~ ( ( '\\n' | '\\r' ) ) )*
             loop8:
             do {
                 int alt8=2;
@@ -1211,7 +1211,7 @@ public final void mRULE_SL_COMMENT() throws RecognitionException {
 
                 switch (alt8) {
             	case 1 :
-            	    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2837:24: ~ ( ( '\\n' | '\\r' ) )
+            	    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2938:24: ~ ( ( '\\n' | '\\r' ) )
             	    {
             	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
             	        input.consume();
@@ -1231,7 +1231,7 @@ public final void mRULE_SL_COMMENT() throws RecognitionException {
                 }
             } while (true);
 
-            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2837:40: ( ( '\\r' )? '\\n' )?
+            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2938:40: ( ( '\\r' )? '\\n' )?
             int alt10=2;
             int LA10_0 = input.LA(1);
 
@@ -1240,9 +1240,9 @@ public final void mRULE_SL_COMMENT() throws RecognitionException {
             }
             switch (alt10) {
                 case 1 :
-                    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2837:41: ( '\\r' )? '\\n'
+                    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2938:41: ( '\\r' )? '\\n'
                     {
-                    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2837:41: ( '\\r' )?
+                    // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2938:41: ( '\\r' )?
                     int alt9=2;
                     int LA9_0 = input.LA(1);
 
@@ -1251,7 +1251,7 @@ public final void mRULE_SL_COMMENT() throws RecognitionException {
                     }
                     switch (alt9) {
                         case 1 :
-                            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2837:41: '\\r'
+                            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2938:41: '\\r'
                             {
                             match('\r'); 
 
@@ -1283,10 +1283,10 @@ public final void mRULE_WS() throws RecognitionException {
         try {
             int _type = RULE_WS;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2839:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
-            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2839:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2940:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2940:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             {
-            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2839:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2940:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             int cnt11=0;
             loop11:
             do {
@@ -1340,8 +1340,8 @@ public final void mRULE_ANY_OTHER() throws RecognitionException {
         try {
             int _type = RULE_ANY_OTHER;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2841:16: ( . )
-            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2841:18: .
+            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2942:16: ( . )
+            // ../net.certware.intent.ui/src-gen/net/certware/intent/ui/contentassist/antlr/internal/InternalIntentSpecification.g:2942:18: .
             {
             matchAny(); 
 
https://github.com/nasa/CertWare/raw/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent.ui%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fui%2Fcontentassist%2Fantlr%2Finternal%2FInternalIntentSpecificationLexer.java
1ea410586be287ba859369930d85590f6df88798
modified
https://github.com/nasa/CertWare/blob/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent.ui%2Fsrc%2Fnet%2Fcertware%2Fintent%2Fui%2Flabeling%2FIntentSpecificationLabelProvider.xtend
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent.ui%2Fsrc%2Fnet%2Fcertware%2Fintent%2Fui%2Flabeling%2FIntentSpecificationLabelProvider.xtend?ref=27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9
net.certware.intent.ui/src/net/certware/intent/ui/labeling/IntentSpecificationLabelProvider.xtend
* NOT generated by Xtext
import net.certware.intent.intentSpecification.Decomposition
import net.certware.intent.intentSpecification.DocItem
import net.certware.intent.intentSpecification.Document
import net.certware.intent.intentSpecification.Intent
import net.certware.intent.intentSpecification.ListItem
import net.certware.intent.intentSpecification.ModelItem
import net.certware.intent.intentSpecification.Refinement
import net.certware.intent.intentSpecification.Specification
import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider
import org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider
class IntentSpecificationLabelProvider extends DefaultEObjectLabelProvider {
	new(AdapterFactoryLabelProvider delegate) {
	def image(Refinement e) {
		'obj16/refinement.gif'
	}
	
	def image(Intent e) {
		'obj16/intent.gif'
	}
	
	def image(Specification e) {
		'obj16/specification.gif'
	}
	
	def image(Decomposition e) {
		'obj16/decomposition.gif'
	}
	
	def image(Document e) {
		'obj16/document.gif'
	}
	
	def image(ModelItem e) {
		'obj16/modelitem.gif'
	}
	
	def image(ListItem e) {
		'obj16/listitem.gif'
	}
	
	/*
	 * text responses
	 */
	def text(Intent e) {
		var type = e.type
		var typeName = type.typeName
		// 	typeName=('basic' | 'purpose' | 'principles' | 'models' | 'design' | 'implementation' | 'operation')
		if ('basic'.equals(typeName)) {
			return 'Basic' + ' ' + e.name
		}
		if ('purpose'.equals(typeName)) {
			return 'Purpose' + ' ' + e.name
		}
		if ('principles'.equals(typeName)) {
			return 'Principles' + ' ' + e.name
		}
		if ('models'.equals(typeName)) {
			return 'Models' + ' ' + e.name
		}
		if ('design'.equals(typeName)) {
			return 'Design' + ' ' + e.name
		}
		if ('implementation'.equals(typeName)) {
			return 'Implementation' + ' ' + e.name
		}
		if ('operation'.equals(typeName)) {
			return 'Operation' + ' ' + e.name
		}
		'Intent' + ' ' + e.name
	}
	
	def text(Refinement e) {
		'Refinement' + ' ' + e.name
	}
	
	def text(Decomposition e) {
		var type = e.type
		var typeName = type.typeName
		if ( 'environment'.equals(typeName)) {
			return 'Environment' + ' ' + e.name
		}
		if ('operator'.equals(typeName)) {
			return 'Operator' + ' ' + e.name
		}
		if ('system'.equals(typeName)) {
			return 'System' + ' ' + e.name
		}
		if ('verification'.equals(typeName)) {
			return 'V&V' + ' ' + e.name
		}
		'Decomposition' + ' ' + e.name
	}

	def text(Document e) {
		'Document' // has no name or ID
	}
	
	def text(DocItem e) {
		var type = e.type
		var typeName = type.typeName
		if ('condition'.equals(typeName)) {
			return 'Condition' + ' ' + e.name
		}
		if ('figure'.equals(typeName)) {
			return 'Figure' + ' ' + e.name
		}
		if ('break'.equals(typeName)) {
			return 'Break'
		}
		if ('model'.equals(typeName)) {
			return 'Model' + ' ' + e.name
		}
		if ('paragraph'.equals(typeName)) {
			return 'Paragraph' + ' ' + e.name
		}
		if ('section'.equals(typeName)) {
			return 'Section' + ' ' + e.name
		}
		if ('table'.equals(typeName)) {
			return 'Table' + ' ' + e.name
		}

		'Item' + ' ' + e.name		
	}
	
	
	def text(ModelItem e) {
		var type = e.type
		var typeName = type.typeName
		
		if ('output'.equals(typeName)){
			return 'Output' + ' ' + e.name
		}
		if ('mode'.equals(typeName)){
			return 'Mode' + ' ' + e.name
		}
		if ('state'.equals(typeName)) {
			return 'State' + ' ' + e.name
		}
		if ('macro'.equals(typeName)) {
			return 'Macro' + ' ' + e.name
		}
		if ('function'.equals(typeName)) {
			return 'Function' + ' ' + e.name
		}
		if ('input'.equals(typeName)) {
			return 'Input' + ' ' + e.name
		}
		'Model' + ' ' + e.name
	}
	
	def text(ListItem e) {
		var type = e.type
		
		if ('hazard'.equals(type.typeName)) {
			return 'Hazard' + ' ' + e.name
		}
		if ('requirement'.equals(type.typeName)) {
			return 'Requirement' + ' ' + e.name
		}
		if ('goal'.equals(type.typeName)) {
			return 'Goal' + ' ' + e.name
		} 
		if ('constraint'.equals(type.typeName)) {
			return 'Constraint' + ' ' + e.name			
		}
		'List' + ' ' + e.name
	}
Refinement e
net.certware.intent.ui/src/net/certware/intent/ui/labeling/IntentSpecificationLabelProvider.xtend
'obj16/refinement.gif'
def image(Refinement e)
Intent e
net.certware.intent.ui/src/net/certware/intent/ui/labeling/IntentSpecificationLabelProvider.xtend
'obj16/intent.gif'
def image(Intent e)
Specification e
net.certware.intent.ui/src/net/certware/intent/ui/labeling/IntentSpecificationLabelProvider.xtend
'obj16/specification.gif'
def image(Specification e)
Decomposition e
net.certware.intent.ui/src/net/certware/intent/ui/labeling/IntentSpecificationLabelProvider.xtend
'obj16/decomposition.gif'
def image(Decomposition e)
Document e
net.certware.intent.ui/src/net/certware/intent/ui/labeling/IntentSpecificationLabelProvider.xtend
'obj16/document.gif'
def image(Document e)
ModelItem e
net.certware.intent.ui/src/net/certware/intent/ui/labeling/IntentSpecificationLabelProvider.xtend
'obj16/modelitem.gif'
def image(ModelItem e)
ListItem e
net.certware.intent.ui/src/net/certware/intent/ui/labeling/IntentSpecificationLabelProvider.xtend
'obj16/listitem.gif'
def image(ListItem e)
Intent e
net.certware.intent.ui/src/net/certware/intent/ui/labeling/IntentSpecificationLabelProvider.xtend
var type = e.type
		var typeName = type.typeName
		// 	typeName=('basic' | 'purpose' | 'principles' | 'models' | 'design' | 'implementation' | 'operation')
		if ('basic'.equals(typeName)) {
			return 'Basic' + ' ' + e.name
def text(Intent e)
Refinement e
net.certware.intent.ui/src/net/certware/intent/ui/labeling/IntentSpecificationLabelProvider.xtend
'Refinement' + ' ' + e.name
def text(Refinement e)
Decomposition e
net.certware.intent.ui/src/net/certware/intent/ui/labeling/IntentSpecificationLabelProvider.xtend
var type = e.type
		var typeName = type.typeName
		if ( 'environment'.equals(typeName)) {
			return 'Environment' + ' ' + e.name
def text(Decomposition e)
Document e
net.certware.intent.ui/src/net/certware/intent/ui/labeling/IntentSpecificationLabelProvider.xtend
'Document' // has no name or ID
def text(Document e)
DocItem e
net.certware.intent.ui/src/net/certware/intent/ui/labeling/IntentSpecificationLabelProvider.xtend
var type = e.type
		var typeName = type.typeName
		if ('condition'.equals(typeName)) {
			return 'Condition' + ' ' + e.name
def text(DocItem e)
ModelItem e
net.certware.intent.ui/src/net/certware/intent/ui/labeling/IntentSpecificationLabelProvider.xtend
var type = e.type
		var typeName = type.typeName
		
		if ('output'.equals(typeName)){
			return 'Output' + ' ' + e.name
def text(ModelItem e)
ListItem e
net.certware.intent.ui/src/net/certware/intent/ui/labeling/IntentSpecificationLabelProvider.xtend
var type = e.type
		
		if ('hazard'.equals(type.typeName)) {
			return 'Hazard' + ' ' + e.name
def text(ListItem e)
* generated by Xtext
class IntentSpecificationLabelProvider extends org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider {
	new(org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider delegate) {
	// Labels and icons can be computed like this:
	
//	def text(Greeting ele) {
//		'A greeting to ' + ele.name
//	}
//
//	def image(Greeting ele) {
//		'Greeting.gif'
//	}
Greeting ele
net.certware.intent.ui/src/net/certware/intent/ui/labeling/IntentSpecificationLabelProvider.xtend
//		'A greeting to ' + ele.name
//
def text(Greeting ele)
Greeting ele
net.certware.intent.ui/src/net/certware/intent/ui/labeling/IntentSpecificationLabelProvider.xtend
//		'Greeting.gif'
//
def image(Greeting ele)
@@ -1,29 +1,186 @@
 /*
-* generated by Xtext
+* NOT generated by Xtext
 */
 package net.certware.intent.ui.labeling
 
 import com.google.inject.Inject
+import net.certware.intent.intentSpecification.Decomposition
+import net.certware.intent.intentSpecification.DocItem
+import net.certware.intent.intentSpecification.Document
+import net.certware.intent.intentSpecification.Intent
+import net.certware.intent.intentSpecification.ListItem
+import net.certware.intent.intentSpecification.ModelItem
+import net.certware.intent.intentSpecification.Refinement
+import net.certware.intent.intentSpecification.Specification
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider
+import org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider
 
 /**
  * Provides labels for a EObjects.
  * 
  * see http://www.eclipse.org/Xtext/documentation.html#labelProvider
  */
-class IntentSpecificationLabelProvider extends org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider {
+class IntentSpecificationLabelProvider extends DefaultEObjectLabelProvider {
 
 	@Inject
-	new(org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider delegate) {
+	new(AdapterFactoryLabelProvider delegate) {
 		super(delegate);
 	}
 
-	// Labels and icons can be computed like this:
-	
-//	def text(Greeting ele) {
-//		'A greeting to ' + ele.name
-//	}
-//
-//	def image(Greeting ele) {
-//		'Greeting.gif'
-//	}
+	def image(Refinement e) {
+		'obj16/refinement.gif'
+	}
+	
+	def image(Intent e) {
+		'obj16/intent.gif'
+	}
+	
+	def image(Specification e) {
+		'obj16/specification.gif'
+	}
+	
+	def image(Decomposition e) {
+		'obj16/decomposition.gif'
+	}
+	
+	def image(Document e) {
+		'obj16/document.gif'
+	}
+	
+	def image(ModelItem e) {
+		'obj16/modelitem.gif'
+	}
+	
+	def image(ListItem e) {
+		'obj16/listitem.gif'
+	}
+	
+	/*
+	 * text responses
+	 */
+	def text(Intent e) {
+		var type = e.type
+		var typeName = type.typeName
+		// 	typeName=('basic' | 'purpose' | 'principles' | 'models' | 'design' | 'implementation' | 'operation')
+		if ('basic'.equals(typeName)) {
+			return 'Basic' + ' ' + e.name
+		}
+		if ('purpose'.equals(typeName)) {
+			return 'Purpose' + ' ' + e.name
+		}
+		if ('principles'.equals(typeName)) {
+			return 'Principles' + ' ' + e.name
+		}
+		if ('models'.equals(typeName)) {
+			return 'Models' + ' ' + e.name
+		}
+		if ('design'.equals(typeName)) {
+			return 'Design' + ' ' + e.name
+		}
+		if ('implementation'.equals(typeName)) {
+			return 'Implementation' + ' ' + e.name
+		}
+		if ('operation'.equals(typeName)) {
+			return 'Operation' + ' ' + e.name
+		}
+		'Intent' + ' ' + e.name
+	}
+	
+	def text(Refinement e) {
+		'Refinement' + ' ' + e.name
+	}
+	
+	def text(Decomposition e) {
+		var type = e.type
+		var typeName = type.typeName
+		if ( 'environment'.equals(typeName)) {
+			return 'Environment' + ' ' + e.name
+		}
+		if ('operator'.equals(typeName)) {
+			return 'Operator' + ' ' + e.name
+		}
+		if ('system'.equals(typeName)) {
+			return 'System' + ' ' + e.name
+		}
+		if ('verification'.equals(typeName)) {
+			return 'V&V' + ' ' + e.name
+		}
+		'Decomposition' + ' ' + e.name
+	}
+
+	def text(Document e) {
+		'Document' // has no name or ID
+	}
+	
+	def text(DocItem e) {
+		var type = e.type
+		var typeName = type.typeName
+		if ('condition'.equals(typeName)) {
+			return 'Condition' + ' ' + e.name
+		}
+		if ('figure'.equals(typeName)) {
+			return 'Figure' + ' ' + e.name
+		}
+		if ('break'.equals(typeName)) {
+			return 'Break'
+		}
+		if ('model'.equals(typeName)) {
+			return 'Model' + ' ' + e.name
+		}
+		if ('paragraph'.equals(typeName)) {
+			return 'Paragraph' + ' ' + e.name
+		}
+		if ('section'.equals(typeName)) {
+			return 'Section' + ' ' + e.name
+		}
+		if ('table'.equals(typeName)) {
+			return 'Table' + ' ' + e.name
+		}
+
+		'Item' + ' ' + e.name		
+	}
+	
+	
+	def text(ModelItem e) {
+		var type = e.type
+		var typeName = type.typeName
+		
+		if ('output'.equals(typeName)){
+			return 'Output' + ' ' + e.name
+		}
+		if ('mode'.equals(typeName)){
+			return 'Mode' + ' ' + e.name
+		}
+		if ('state'.equals(typeName)) {
+			return 'State' + ' ' + e.name
+		}
+		if ('macro'.equals(typeName)) {
+			return 'Macro' + ' ' + e.name
+		}
+		if ('function'.equals(typeName)) {
+			return 'Function' + ' ' + e.name
+		}
+		if ('input'.equals(typeName)) {
+			return 'Input' + ' ' + e.name
+		}
+		'Model' + ' ' + e.name
+	}
+	
+	def text(ListItem e) {
+		var type = e.type
+		
+		if ('hazard'.equals(type.typeName)) {
+			return 'Hazard' + ' ' + e.name
+		}
+		if ('requirement'.equals(type.typeName)) {
+			return 'Requirement' + ' ' + e.name
+		}
+		if ('goal'.equals(type.typeName)) {
+			return 'Goal' + ' ' + e.name
+		} 
+		if ('constraint'.equals(type.typeName)) {
+			return 'Constraint' + ' ' + e.name			
+		}
+		'List' + ' ' + e.name
+	}
 }
https://github.com/nasa/CertWare/raw/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent.ui%2Fsrc%2Fnet%2Fcertware%2Fintent%2Fui%2Flabeling%2FIntentSpecificationLabelProvider.xtend
db5092061520be3b76f11f66af4d236ba42900e9
modified
https://github.com/nasa/CertWare/blob/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent.ui%2Fsrc%2Fnet%2Fcertware%2Fintent%2Fui%2Fquickfix%2FIntentSpecificationQuickfixProvider.xtend
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent.ui%2Fsrc%2Fnet%2Fcertware%2Fintent%2Fui%2Fquickfix%2FIntentSpecificationQuickfixProvider.xtend?ref=27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9
net.certware.intent.ui/src/net/certware/intent/ui/quickfix/IntentSpecificationQuickfixProvider.xtend
 * NOT generated by Xtext
 */
import net.certware.intent.intentSpecification.Decomposition
import net.certware.intent.intentSpecification.Intent
import net.certware.intent.intentSpecification.ListItem
import net.certware.intent.intentSpecification.ModelItem
import net.certware.intent.intentSpecification.Refinement
import net.certware.intent.validation.IntentSpecificationValidator
import org.eclipse.xtext.ui.editor.quickfix.DefaultQuickfixProvider
import org.eclipse.xtext.ui.editor.quickfix.Fix
import org.eclipse.xtext.ui.editor.quickfix.IssueResolutionAcceptor
import org.eclipse.xtext.validation.Issue
 * @see http://www.eclipse.org/Xtext/documentation.html#quickfixes
 * @author mrb@certware.net
class IntentSpecificationQuickfixProvider extends DefaultQuickfixProvider {
	
	/*
	 * Fix duplicated intent entries by removing one.
	 */
	@Fix(IntentSpecificationValidator::UNIQUE_INTENTS_REFINEMENT)
	def removeIntent(Issue issue, IssueResolutionAcceptor acceptor) {
		acceptor.accept(issue,
			"Remove duplicated entry", // label
			"Remove intent named" + ' ' + issue.data.get(0), // description
			"obj16/intent.gif", // icon
			[
				element, context |
				var container = element as Refinement
				var itemName = issue.data.get(0) as String
				var list = container.intents
				var iter = list.iterator
				var lastItem = null as Intent
				while(iter.hasNext) {
					var item = iter.next()
					if ( item.name.equals(itemName)) {
						lastItem = item
					}
				}
				
				if (lastItem != null ) {
					list.remove(lastItem)
				}
			]
		);
	}

	/*
	 * Fix duplicated intent entries by removing one.
	 */
	@Fix(IntentSpecificationValidator::UNIQUE_DECOMPOSITION_INTENT)
	def removeDecomposition(Issue issue, IssueResolutionAcceptor acceptor) {
		acceptor.accept(issue,
			"Remove duplicated decomposition", // label
			"Remove decomposition named" + ' ' + issue.data.get(0), // description
			"obj16/decomposition.gif", // icon
			[
				element, context |
				var container = element as Intent
				var itemName = issue.data.get(0) as String
				var list = container.decompositions
				var iter = list.iterator
				var lastItem = null as Decomposition
				while(iter.hasNext) {
					var item = iter.next() as Decomposition
					if ( item.name.equals(itemName)) {
						lastItem = item
					}
				}
				
				if (lastItem != null ) {
					list.remove(lastItem)
				}
			]
		);
	}
	/*
	 * Fix duplicated list entries by removing one.
	 */
	@Fix(IntentSpecificationValidator::UNIQUE_LIST_ITEM_LIST_ITEM)
	def removeListItem(Issue issue, IssueResolutionAcceptor acceptor) {
		acceptor.accept(issue,
			"Remove duplicated list item", // label
			"Remove list item named" + ' ' + issue.data.get(0), // description
			"obj16/listitem.gif", // icon
			[
				element, context |
				var outerList = element as ListItem
				var itemName = issue.data.get(0) as String
				var list = outerList.itemReferences
				var iter = list.iterator
				var lastItem = null as ListItem
				while(iter.hasNext) {
					var item = iter.next()
					if ( item.name.equals(itemName)) {
						lastItem = item
					}
				}
				
				if (lastItem != null ) {
					list.remove(lastItem)
				}
			]
		);
	}
	
	@Fix(IntentSpecificationValidator::UNIQUE_MODEL_ITEM_LIST_ITEM)
	def removeModelItem(Issue issue, IssueResolutionAcceptor acceptor) {
		acceptor.accept(issue,
			"Remove duplicated entry", // label
			"Remove model item named" + ' ' + issue.data.get(0), // description
			"obj16/modelitem.gif", // icon
			[
				element, context |
				var outerList = element as ListItem
				var itemName = issue.data.get(0) as String
				var list = outerList.modelReferences
				var iter = list.iterator
				var lastItem = null as ModelItem
				while(iter.hasNext) {
					var item = iter.next()
					if ( item.name.equals(itemName)) {
						lastItem = item
					}
				}
				
				if (lastItem != null ) {
					list.remove(lastItem)
				}
			]
		);
	}
Issue issue  IssueResolutionAcceptor acceptor
net.certware.intent.ui/src/net/certware/intent/ui/quickfix/IntentSpecificationQuickfixProvider.xtend
acceptor.accept(issue,
			"Remove duplicated entry", // label
			"Remove intent named" + ' ' + issue.data.get(0), // description
			"obj16/intent.gif", // icon
			[
				element, context |
				var container = element as Refinement
				var itemName = issue.data.get(0) as String
				var list = container.intents
				var iter = list.iterator
				var lastItem = null as Intent
				while(iter.hasNext) {
					var item = iter.next()
					if ( item.name.equals(itemName)) {
						lastItem = item
def removeIntent(Issue issue, IssueResolutionAcceptor acceptor)
Issue issue  IssueResolutionAcceptor acceptor
net.certware.intent.ui/src/net/certware/intent/ui/quickfix/IntentSpecificationQuickfixProvider.xtend
acceptor.accept(issue,
			"Remove duplicated decomposition", // label
			"Remove decomposition named" + ' ' + issue.data.get(0), // description
			"obj16/decomposition.gif", // icon
			[
				element, context |
				var container = element as Intent
				var itemName = issue.data.get(0) as String
				var list = container.decompositions
				var iter = list.iterator
				var lastItem = null as Decomposition
				while(iter.hasNext) {
					var item = iter.next() as Decomposition
					if ( item.name.equals(itemName)) {
						lastItem = item
def removeDecomposition(Issue issue, IssueResolutionAcceptor acceptor)
Issue issue  IssueResolutionAcceptor acceptor
net.certware.intent.ui/src/net/certware/intent/ui/quickfix/IntentSpecificationQuickfixProvider.xtend
acceptor.accept(issue,
			"Remove duplicated list item", // label
			"Remove list item named" + ' ' + issue.data.get(0), // description
			"obj16/listitem.gif", // icon
			[
				element, context |
				var outerList = element as ListItem
				var itemName = issue.data.get(0) as String
				var list = outerList.itemReferences
				var iter = list.iterator
				var lastItem = null as ListItem
				while(iter.hasNext) {
					var item = iter.next()
					if ( item.name.equals(itemName)) {
						lastItem = item
def removeListItem(Issue issue, IssueResolutionAcceptor acceptor)
Issue issue  IssueResolutionAcceptor acceptor
net.certware.intent.ui/src/net/certware/intent/ui/quickfix/IntentSpecificationQuickfixProvider.xtend
acceptor.accept(issue,
			"Remove duplicated entry", // label
			"Remove model item named" + ' ' + issue.data.get(0), // description
			"obj16/modelitem.gif", // icon
			[
				element, context |
				var outerList = element as ListItem
				var itemName = issue.data.get(0) as String
				var list = outerList.modelReferences
				var iter = list.iterator
				var lastItem = null as ModelItem
				while(iter.hasNext) {
					var item = iter.next()
					if ( item.name.equals(itemName)) {
						lastItem = item
def removeModelItem(Issue issue, IssueResolutionAcceptor acceptor)
* generated by Xtext
*/
//import org.eclipse.xtext.ui.editor.quickfix.Fix
//import org.eclipse.xtext.ui.editor.quickfix.IssueResolutionAcceptor
//import org.eclipse.xtext.validation.Issue
 *
 * see http://www.eclipse.org/Xtext/documentation.html#quickfixes
class IntentSpecificationQuickfixProvider extends org.eclipse.xtext.ui.editor.quickfix.DefaultQuickfixProvider {
@@ -1,18 +1,141 @@
 /*
-* generated by Xtext
-*/
+ * NOT generated by Xtext
+ */
 package net.certware.intent.ui.quickfix
 
-//import org.eclipse.xtext.ui.editor.quickfix.Fix
-//import org.eclipse.xtext.ui.editor.quickfix.IssueResolutionAcceptor
-//import org.eclipse.xtext.validation.Issue
+import net.certware.intent.intentSpecification.Decomposition
+import net.certware.intent.intentSpecification.Intent
+import net.certware.intent.intentSpecification.ListItem
+import net.certware.intent.intentSpecification.ModelItem
+import net.certware.intent.intentSpecification.Refinement
+import net.certware.intent.validation.IntentSpecificationValidator
+import org.eclipse.xtext.ui.editor.quickfix.DefaultQuickfixProvider
+import org.eclipse.xtext.ui.editor.quickfix.Fix
+import org.eclipse.xtext.ui.editor.quickfix.IssueResolutionAcceptor
+import org.eclipse.xtext.validation.Issue
 
 /**
  * Custom quickfixes.
- *
- * see http://www.eclipse.org/Xtext/documentation.html#quickfixes
+ * @see http://www.eclipse.org/Xtext/documentation.html#quickfixes
+ * @author mrb@certware.net
  */
-class IntentSpecificationQuickfixProvider extends org.eclipse.xtext.ui.editor.quickfix.DefaultQuickfixProvider {
+class IntentSpecificationQuickfixProvider extends DefaultQuickfixProvider {
+	
+	/*
+	 * Fix duplicated intent entries by removing one.
+	 */
+	@Fix(IntentSpecificationValidator::UNIQUE_INTENTS_REFINEMENT)
+	def removeIntent(Issue issue, IssueResolutionAcceptor acceptor) {
+		acceptor.accept(issue,
+			"Remove duplicated entry", // label
+			"Remove intent named" + ' ' + issue.data.get(0), // description
+			"obj16/intent.gif", // icon
+			[
+				element, context |
+				var container = element as Refinement
+				var itemName = issue.data.get(0) as String
+				var list = container.intents
+				var iter = list.iterator
+				var lastItem = null as Intent
+				while(iter.hasNext) {
+					var item = iter.next()
+					if ( item.name.equals(itemName)) {
+						lastItem = item
+					}
+				}
+				
+				if (lastItem != null ) {
+					list.remove(lastItem)
+				}
+			]
+		);
+	}
+
+	/*
+	 * Fix duplicated intent entries by removing one.
+	 */
+	@Fix(IntentSpecificationValidator::UNIQUE_DECOMPOSITION_INTENT)
+	def removeDecomposition(Issue issue, IssueResolutionAcceptor acceptor) {
+		acceptor.accept(issue,
+			"Remove duplicated decomposition", // label
+			"Remove decomposition named" + ' ' + issue.data.get(0), // description
+			"obj16/decomposition.gif", // icon
+			[
+				element, context |
+				var container = element as Intent
+				var itemName = issue.data.get(0) as String
+				var list = container.decompositions
+				var iter = list.iterator
+				var lastItem = null as Decomposition
+				while(iter.hasNext) {
+					var item = iter.next() as Decomposition
+					if ( item.name.equals(itemName)) {
+						lastItem = item
+					}
+				}
+				
+				if (lastItem != null ) {
+					list.remove(lastItem)
+				}
+			]
+		);
+	}
+	/*
+	 * Fix duplicated list entries by removing one.
+	 */
+	@Fix(IntentSpecificationValidator::UNIQUE_LIST_ITEM_LIST_ITEM)
+	def removeListItem(Issue issue, IssueResolutionAcceptor acceptor) {
+		acceptor.accept(issue,
+			"Remove duplicated list item", // label
+			"Remove list item named" + ' ' + issue.data.get(0), // description
+			"obj16/listitem.gif", // icon
+			[
+				element, context |
+				var outerList = element as ListItem
+				var itemName = issue.data.get(0) as String
+				var list = outerList.itemReferences
+				var iter = list.iterator
+				var lastItem = null as ListItem
+				while(iter.hasNext) {
+					var item = iter.next()
+					if ( item.name.equals(itemName)) {
+						lastItem = item
+					}
+				}
+				
+				if (lastItem != null ) {
+					list.remove(lastItem)
+				}
+			]
+		);
+	}
+	
+	@Fix(IntentSpecificationValidator::UNIQUE_MODEL_ITEM_LIST_ITEM)
+	def removeModelItem(Issue issue, IssueResolutionAcceptor acceptor) {
+		acceptor.accept(issue,
+			"Remove duplicated entry", // label
+			"Remove model item named" + ' ' + issue.data.get(0), // description
+			"obj16/modelitem.gif", // icon
+			[
+				element, context |
+				var outerList = element as ListItem
+				var itemName = issue.data.get(0) as String
+				var list = outerList.modelReferences
+				var iter = list.iterator
+				var lastItem = null as ModelItem
+				while(iter.hasNext) {
+					var item = iter.next()
+					if ( item.name.equals(itemName)) {
+						lastItem = item
+					}
+				}
+				
+				if (lastItem != null ) {
+					list.remove(lastItem)
+				}
+			]
+		);
+	}
 
 //	@Fix(MyDslValidator::INVALID_NAME)
 //	def capitalizeName(Issue issue, IssueResolutionAcceptor acceptor) {
https://github.com/nasa/CertWare/raw/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent.ui%2Fsrc%2Fnet%2Fcertware%2Fintent%2Fui%2Fquickfix%2FIntentSpecificationQuickfixProvider.xtend
44be548a658b3731af7b97c3654097721a89d19f
modified
https://github.com/nasa/CertWare/blob/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent.ui%2Fsrc%2Fnet%2Fcertware%2Fintent%2Fui%2Fwizard%2FIntentSpecificationNewProject.xpt
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent.ui%2Fsrc%2Fnet%2Fcertware%2Fintent%2Fui%2Fwizard%2FIntentSpecificationNewProject.xpt?ref=27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9
net.certware.intent.ui/src/net/certware/intent/ui/wizard/IntentSpecificationNewProject.xpt
«FILE "src/model/Model.intent"-»
«FILE "src/model/Model.intentspecification"-»
@@ -6,7 +6,7 @@
 «ENDDEFINE»
 
 «DEFINE model FOR IntentSpecificationProjectInfo»
-«FILE "src/model/Model.intentspecification"-»
+«FILE "src/model/Model.intent"-»
 /*
  * This is an example model
  */
https://github.com/nasa/CertWare/raw/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent.ui%2Fsrc%2Fnet%2Fcertware%2Fintent%2Fui%2Fwizard%2FIntentSpecificationNewProject.xpt
564de2e356a15c25618cd9ebb9667822f7ef6c19
modified
https://github.com/nasa/CertWare/blob/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent.ui%2Fxtend-gen%2Fnet%2Fcertware%2Fintent%2Fui%2Flabeling%2FIntentSpecificationLabelProvider.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent.ui%2Fxtend-gen%2Fnet%2Fcertware%2Fintent%2Fui%2Flabeling%2FIntentSpecificationLabelProvider.java?ref=27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9
net.certware.intent.ui/xtend-gen/net/certware/intent/ui/labeling/IntentSpecificationLabelProvider.java
 * NOT generated by Xtext
import net.certware.intent.intentSpecification.Decomposition;
import net.certware.intent.intentSpecification.DecompositionType;
import net.certware.intent.intentSpecification.DocItem;
import net.certware.intent.intentSpecification.DocItemType;
import net.certware.intent.intentSpecification.Document;
import net.certware.intent.intentSpecification.Intent;
import net.certware.intent.intentSpecification.IntentType;
import net.certware.intent.intentSpecification.ListItem;
import net.certware.intent.intentSpecification.ListItemType;
import net.certware.intent.intentSpecification.ModelItem;
import net.certware.intent.intentSpecification.ModelType;
import net.certware.intent.intentSpecification.Refinement;
import net.certware.intent.intentSpecification.Specification;
  
  public String image(final Refinement e) {
    return "obj16/refinement.gif";
  }
  
  public String image(final Intent e) {
    return "obj16/intent.gif";
  }
  
  public String image(final Specification e) {
    return "obj16/specification.gif";
  }
  
  public String image(final Decomposition e) {
    return "obj16/decomposition.gif";
  }
  
  public String image(final Document e) {
    return "obj16/document.gif";
  }
  
  public String image(final ModelItem e) {
    return "obj16/modelitem.gif";
  }
  
  public String image(final ListItem e) {
    return "obj16/listitem.gif";
  }
  
  /**
   * text responses
   */
  public String text(final Intent e) {
    String _xblockexpression = null;
    {
      IntentType type = e.getType();
      String typeName = type.getTypeName();
      boolean _equals = "basic".equals(typeName);
      if (_equals) {
        String _plus = ("Basic" + " ");
        String _name = e.getName();
        return (_plus + _name);
      }
      boolean _equals_1 = "purpose".equals(typeName);
      if (_equals_1) {
        String _plus_1 = ("Purpose" + " ");
        String _name_1 = e.getName();
        return (_plus_1 + _name_1);
      }
      boolean _equals_2 = "principles".equals(typeName);
      if (_equals_2) {
        String _plus_2 = ("Principles" + " ");
        String _name_2 = e.getName();
        return (_plus_2 + _name_2);
      }
      boolean _equals_3 = "models".equals(typeName);
      if (_equals_3) {
        String _plus_3 = ("Models" + " ");
        String _name_3 = e.getName();
        return (_plus_3 + _name_3);
      }
      boolean _equals_4 = "design".equals(typeName);
      if (_equals_4) {
        String _plus_4 = ("Design" + " ");
        String _name_4 = e.getName();
        return (_plus_4 + _name_4);
      }
      boolean _equals_5 = "implementation".equals(typeName);
      if (_equals_5) {
        String _plus_5 = ("Implementation" + " ");
        String _name_5 = e.getName();
        return (_plus_5 + _name_5);
      }
      boolean _equals_6 = "operation".equals(typeName);
      if (_equals_6) {
        String _plus_6 = ("Operation" + " ");
        String _name_6 = e.getName();
        return (_plus_6 + _name_6);
      }
      String _plus_7 = ("Intent" + " ");
      String _name_7 = e.getName();
      String _plus_8 = (_plus_7 + _name_7);
      _xblockexpression = (_plus_8);
    }
    return _xblockexpression;
  }
  
  public String text(final Refinement e) {
    String _plus = ("Refinement" + " ");
    String _name = e.getName();
    String _plus_1 = (_plus + _name);
    return _plus_1;
  }
  
  public String text(final Decomposition e) {
    String _xblockexpression = null;
    {
      DecompositionType type = e.getType();
      String typeName = type.getTypeName();
      boolean _equals = "environment".equals(typeName);
      if (_equals) {
        String _plus = ("Environment" + " ");
        String _name = e.getName();
        return (_plus + _name);
      }
      boolean _equals_1 = "operator".equals(typeName);
      if (_equals_1) {
        String _plus_1 = ("Operator" + " ");
        String _name_1 = e.getName();
        return (_plus_1 + _name_1);
      }
      boolean _equals_2 = "system".equals(typeName);
      if (_equals_2) {
        String _plus_2 = ("System" + " ");
        String _name_2 = e.getName();
        return (_plus_2 + _name_2);
      }
      boolean _equals_3 = "verification".equals(typeName);
      if (_equals_3) {
        String _plus_3 = ("V&V" + " ");
        String _name_3 = e.getName();
        return (_plus_3 + _name_3);
      }
      String _plus_4 = ("Decomposition" + " ");
      String _name_4 = e.getName();
      String _plus_5 = (_plus_4 + _name_4);
      _xblockexpression = (_plus_5);
    }
    return _xblockexpression;
  }
  
  public String text(final Document e) {
    return "Document";
  }
  
  public String text(final DocItem e) {
    String _xblockexpression = null;
    {
      DocItemType type = e.getType();
      String typeName = type.getTypeName();
      boolean _equals = "condition".equals(typeName);
      if (_equals) {
        String _plus = ("Condition" + " ");
        String _name = e.getName();
        return (_plus + _name);
      }
      boolean _equals_1 = "figure".equals(typeName);
      if (_equals_1) {
        String _plus_1 = ("Figure" + " ");
        String _name_1 = e.getName();
        return (_plus_1 + _name_1);
      }
      boolean _equals_2 = "break".equals(typeName);
      if (_equals_2) {
        return "Break";
      }
      boolean _equals_3 = "model".equals(typeName);
      if (_equals_3) {
        String _plus_2 = ("Model" + " ");
        String _name_2 = e.getName();
        return (_plus_2 + _name_2);
      }
      boolean _equals_4 = "paragraph".equals(typeName);
      if (_equals_4) {
        String _plus_3 = ("Paragraph" + " ");
        String _name_3 = e.getName();
        return (_plus_3 + _name_3);
      }
      boolean _equals_5 = "section".equals(typeName);
      if (_equals_5) {
        String _plus_4 = ("Section" + " ");
        String _name_4 = e.getName();
        return (_plus_4 + _name_4);
      }
      boolean _equals_6 = "table".equals(typeName);
      if (_equals_6) {
        String _plus_5 = ("Table" + " ");
        String _name_5 = e.getName();
        return (_plus_5 + _name_5);
      }
      String _plus_6 = ("Item" + " ");
      String _name_6 = e.getName();
      String _plus_7 = (_plus_6 + _name_6);
      _xblockexpression = (_plus_7);
    }
    return _xblockexpression;
  }
  
  public String text(final ModelItem e) {
    String _xblockexpression = null;
    {
      ModelType type = e.getType();
      String typeName = type.getTypeName();
      boolean _equals = "output".equals(typeName);
      if (_equals) {
        String _plus = ("Output" + " ");
        String _name = e.getName();
        return (_plus + _name);
      }
      boolean _equals_1 = "mode".equals(typeName);
      if (_equals_1) {
        String _plus_1 = ("Mode" + " ");
        String _name_1 = e.getName();
        return (_plus_1 + _name_1);
      }
      boolean _equals_2 = "state".equals(typeName);
      if (_equals_2) {
        String _plus_2 = ("State" + " ");
        String _name_2 = e.getName();
        return (_plus_2 + _name_2);
      }
      boolean _equals_3 = "macro".equals(typeName);
      if (_equals_3) {
        String _plus_3 = ("Macro" + " ");
        String _name_3 = e.getName();
        return (_plus_3 + _name_3);
      }
      boolean _equals_4 = "function".equals(typeName);
      if (_equals_4) {
        String _plus_4 = ("Function" + " ");
        String _name_4 = e.getName();
        return (_plus_4 + _name_4);
      }
      boolean _equals_5 = "input".equals(typeName);
      if (_equals_5) {
        String _plus_5 = ("Input" + " ");
        String _name_5 = e.getName();
        return (_plus_5 + _name_5);
      }
      String _plus_6 = ("Model" + " ");
      String _name_6 = e.getName();
      String _plus_7 = (_plus_6 + _name_6);
      _xblockexpression = (_plus_7);
    }
    return _xblockexpression;
  }
  
  public String text(final ListItem e) {
    String _xblockexpression = null;
    {
      ListItemType type = e.getType();
      String _typeName = type.getTypeName();
      boolean _equals = "hazard".equals(_typeName);
      if (_equals) {
        String _plus = ("Hazard" + " ");
        String _name = e.getName();
        return (_plus + _name);
      }
      String _typeName_1 = type.getTypeName();
      boolean _equals_1 = "requirement".equals(_typeName_1);
      if (_equals_1) {
        String _plus_1 = ("Requirement" + " ");
        String _name_1 = e.getName();
        return (_plus_1 + _name_1);
      }
      String _typeName_2 = type.getTypeName();
      boolean _equals_2 = "goal".equals(_typeName_2);
      if (_equals_2) {
        String _plus_2 = ("Goal" + " ");
        String _name_2 = e.getName();
        return (_plus_2 + _name_2);
      }
      String _typeName_3 = type.getTypeName();
      boolean _equals_3 = "constraint".equals(_typeName_3);
      if (_equals_3) {
        String _plus_3 = ("Constraint" + " ");
        String _name_3 = e.getName();
        return (_plus_3 + _name_3);
      }
      String _plus_4 = ("List" + " ");
      String _name_4 = e.getName();
      String _plus_5 = (_plus_4 + _name_4);
      _xblockexpression = (_plus_5);
    }
    return _xblockexpression;
  }
final Refinement e
net.certware.intent.ui/xtend-gen/net/certware/intent/ui/labeling/IntentSpecificationLabelProvider.java
return "obj16/refinement.gif";
String image(final Refinement e)
final Intent e
net.certware.intent.ui/xtend-gen/net/certware/intent/ui/labeling/IntentSpecificationLabelProvider.java
return "obj16/intent.gif";
String image(final Intent e)
final Specification e
net.certware.intent.ui/xtend-gen/net/certware/intent/ui/labeling/IntentSpecificationLabelProvider.java
return "obj16/specification.gif";
String image(final Specification e)
final Decomposition e
net.certware.intent.ui/xtend-gen/net/certware/intent/ui/labeling/IntentSpecificationLabelProvider.java
return "obj16/decomposition.gif";
String image(final Decomposition e)
final Document e
net.certware.intent.ui/xtend-gen/net/certware/intent/ui/labeling/IntentSpecificationLabelProvider.java
return "obj16/document.gif";
String image(final Document e)
final ModelItem e
net.certware.intent.ui/xtend-gen/net/certware/intent/ui/labeling/IntentSpecificationLabelProvider.java
return "obj16/modelitem.gif";
String image(final ModelItem e)
final ListItem e
net.certware.intent.ui/xtend-gen/net/certware/intent/ui/labeling/IntentSpecificationLabelProvider.java
return "obj16/listitem.gif";
String image(final ListItem e)
final Intent e
net.certware.intent.ui/xtend-gen/net/certware/intent/ui/labeling/IntentSpecificationLabelProvider.java
String _xblockexpression = null;
    {
      IntentType type = e.getType();
      String typeName = type.getTypeName();
      boolean _equals = "basic".equals(typeName);
      if (_equals) {
        String _plus = ("Basic" + " ");
        String _name = e.getName();
        return (_plus + _name);
String text(final Intent e)
final Refinement e
net.certware.intent.ui/xtend-gen/net/certware/intent/ui/labeling/IntentSpecificationLabelProvider.java
String _plus = ("Refinement" + " ");
    String _name = e.getName();
    String _plus_1 = (_plus + _name);
    return _plus_1;
String text(final Refinement e)
final Decomposition e
net.certware.intent.ui/xtend-gen/net/certware/intent/ui/labeling/IntentSpecificationLabelProvider.java
String _xblockexpression = null;
    {
      DecompositionType type = e.getType();
      String typeName = type.getTypeName();
      boolean _equals = "environment".equals(typeName);
      if (_equals) {
        String _plus = ("Environment" + " ");
        String _name = e.getName();
        return (_plus + _name);
String text(final Decomposition e)
final Document e
net.certware.intent.ui/xtend-gen/net/certware/intent/ui/labeling/IntentSpecificationLabelProvider.java
return "Document";
String text(final Document e)
final DocItem e
net.certware.intent.ui/xtend-gen/net/certware/intent/ui/labeling/IntentSpecificationLabelProvider.java
String _xblockexpression = null;
    {
      DocItemType type = e.getType();
      String typeName = type.getTypeName();
      boolean _equals = "condition".equals(typeName);
      if (_equals) {
        String _plus = ("Condition" + " ");
        String _name = e.getName();
        return (_plus + _name);
String text(final DocItem e)
final ModelItem e
net.certware.intent.ui/xtend-gen/net/certware/intent/ui/labeling/IntentSpecificationLabelProvider.java
String _xblockexpression = null;
    {
      ModelType type = e.getType();
      String typeName = type.getTypeName();
      boolean _equals = "output".equals(typeName);
      if (_equals) {
        String _plus = ("Output" + " ");
        String _name = e.getName();
        return (_plus + _name);
String text(final ModelItem e)
final ListItem e
net.certware.intent.ui/xtend-gen/net/certware/intent/ui/labeling/IntentSpecificationLabelProvider.java
String _xblockexpression = null;
    {
      ListItemType type = e.getType();
      String _typeName = type.getTypeName();
      boolean _equals = "hazard".equals(_typeName);
      if (_equals) {
        String _plus = ("Hazard" + " ");
        String _name = e.getName();
        return (_plus + _name);
String text(final ListItem e)
 * generated by Xtext
@@ -1,9 +1,22 @@
 /**
- * generated by Xtext
+ * NOT generated by Xtext
  */
 package net.certware.intent.ui.labeling;
 
 import com.google.inject.Inject;
+import net.certware.intent.intentSpecification.Decomposition;
+import net.certware.intent.intentSpecification.DecompositionType;
+import net.certware.intent.intentSpecification.DocItem;
+import net.certware.intent.intentSpecification.DocItemType;
+import net.certware.intent.intentSpecification.Document;
+import net.certware.intent.intentSpecification.Intent;
+import net.certware.intent.intentSpecification.IntentType;
+import net.certware.intent.intentSpecification.ListItem;
+import net.certware.intent.intentSpecification.ListItemType;
+import net.certware.intent.intentSpecification.ModelItem;
+import net.certware.intent.intentSpecification.ModelType;
+import net.certware.intent.intentSpecification.Refinement;
+import net.certware.intent.intentSpecification.Specification;
 import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
 import org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider;
 
@@ -18,4 +31,280 @@ public class IntentSpecificationLabelProvider extends DefaultEObjectLabelProvide
   public IntentSpecificationLabelProvider(final AdapterFactoryLabelProvider delegate) {
     super(delegate);
   }
+  
+  public String image(final Refinement e) {
+    return "obj16/refinement.gif";
+  }
+  
+  public String image(final Intent e) {
+    return "obj16/intent.gif";
+  }
+  
+  public String image(final Specification e) {
+    return "obj16/specification.gif";
+  }
+  
+  public String image(final Decomposition e) {
+    return "obj16/decomposition.gif";
+  }
+  
+  public String image(final Document e) {
+    return "obj16/document.gif";
+  }
+  
+  public String image(final ModelItem e) {
+    return "obj16/modelitem.gif";
+  }
+  
+  public String image(final ListItem e) {
+    return "obj16/listitem.gif";
+  }
+  
+  /**
+   * text responses
+   */
+  public String text(final Intent e) {
+    String _xblockexpression = null;
+    {
+      IntentType type = e.getType();
+      String typeName = type.getTypeName();
+      boolean _equals = "basic".equals(typeName);
+      if (_equals) {
+        String _plus = ("Basic" + " ");
+        String _name = e.getName();
+        return (_plus + _name);
+      }
+      boolean _equals_1 = "purpose".equals(typeName);
+      if (_equals_1) {
+        String _plus_1 = ("Purpose" + " ");
+        String _name_1 = e.getName();
+        return (_plus_1 + _name_1);
+      }
+      boolean _equals_2 = "principles".equals(typeName);
+      if (_equals_2) {
+        String _plus_2 = ("Principles" + " ");
+        String _name_2 = e.getName();
+        return (_plus_2 + _name_2);
+      }
+      boolean _equals_3 = "models".equals(typeName);
+      if (_equals_3) {
+        String _plus_3 = ("Models" + " ");
+        String _name_3 = e.getName();
+        return (_plus_3 + _name_3);
+      }
+      boolean _equals_4 = "design".equals(typeName);
+      if (_equals_4) {
+        String _plus_4 = ("Design" + " ");
+        String _name_4 = e.getName();
+        return (_plus_4 + _name_4);
+      }
+      boolean _equals_5 = "implementation".equals(typeName);
+      if (_equals_5) {
+        String _plus_5 = ("Implementation" + " ");
+        String _name_5 = e.getName();
+        return (_plus_5 + _name_5);
+      }
+      boolean _equals_6 = "operation".equals(typeName);
+      if (_equals_6) {
+        String _plus_6 = ("Operation" + " ");
+        String _name_6 = e.getName();
+        return (_plus_6 + _name_6);
+      }
+      String _plus_7 = ("Intent" + " ");
+      String _name_7 = e.getName();
+      String _plus_8 = (_plus_7 + _name_7);
+      _xblockexpression = (_plus_8);
+    }
+    return _xblockexpression;
+  }
+  
+  public String text(final Refinement e) {
+    String _plus = ("Refinement" + " ");
+    String _name = e.getName();
+    String _plus_1 = (_plus + _name);
+    return _plus_1;
+  }
+  
+  public String text(final Decomposition e) {
+    String _xblockexpression = null;
+    {
+      DecompositionType type = e.getType();
+      String typeName = type.getTypeName();
+      boolean _equals = "environment".equals(typeName);
+      if (_equals) {
+        String _plus = ("Environment" + " ");
+        String _name = e.getName();
+        return (_plus + _name);
+      }
+      boolean _equals_1 = "operator".equals(typeName);
+      if (_equals_1) {
+        String _plus_1 = ("Operator" + " ");
+        String _name_1 = e.getName();
+        return (_plus_1 + _name_1);
+      }
+      boolean _equals_2 = "system".equals(typeName);
+      if (_equals_2) {
+        String _plus_2 = ("System" + " ");
+        String _name_2 = e.getName();
+        return (_plus_2 + _name_2);
+      }
+      boolean _equals_3 = "verification".equals(typeName);
+      if (_equals_3) {
+        String _plus_3 = ("V&V" + " ");
+        String _name_3 = e.getName();
+        return (_plus_3 + _name_3);
+      }
+      String _plus_4 = ("Decomposition" + " ");
+      String _name_4 = e.getName();
+      String _plus_5 = (_plus_4 + _name_4);
+      _xblockexpression = (_plus_5);
+    }
+    return _xblockexpression;
+  }
+  
+  public String text(final Document e) {
+    return "Document";
+  }
+  
+  public String text(final DocItem e) {
+    String _xblockexpression = null;
+    {
+      DocItemType type = e.getType();
+      String typeName = type.getTypeName();
+      boolean _equals = "condition".equals(typeName);
+      if (_equals) {
+        String _plus = ("Condition" + " ");
+        String _name = e.getName();
+        return (_plus + _name);
+      }
+      boolean _equals_1 = "figure".equals(typeName);
+      if (_equals_1) {
+        String _plus_1 = ("Figure" + " ");
+        String _name_1 = e.getName();
+        return (_plus_1 + _name_1);
+      }
+      boolean _equals_2 = "break".equals(typeName);
+      if (_equals_2) {
+        return "Break";
+      }
+      boolean _equals_3 = "model".equals(typeName);
+      if (_equals_3) {
+        String _plus_2 = ("Model" + " ");
+        String _name_2 = e.getName();
+        return (_plus_2 + _name_2);
+      }
+      boolean _equals_4 = "paragraph".equals(typeName);
+      if (_equals_4) {
+        String _plus_3 = ("Paragraph" + " ");
+        String _name_3 = e.getName();
+        return (_plus_3 + _name_3);
+      }
+      boolean _equals_5 = "section".equals(typeName);
+      if (_equals_5) {
+        String _plus_4 = ("Section" + " ");
+        String _name_4 = e.getName();
+        return (_plus_4 + _name_4);
+      }
+      boolean _equals_6 = "table".equals(typeName);
+      if (_equals_6) {
+        String _plus_5 = ("Table" + " ");
+        String _name_5 = e.getName();
+        return (_plus_5 + _name_5);
+      }
+      String _plus_6 = ("Item" + " ");
+      String _name_6 = e.getName();
+      String _plus_7 = (_plus_6 + _name_6);
+      _xblockexpression = (_plus_7);
+    }
+    return _xblockexpression;
+  }
+  
+  public String text(final ModelItem e) {
+    String _xblockexpression = null;
+    {
+      ModelType type = e.getType();
+      String typeName = type.getTypeName();
+      boolean _equals = "output".equals(typeName);
+      if (_equals) {
+        String _plus = ("Output" + " ");
+        String _name = e.getName();
+        return (_plus + _name);
+      }
+      boolean _equals_1 = "mode".equals(typeName);
+      if (_equals_1) {
+        String _plus_1 = ("Mode" + " ");
+        String _name_1 = e.getName();
+        return (_plus_1 + _name_1);
+      }
+      boolean _equals_2 = "state".equals(typeName);
+      if (_equals_2) {
+        String _plus_2 = ("State" + " ");
+        String _name_2 = e.getName();
+        return (_plus_2 + _name_2);
+      }
+      boolean _equals_3 = "macro".equals(typeName);
+      if (_equals_3) {
+        String _plus_3 = ("Macro" + " ");
+        String _name_3 = e.getName();
+        return (_plus_3 + _name_3);
+      }
+      boolean _equals_4 = "function".equals(typeName);
+      if (_equals_4) {
+        String _plus_4 = ("Function" + " ");
+        String _name_4 = e.getName();
+        return (_plus_4 + _name_4);
+      }
+      boolean _equals_5 = "input".equals(typeName);
+      if (_equals_5) {
+        String _plus_5 = ("Input" + " ");
+        String _name_5 = e.getName();
+        return (_plus_5 + _name_5);
+      }
+      String _plus_6 = ("Model" + " ");
+      String _name_6 = e.getName();
+      String _plus_7 = (_plus_6 + _name_6);
+      _xblockexpression = (_plus_7);
+    }
+    return _xblockexpression;
+  }
+  
+  public String text(final ListItem e) {
+    String _xblockexpression = null;
+    {
+      ListItemType type = e.getType();
+      String _typeName = type.getTypeName();
+      boolean _equals = "hazard".equals(_typeName);
+      if (_equals) {
+        String _plus = ("Hazard" + " ");
+        String _name = e.getName();
+        return (_plus + _name);
+      }
+      String _typeName_1 = type.getTypeName();
+      boolean _equals_1 = "requirement".equals(_typeName_1);
+      if (_equals_1) {
+        String _plus_1 = ("Requirement" + " ");
+        String _name_1 = e.getName();
+        return (_plus_1 + _name_1);
+      }
+      String _typeName_2 = type.getTypeName();
+      boolean _equals_2 = "goal".equals(_typeName_2);
+      if (_equals_2) {
+        String _plus_2 = ("Goal" + " ");
+        String _name_2 = e.getName();
+        return (_plus_2 + _name_2);
+      }
+      String _typeName_3 = type.getTypeName();
+      boolean _equals_3 = "constraint".equals(_typeName_3);
+      if (_equals_3) {
+        String _plus_3 = ("Constraint" + " ");
+        String _name_3 = e.getName();
+        return (_plus_3 + _name_3);
+      }
+      String _plus_4 = ("List" + " ");
+      String _name_4 = e.getName();
+      String _plus_5 = (_plus_4 + _name_4);
+      _xblockexpression = (_plus_5);
+    }
+    return _xblockexpression;
+  }
 }
https://github.com/nasa/CertWare/raw/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent.ui%2Fxtend-gen%2Fnet%2Fcertware%2Fintent%2Fui%2Flabeling%2FIntentSpecificationLabelProvider.java
0c00b035e5b9e5a25b1e829f8abb31b37914673b
modified
https://github.com/nasa/CertWare/blob/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent.ui%2Fxtend-gen%2Fnet%2Fcertware%2Fintent%2Fui%2Fquickfix%2FIntentSpecificationQuickfixProvider.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent.ui%2Fxtend-gen%2Fnet%2Fcertware%2Fintent%2Fui%2Fquickfix%2FIntentSpecificationQuickfixProvider.java?ref=27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9
net.certware.intent.ui/xtend-gen/net/certware/intent/ui/quickfix/IntentSpecificationQuickfixProvider.java
 * NOT generated by Xtext
import com.google.common.base.Objects;
import java.util.Iterator;
import net.certware.intent.intentSpecification.Decomposition;
import net.certware.intent.intentSpecification.Intent;
import net.certware.intent.intentSpecification.ListItem;
import net.certware.intent.intentSpecification.ModelItem;
import net.certware.intent.intentSpecification.Refinement;
import net.certware.intent.validation.IntentSpecificationValidator;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.ui.editor.model.edit.IModificationContext;
import org.eclipse.xtext.ui.editor.model.edit.ISemanticModification;
import org.eclipse.xtext.ui.editor.quickfix.Fix;
import org.eclipse.xtext.ui.editor.quickfix.IssueResolutionAcceptor;
import org.eclipse.xtext.validation.Issue;
 * @see http://www.eclipse.org/Xtext/documentation.html#quickfixes
 * @author mrb@certware.net
  /**
   * Fix duplicated intent entries by removing one.
   */
  @Fix(IntentSpecificationValidator.UNIQUE_INTENTS_REFINEMENT)
  public void removeIntent(final Issue issue, final IssueResolutionAcceptor acceptor) {
    String _plus = ("Remove intent named" + " ");
    String[] _data = issue.getData();
    String _get = _data[0];
    String _plus_1 = (_plus + _get);
    final ISemanticModification _function = new ISemanticModification() {
        public void apply(final EObject element, final IModificationContext context) throws Exception {
          Refinement container = ((Refinement) element);
          String[] _data = issue.getData();
          String _get = _data[0];
          String itemName = ((String) _get);
          EList<Intent> list = container.getIntents();
          Iterator<Intent> iter = list.iterator();
          Intent lastItem = ((Intent) null);
          boolean _hasNext = iter.hasNext();
          boolean _while = _hasNext;
          while (_while) {
            {
              Intent item = iter.next();
              String _name = item.getName();
              boolean _equals = _name.equals(itemName);
              if (_equals) {
                lastItem = item;
              }
            }
            boolean _hasNext_1 = iter.hasNext();
            _while = _hasNext_1;
          }
          boolean _notEquals = (!Objects.equal(lastItem, null));
          if (_notEquals) {
            list.remove(lastItem);
          }
        }
      };
    acceptor.accept(issue, 
      "Remove duplicated entry", _plus_1, 
      "obj16/intent.gif", _function);
  }
  
  /**
   * Fix duplicated intent entries by removing one.
   */
  @Fix(IntentSpecificationValidator.UNIQUE_DECOMPOSITION_INTENT)
  public void removeDecomposition(final Issue issue, final IssueResolutionAcceptor acceptor) {
    String _plus = ("Remove decomposition named" + " ");
    String[] _data = issue.getData();
    String _get = _data[0];
    String _plus_1 = (_plus + _get);
    final ISemanticModification _function = new ISemanticModification() {
        public void apply(final EObject element, final IModificationContext context) throws Exception {
          Intent container = ((Intent) element);
          String[] _data = issue.getData();
          String _get = _data[0];
          String itemName = ((String) _get);
          EList<Decomposition> list = container.getDecompositions();
          Iterator<Decomposition> iter = list.iterator();
          Decomposition lastItem = ((Decomposition) null);
          boolean _hasNext = iter.hasNext();
          boolean _while = _hasNext;
          while (_while) {
            {
              Decomposition _next = iter.next();
              Decomposition item = ((Decomposition) _next);
              String _name = item.getName();
              boolean _equals = _name.equals(itemName);
              if (_equals) {
                lastItem = item;
              }
            }
            boolean _hasNext_1 = iter.hasNext();
            _while = _hasNext_1;
          }
          boolean _notEquals = (!Objects.equal(lastItem, null));
          if (_notEquals) {
            list.remove(lastItem);
          }
        }
      };
    acceptor.accept(issue, 
      "Remove duplicated decomposition", _plus_1, 
      "obj16/decomposition.gif", _function);
  }
  
  /**
   * Fix duplicated list entries by removing one.
   */
  @Fix(IntentSpecificationValidator.UNIQUE_LIST_ITEM_LIST_ITEM)
  public void removeListItem(final Issue issue, final IssueResolutionAcceptor acceptor) {
    String _plus = ("Remove list item named" + " ");
    String[] _data = issue.getData();
    String _get = _data[0];
    String _plus_1 = (_plus + _get);
    final ISemanticModification _function = new ISemanticModification() {
        public void apply(final EObject element, final IModificationContext context) throws Exception {
          ListItem outerList = ((ListItem) element);
          String[] _data = issue.getData();
          String _get = _data[0];
          String itemName = ((String) _get);
          EList<ListItem> list = outerList.getItemReferences();
          Iterator<ListItem> iter = list.iterator();
          ListItem lastItem = ((ListItem) null);
          boolean _hasNext = iter.hasNext();
          boolean _while = _hasNext;
          while (_while) {
            {
              ListItem item = iter.next();
              String _name = item.getName();
              boolean _equals = _name.equals(itemName);
              if (_equals) {
                lastItem = item;
              }
            }
            boolean _hasNext_1 = iter.hasNext();
            _while = _hasNext_1;
          }
          boolean _notEquals = (!Objects.equal(lastItem, null));
          if (_notEquals) {
            list.remove(lastItem);
          }
        }
      };
    acceptor.accept(issue, 
      "Remove duplicated list item", _plus_1, 
      "obj16/listitem.gif", _function);
  }
  
  @Fix(IntentSpecificationValidator.UNIQUE_MODEL_ITEM_LIST_ITEM)
  public void removeModelItem(final Issue issue, final IssueResolutionAcceptor acceptor) {
    String _plus = ("Remove model item named" + " ");
    String[] _data = issue.getData();
    String _get = _data[0];
    String _plus_1 = (_plus + _get);
    final ISemanticModification _function = new ISemanticModification() {
        public void apply(final EObject element, final IModificationContext context) throws Exception {
          ListItem outerList = ((ListItem) element);
          String[] _data = issue.getData();
          String _get = _data[0];
          String itemName = ((String) _get);
          EList<ModelItem> list = outerList.getModelReferences();
          Iterator<ModelItem> iter = list.iterator();
          ModelItem lastItem = ((ModelItem) null);
          boolean _hasNext = iter.hasNext();
          boolean _while = _hasNext;
          while (_while) {
            {
              ModelItem item = iter.next();
              String _name = item.getName();
              boolean _equals = _name.equals(itemName);
              if (_equals) {
                lastItem = item;
              }
            }
            boolean _hasNext_1 = iter.hasNext();
            _while = _hasNext_1;
          }
          boolean _notEquals = (!Objects.equal(lastItem, null));
          if (_notEquals) {
            list.remove(lastItem);
          }
        }
      };
    acceptor.accept(issue, 
      "Remove duplicated entry", _plus_1, 
      "obj16/modelitem.gif", _function);
  }
final Issue issue  final IssueResolutionAcceptor acceptor
net.certware.intent.ui/xtend-gen/net/certware/intent/ui/quickfix/IntentSpecificationQuickfixProvider.java
String _plus = ("Remove intent named" + " ");
    String[] _data = issue.getData();
    String _get = _data[0];
    String _plus_1 = (_plus + _get);
    final ISemanticModification _function = new ISemanticModification() {
        public void apply(final EObject element, final IModificationContext context) throws Exception {
          Refinement container = ((Refinement) element);
          String[] _data = issue.getData();
          String _get = _data[0];
          String itemName = ((String) _get);
          EList<Intent> list = container.getIntents();
          Iterator<Intent> iter = list.iterator();
          Intent lastItem = ((Intent) null);
          boolean _hasNext = iter.hasNext();
          boolean _while = _hasNext;
          while (_while) {
            {
              Intent item = iter.next();
              String _name = item.getName();
              boolean _equals = _name.equals(itemName);
              if (_equals) {
                lastItem = item;
void removeIntent(final Issue issue, final IssueResolutionAcceptor acceptor)
final Issue issue  final IssueResolutionAcceptor acceptor
net.certware.intent.ui/xtend-gen/net/certware/intent/ui/quickfix/IntentSpecificationQuickfixProvider.java
String _plus = ("Remove decomposition named" + " ");
    String[] _data = issue.getData();
    String _get = _data[0];
    String _plus_1 = (_plus + _get);
    final ISemanticModification _function = new ISemanticModification() {
        public void apply(final EObject element, final IModificationContext context) throws Exception {
          Intent container = ((Intent) element);
          String[] _data = issue.getData();
          String _get = _data[0];
          String itemName = ((String) _get);
          EList<Decomposition> list = container.getDecompositions();
          Iterator<Decomposition> iter = list.iterator();
          Decomposition lastItem = ((Decomposition) null);
          boolean _hasNext = iter.hasNext();
          boolean _while = _hasNext;
          while (_while) {
            {
              Decomposition _next = iter.next();
              Decomposition item = ((Decomposition) _next);
              String _name = item.getName();
              boolean _equals = _name.equals(itemName);
              if (_equals) {
                lastItem = item;
void removeDecomposition(final Issue issue, final IssueResolutionAcceptor acceptor)
final Issue issue  final IssueResolutionAcceptor acceptor
net.certware.intent.ui/xtend-gen/net/certware/intent/ui/quickfix/IntentSpecificationQuickfixProvider.java
String _plus = ("Remove list item named" + " ");
    String[] _data = issue.getData();
    String _get = _data[0];
    String _plus_1 = (_plus + _get);
    final ISemanticModification _function = new ISemanticModification() {
        public void apply(final EObject element, final IModificationContext context) throws Exception {
          ListItem outerList = ((ListItem) element);
          String[] _data = issue.getData();
          String _get = _data[0];
          String itemName = ((String) _get);
          EList<ListItem> list = outerList.getItemReferences();
          Iterator<ListItem> iter = list.iterator();
          ListItem lastItem = ((ListItem) null);
          boolean _hasNext = iter.hasNext();
          boolean _while = _hasNext;
          while (_while) {
            {
              ListItem item = iter.next();
              String _name = item.getName();
              boolean _equals = _name.equals(itemName);
              if (_equals) {
                lastItem = item;
void removeListItem(final Issue issue, final IssueResolutionAcceptor acceptor)
final Issue issue  final IssueResolutionAcceptor acceptor
net.certware.intent.ui/xtend-gen/net/certware/intent/ui/quickfix/IntentSpecificationQuickfixProvider.java
String _plus = ("Remove model item named" + " ");
    String[] _data = issue.getData();
    String _get = _data[0];
    String _plus_1 = (_plus + _get);
    final ISemanticModification _function = new ISemanticModification() {
        public void apply(final EObject element, final IModificationContext context) throws Exception {
          ListItem outerList = ((ListItem) element);
          String[] _data = issue.getData();
          String _get = _data[0];
          String itemName = ((String) _get);
          EList<ModelItem> list = outerList.getModelReferences();
          Iterator<ModelItem> iter = list.iterator();
          ModelItem lastItem = ((ModelItem) null);
          boolean _hasNext = iter.hasNext();
          boolean _while = _hasNext;
          while (_while) {
            {
              ModelItem item = iter.next();
              String _name = item.getName();
              boolean _equals = _name.equals(itemName);
              if (_equals) {
                lastItem = item;
void removeModelItem(final Issue issue, final IssueResolutionAcceptor acceptor)
 * generated by Xtext
 * 
 * see http://www.eclipse.org/Xtext/documentation.html#quickfixes
@@ -1,15 +1,199 @@
 /**
- * generated by Xtext
+ * NOT generated by Xtext
  */
 package net.certware.intent.ui.quickfix;
 
+import com.google.common.base.Objects;
+import java.util.Iterator;
+import net.certware.intent.intentSpecification.Decomposition;
+import net.certware.intent.intentSpecification.Intent;
+import net.certware.intent.intentSpecification.ListItem;
+import net.certware.intent.intentSpecification.ModelItem;
+import net.certware.intent.intentSpecification.Refinement;
+import net.certware.intent.validation.IntentSpecificationValidator;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.ui.editor.model.edit.IModificationContext;
+import org.eclipse.xtext.ui.editor.model.edit.ISemanticModification;
 import org.eclipse.xtext.ui.editor.quickfix.DefaultQuickfixProvider;
+import org.eclipse.xtext.ui.editor.quickfix.Fix;
+import org.eclipse.xtext.ui.editor.quickfix.IssueResolutionAcceptor;
+import org.eclipse.xtext.validation.Issue;
 
 /**
  * Custom quickfixes.
- * 
- * see http://www.eclipse.org/Xtext/documentation.html#quickfixes
+ * @see http://www.eclipse.org/Xtext/documentation.html#quickfixes
+ * @author mrb@certware.net
  */
 @SuppressWarnings("all")
 public class IntentSpecificationQuickfixProvider extends DefaultQuickfixProvider {
+  /**
+   * Fix duplicated intent entries by removing one.
+   */
+  @Fix(IntentSpecificationValidator.UNIQUE_INTENTS_REFINEMENT)
+  public void removeIntent(final Issue issue, final IssueResolutionAcceptor acceptor) {
+    String _plus = ("Remove intent named" + " ");
+    String[] _data = issue.getData();
+    String _get = _data[0];
+    String _plus_1 = (_plus + _get);
+    final ISemanticModification _function = new ISemanticModification() {
+        public void apply(final EObject element, final IModificationContext context) throws Exception {
+          Refinement container = ((Refinement) element);
+          String[] _data = issue.getData();
+          String _get = _data[0];
+          String itemName = ((String) _get);
+          EList<Intent> list = container.getIntents();
+          Iterator<Intent> iter = list.iterator();
+          Intent lastItem = ((Intent) null);
+          boolean _hasNext = iter.hasNext();
+          boolean _while = _hasNext;
+          while (_while) {
+            {
+              Intent item = iter.next();
+              String _name = item.getName();
+              boolean _equals = _name.equals(itemName);
+              if (_equals) {
+                lastItem = item;
+              }
+            }
+            boolean _hasNext_1 = iter.hasNext();
+            _while = _hasNext_1;
+          }
+          boolean _notEquals = (!Objects.equal(lastItem, null));
+          if (_notEquals) {
+            list.remove(lastItem);
+          }
+        }
+      };
+    acceptor.accept(issue, 
+      "Remove duplicated entry", _plus_1, 
+      "obj16/intent.gif", _function);
+  }
+  
+  /**
+   * Fix duplicated intent entries by removing one.
+   */
+  @Fix(IntentSpecificationValidator.UNIQUE_DECOMPOSITION_INTENT)
+  public void removeDecomposition(final Issue issue, final IssueResolutionAcceptor acceptor) {
+    String _plus = ("Remove decomposition named" + " ");
+    String[] _data = issue.getData();
+    String _get = _data[0];
+    String _plus_1 = (_plus + _get);
+    final ISemanticModification _function = new ISemanticModification() {
+        public void apply(final EObject element, final IModificationContext context) throws Exception {
+          Intent container = ((Intent) element);
+          String[] _data = issue.getData();
+          String _get = _data[0];
+          String itemName = ((String) _get);
+          EList<Decomposition> list = container.getDecompositions();
+          Iterator<Decomposition> iter = list.iterator();
+          Decomposition lastItem = ((Decomposition) null);
+          boolean _hasNext = iter.hasNext();
+          boolean _while = _hasNext;
+          while (_while) {
+            {
+              Decomposition _next = iter.next();
+              Decomposition item = ((Decomposition) _next);
+              String _name = item.getName();
+              boolean _equals = _name.equals(itemName);
+              if (_equals) {
+                lastItem = item;
+              }
+            }
+            boolean _hasNext_1 = iter.hasNext();
+            _while = _hasNext_1;
+          }
+          boolean _notEquals = (!Objects.equal(lastItem, null));
+          if (_notEquals) {
+            list.remove(lastItem);
+          }
+        }
+      };
+    acceptor.accept(issue, 
+      "Remove duplicated decomposition", _plus_1, 
+      "obj16/decomposition.gif", _function);
+  }
+  
+  /**
+   * Fix duplicated list entries by removing one.
+   */
+  @Fix(IntentSpecificationValidator.UNIQUE_LIST_ITEM_LIST_ITEM)
+  public void removeListItem(final Issue issue, final IssueResolutionAcceptor acceptor) {
+    String _plus = ("Remove list item named" + " ");
+    String[] _data = issue.getData();
+    String _get = _data[0];
+    String _plus_1 = (_plus + _get);
+    final ISemanticModification _function = new ISemanticModification() {
+        public void apply(final EObject element, final IModificationContext context) throws Exception {
+          ListItem outerList = ((ListItem) element);
+          String[] _data = issue.getData();
+          String _get = _data[0];
+          String itemName = ((String) _get);
+          EList<ListItem> list = outerList.getItemReferences();
+          Iterator<ListItem> iter = list.iterator();
+          ListItem lastItem = ((ListItem) null);
+          boolean _hasNext = iter.hasNext();
+          boolean _while = _hasNext;
+          while (_while) {
+            {
+              ListItem item = iter.next();
+              String _name = item.getName();
+              boolean _equals = _name.equals(itemName);
+              if (_equals) {
+                lastItem = item;
+              }
+            }
+            boolean _hasNext_1 = iter.hasNext();
+            _while = _hasNext_1;
+          }
+          boolean _notEquals = (!Objects.equal(lastItem, null));
+          if (_notEquals) {
+            list.remove(lastItem);
+          }
+        }
+      };
+    acceptor.accept(issue, 
+      "Remove duplicated list item", _plus_1, 
+      "obj16/listitem.gif", _function);
+  }
+  
+  @Fix(IntentSpecificationValidator.UNIQUE_MODEL_ITEM_LIST_ITEM)
+  public void removeModelItem(final Issue issue, final IssueResolutionAcceptor acceptor) {
+    String _plus = ("Remove model item named" + " ");
+    String[] _data = issue.getData();
+    String _get = _data[0];
+    String _plus_1 = (_plus + _get);
+    final ISemanticModification _function = new ISemanticModification() {
+        public void apply(final EObject element, final IModificationContext context) throws Exception {
+          ListItem outerList = ((ListItem) element);
+          String[] _data = issue.getData();
+          String _get = _data[0];
+          String itemName = ((String) _get);
+          EList<ModelItem> list = outerList.getModelReferences();
+          Iterator<ModelItem> iter = list.iterator();
+          ModelItem lastItem = ((ModelItem) null);
+          boolean _hasNext = iter.hasNext();
+          boolean _while = _hasNext;
+          while (_while) {
+            {
+              ModelItem item = iter.next();
+              String _name = item.getName();
+              boolean _equals = _name.equals(itemName);
+              if (_equals) {
+                lastItem = item;
+              }
+            }
+            boolean _hasNext_1 = iter.hasNext();
+            _while = _hasNext_1;
+          }
+          boolean _notEquals = (!Objects.equal(lastItem, null));
+          if (_notEquals) {
+            list.remove(lastItem);
+          }
+        }
+      };
+    acceptor.accept(issue, 
+      "Remove duplicated entry", _plus_1, 
+      "obj16/modelitem.gif", _function);
+  }
 }
https://github.com/nasa/CertWare/raw/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent.ui%2Fxtend-gen%2Fnet%2Fcertware%2Fintent%2Fui%2Fquickfix%2FIntentSpecificationQuickfixProvider.java
b4d28f50087b281d599cf0e2ac7dcde57b03c15c
modified
https://github.com/nasa/CertWare/blob/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FIntentSpecification.ecore
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FIntentSpecification.ecore?ref=27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9
net.certware.intent/src-gen/net/certware/intent/IntentSpecification.ecore
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//IntentType"
        containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
  <eClassifiers xsi:type="ecore:EClass" name="IntentType">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="typeName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
  </eClassifiers>
    <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//DecompositionType"
        containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
  <eClassifiers xsi:type="ecore:EClass" name="DecompositionType">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="typeName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DocItemType">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="typeName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
  </eClassifiers>
    <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//DocItemType"
        containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
  <eClassifiers xsi:type="ecore:EClass" name="ModelType">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="typeName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
  </eClassifiers>
    <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//ModelType"
        containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
  <eClassifiers xsi:type="ecore:EClass" name="ListItemType">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="typeName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
  </eClassifiers>
    <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//ListItemType"
        containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
@@ -3,26 +3,31 @@
     xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="intentSpecification" nsURI="http://www.certware.net/intent/IntentSpecification"
     nsPrefix="intentSpecification">
   <eClassifiers xsi:type="ecore:EClass" name="Specification">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="refinements" upperBound="-1"
         eType="#//Refinement" containment="true"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Refinement">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="desc" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="intents" upperBound="-1"
         eType="#//Intent" containment="true"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Intent">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//IntentType"
+        containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="desc" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="decompositions" upperBound="-1"
         eType="#//Decomposition" containment="true"/>
   </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="IntentType">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="typeName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+  </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Decomposition">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//DecompositionType"
+        containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="desc" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="documents" upperBound="-1"
         eType="#//Document" containment="true"/>
@@ -31,23 +36,38 @@
     <eStructuralFeatures xsi:type="ecore:EReference" name="items" upperBound="-1"
         eType="#//ListItem" containment="true"/>
   </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="DecompositionType">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="typeName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+  </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Document">
     <eStructuralFeatures xsi:type="ecore:EReference" name="entries" upperBound="-1"
         eType="#//DocItem" containment="true"/>
   </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="DocItemType">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="typeName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+  </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="DocItem">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//DocItemType"
+        containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="ref" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
   </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="ModelType">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="typeName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+  </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="ModelItem">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//ModelType"
+        containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="desc" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
   </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="ListItemType">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="typeName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+  </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="ListItem">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//ListItemType"
+        containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="desc" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="docReferences" unique="false"
         upperBound="-1" eType="#//DocItem"/>
https://github.com/nasa/CertWare/raw/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FIntentSpecification.ecore
cddff653591222ff87c6f4aa003c852e2657f69d
modified
https://github.com/nasa/CertWare/blob/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FIntentSpecification.genmodel
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FIntentSpecification.genmodel?ref=27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9
net.certware.intent/src-gen/net/certware/intent/IntentSpecification.genmodel
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//Specification/name"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//Refinement/name"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference IntentSpecification.ecore#//Intent/type"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//Intent/name"/>
    <genClasses ecoreClass="IntentSpecification.ecore#//IntentType">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//IntentType/typeName"/>
    </genClasses>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference IntentSpecification.ecore#//Decomposition/type"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//Decomposition/name"/>
    <genClasses ecoreClass="IntentSpecification.ecore#//DecompositionType">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//DecompositionType/typeName"/>
    </genClasses>
    <genClasses ecoreClass="IntentSpecification.ecore#//DocItemType">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//DocItemType/typeName"/>
    </genClasses>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference IntentSpecification.ecore#//DocItem/type"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//DocItem/name"/>
    <genClasses ecoreClass="IntentSpecification.ecore#//ModelType">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//ModelType/typeName"/>
    </genClasses>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference IntentSpecification.ecore#//ModelItem/type"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//ModelItem/name"/>
    <genClasses ecoreClass="IntentSpecification.ecore#//ListItemType">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//ListItemType/typeName"/>
    </genClasses>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference IntentSpecification.ecore#//ListItem/type"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//ListItem/name"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//Specification/id"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//Refinement/id"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//Intent/type"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//Intent/id"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//Decomposition/type"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//Decomposition/id"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//DocItem/type"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//DocItem/id"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//ModelItem/type"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//ModelItem/id"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//ListItem/type"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//ListItem/id"/>
@@ -9,44 +9,59 @@
   <genPackages prefix="IntentSpecification" basePackage="net.certware.intent" disposableProviderFactory="true"
       fileExtensions="intent" ecorePackage="IntentSpecification.ecore#/">
     <genClasses ecoreClass="IntentSpecification.ecore#//Specification">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//Specification/id"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//Specification/name"/>
       <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference IntentSpecification.ecore#//Specification/refinements"/>
     </genClasses>
     <genClasses ecoreClass="IntentSpecification.ecore#//Refinement">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//Refinement/id"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//Refinement/name"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//Refinement/desc"/>
       <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference IntentSpecification.ecore#//Refinement/intents"/>
     </genClasses>
     <genClasses ecoreClass="IntentSpecification.ecore#//Intent">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//Intent/type"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//Intent/id"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference IntentSpecification.ecore#//Intent/type"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//Intent/name"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//Intent/desc"/>
       <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference IntentSpecification.ecore#//Intent/decompositions"/>
     </genClasses>
+    <genClasses ecoreClass="IntentSpecification.ecore#//IntentType">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//IntentType/typeName"/>
+    </genClasses>
     <genClasses ecoreClass="IntentSpecification.ecore#//Decomposition">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//Decomposition/type"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//Decomposition/id"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference IntentSpecification.ecore#//Decomposition/type"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//Decomposition/name"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//Decomposition/desc"/>
       <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference IntentSpecification.ecore#//Decomposition/documents"/>
       <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference IntentSpecification.ecore#//Decomposition/models"/>
       <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference IntentSpecification.ecore#//Decomposition/items"/>
     </genClasses>
+    <genClasses ecoreClass="IntentSpecification.ecore#//DecompositionType">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//DecompositionType/typeName"/>
+    </genClasses>
     <genClasses ecoreClass="IntentSpecification.ecore#//Document">
       <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference IntentSpecification.ecore#//Document/entries"/>
     </genClasses>
+    <genClasses ecoreClass="IntentSpecification.ecore#//DocItemType">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//DocItemType/typeName"/>
+    </genClasses>
     <genClasses ecoreClass="IntentSpecification.ecore#//DocItem">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//DocItem/type"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//DocItem/id"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference IntentSpecification.ecore#//DocItem/type"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//DocItem/name"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//DocItem/ref"/>
     </genClasses>
+    <genClasses ecoreClass="IntentSpecification.ecore#//ModelType">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//ModelType/typeName"/>
+    </genClasses>
     <genClasses ecoreClass="IntentSpecification.ecore#//ModelItem">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//ModelItem/type"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//ModelItem/id"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference IntentSpecification.ecore#//ModelItem/type"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//ModelItem/name"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//ModelItem/desc"/>
     </genClasses>
+    <genClasses ecoreClass="IntentSpecification.ecore#//ListItemType">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//ListItemType/typeName"/>
+    </genClasses>
     <genClasses ecoreClass="IntentSpecification.ecore#//ListItem">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//ListItem/type"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//ListItem/id"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference IntentSpecification.ecore#//ListItem/type"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//ListItem/name"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute IntentSpecification.ecore#//ListItem/desc"/>
       <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference IntentSpecification.ecore#//ListItem/docReferences"/>
       <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference IntentSpecification.ecore#//ListItem/itemReferences"/>
https://github.com/nasa/CertWare/raw/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FIntentSpecification.genmodel
9e5c3914e6ea6b49dca859fc23f99c66ff79e11e
modified
https://github.com/nasa/CertWare/blob/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2FDecomposition.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2FDecomposition.java?ref=27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9
net.certware.intent/src-gen/net/certware/intent/intentSpecification/Decomposition.java
 *   <li>{@link net.certware.intent.intentSpecification.Decomposition#getName <em>Name</em>}</li>
   * Returns the value of the '<em><b>Type</b></em>' containment reference.
   * If the meaning of the '<em>Type</em>' containment reference isn't clear,
   * @return the value of the '<em>Type</em>' containment reference.
   * @see #setType(DecompositionType)
   * @model containment="true"
  DecompositionType getType();
   * Sets the value of the '{@link net.certware.intent.intentSpecification.Decomposition#getType <em>Type</em>}' containment reference.
   * @param value the new value of the '<em>Type</em>' containment reference.
  void setType(DecompositionType value);
   * Returns the value of the '<em><b>Name</b></em>' attribute.
   * If the meaning of the '<em>Name</em>' attribute isn't clear,
   * @return the value of the '<em>Name</em>' attribute.
   * @see #setName(String)
   * @see net.certware.intent.intentSpecification.IntentSpecificationPackage#getDecomposition_Name()
  String getName();
   * Sets the value of the '{@link net.certware.intent.intentSpecification.Decomposition#getName <em>Name</em>}' attribute.
   * @param value the new value of the '<em>Name</em>' attribute.
   * @see #getName()
  void setName(String value);
 *   <li>{@link net.certware.intent.intentSpecification.Decomposition#getId <em>Id</em>}</li>
   * Returns the value of the '<em><b>Type</b></em>' attribute.
   * If the meaning of the '<em>Type</em>' attribute isn't clear,
   * @return the value of the '<em>Type</em>' attribute.
   * @see #setType(String)
   * @model
  String getType();
   * Sets the value of the '{@link net.certware.intent.intentSpecification.Decomposition#getType <em>Type</em>}' attribute.
   * @param value the new value of the '<em>Type</em>' attribute.
  void setType(String value);
   * Returns the value of the '<em><b>Id</b></em>' attribute.
   * If the meaning of the '<em>Id</em>' attribute isn't clear,
   * @return the value of the '<em>Id</em>' attribute.
   * @see #setId(String)
   * @see net.certware.intent.intentSpecification.IntentSpecificationPackage#getDecomposition_Id()
  String getId();
   * Sets the value of the '{@link net.certware.intent.intentSpecification.Decomposition#getId <em>Id</em>}' attribute.
   * @param value the new value of the '<em>Id</em>' attribute.
   * @see #getId()
  void setId(String value);
@@ -15,7 +15,7 @@
  * The following features are supported:
  * <ul>
  *   <li>{@link net.certware.intent.intentSpecification.Decomposition#getType <em>Type</em>}</li>
- *   <li>{@link net.certware.intent.intentSpecification.Decomposition#getId <em>Id</em>}</li>
+ *   <li>{@link net.certware.intent.intentSpecification.Decomposition#getName <em>Name</em>}</li>
  *   <li>{@link net.certware.intent.intentSpecification.Decomposition#getDesc <em>Desc</em>}</li>
  *   <li>{@link net.certware.intent.intentSpecification.Decomposition#getDocuments <em>Documents</em>}</li>
  *   <li>{@link net.certware.intent.intentSpecification.Decomposition#getModels <em>Models</em>}</li>
@@ -30,56 +30,56 @@
 public interface Decomposition extends EObject
 {
   /**
-   * Returns the value of the '<em><b>Type</b></em>' attribute.
+   * Returns the value of the '<em><b>Type</b></em>' containment reference.
    * <!-- begin-user-doc -->
    * <p>
-   * If the meaning of the '<em>Type</em>' attribute isn't clear,
+   * If the meaning of the '<em>Type</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>Type</em>' attribute.
-   * @see #setType(String)
+   * @return the value of the '<em>Type</em>' containment reference.
+   * @see #setType(DecompositionType)
    * @see net.certware.intent.intentSpecification.IntentSpecificationPackage#getDecomposition_Type()
-   * @model
+   * @model containment="true"
    * @generated
    */
-  String getType();
+  DecompositionType getType();
 
   /**
-   * Sets the value of the '{@link net.certware.intent.intentSpecification.Decomposition#getType <em>Type</em>}' attribute.
+   * Sets the value of the '{@link net.certware.intent.intentSpecification.Decomposition#getType <em>Type</em>}' containment reference.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Type</em>' attribute.
+   * @param value the new value of the '<em>Type</em>' containment reference.
    * @see #getType()
    * @generated
    */
-  void setType(String value);
+  void setType(DecompositionType value);
 
   /**
-   * Returns the value of the '<em><b>Id</b></em>' attribute.
+   * Returns the value of the '<em><b>Name</b></em>' attribute.
    * <!-- begin-user-doc -->
    * <p>
-   * If the meaning of the '<em>Id</em>' attribute isn't clear,
+   * 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>Id</em>' attribute.
-   * @see #setId(String)
-   * @see net.certware.intent.intentSpecification.IntentSpecificationPackage#getDecomposition_Id()
+   * @return the value of the '<em>Name</em>' attribute.
+   * @see #setName(String)
+   * @see net.certware.intent.intentSpecification.IntentSpecificationPackage#getDecomposition_Name()
    * @model
    * @generated
    */
-  String getId();
+  String getName();
 
   /**
-   * Sets the value of the '{@link net.certware.intent.intentSpecification.Decomposition#getId <em>Id</em>}' attribute.
+   * Sets the value of the '{@link net.certware.intent.intentSpecification.Decomposition#getName <em>Name</em>}' attribute.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Id</em>' attribute.
-   * @see #getId()
+   * @param value the new value of the '<em>Name</em>' attribute.
+   * @see #getName()
    * @generated
    */
-  void setId(String value);
+  void setName(String value);
 
   /**
    * Returns the value of the '<em><b>Desc</b></em>' attribute.
https://github.com/nasa/CertWare/raw/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2FDecomposition.java
98f71982458d95d10e32701be8e35af734635926
modified
https://github.com/nasa/CertWare/blob/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2FDocItem.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2FDocItem.java?ref=27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9
net.certware.intent/src-gen/net/certware/intent/intentSpecification/DocItem.java
 *   <li>{@link net.certware.intent.intentSpecification.DocItem#getName <em>Name</em>}</li>
   * Returns the value of the '<em><b>Type</b></em>' containment reference.
   * If the meaning of the '<em>Type</em>' containment reference isn't clear,
   * @return the value of the '<em>Type</em>' containment reference.
   * @see #setType(DocItemType)
   * @model containment="true"
  DocItemType getType();
   * Sets the value of the '{@link net.certware.intent.intentSpecification.DocItem#getType <em>Type</em>}' containment reference.
   * @param value the new value of the '<em>Type</em>' containment reference.
  void setType(DocItemType value);
   * Returns the value of the '<em><b>Name</b></em>' attribute.
   * If the meaning of the '<em>Name</em>' attribute isn't clear,
   * @return the value of the '<em>Name</em>' attribute.
   * @see #setName(String)
   * @see net.certware.intent.intentSpecification.IntentSpecificationPackage#getDocItem_Name()
  String getName();
   * Sets the value of the '{@link net.certware.intent.intentSpecification.DocItem#getName <em>Name</em>}' attribute.
   * @param value the new value of the '<em>Name</em>' attribute.
   * @see #getName()
  void setName(String value);
 *   <li>{@link net.certware.intent.intentSpecification.DocItem#getId <em>Id</em>}</li>
   * Returns the value of the '<em><b>Type</b></em>' attribute.
   * If the meaning of the '<em>Type</em>' attribute isn't clear,
   * @return the value of the '<em>Type</em>' attribute.
   * @see #setType(String)
   * @model
  String getType();
   * Sets the value of the '{@link net.certware.intent.intentSpecification.DocItem#getType <em>Type</em>}' attribute.
   * @param value the new value of the '<em>Type</em>' attribute.
  void setType(String value);
   * Returns the value of the '<em><b>Id</b></em>' attribute.
   * If the meaning of the '<em>Id</em>' attribute isn't clear,
   * @return the value of the '<em>Id</em>' attribute.
   * @see #setId(String)
   * @see net.certware.intent.intentSpecification.IntentSpecificationPackage#getDocItem_Id()
  String getId();
   * Sets the value of the '{@link net.certware.intent.intentSpecification.DocItem#getId <em>Id</em>}' attribute.
   * @param value the new value of the '<em>Id</em>' attribute.
   * @see #getId()
  void setId(String value);
@@ -13,7 +13,7 @@
  * The following features are supported:
  * <ul>
  *   <li>{@link net.certware.intent.intentSpecification.DocItem#getType <em>Type</em>}</li>
- *   <li>{@link net.certware.intent.intentSpecification.DocItem#getId <em>Id</em>}</li>
+ *   <li>{@link net.certware.intent.intentSpecification.DocItem#getName <em>Name</em>}</li>
  *   <li>{@link net.certware.intent.intentSpecification.DocItem#getRef <em>Ref</em>}</li>
  * </ul>
  * </p>
@@ -25,56 +25,56 @@
 public interface DocItem extends EObject
 {
   /**
-   * Returns the value of the '<em><b>Type</b></em>' attribute.
+   * Returns the value of the '<em><b>Type</b></em>' containment reference.
    * <!-- begin-user-doc -->
    * <p>
-   * If the meaning of the '<em>Type</em>' attribute isn't clear,
+   * If the meaning of the '<em>Type</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>Type</em>' attribute.
-   * @see #setType(String)
+   * @return the value of the '<em>Type</em>' containment reference.
+   * @see #setType(DocItemType)
    * @see net.certware.intent.intentSpecification.IntentSpecificationPackage#getDocItem_Type()
-   * @model
+   * @model containment="true"
    * @generated
    */
-  String getType();
+  DocItemType getType();
 
   /**
-   * Sets the value of the '{@link net.certware.intent.intentSpecification.DocItem#getType <em>Type</em>}' attribute.
+   * Sets the value of the '{@link net.certware.intent.intentSpecification.DocItem#getType <em>Type</em>}' containment reference.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Type</em>' attribute.
+   * @param value the new value of the '<em>Type</em>' containment reference.
    * @see #getType()
    * @generated
    */
-  void setType(String value);
+  void setType(DocItemType value);
 
   /**
-   * Returns the value of the '<em><b>Id</b></em>' attribute.
+   * Returns the value of the '<em><b>Name</b></em>' attribute.
    * <!-- begin-user-doc -->
    * <p>
-   * If the meaning of the '<em>Id</em>' attribute isn't clear,
+   * 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>Id</em>' attribute.
-   * @see #setId(String)
-   * @see net.certware.intent.intentSpecification.IntentSpecificationPackage#getDocItem_Id()
+   * @return the value of the '<em>Name</em>' attribute.
+   * @see #setName(String)
+   * @see net.certware.intent.intentSpecification.IntentSpecificationPackage#getDocItem_Name()
    * @model
    * @generated
    */
-  String getId();
+  String getName();
 
   /**
-   * Sets the value of the '{@link net.certware.intent.intentSpecification.DocItem#getId <em>Id</em>}' attribute.
+   * Sets the value of the '{@link net.certware.intent.intentSpecification.DocItem#getName <em>Name</em>}' attribute.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Id</em>' attribute.
-   * @see #getId()
+   * @param value the new value of the '<em>Name</em>' attribute.
+   * @see #getName()
    * @generated
    */
-  void setId(String value);
+  void setName(String value);
 
   /**
    * Returns the value of the '<em><b>Ref</b></em>' attribute.
https://github.com/nasa/CertWare/raw/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2FDocItem.java
4575af3ab69ca85d66d4190c97f0825bcf08246c
modified
https://github.com/nasa/CertWare/blob/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2FIntent.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2FIntent.java?ref=27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9
net.certware.intent/src-gen/net/certware/intent/intentSpecification/Intent.java
 *   <li>{@link net.certware.intent.intentSpecification.Intent#getName <em>Name</em>}</li>
   * Returns the value of the '<em><b>Type</b></em>' containment reference.
   * If the meaning of the '<em>Type</em>' containment reference isn't clear,
   * @return the value of the '<em>Type</em>' containment reference.
   * @see #setType(IntentType)
   * @model containment="true"
  IntentType getType();
   * Sets the value of the '{@link net.certware.intent.intentSpecification.Intent#getType <em>Type</em>}' containment reference.
   * @param value the new value of the '<em>Type</em>' containment reference.
  void setType(IntentType value);
   * Returns the value of the '<em><b>Name</b></em>' attribute.
   * If the meaning of the '<em>Name</em>' attribute isn't clear,
   * @return the value of the '<em>Name</em>' attribute.
   * @see #setName(String)
   * @see net.certware.intent.intentSpecification.IntentSpecificationPackage#getIntent_Name()
  String getName();
   * Sets the value of the '{@link net.certware.intent.intentSpecification.Intent#getName <em>Name</em>}' attribute.
   * @param value the new value of the '<em>Name</em>' attribute.
   * @see #getName()
  void setName(String value);
 *   <li>{@link net.certware.intent.intentSpecification.Intent#getId <em>Id</em>}</li>
   * Returns the value of the '<em><b>Type</b></em>' attribute.
   * If the meaning of the '<em>Type</em>' attribute isn't clear,
   * @return the value of the '<em>Type</em>' attribute.
   * @see #setType(String)
   * @model
  String getType();
   * Sets the value of the '{@link net.certware.intent.intentSpecification.Intent#getType <em>Type</em>}' attribute.
   * @param value the new value of the '<em>Type</em>' attribute.
  void setType(String value);
   * Returns the value of the '<em><b>Id</b></em>' attribute.
   * If the meaning of the '<em>Id</em>' attribute isn't clear,
   * @return the value of the '<em>Id</em>' attribute.
   * @see #setId(String)
   * @see net.certware.intent.intentSpecification.IntentSpecificationPackage#getIntent_Id()
  String getId();
   * Sets the value of the '{@link net.certware.intent.intentSpecification.Intent#getId <em>Id</em>}' attribute.
   * @param value the new value of the '<em>Id</em>' attribute.
   * @see #getId()
  void setId(String value);
@@ -15,7 +15,7 @@
  * The following features are supported:
  * <ul>
  *   <li>{@link net.certware.intent.intentSpecification.Intent#getType <em>Type</em>}</li>
- *   <li>{@link net.certware.intent.intentSpecification.Intent#getId <em>Id</em>}</li>
+ *   <li>{@link net.certware.intent.intentSpecification.Intent#getName <em>Name</em>}</li>
  *   <li>{@link net.certware.intent.intentSpecification.Intent#getDesc <em>Desc</em>}</li>
  *   <li>{@link net.certware.intent.intentSpecification.Intent#getDecompositions <em>Decompositions</em>}</li>
  * </ul>
@@ -28,56 +28,56 @@
 public interface Intent extends EObject
 {
   /**
-   * Returns the value of the '<em><b>Type</b></em>' attribute.
+   * Returns the value of the '<em><b>Type</b></em>' containment reference.
    * <!-- begin-user-doc -->
    * <p>
-   * If the meaning of the '<em>Type</em>' attribute isn't clear,
+   * If the meaning of the '<em>Type</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>Type</em>' attribute.
-   * @see #setType(String)
+   * @return the value of the '<em>Type</em>' containment reference.
+   * @see #setType(IntentType)
    * @see net.certware.intent.intentSpecification.IntentSpecificationPackage#getIntent_Type()
-   * @model
+   * @model containment="true"
    * @generated
    */
-  String getType();
+  IntentType getType();
 
   /**
-   * Sets the value of the '{@link net.certware.intent.intentSpecification.Intent#getType <em>Type</em>}' attribute.
+   * Sets the value of the '{@link net.certware.intent.intentSpecification.Intent#getType <em>Type</em>}' containment reference.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Type</em>' attribute.
+   * @param value the new value of the '<em>Type</em>' containment reference.
    * @see #getType()
    * @generated
    */
-  void setType(String value);
+  void setType(IntentType value);
 
   /**
-   * Returns the value of the '<em><b>Id</b></em>' attribute.
+   * Returns the value of the '<em><b>Name</b></em>' attribute.
    * <!-- begin-user-doc -->
    * <p>
-   * If the meaning of the '<em>Id</em>' attribute isn't clear,
+   * 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>Id</em>' attribute.
-   * @see #setId(String)
-   * @see net.certware.intent.intentSpecification.IntentSpecificationPackage#getIntent_Id()
+   * @return the value of the '<em>Name</em>' attribute.
+   * @see #setName(String)
+   * @see net.certware.intent.intentSpecification.IntentSpecificationPackage#getIntent_Name()
    * @model
    * @generated
    */
-  String getId();
+  String getName();
 
   /**
-   * Sets the value of the '{@link net.certware.intent.intentSpecification.Intent#getId <em>Id</em>}' attribute.
+   * Sets the value of the '{@link net.certware.intent.intentSpecification.Intent#getName <em>Name</em>}' attribute.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Id</em>' attribute.
-   * @see #getId()
+   * @param value the new value of the '<em>Name</em>' attribute.
+   * @see #getName()
    * @generated
    */
-  void setId(String value);
+  void setName(String value);
 
   /**
    * Returns the value of the '<em><b>Desc</b></em>' attribute.
https://github.com/nasa/CertWare/raw/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2FIntent.java
183b90ab1821495c327905917801b010015ecfb6
modified
https://github.com/nasa/CertWare/blob/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2FIntentSpecificationFactory.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2FIntentSpecificationFactory.java?ref=27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9
net.certware.intent/src-gen/net/certware/intent/intentSpecification/IntentSpecificationFactory.java
  /**
   * Returns a new object of class '<em>Intent Type</em>'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return a new object of class '<em>Intent Type</em>'.
   * @generated
   */
  IntentType createIntentType();

  /**
   * Returns a new object of class '<em>Decomposition Type</em>'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return a new object of class '<em>Decomposition Type</em>'.
   * @generated
   */
  DecompositionType createDecompositionType();

  /**
   * Returns a new object of class '<em>Doc Item Type</em>'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return a new object of class '<em>Doc Item Type</em>'.
   * @generated
   */
  DocItemType createDocItemType();

  /**
   * Returns a new object of class '<em>Model Type</em>'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return a new object of class '<em>Model Type</em>'.
   * @generated
   */
  ModelType createModelType();

  /**
   * Returns a new object of class '<em>List Item Type</em>'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return a new object of class '<em>List Item Type</em>'.
   * @generated
   */
  ListItemType createListItemType();

@@ -49,6 +49,15 @@ public interface IntentSpecificationFactory extends EFactory
    */
   Intent createIntent();
 
+  /**
+   * Returns a new object of class '<em>Intent Type</em>'.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @return a new object of class '<em>Intent Type</em>'.
+   * @generated
+   */
+  IntentType createIntentType();
+
   /**
    * Returns a new object of class '<em>Decomposition</em>'.
    * <!-- begin-user-doc -->
@@ -58,6 +67,15 @@ public interface IntentSpecificationFactory extends EFactory
    */
   Decomposition createDecomposition();
 
+  /**
+   * Returns a new object of class '<em>Decomposition Type</em>'.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @return a new object of class '<em>Decomposition Type</em>'.
+   * @generated
+   */
+  DecompositionType createDecompositionType();
+
   /**
    * Returns a new object of class '<em>Document</em>'.
    * <!-- begin-user-doc -->
@@ -67,6 +85,15 @@ public interface IntentSpecificationFactory extends EFactory
    */
   Document createDocument();
 
+  /**
+   * Returns a new object of class '<em>Doc Item Type</em>'.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @return a new object of class '<em>Doc Item Type</em>'.
+   * @generated
+   */
+  DocItemType createDocItemType();
+
   /**
    * Returns a new object of class '<em>Doc Item</em>'.
    * <!-- begin-user-doc -->
@@ -76,6 +103,15 @@ public interface IntentSpecificationFactory extends EFactory
    */
   DocItem createDocItem();
 
+  /**
+   * Returns a new object of class '<em>Model Type</em>'.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @return a new object of class '<em>Model Type</em>'.
+   * @generated
+   */
+  ModelType createModelType();
+
   /**
    * Returns a new object of class '<em>Model Item</em>'.
    * <!-- begin-user-doc -->
@@ -85,6 +121,15 @@ public interface IntentSpecificationFactory extends EFactory
    */
   ModelItem createModelItem();
 
+  /**
+   * Returns a new object of class '<em>List Item Type</em>'.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @return a new object of class '<em>List Item Type</em>'.
+   * @generated
+   */
+  ListItemType createListItemType();
+
   /**
    * Returns a new object of class '<em>List Item</em>'.
    * <!-- begin-user-doc -->
https://github.com/nasa/CertWare/raw/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2FIntentSpecificationFactory.java
3ec7f532719ab204c89e50c25ce52cdfecf21e4b
modified
https://github.com/nasa/CertWare/blob/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2FIntentSpecificationPackage.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2FIntentSpecificationPackage.java?ref=27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9
net.certware.intent/src-gen/net/certware/intent/intentSpecification/IntentSpecificationPackage.java
   * The feature id for the '<em><b>Name</b></em>' attribute.
  int SPECIFICATION__NAME = 0;
   * The feature id for the '<em><b>Name</b></em>' attribute.
  int REFINEMENT__NAME = 0;
   * The feature id for the '<em><b>Type</b></em>' containment reference.
   * The feature id for the '<em><b>Name</b></em>' attribute.
  int INTENT__NAME = 1;
  /**
   * The meta object id for the '{@link net.certware.intent.intentSpecification.impl.IntentTypeImpl <em>Intent Type</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see net.certware.intent.intentSpecification.impl.IntentTypeImpl
   * @see net.certware.intent.intentSpecification.impl.IntentSpecificationPackageImpl#getIntentType()
   * @generated
   */
  int INTENT_TYPE = 3;

  /**
   * The feature id for the '<em><b>Type Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int INTENT_TYPE__TYPE_NAME = 0;

  /**
   * The number of structural features of the '<em>Intent Type</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int INTENT_TYPE_FEATURE_COUNT = 1;

  int DECOMPOSITION = 4;
   * The feature id for the '<em><b>Type</b></em>' containment reference.
   * The feature id for the '<em><b>Name</b></em>' attribute.
  int DECOMPOSITION__NAME = 1;
  /**
   * The meta object id for the '{@link net.certware.intent.intentSpecification.impl.DecompositionTypeImpl <em>Decomposition Type</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see net.certware.intent.intentSpecification.impl.DecompositionTypeImpl
   * @see net.certware.intent.intentSpecification.impl.IntentSpecificationPackageImpl#getDecompositionType()
   * @generated
   */
  int DECOMPOSITION_TYPE = 5;

  /**
   * The feature id for the '<em><b>Type Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int DECOMPOSITION_TYPE__TYPE_NAME = 0;

  /**
   * The number of structural features of the '<em>Decomposition Type</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int DECOMPOSITION_TYPE_FEATURE_COUNT = 1;

  int DOCUMENT = 6;
  /**
   * The meta object id for the '{@link net.certware.intent.intentSpecification.impl.DocItemTypeImpl <em>Doc Item Type</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see net.certware.intent.intentSpecification.impl.DocItemTypeImpl
   * @see net.certware.intent.intentSpecification.impl.IntentSpecificationPackageImpl#getDocItemType()
   * @generated
   */
  int DOC_ITEM_TYPE = 7;

  /**
   * The feature id for the '<em><b>Type Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int DOC_ITEM_TYPE__TYPE_NAME = 0;

  /**
   * The number of structural features of the '<em>Doc Item Type</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int DOC_ITEM_TYPE_FEATURE_COUNT = 1;

  int DOC_ITEM = 8;
   * The feature id for the '<em><b>Type</b></em>' containment reference.
   * The feature id for the '<em><b>Name</b></em>' attribute.
  int DOC_ITEM__NAME = 1;
  /**
   * The meta object id for the '{@link net.certware.intent.intentSpecification.impl.ModelTypeImpl <em>Model Type</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see net.certware.intent.intentSpecification.impl.ModelTypeImpl
   * @see net.certware.intent.intentSpecification.impl.IntentSpecificationPackageImpl#getModelType()
   * @generated
   */
  int MODEL_TYPE = 9;

  /**
   * The feature id for the '<em><b>Type Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MODEL_TYPE__TYPE_NAME = 0;

  /**
   * The number of structural features of the '<em>Model Type</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MODEL_TYPE_FEATURE_COUNT = 1;

  int MODEL_ITEM = 10;
   * The feature id for the '<em><b>Type</b></em>' containment reference.
   * The feature id for the '<em><b>Name</b></em>' attribute.
  int MODEL_ITEM__NAME = 1;
  /**
   * The meta object id for the '{@link net.certware.intent.intentSpecification.impl.ListItemTypeImpl <em>List Item Type</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see net.certware.intent.intentSpecification.impl.ListItemTypeImpl
   * @see net.certware.intent.intentSpecification.impl.IntentSpecificationPackageImpl#getListItemType()
   * @generated
   */
  int LIST_ITEM_TYPE = 11;

  /**
   * The feature id for the '<em><b>Type Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int LIST_ITEM_TYPE__TYPE_NAME = 0;

  /**
   * The number of structural features of the '<em>List Item Type</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int LIST_ITEM_TYPE_FEATURE_COUNT = 1;

  int LIST_ITEM = 12;
   * The feature id for the '<em><b>Type</b></em>' containment reference.
   * The feature id for the '<em><b>Name</b></em>' attribute.
  int LIST_ITEM__NAME = 1;
   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.Specification#getName <em>Name</em>}'.
   * @return the meta object for the attribute '<em>Name</em>'.
   * @see net.certware.intent.intentSpecification.Specification#getName()
  EAttribute getSpecification_Name();
   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.Refinement#getName <em>Name</em>}'.
   * @return the meta object for the attribute '<em>Name</em>'.
   * @see net.certware.intent.intentSpecification.Refinement#getName()
  EAttribute getRefinement_Name();
   * Returns the meta object for the containment reference '{@link net.certware.intent.intentSpecification.Intent#getType <em>Type</em>}'.
   * @return the meta object for the containment reference '<em>Type</em>'.
  EReference getIntent_Type();
   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.Intent#getName <em>Name</em>}'.
   * @return the meta object for the attribute '<em>Name</em>'.
   * @see net.certware.intent.intentSpecification.Intent#getName()
  EAttribute getIntent_Name();
  /**
   * Returns the meta object for class '{@link net.certware.intent.intentSpecification.IntentType <em>Intent Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Intent Type</em>'.
   * @see net.certware.intent.intentSpecification.IntentType
   * @generated
   */
  EClass getIntentType();

  /**
   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.IntentType#getTypeName <em>Type Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Type Name</em>'.
   * @see net.certware.intent.intentSpecification.IntentType#getTypeName()
   * @see #getIntentType()
   * @generated
   */
  EAttribute getIntentType_TypeName();

   * Returns the meta object for the containment reference '{@link net.certware.intent.intentSpecification.Decomposition#getType <em>Type</em>}'.
   * @return the meta object for the containment reference '<em>Type</em>'.
  EReference getDecomposition_Type();
   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.Decomposition#getName <em>Name</em>}'.
   * @return the meta object for the attribute '<em>Name</em>'.
   * @see net.certware.intent.intentSpecification.Decomposition#getName()
  EAttribute getDecomposition_Name();
  /**
   * Returns the meta object for class '{@link net.certware.intent.intentSpecification.DecompositionType <em>Decomposition Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Decomposition Type</em>'.
   * @see net.certware.intent.intentSpecification.DecompositionType
   * @generated
   */
  EClass getDecompositionType();

  /**
   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.DecompositionType#getTypeName <em>Type Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Type Name</em>'.
   * @see net.certware.intent.intentSpecification.DecompositionType#getTypeName()
   * @see #getDecompositionType()
   * @generated
   */
  EAttribute getDecompositionType_TypeName();

  /**
   * Returns the meta object for class '{@link net.certware.intent.intentSpecification.DocItemType <em>Doc Item Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Doc Item Type</em>'.
   * @see net.certware.intent.intentSpecification.DocItemType
   * @generated
   */
  EClass getDocItemType();

  /**
   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.DocItemType#getTypeName <em>Type Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Type Name</em>'.
   * @see net.certware.intent.intentSpecification.DocItemType#getTypeName()
   * @see #getDocItemType()
   * @generated
   */
  EAttribute getDocItemType_TypeName();

   * Returns the meta object for the containment reference '{@link net.certware.intent.intentSpecification.DocItem#getType <em>Type</em>}'.
   * @return the meta object for the containment reference '<em>Type</em>'.
  EReference getDocItem_Type();
   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.DocItem#getName <em>Name</em>}'.
   * @return the meta object for the attribute '<em>Name</em>'.
   * @see net.certware.intent.intentSpecification.DocItem#getName()
  EAttribute getDocItem_Name();
  /**
   * Returns the meta object for class '{@link net.certware.intent.intentSpecification.ModelType <em>Model Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Model Type</em>'.
   * @see net.certware.intent.intentSpecification.ModelType
   * @generated
   */
  EClass getModelType();

  /**
   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.ModelType#getTypeName <em>Type Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Type Name</em>'.
   * @see net.certware.intent.intentSpecification.ModelType#getTypeName()
   * @see #getModelType()
   * @generated
   */
  EAttribute getModelType_TypeName();

   * Returns the meta object for the containment reference '{@link net.certware.intent.intentSpecification.ModelItem#getType <em>Type</em>}'.
   * @return the meta object for the containment reference '<em>Type</em>'.
  EReference getModelItem_Type();
   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.ModelItem#getName <em>Name</em>}'.
   * @return the meta object for the attribute '<em>Name</em>'.
   * @see net.certware.intent.intentSpecification.ModelItem#getName()
  EAttribute getModelItem_Name();
  /**
   * Returns the meta object for class '{@link net.certware.intent.intentSpecification.ListItemType <em>List Item Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>List Item Type</em>'.
   * @see net.certware.intent.intentSpecification.ListItemType
   * @generated
   */
  EClass getListItemType();

  /**
   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.ListItemType#getTypeName <em>Type Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Type Name</em>'.
   * @see net.certware.intent.intentSpecification.ListItemType#getTypeName()
   * @see #getListItemType()
   * @generated
   */
  EAttribute getListItemType_TypeName();

   * Returns the meta object for the containment reference '{@link net.certware.intent.intentSpecification.ListItem#getType <em>Type</em>}'.
   * @return the meta object for the containment reference '<em>Type</em>'.
  EReference getListItem_Type();
   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.ListItem#getName <em>Name</em>}'.
   * @return the meta object for the attribute '<em>Name</em>'.
   * @see net.certware.intent.intentSpecification.ListItem#getName()
  EAttribute getListItem_Name();
     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
    EAttribute SPECIFICATION__NAME = eINSTANCE.getSpecification_Name();
     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
    EAttribute REFINEMENT__NAME = eINSTANCE.getRefinement_Name();
     * The meta object literal for the '<em><b>Type</b></em>' containment reference feature.
    EReference INTENT__TYPE = eINSTANCE.getIntent_Type();
     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
    EAttribute INTENT__NAME = eINSTANCE.getIntent_Name();
    /**
     * The meta object literal for the '{@link net.certware.intent.intentSpecification.impl.IntentTypeImpl <em>Intent Type</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see net.certware.intent.intentSpecification.impl.IntentTypeImpl
     * @see net.certware.intent.intentSpecification.impl.IntentSpecificationPackageImpl#getIntentType()
     * @generated
     */
    EClass INTENT_TYPE = eINSTANCE.getIntentType();

    /**
     * The meta object literal for the '<em><b>Type Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute INTENT_TYPE__TYPE_NAME = eINSTANCE.getIntentType_TypeName();

     * The meta object literal for the '<em><b>Type</b></em>' containment reference feature.
    EReference DECOMPOSITION__TYPE = eINSTANCE.getDecomposition_Type();
     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
    EAttribute DECOMPOSITION__NAME = eINSTANCE.getDecomposition_Name();
    /**
     * The meta object literal for the '{@link net.certware.intent.intentSpecification.impl.DecompositionTypeImpl <em>Decomposition Type</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see net.certware.intent.intentSpecification.impl.DecompositionTypeImpl
     * @see net.certware.intent.intentSpecification.impl.IntentSpecificationPackageImpl#getDecompositionType()
     * @generated
     */
    EClass DECOMPOSITION_TYPE = eINSTANCE.getDecompositionType();

    /**
     * The meta object literal for the '<em><b>Type Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute DECOMPOSITION_TYPE__TYPE_NAME = eINSTANCE.getDecompositionType_TypeName();

    /**
     * The meta object literal for the '{@link net.certware.intent.intentSpecification.impl.DocItemTypeImpl <em>Doc Item Type</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see net.certware.intent.intentSpecification.impl.DocItemTypeImpl
     * @see net.certware.intent.intentSpecification.impl.IntentSpecificationPackageImpl#getDocItemType()
     * @generated
     */
    EClass DOC_ITEM_TYPE = eINSTANCE.getDocItemType();

    /**
     * The meta object literal for the '<em><b>Type Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute DOC_ITEM_TYPE__TYPE_NAME = eINSTANCE.getDocItemType_TypeName();

     * The meta object literal for the '<em><b>Type</b></em>' containment reference feature.
    EReference DOC_ITEM__TYPE = eINSTANCE.getDocItem_Type();
     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
    EAttribute DOC_ITEM__NAME = eINSTANCE.getDocItem_Name();
    /**
     * The meta object literal for the '{@link net.certware.intent.intentSpecification.impl.ModelTypeImpl <em>Model Type</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see net.certware.intent.intentSpecification.impl.ModelTypeImpl
     * @see net.certware.intent.intentSpecification.impl.IntentSpecificationPackageImpl#getModelType()
     * @generated
     */
    EClass MODEL_TYPE = eINSTANCE.getModelType();

    /**
     * The meta object literal for the '<em><b>Type Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute MODEL_TYPE__TYPE_NAME = eINSTANCE.getModelType_TypeName();

     * The meta object literal for the '<em><b>Type</b></em>' containment reference feature.
    EReference MODEL_ITEM__TYPE = eINSTANCE.getModelItem_Type();
     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
    EAttribute MODEL_ITEM__NAME = eINSTANCE.getModelItem_Name();
    /**
     * The meta object literal for the '{@link net.certware.intent.intentSpecification.impl.ListItemTypeImpl <em>List Item Type</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see net.certware.intent.intentSpecification.impl.ListItemTypeImpl
     * @see net.certware.intent.intentSpecification.impl.IntentSpecificationPackageImpl#getListItemType()
     * @generated
     */
    EClass LIST_ITEM_TYPE = eINSTANCE.getListItemType();

    /**
     * The meta object literal for the '<em><b>Type Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute LIST_ITEM_TYPE__TYPE_NAME = eINSTANCE.getListItemType_TypeName();

     * The meta object literal for the '<em><b>Type</b></em>' containment reference feature.
    EReference LIST_ITEM__TYPE = eINSTANCE.getListItem_Type();
     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
    EAttribute LIST_ITEM__NAME = eINSTANCE.getListItem_Name();
   * The feature id for the '<em><b>Id</b></em>' attribute.
  int SPECIFICATION__ID = 0;
   * The feature id for the '<em><b>Id</b></em>' attribute.
  int REFINEMENT__ID = 0;
   * The feature id for the '<em><b>Type</b></em>' attribute.
   * The feature id for the '<em><b>Id</b></em>' attribute.
  int INTENT__ID = 1;
  int DECOMPOSITION = 3;
   * The feature id for the '<em><b>Type</b></em>' attribute.
   * The feature id for the '<em><b>Id</b></em>' attribute.
  int DECOMPOSITION__ID = 1;
  int DOCUMENT = 4;
  int DOC_ITEM = 5;
   * The feature id for the '<em><b>Type</b></em>' attribute.
   * The feature id for the '<em><b>Id</b></em>' attribute.
  int DOC_ITEM__ID = 1;
  int MODEL_ITEM = 6;
   * The feature id for the '<em><b>Type</b></em>' attribute.
   * The feature id for the '<em><b>Id</b></em>' attribute.
  int MODEL_ITEM__ID = 1;
  int LIST_ITEM = 7;
   * The feature id for the '<em><b>Type</b></em>' attribute.
   * The feature id for the '<em><b>Id</b></em>' attribute.
  int LIST_ITEM__ID = 1;
   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.Specification#getId <em>Id</em>}'.
   * @return the meta object for the attribute '<em>Id</em>'.
   * @see net.certware.intent.intentSpecification.Specification#getId()
  EAttribute getSpecification_Id();
   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.Refinement#getId <em>Id</em>}'.
   * @return the meta object for the attribute '<em>Id</em>'.
   * @see net.certware.intent.intentSpecification.Refinement#getId()
  EAttribute getRefinement_Id();
   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.Intent#getType <em>Type</em>}'.
   * @return the meta object for the attribute '<em>Type</em>'.
  EAttribute getIntent_Type();
   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.Intent#getId <em>Id</em>}'.
   * @return the meta object for the attribute '<em>Id</em>'.
   * @see net.certware.intent.intentSpecification.Intent#getId()
  EAttribute getIntent_Id();
   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.Decomposition#getType <em>Type</em>}'.
   * @return the meta object for the attribute '<em>Type</em>'.
  EAttribute getDecomposition_Type();
   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.Decomposition#getId <em>Id</em>}'.
   * @return the meta object for the attribute '<em>Id</em>'.
   * @see net.certware.intent.intentSpecification.Decomposition#getId()
  EAttribute getDecomposition_Id();
   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.DocItem#getType <em>Type</em>}'.
   * @return the meta object for the attribute '<em>Type</em>'.
  EAttribute getDocItem_Type();
   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.DocItem#getId <em>Id</em>}'.
   * @return the meta object for the attribute '<em>Id</em>'.
   * @see net.certware.intent.intentSpecification.DocItem#getId()
  EAttribute getDocItem_Id();
   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.ModelItem#getType <em>Type</em>}'.
   * @return the meta object for the attribute '<em>Type</em>'.
  EAttribute getModelItem_Type();
   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.ModelItem#getId <em>Id</em>}'.
   * @return the meta object for the attribute '<em>Id</em>'.
   * @see net.certware.intent.intentSpecification.ModelItem#getId()
  EAttribute getModelItem_Id();
   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.ListItem#getType <em>Type</em>}'.
   * @return the meta object for the attribute '<em>Type</em>'.
  EAttribute getListItem_Type();
   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.ListItem#getId <em>Id</em>}'.
   * @return the meta object for the attribute '<em>Id</em>'.
   * @see net.certware.intent.intentSpecification.ListItem#getId()
  EAttribute getListItem_Id();
     * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
    EAttribute SPECIFICATION__ID = eINSTANCE.getSpecification_Id();
     * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
    EAttribute REFINEMENT__ID = eINSTANCE.getRefinement_Id();
     * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
    EAttribute INTENT__TYPE = eINSTANCE.getIntent_Type();
     * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
    EAttribute INTENT__ID = eINSTANCE.getIntent_Id();
     * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
    EAttribute DECOMPOSITION__TYPE = eINSTANCE.getDecomposition_Type();
     * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
    EAttribute DECOMPOSITION__ID = eINSTANCE.getDecomposition_Id();
     * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
    EAttribute DOC_ITEM__TYPE = eINSTANCE.getDocItem_Type();
     * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
    EAttribute DOC_ITEM__ID = eINSTANCE.getDocItem_Id();
     * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
    EAttribute MODEL_ITEM__TYPE = eINSTANCE.getModelItem_Type();
     * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
    EAttribute MODEL_ITEM__ID = eINSTANCE.getModelItem_Id();
     * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
    EAttribute LIST_ITEM__TYPE = eINSTANCE.getListItem_Type();
     * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
    EAttribute LIST_ITEM__ID = eINSTANCE.getListItem_Id();
@@ -67,13 +67,13 @@ public interface IntentSpecificationPackage extends EPackage
   int SPECIFICATION = 0;
 
   /**
-   * The feature id for the '<em><b>Id</b></em>' attribute.
+   * The feature id for the '<em><b>Name</b></em>' attribute.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    * @ordered
    */
-  int SPECIFICATION__ID = 0;
+  int SPECIFICATION__NAME = 0;
 
   /**
    * The feature id for the '<em><b>Refinements</b></em>' containment reference list.
@@ -104,13 +104,13 @@ public interface IntentSpecificationPackage extends EPackage
   int REFINEMENT = 1;
 
   /**
-   * The feature id for the '<em><b>Id</b></em>' attribute.
+   * The feature id for the '<em><b>Name</b></em>' attribute.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    * @ordered
    */
-  int REFINEMENT__ID = 0;
+  int REFINEMENT__NAME = 0;
 
   /**
    * The feature id for the '<em><b>Desc</b></em>' attribute.
@@ -150,7 +150,7 @@ public interface IntentSpecificationPackage extends EPackage
   int INTENT = 2;
 
   /**
-   * The feature id for the '<em><b>Type</b></em>' attribute.
+   * The feature id for the '<em><b>Type</b></em>' containment reference.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
@@ -159,13 +159,13 @@ public interface IntentSpecificationPackage extends EPackage
   int INTENT__TYPE = 0;
 
   /**
-   * The feature id for the '<em><b>Id</b></em>' attribute.
+   * The feature id for the '<em><b>Name</b></em>' attribute.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    * @ordered
    */
-  int INTENT__ID = 1;
+  int INTENT__NAME = 1;
 
   /**
    * The feature id for the '<em><b>Desc</b></em>' attribute.
@@ -194,6 +194,34 @@ public interface IntentSpecificationPackage extends EPackage
    */
   int INTENT_FEATURE_COUNT = 4;
 
+  /**
+   * The meta object id for the '{@link net.certware.intent.intentSpecification.impl.IntentTypeImpl <em>Intent Type</em>}' class.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see net.certware.intent.intentSpecification.impl.IntentTypeImpl
+   * @see net.certware.intent.intentSpecification.impl.IntentSpecificationPackageImpl#getIntentType()
+   * @generated
+   */
+  int INTENT_TYPE = 3;
+
+  /**
+   * The feature id for the '<em><b>Type Name</b></em>' attribute.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   * @ordered
+   */
+  int INTENT_TYPE__TYPE_NAME = 0;
+
+  /**
+   * The number of structural features of the '<em>Intent Type</em>' class.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   * @ordered
+   */
+  int INTENT_TYPE_FEATURE_COUNT = 1;
+
   /**
    * The meta object id for the '{@link net.certware.intent.intentSpecification.impl.DecompositionImpl <em>Decomposition</em>}' class.
    * <!-- begin-user-doc -->
@@ -202,10 +230,10 @@ public interface IntentSpecificationPackage extends EPackage
    * @see net.certware.intent.intentSpecification.impl.IntentSpecificationPackageImpl#getDecomposition()
    * @generated
    */
-  int DECOMPOSITION = 3;
+  int DECOMPOSITION = 4;
 
   /**
-   * The feature id for the '<em><b>Type</b></em>' attribute.
+   * The feature id for the '<em><b>Type</b></em>' containment reference.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
@@ -214,13 +242,13 @@ public interface IntentSpecificationPackage extends EPackage
   int DECOMPOSITION__TYPE = 0;
 
   /**
-   * The feature id for the '<em><b>Id</b></em>' attribute.
+   * The feature id for the '<em><b>Name</b></em>' attribute.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    * @ordered
    */
-  int DECOMPOSITION__ID = 1;
+  int DECOMPOSITION__NAME = 1;
 
   /**
    * The feature id for the '<em><b>Desc</b></em>' attribute.
@@ -267,6 +295,34 @@ public interface IntentSpecificationPackage extends EPackage
    */
   int DECOMPOSITION_FEATURE_COUNT = 6;
 
+  /**
+   * The meta object id for the '{@link net.certware.intent.intentSpecification.impl.DecompositionTypeImpl <em>Decomposition Type</em>}' class.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see net.certware.intent.intentSpecification.impl.DecompositionTypeImpl
+   * @see net.certware.intent.intentSpecification.impl.IntentSpecificationPackageImpl#getDecompositionType()
+   * @generated
+   */
+  int DECOMPOSITION_TYPE = 5;
+
+  /**
+   * The feature id for the '<em><b>Type Name</b></em>' attribute.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   * @ordered
+   */
+  int DECOMPOSITION_TYPE__TYPE_NAME = 0;
+
+  /**
+   * The number of structural features of the '<em>Decomposition Type</em>' class.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   * @ordered
+   */
+  int DECOMPOSITION_TYPE_FEATURE_COUNT = 1;
+
   /**
    * The meta object id for the '{@link net.certware.intent.intentSpecification.impl.DocumentImpl <em>Document</em>}' class.
    * <!-- begin-user-doc -->
@@ -275,7 +331,7 @@ public interface IntentSpecificationPackage extends EPackage
    * @see net.certware.intent.intentSpecification.impl.IntentSpecificationPackageImpl#getDocument()
    * @generated
    */
-  int DOCUMENT = 4;
+  int DOCUMENT = 6;
 
   /**
    * The feature id for the '<em><b>Entries</b></em>' containment reference list.
@@ -295,6 +351,34 @@ public interface IntentSpecificationPackage extends EPackage
    */
   int DOCUMENT_FEATURE_COUNT = 1;
 
+  /**
+   * The meta object id for the '{@link net.certware.intent.intentSpecification.impl.DocItemTypeImpl <em>Doc Item Type</em>}' class.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see net.certware.intent.intentSpecification.impl.DocItemTypeImpl
+   * @see net.certware.intent.intentSpecification.impl.IntentSpecificationPackageImpl#getDocItemType()
+   * @generated
+   */
+  int DOC_ITEM_TYPE = 7;
+
+  /**
+   * The feature id for the '<em><b>Type Name</b></em>' attribute.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   * @ordered
+   */
+  int DOC_ITEM_TYPE__TYPE_NAME = 0;
+
+  /**
+   * The number of structural features of the '<em>Doc Item Type</em>' class.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   * @ordered
+   */
+  int DOC_ITEM_TYPE_FEATURE_COUNT = 1;
+
   /**
    * The meta object id for the '{@link net.certware.intent.intentSpecification.impl.DocItemImpl <em>Doc Item</em>}' class.
    * <!-- begin-user-doc -->
@@ -303,10 +387,10 @@ public interface IntentSpecificationPackage extends EPackage
    * @see net.certware.intent.intentSpecification.impl.IntentSpecificationPackageImpl#getDocItem()
    * @generated
    */
-  int DOC_ITEM = 5;
+  int DOC_ITEM = 8;
 
   /**
-   * The feature id for the '<em><b>Type</b></em>' attribute.
+   * The feature id for the '<em><b>Type</b></em>' containment reference.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
@@ -315,13 +399,13 @@ public interface IntentSpecificationPackage extends EPackage
   int DOC_ITEM__TYPE = 0;
 
   /**
-   * The feature id for the '<em><b>Id</b></em>' attribute.
+   * The feature id for the '<em><b>Name</b></em>' attribute.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    * @ordered
    */
-  int DOC_ITEM__ID = 1;
+  int DOC_ITEM__NAME = 1;
 
   /**
    * The feature id for the '<em><b>Ref</b></em>' attribute.
@@ -341,6 +425,34 @@ public interface IntentSpecificationPackage extends EPackage
    */
   int DOC_ITEM_FEATURE_COUNT = 3;
 
+  /**
+   * The meta object id for the '{@link net.certware.intent.intentSpecification.impl.ModelTypeImpl <em>Model Type</em>}' class.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see net.certware.intent.intentSpecification.impl.ModelTypeImpl
+   * @see net.certware.intent.intentSpecification.impl.IntentSpecificationPackageImpl#getModelType()
+   * @generated
+   */
+  int MODEL_TYPE = 9;
+
+  /**
+   * The feature id for the '<em><b>Type Name</b></em>' attribute.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   * @ordered
+   */
+  int MODEL_TYPE__TYPE_NAME = 0;
+
+  /**
+   * The number of structural features of the '<em>Model Type</em>' class.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   * @ordered
+   */
+  int MODEL_TYPE_FEATURE_COUNT = 1;
+
   /**
    * The meta object id for the '{@link net.certware.intent.intentSpecification.impl.ModelItemImpl <em>Model Item</em>}' class.
    * <!-- begin-user-doc -->
@@ -349,10 +461,10 @@ public interface IntentSpecificationPackage extends EPackage
    * @see net.certware.intent.intentSpecification.impl.IntentSpecificationPackageImpl#getModelItem()
    * @generated
    */
-  int MODEL_ITEM = 6;
+  int MODEL_ITEM = 10;
 
   /**
-   * The feature id for the '<em><b>Type</b></em>' attribute.
+   * The feature id for the '<em><b>Type</b></em>' containment reference.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
@@ -361,13 +473,13 @@ public interface IntentSpecificationPackage extends EPackage
   int MODEL_ITEM__TYPE = 0;
 
   /**
-   * The feature id for the '<em><b>Id</b></em>' attribute.
+   * The feature id for the '<em><b>Name</b></em>' attribute.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    * @ordered
    */
-  int MODEL_ITEM__ID = 1;
+  int MODEL_ITEM__NAME = 1;
 
   /**
    * The feature id for the '<em><b>Desc</b></em>' attribute.
@@ -387,6 +499,34 @@ public interface IntentSpecificationPackage extends EPackage
    */
   int MODEL_ITEM_FEATURE_COUNT = 3;
 
+  /**
+   * The meta object id for the '{@link net.certware.intent.intentSpecification.impl.ListItemTypeImpl <em>List Item Type</em>}' class.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see net.certware.intent.intentSpecification.impl.ListItemTypeImpl
+   * @see net.certware.intent.intentSpecification.impl.IntentSpecificationPackageImpl#getListItemType()
+   * @generated
+   */
+  int LIST_ITEM_TYPE = 11;
+
+  /**
+   * The feature id for the '<em><b>Type Name</b></em>' attribute.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   * @ordered
+   */
+  int LIST_ITEM_TYPE__TYPE_NAME = 0;
+
+  /**
+   * The number of structural features of the '<em>List Item Type</em>' class.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   * @ordered
+   */
+  int LIST_ITEM_TYPE_FEATURE_COUNT = 1;
+
   /**
    * The meta object id for the '{@link net.certware.intent.intentSpecification.impl.ListItemImpl <em>List Item</em>}' class.
    * <!-- begin-user-doc -->
@@ -395,10 +535,10 @@ public interface IntentSpecificationPackage extends EPackage
    * @see net.certware.intent.intentSpecification.impl.IntentSpecificationPackageImpl#getListItem()
    * @generated
    */
-  int LIST_ITEM = 7;
+  int LIST_ITEM = 12;
 
   /**
-   * The feature id for the '<em><b>Type</b></em>' attribute.
+   * The feature id for the '<em><b>Type</b></em>' containment reference.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
@@ -407,13 +547,13 @@ public interface IntentSpecificationPackage extends EPackage
   int LIST_ITEM__TYPE = 0;
 
   /**
-   * The feature id for the '<em><b>Id</b></em>' attribute.
+   * The feature id for the '<em><b>Name</b></em>' attribute.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    * @ordered
    */
-  int LIST_ITEM__ID = 1;
+  int LIST_ITEM__NAME = 1;
 
   /**
    * The feature id for the '<em><b>Desc</b></em>' attribute.
@@ -472,15 +612,15 @@ public interface IntentSpecificationPackage extends EPackage
   EClass getSpecification();
 
   /**
-   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.Specification#getId <em>Id</em>}'.
+   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.Specification#getName <em>Name</em>}'.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Id</em>'.
-   * @see net.certware.intent.intentSpecification.Specification#getId()
+   * @return the meta object for the attribute '<em>Name</em>'.
+   * @see net.certware.intent.intentSpecification.Specification#getName()
    * @see #getSpecification()
    * @generated
    */
-  EAttribute getSpecification_Id();
+  EAttribute getSpecification_Name();
 
   /**
    * Returns the meta object for the containment reference list '{@link net.certware.intent.intentSpecification.Specification#getRefinements <em>Refinements</em>}'.
@@ -504,15 +644,15 @@ public interface IntentSpecificationPackage extends EPackage
   EClass getRefinement();
 
   /**
-   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.Refinement#getId <em>Id</em>}'.
+   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.Refinement#getName <em>Name</em>}'.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Id</em>'.
-   * @see net.certware.intent.intentSpecification.Refinement#getId()
+   * @return the meta object for the attribute '<em>Name</em>'.
+   * @see net.certware.intent.intentSpecification.Refinement#getName()
    * @see #getRefinement()
    * @generated
    */
-  EAttribute getRefinement_Id();
+  EAttribute getRefinement_Name();
 
   /**
    * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.Refinement#getDesc <em>Desc</em>}'.
@@ -547,26 +687,26 @@ public interface IntentSpecificationPackage extends EPackage
   EClass getIntent();
 
   /**
-   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.Intent#getType <em>Type</em>}'.
+   * Returns the meta object for the containment reference '{@link net.certware.intent.intentSpecification.Intent#getType <em>Type</em>}'.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Type</em>'.
+   * @return the meta object for the containment reference '<em>Type</em>'.
    * @see net.certware.intent.intentSpecification.Intent#getType()
    * @see #getIntent()
    * @generated
    */
-  EAttribute getIntent_Type();
+  EReference getIntent_Type();
 
   /**
-   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.Intent#getId <em>Id</em>}'.
+   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.Intent#getName <em>Name</em>}'.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Id</em>'.
-   * @see net.certware.intent.intentSpecification.Intent#getId()
+   * @return the meta object for the attribute '<em>Name</em>'.
+   * @see net.certware.intent.intentSpecification.Intent#getName()
    * @see #getIntent()
    * @generated
    */
-  EAttribute getIntent_Id();
+  EAttribute getIntent_Name();
 
   /**
    * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.Intent#getDesc <em>Desc</em>}'.
@@ -590,6 +730,27 @@ public interface IntentSpecificationPackage extends EPackage
    */
   EReference getIntent_Decompositions();
 
+  /**
+   * Returns the meta object for class '{@link net.certware.intent.intentSpecification.IntentType <em>Intent Type</em>}'.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @return the meta object for class '<em>Intent Type</em>'.
+   * @see net.certware.intent.intentSpecification.IntentType
+   * @generated
+   */
+  EClass getIntentType();
+
+  /**
+   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.IntentType#getTypeName <em>Type Name</em>}'.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @return the meta object for the attribute '<em>Type Name</em>'.
+   * @see net.certware.intent.intentSpecification.IntentType#getTypeName()
+   * @see #getIntentType()
+   * @generated
+   */
+  EAttribute getIntentType_TypeName();
+
   /**
    * Returns the meta object for class '{@link net.certware.intent.intentSpecification.Decomposition <em>Decomposition</em>}'.
    * <!-- begin-user-doc -->
@@ -601,26 +762,26 @@ public interface IntentSpecificationPackage extends EPackage
   EClass getDecomposition();
 
   /**
-   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.Decomposition#getType <em>Type</em>}'.
+   * Returns the meta object for the containment reference '{@link net.certware.intent.intentSpecification.Decomposition#getType <em>Type</em>}'.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Type</em>'.
+   * @return the meta object for the containment reference '<em>Type</em>'.
    * @see net.certware.intent.intentSpecification.Decomposition#getType()
    * @see #getDecomposition()
    * @generated
    */
-  EAttribute getDecomposition_Type();
+  EReference getDecomposition_Type();
 
   /**
-   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.Decomposition#getId <em>Id</em>}'.
+   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.Decomposition#getName <em>Name</em>}'.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Id</em>'.
-   * @see net.certware.intent.intentSpecification.Decomposition#getId()
+   * @return the meta object for the attribute '<em>Name</em>'.
+   * @see net.certware.intent.intentSpecification.Decomposition#getName()
    * @see #getDecomposition()
    * @generated
    */
-  EAttribute getDecomposition_Id();
+  EAttribute getDecomposition_Name();
 
   /**
    * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.Decomposition#getDesc <em>Desc</em>}'.
@@ -666,6 +827,27 @@ public interface IntentSpecificationPackage extends EPackage
    */
   EReference getDecomposition_Items();
 
+  /**
+   * Returns the meta object for class '{@link net.certware.intent.intentSpecification.DecompositionType <em>Decomposition Type</em>}'.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @return the meta object for class '<em>Decomposition Type</em>'.
+   * @see net.certware.intent.intentSpecification.DecompositionType
+   * @generated
+   */
+  EClass getDecompositionType();
+
+  /**
+   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.DecompositionType#getTypeName <em>Type Name</em>}'.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @return the meta object for the attribute '<em>Type Name</em>'.
+   * @see net.certware.intent.intentSpecification.DecompositionType#getTypeName()
+   * @see #getDecompositionType()
+   * @generated
+   */
+  EAttribute getDecompositionType_TypeName();
+
   /**
    * Returns the meta object for class '{@link net.certware.intent.intentSpecification.Document <em>Document</em>}'.
    * <!-- begin-user-doc -->
@@ -687,6 +869,27 @@ public interface IntentSpecificationPackage extends EPackage
    */
   EReference getDocument_Entries();
 
+  /**
+   * Returns the meta object for class '{@link net.certware.intent.intentSpecification.DocItemType <em>Doc Item Type</em>}'.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @return the meta object for class '<em>Doc Item Type</em>'.
+   * @see net.certware.intent.intentSpecification.DocItemType
+   * @generated
+   */
+  EClass getDocItemType();
+
+  /**
+   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.DocItemType#getTypeName <em>Type Name</em>}'.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @return the meta object for the attribute '<em>Type Name</em>'.
+   * @see net.certware.intent.intentSpecification.DocItemType#getTypeName()
+   * @see #getDocItemType()
+   * @generated
+   */
+  EAttribute getDocItemType_TypeName();
+
   /**
    * Returns the meta object for class '{@link net.certware.intent.intentSpecification.DocItem <em>Doc Item</em>}'.
    * <!-- begin-user-doc -->
@@ -698,26 +901,26 @@ public interface IntentSpecificationPackage extends EPackage
   EClass getDocItem();
 
   /**
-   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.DocItem#getType <em>Type</em>}'.
+   * Returns the meta object for the containment reference '{@link net.certware.intent.intentSpecification.DocItem#getType <em>Type</em>}'.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Type</em>'.
+   * @return the meta object for the containment reference '<em>Type</em>'.
    * @see net.certware.intent.intentSpecification.DocItem#getType()
    * @see #getDocItem()
    * @generated
    */
-  EAttribute getDocItem_Type();
+  EReference getDocItem_Type();
 
   /**
-   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.DocItem#getId <em>Id</em>}'.
+   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.DocItem#getName <em>Name</em>}'.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Id</em>'.
-   * @see net.certware.intent.intentSpecification.DocItem#getId()
+   * @return the meta object for the attribute '<em>Name</em>'.
+   * @see net.certware.intent.intentSpecification.DocItem#getName()
    * @see #getDocItem()
    * @generated
    */
-  EAttribute getDocItem_Id();
+  EAttribute getDocItem_Name();
 
   /**
    * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.DocItem#getRef <em>Ref</em>}'.
@@ -730,6 +933,27 @@ public interface IntentSpecificationPackage extends EPackage
    */
   EAttribute getDocItem_Ref();
 
+  /**
+   * Returns the meta object for class '{@link net.certware.intent.intentSpecification.ModelType <em>Model Type</em>}'.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @return the meta object for class '<em>Model Type</em>'.
+   * @see net.certware.intent.intentSpecification.ModelType
+   * @generated
+   */
+  EClass getModelType();
+
+  /**
+   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.ModelType#getTypeName <em>Type Name</em>}'.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @return the meta object for the attribute '<em>Type Name</em>'.
+   * @see net.certware.intent.intentSpecification.ModelType#getTypeName()
+   * @see #getModelType()
+   * @generated
+   */
+  EAttribute getModelType_TypeName();
+
   /**
    * Returns the meta object for class '{@link net.certware.intent.intentSpecification.ModelItem <em>Model Item</em>}'.
    * <!-- begin-user-doc -->
@@ -741,26 +965,26 @@ public interface IntentSpecificationPackage extends EPackage
   EClass getModelItem();
 
   /**
-   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.ModelItem#getType <em>Type</em>}'.
+   * Returns the meta object for the containment reference '{@link net.certware.intent.intentSpecification.ModelItem#getType <em>Type</em>}'.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Type</em>'.
+   * @return the meta object for the containment reference '<em>Type</em>'.
    * @see net.certware.intent.intentSpecification.ModelItem#getType()
    * @see #getModelItem()
    * @generated
    */
-  EAttribute getModelItem_Type();
+  EReference getModelItem_Type();
 
   /**
-   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.ModelItem#getId <em>Id</em>}'.
+   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.ModelItem#getName <em>Name</em>}'.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Id</em>'.
-   * @see net.certware.intent.intentSpecification.ModelItem#getId()
+   * @return the meta object for the attribute '<em>Name</em>'.
+   * @see net.certware.intent.intentSpecification.ModelItem#getName()
    * @see #getModelItem()
    * @generated
    */
-  EAttribute getModelItem_Id();
+  EAttribute getModelItem_Name();
 
   /**
    * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.ModelItem#getDesc <em>Desc</em>}'.
@@ -773,6 +997,27 @@ public interface IntentSpecificationPackage extends EPackage
    */
   EAttribute getModelItem_Desc();
 
+  /**
+   * Returns the meta object for class '{@link net.certware.intent.intentSpecification.ListItemType <em>List Item Type</em>}'.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @return the meta object for class '<em>List Item Type</em>'.
+   * @see net.certware.intent.intentSpecification.ListItemType
+   * @generated
+   */
+  EClass getListItemType();
+
+  /**
+   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.ListItemType#getTypeName <em>Type Name</em>}'.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @return the meta object for the attribute '<em>Type Name</em>'.
+   * @see net.certware.intent.intentSpecification.ListItemType#getTypeName()
+   * @see #getListItemType()
+   * @generated
+   */
+  EAttribute getListItemType_TypeName();
+
   /**
    * Returns the meta object for class '{@link net.certware.intent.intentSpecification.ListItem <em>List Item</em>}'.
    * <!-- begin-user-doc -->
@@ -784,26 +1029,26 @@ public interface IntentSpecificationPackage extends EPackage
   EClass getListItem();
 
   /**
-   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.ListItem#getType <em>Type</em>}'.
+   * Returns the meta object for the containment reference '{@link net.certware.intent.intentSpecification.ListItem#getType <em>Type</em>}'.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Type</em>'.
+   * @return the meta object for the containment reference '<em>Type</em>'.
    * @see net.certware.intent.intentSpecification.ListItem#getType()
    * @see #getListItem()
    * @generated
    */
-  EAttribute getListItem_Type();
+  EReference getListItem_Type();
 
   /**
-   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.ListItem#getId <em>Id</em>}'.
+   * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.ListItem#getName <em>Name</em>}'.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Id</em>'.
-   * @see net.certware.intent.intentSpecification.ListItem#getId()
+   * @return the meta object for the attribute '<em>Name</em>'.
+   * @see net.certware.intent.intentSpecification.ListItem#getName()
    * @see #getListItem()
    * @generated
    */
-  EAttribute getListItem_Id();
+  EAttribute getListItem_Name();
 
   /**
    * Returns the meta object for the attribute '{@link net.certware.intent.intentSpecification.ListItem#getDesc <em>Desc</em>}'.
@@ -883,12 +1128,12 @@ interface Literals
     EClass SPECIFICATION = eINSTANCE.getSpecification();
 
     /**
-     * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
      * @generated
      */
-    EAttribute SPECIFICATION__ID = eINSTANCE.getSpecification_Id();
+    EAttribute SPECIFICATION__NAME = eINSTANCE.getSpecification_Name();
 
     /**
      * The meta object literal for the '<em><b>Refinements</b></em>' containment reference list feature.
@@ -909,12 +1154,12 @@ interface Literals
     EClass REFINEMENT = eINSTANCE.getRefinement();
 
     /**
-     * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
      * @generated
      */
-    EAttribute REFINEMENT__ID = eINSTANCE.getRefinement_Id();
+    EAttribute REFINEMENT__NAME = eINSTANCE.getRefinement_Name();
 
     /**
      * The meta object literal for the '<em><b>Desc</b></em>' attribute feature.
@@ -943,20 +1188,20 @@ interface Literals
     EClass INTENT = eINSTANCE.getIntent();
 
     /**
-     * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
+     * The meta object literal for the '<em><b>Type</b></em>' containment reference feature.
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
      * @generated
      */
-    EAttribute INTENT__TYPE = eINSTANCE.getIntent_Type();
+    EReference INTENT__TYPE = eINSTANCE.getIntent_Type();
 
     /**
-     * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
      * @generated
      */
-    EAttribute INTENT__ID = eINSTANCE.getIntent_Id();
+    EAttribute INTENT__NAME = eINSTANCE.getIntent_Name();
 
     /**
      * The meta object literal for the '<em><b>Desc</b></em>' attribute feature.
@@ -974,6 +1219,24 @@ interface Literals
      */
     EReference INTENT__DECOMPOSITIONS = eINSTANCE.getIntent_Decompositions();
 
+    /**
+     * The meta object literal for the '{@link net.certware.intent.intentSpecification.impl.IntentTypeImpl <em>Intent Type</em>}' class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @see net.certware.intent.intentSpecification.impl.IntentTypeImpl
+     * @see net.certware.intent.intentSpecification.impl.IntentSpecificationPackageImpl#getIntentType()
+     * @generated
+     */
+    EClass INTENT_TYPE = eINSTANCE.getIntentType();
+
+    /**
+     * The meta object literal for the '<em><b>Type Name</b></em>' attribute feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    EAttribute INTENT_TYPE__TYPE_NAME = eINSTANCE.getIntentType_TypeName();
+
     /**
      * The meta object literal for the '{@link net.certware.intent.intentSpecification.impl.DecompositionImpl <em>Decomposition</em>}' class.
      * <!-- begin-user-doc -->
@@ -985,20 +1248,20 @@ interface Literals
     EClass DECOMPOSITION = eINSTANCE.getDecomposition();
 
     /**
-     * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
+     * The meta object literal for the '<em><b>Type</b></em>' containment reference feature.
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
      * @generated
      */
-    EAttribute DECOMPOSITION__TYPE = eINSTANCE.getDecomposition_Type();
+    EReference DECOMPOSITION__TYPE = eINSTANCE.getDecomposition_Type();
 
     /**
-     * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
      * @generated
      */
-    EAttribute DECOMPOSITION__ID = eINSTANCE.getDecomposition_Id();
+    EAttribute DECOMPOSITION__NAME = eINSTANCE.getDecomposition_Name();
 
     /**
      * The meta object literal for the '<em><b>Desc</b></em>' attribute feature.
@@ -1032,6 +1295,24 @@ interface Literals
      */
     EReference DECOMPOSITION__ITEMS = eINSTANCE.getDecomposition_Items();
 
+    /**
+     * The meta object literal for the '{@link net.certware.intent.intentSpecification.impl.DecompositionTypeImpl <em>Decomposition Type</em>}' class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @see net.certware.intent.intentSpecification.impl.DecompositionTypeImpl
+     * @see net.certware.intent.intentSpecification.impl.IntentSpecificationPackageImpl#getDecompositionType()
+     * @generated
+     */
+    EClass DECOMPOSITION_TYPE = eINSTANCE.getDecompositionType();
+
+    /**
+     * The meta object literal for the '<em><b>Type Name</b></em>' attribute feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    EAttribute DECOMPOSITION_TYPE__TYPE_NAME = eINSTANCE.getDecompositionType_TypeName();
+
     /**
      * The meta object literal for the '{@link net.certware.intent.intentSpecification.impl.DocumentImpl <em>Document</em>}' class.
      * <!-- begin-user-doc -->
@@ -1050,6 +1331,24 @@ interface Literals
      */
     EReference DOCUMENT__ENTRIES = eINSTANCE.getDocument_Entries();
 
+    /**
+     * The meta object literal for the '{@link net.certware.intent.intentSpecification.impl.DocItemTypeImpl <em>Doc Item Type</em>}' class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @see net.certware.intent.intentSpecification.impl.DocItemTypeImpl
+     * @see net.certware.intent.intentSpecification.impl.IntentSpecificationPackageImpl#getDocItemType()
+     * @generated
+     */
+    EClass DOC_ITEM_TYPE = eINSTANCE.getDocItemType();
+
+    /**
+     * The meta object literal for the '<em><b>Type Name</b></em>' attribute feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    EAttribute DOC_ITEM_TYPE__TYPE_NAME = eINSTANCE.getDocItemType_TypeName();
+
     /**
      * The meta object literal for the '{@link net.certware.intent.intentSpecification.impl.DocItemImpl <em>Doc Item</em>}' class.
      * <!-- begin-user-doc -->
@@ -1061,20 +1360,20 @@ interface Literals
     EClass DOC_ITEM = eINSTANCE.getDocItem();
 
     /**
-     * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
+     * The meta object literal for the '<em><b>Type</b></em>' containment reference feature.
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
      * @generated
      */
-    EAttribute DOC_ITEM__TYPE = eINSTANCE.getDocItem_Type();
+    EReference DOC_ITEM__TYPE = eINSTANCE.getDocItem_Type();
 
     /**
-     * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
      * @generated
      */
-    EAttribute DOC_ITEM__ID = eINSTANCE.getDocItem_Id();
+    EAttribute DOC_ITEM__NAME = eINSTANCE.getDocItem_Name();
 
     /**
      * The meta object literal for the '<em><b>Ref</b></em>' attribute feature.
@@ -1084,6 +1383,24 @@ interface Literals
      */
     EAttribute DOC_ITEM__REF = eINSTANCE.getDocItem_Ref();
 
+    /**
+     * The meta object literal for the '{@link net.certware.intent.intentSpecification.impl.ModelTypeImpl <em>Model Type</em>}' class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @see net.certware.intent.intentSpecification.impl.ModelTypeImpl
+     * @see net.certware.intent.intentSpecification.impl.IntentSpecificationPackageImpl#getModelType()
+     * @generated
+     */
+    EClass MODEL_TYPE = eINSTANCE.getModelType();
+
+    /**
+     * The meta object literal for the '<em><b>Type Name</b></em>' attribute feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    EAttribute MODEL_TYPE__TYPE_NAME = eINSTANCE.getModelType_TypeName();
+
     /**
      * The meta object literal for the '{@link net.certware.intent.intentSpecification.impl.ModelItemImpl <em>Model Item</em>}' class.
      * <!-- begin-user-doc -->
@@ -1095,20 +1412,20 @@ interface Literals
     EClass MODEL_ITEM = eINSTANCE.getModelItem();
 
     /**
-     * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
+     * The meta object literal for the '<em><b>Type</b></em>' containment reference feature.
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
      * @generated
      */
-    EAttribute MODEL_ITEM__TYPE = eINSTANCE.getModelItem_Type();
+    EReference MODEL_ITEM__TYPE = eINSTANCE.getModelItem_Type();
 
     /**
-     * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
      * @generated
      */
-    EAttribute MODEL_ITEM__ID = eINSTANCE.getModelItem_Id();
+    EAttribute MODEL_ITEM__NAME = eINSTANCE.getModelItem_Name();
 
     /**
      * The meta object literal for the '<em><b>Desc</b></em>' attribute feature.
@@ -1118,6 +1435,24 @@ interface Literals
      */
     EAttribute MODEL_ITEM__DESC = eINSTANCE.getModelItem_Desc();
 
+    /**
+     * The meta object literal for the '{@link net.certware.intent.intentSpecification.impl.ListItemTypeImpl <em>List Item Type</em>}' class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @see net.certware.intent.intentSpecification.impl.ListItemTypeImpl
+     * @see net.certware.intent.intentSpecification.impl.IntentSpecificationPackageImpl#getListItemType()
+     * @generated
+     */
+    EClass LIST_ITEM_TYPE = eINSTANCE.getListItemType();
+
+    /**
+     * The meta object literal for the '<em><b>Type Name</b></em>' attribute feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    EAttribute LIST_ITEM_TYPE__TYPE_NAME = eINSTANCE.getListItemType_TypeName();
+
     /**
      * The meta object literal for the '{@link net.certware.intent.intentSpecification.impl.ListItemImpl <em>List Item</em>}' class.
      * <!-- begin-user-doc -->
@@ -1129,20 +1464,20 @@ interface Literals
     EClass LIST_ITEM = eINSTANCE.getListItem();
 
     /**
-     * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
+     * The meta object literal for the '<em><b>Type</b></em>' containment reference feature.
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
      * @generated
      */
-    EAttribute LIST_ITEM__TYPE = eINSTANCE.getListItem_Type();
+    EReference LIST_ITEM__TYPE = eINSTANCE.getListItem_Type();
 
     /**
-     * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
      * @generated
      */
-    EAttribute LIST_ITEM__ID = eINSTANCE.getListItem_Id();
+    EAttribute LIST_ITEM__NAME = eINSTANCE.getListItem_Name();
 
     /**
      * The meta object literal for the '<em><b>Desc</b></em>' attribute feature.
https://github.com/nasa/CertWare/raw/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2FIntentSpecificationPackage.java
fa6f0420fb0406fd2ff002cc9dae4f7f37d79ce5
modified
https://github.com/nasa/CertWare/blob/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2FListItem.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2FListItem.java?ref=27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9
net.certware.intent/src-gen/net/certware/intent/intentSpecification/ListItem.java
 *   <li>{@link net.certware.intent.intentSpecification.ListItem#getName <em>Name</em>}</li>
   * Returns the value of the '<em><b>Type</b></em>' containment reference.
   * If the meaning of the '<em>Type</em>' containment reference isn't clear,
   * @return the value of the '<em>Type</em>' containment reference.
   * @see #setType(ListItemType)
   * @model containment="true"
  ListItemType getType();
   * Sets the value of the '{@link net.certware.intent.intentSpecification.ListItem#getType <em>Type</em>}' containment reference.
   * @param value the new value of the '<em>Type</em>' containment reference.
  void setType(ListItemType value);
   * Returns the value of the '<em><b>Name</b></em>' attribute.
   * If the meaning of the '<em>Name</em>' attribute isn't clear,
   * @return the value of the '<em>Name</em>' attribute.
   * @see #setName(String)
   * @see net.certware.intent.intentSpecification.IntentSpecificationPackage#getListItem_Name()
  String getName();
   * Sets the value of the '{@link net.certware.intent.intentSpecification.ListItem#getName <em>Name</em>}' attribute.
   * @param value the new value of the '<em>Name</em>' attribute.
   * @see #getName()
  void setName(String value);
 *   <li>{@link net.certware.intent.intentSpecification.ListItem#getId <em>Id</em>}</li>
   * Returns the value of the '<em><b>Type</b></em>' attribute.
   * If the meaning of the '<em>Type</em>' attribute isn't clear,
   * @return the value of the '<em>Type</em>' attribute.
   * @see #setType(String)
   * @model
  String getType();
   * Sets the value of the '{@link net.certware.intent.intentSpecification.ListItem#getType <em>Type</em>}' attribute.
   * @param value the new value of the '<em>Type</em>' attribute.
  void setType(String value);
   * Returns the value of the '<em><b>Id</b></em>' attribute.
   * If the meaning of the '<em>Id</em>' attribute isn't clear,
   * @return the value of the '<em>Id</em>' attribute.
   * @see #setId(String)
   * @see net.certware.intent.intentSpecification.IntentSpecificationPackage#getListItem_Id()
  String getId();
   * Sets the value of the '{@link net.certware.intent.intentSpecification.ListItem#getId <em>Id</em>}' attribute.
   * @param value the new value of the '<em>Id</em>' attribute.
   * @see #getId()
  void setId(String value);
@@ -15,7 +15,7 @@
  * The following features are supported:
  * <ul>
  *   <li>{@link net.certware.intent.intentSpecification.ListItem#getType <em>Type</em>}</li>
- *   <li>{@link net.certware.intent.intentSpecification.ListItem#getId <em>Id</em>}</li>
+ *   <li>{@link net.certware.intent.intentSpecification.ListItem#getName <em>Name</em>}</li>
  *   <li>{@link net.certware.intent.intentSpecification.ListItem#getDesc <em>Desc</em>}</li>
  *   <li>{@link net.certware.intent.intentSpecification.ListItem#getDocReferences <em>Doc References</em>}</li>
  *   <li>{@link net.certware.intent.intentSpecification.ListItem#getItemReferences <em>Item References</em>}</li>
@@ -30,56 +30,56 @@
 public interface ListItem extends EObject
 {
   /**
-   * Returns the value of the '<em><b>Type</b></em>' attribute.
+   * Returns the value of the '<em><b>Type</b></em>' containment reference.
    * <!-- begin-user-doc -->
    * <p>
-   * If the meaning of the '<em>Type</em>' attribute isn't clear,
+   * If the meaning of the '<em>Type</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>Type</em>' attribute.
-   * @see #setType(String)
+   * @return the value of the '<em>Type</em>' containment reference.
+   * @see #setType(ListItemType)
    * @see net.certware.intent.intentSpecification.IntentSpecificationPackage#getListItem_Type()
-   * @model
+   * @model containment="true"
    * @generated
    */
-  String getType();
+  ListItemType getType();
 
   /**
-   * Sets the value of the '{@link net.certware.intent.intentSpecification.ListItem#getType <em>Type</em>}' attribute.
+   * Sets the value of the '{@link net.certware.intent.intentSpecification.ListItem#getType <em>Type</em>}' containment reference.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Type</em>' attribute.
+   * @param value the new value of the '<em>Type</em>' containment reference.
    * @see #getType()
    * @generated
    */
-  void setType(String value);
+  void setType(ListItemType value);
 
   /**
-   * Returns the value of the '<em><b>Id</b></em>' attribute.
+   * Returns the value of the '<em><b>Name</b></em>' attribute.
    * <!-- begin-user-doc -->
    * <p>
-   * If the meaning of the '<em>Id</em>' attribute isn't clear,
+   * 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>Id</em>' attribute.
-   * @see #setId(String)
-   * @see net.certware.intent.intentSpecification.IntentSpecificationPackage#getListItem_Id()
+   * @return the value of the '<em>Name</em>' attribute.
+   * @see #setName(String)
+   * @see net.certware.intent.intentSpecification.IntentSpecificationPackage#getListItem_Name()
    * @model
    * @generated
    */
-  String getId();
+  String getName();
 
   /**
-   * Sets the value of the '{@link net.certware.intent.intentSpecification.ListItem#getId <em>Id</em>}' attribute.
+   * Sets the value of the '{@link net.certware.intent.intentSpecification.ListItem#getName <em>Name</em>}' attribute.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Id</em>' attribute.
-   * @see #getId()
+   * @param value the new value of the '<em>Name</em>' attribute.
+   * @see #getName()
    * @generated
    */
-  void setId(String value);
+  void setName(String value);
 
   /**
    * Returns the value of the '<em><b>Desc</b></em>' attribute.
https://github.com/nasa/CertWare/raw/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2FListItem.java
1e59d53484b55c601b11970d6803d0cc0e0f9204
modified
https://github.com/nasa/CertWare/blob/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2FModelItem.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2FModelItem.java?ref=27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9
net.certware.intent/src-gen/net/certware/intent/intentSpecification/ModelItem.java
 *   <li>{@link net.certware.intent.intentSpecification.ModelItem#getName <em>Name</em>}</li>
   * Returns the value of the '<em><b>Type</b></em>' containment reference.
   * If the meaning of the '<em>Type</em>' containment reference isn't clear,
   * @return the value of the '<em>Type</em>' containment reference.
   * @see #setType(ModelType)
   * @model containment="true"
  ModelType getType();
   * Sets the value of the '{@link net.certware.intent.intentSpecification.ModelItem#getType <em>Type</em>}' containment reference.
   * @param value the new value of the '<em>Type</em>' containment reference.
  void setType(ModelType value);
   * Returns the value of the '<em><b>Name</b></em>' attribute.
   * If the meaning of the '<em>Name</em>' attribute isn't clear,
   * @return the value of the '<em>Name</em>' attribute.
   * @see #setName(String)
   * @see net.certware.intent.intentSpecification.IntentSpecificationPackage#getModelItem_Name()
  String getName();
   * Sets the value of the '{@link net.certware.intent.intentSpecification.ModelItem#getName <em>Name</em>}' attribute.
   * @param value the new value of the '<em>Name</em>' attribute.
   * @see #getName()
  void setName(String value);
 *   <li>{@link net.certware.intent.intentSpecification.ModelItem#getId <em>Id</em>}</li>
   * Returns the value of the '<em><b>Type</b></em>' attribute.
   * If the meaning of the '<em>Type</em>' attribute isn't clear,
   * @return the value of the '<em>Type</em>' attribute.
   * @see #setType(String)
   * @model
  String getType();
   * Sets the value of the '{@link net.certware.intent.intentSpecification.ModelItem#getType <em>Type</em>}' attribute.
   * @param value the new value of the '<em>Type</em>' attribute.
  void setType(String value);
   * Returns the value of the '<em><b>Id</b></em>' attribute.
   * If the meaning of the '<em>Id</em>' attribute isn't clear,
   * @return the value of the '<em>Id</em>' attribute.
   * @see #setId(String)
   * @see net.certware.intent.intentSpecification.IntentSpecificationPackage#getModelItem_Id()
  String getId();
   * Sets the value of the '{@link net.certware.intent.intentSpecification.ModelItem#getId <em>Id</em>}' attribute.
   * @param value the new value of the '<em>Id</em>' attribute.
   * @see #getId()
  void setId(String value);
@@ -13,7 +13,7 @@
  * The following features are supported:
  * <ul>
  *   <li>{@link net.certware.intent.intentSpecification.ModelItem#getType <em>Type</em>}</li>
- *   <li>{@link net.certware.intent.intentSpecification.ModelItem#getId <em>Id</em>}</li>
+ *   <li>{@link net.certware.intent.intentSpecification.ModelItem#getName <em>Name</em>}</li>
  *   <li>{@link net.certware.intent.intentSpecification.ModelItem#getDesc <em>Desc</em>}</li>
  * </ul>
  * </p>
@@ -25,56 +25,56 @@
 public interface ModelItem extends EObject
 {
   /**
-   * Returns the value of the '<em><b>Type</b></em>' attribute.
+   * Returns the value of the '<em><b>Type</b></em>' containment reference.
    * <!-- begin-user-doc -->
    * <p>
-   * If the meaning of the '<em>Type</em>' attribute isn't clear,
+   * If the meaning of the '<em>Type</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>Type</em>' attribute.
-   * @see #setType(String)
+   * @return the value of the '<em>Type</em>' containment reference.
+   * @see #setType(ModelType)
    * @see net.certware.intent.intentSpecification.IntentSpecificationPackage#getModelItem_Type()
-   * @model
+   * @model containment="true"
    * @generated
    */
-  String getType();
+  ModelType getType();
 
   /**
-   * Sets the value of the '{@link net.certware.intent.intentSpecification.ModelItem#getType <em>Type</em>}' attribute.
+   * Sets the value of the '{@link net.certware.intent.intentSpecification.ModelItem#getType <em>Type</em>}' containment reference.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Type</em>' attribute.
+   * @param value the new value of the '<em>Type</em>' containment reference.
    * @see #getType()
    * @generated
    */
-  void setType(String value);
+  void setType(ModelType value);
 
   /**
-   * Returns the value of the '<em><b>Id</b></em>' attribute.
+   * Returns the value of the '<em><b>Name</b></em>' attribute.
    * <!-- begin-user-doc -->
    * <p>
-   * If the meaning of the '<em>Id</em>' attribute isn't clear,
+   * 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>Id</em>' attribute.
-   * @see #setId(String)
-   * @see net.certware.intent.intentSpecification.IntentSpecificationPackage#getModelItem_Id()
+   * @return the value of the '<em>Name</em>' attribute.
+   * @see #setName(String)
+   * @see net.certware.intent.intentSpecification.IntentSpecificationPackage#getModelItem_Name()
    * @model
    * @generated
    */
-  String getId();
+  String getName();
 
   /**
-   * Sets the value of the '{@link net.certware.intent.intentSpecification.ModelItem#getId <em>Id</em>}' attribute.
+   * Sets the value of the '{@link net.certware.intent.intentSpecification.ModelItem#getName <em>Name</em>}' attribute.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Id</em>' attribute.
-   * @see #getId()
+   * @param value the new value of the '<em>Name</em>' attribute.
+   * @see #getName()
    * @generated
    */
-  void setId(String value);
+  void setName(String value);
 
   /**
    * Returns the value of the '<em><b>Desc</b></em>' attribute.
https://github.com/nasa/CertWare/raw/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2FModelItem.java
6515c20f33eaa74279f6ee4750ff83d794b16a3e
modified
https://github.com/nasa/CertWare/blob/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2FRefinement.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2FRefinement.java?ref=27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9
net.certware.intent/src-gen/net/certware/intent/intentSpecification/Refinement.java
 *   <li>{@link net.certware.intent.intentSpecification.Refinement#getName <em>Name</em>}</li>
   * Returns the value of the '<em><b>Name</b></em>' attribute.
   * If the meaning of the '<em>Name</em>' attribute isn't clear,
   * @return the value of the '<em>Name</em>' attribute.
   * @see #setName(String)
   * @see net.certware.intent.intentSpecification.IntentSpecificationPackage#getRefinement_Name()
  String getName();
   * Sets the value of the '{@link net.certware.intent.intentSpecification.Refinement#getName <em>Name</em>}' attribute.
   * @param value the new value of the '<em>Name</em>' attribute.
   * @see #getName()
  void setName(String value);
 *   <li>{@link net.certware.intent.intentSpecification.Refinement#getId <em>Id</em>}</li>
   * Returns the value of the '<em><b>Id</b></em>' attribute.
   * If the meaning of the '<em>Id</em>' attribute isn't clear,
   * @return the value of the '<em>Id</em>' attribute.
   * @see #setId(String)
   * @see net.certware.intent.intentSpecification.IntentSpecificationPackage#getRefinement_Id()
  String getId();
   * Sets the value of the '{@link net.certware.intent.intentSpecification.Refinement#getId <em>Id</em>}' attribute.
   * @param value the new value of the '<em>Id</em>' attribute.
   * @see #getId()
  void setId(String value);
@@ -14,7 +14,7 @@
  * <p>
  * The following features are supported:
  * <ul>
- *   <li>{@link net.certware.intent.intentSpecification.Refinement#getId <em>Id</em>}</li>
+ *   <li>{@link net.certware.intent.intentSpecification.Refinement#getName <em>Name</em>}</li>
  *   <li>{@link net.certware.intent.intentSpecification.Refinement#getDesc <em>Desc</em>}</li>
  *   <li>{@link net.certware.intent.intentSpecification.Refinement#getIntents <em>Intents</em>}</li>
  * </ul>
@@ -27,30 +27,30 @@
 public interface Refinement extends EObject
 {
   /**
-   * Returns the value of the '<em><b>Id</b></em>' attribute.
+   * Returns the value of the '<em><b>Name</b></em>' attribute.
    * <!-- begin-user-doc -->
    * <p>
-   * If the meaning of the '<em>Id</em>' attribute isn't clear,
+   * 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>Id</em>' attribute.
-   * @see #setId(String)
-   * @see net.certware.intent.intentSpecification.IntentSpecificationPackage#getRefinement_Id()
+   * @return the value of the '<em>Name</em>' attribute.
+   * @see #setName(String)
+   * @see net.certware.intent.intentSpecification.IntentSpecificationPackage#getRefinement_Name()
    * @model
    * @generated
    */
-  String getId();
+  String getName();
 
   /**
-   * Sets the value of the '{@link net.certware.intent.intentSpecification.Refinement#getId <em>Id</em>}' attribute.
+   * Sets the value of the '{@link net.certware.intent.intentSpecification.Refinement#getName <em>Name</em>}' attribute.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Id</em>' attribute.
-   * @see #getId()
+   * @param value the new value of the '<em>Name</em>' attribute.
+   * @see #getName()
    * @generated
    */
-  void setId(String value);
+  void setName(String value);
 
   /**
    * Returns the value of the '<em><b>Desc</b></em>' attribute.
https://github.com/nasa/CertWare/raw/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2FRefinement.java
1d9d3af033b6e5d4df49bc08cac78021b388aa7b
modified
https://github.com/nasa/CertWare/blob/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2FSpecification.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2FSpecification.java?ref=27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9
net.certware.intent/src-gen/net/certware/intent/intentSpecification/Specification.java
 *   <li>{@link net.certware.intent.intentSpecification.Specification#getName <em>Name</em>}</li>
   * Returns the value of the '<em><b>Name</b></em>' attribute.
   * If the meaning of the '<em>Name</em>' attribute isn't clear,
   * @return the value of the '<em>Name</em>' attribute.
   * @see #setName(String)
   * @see net.certware.intent.intentSpecification.IntentSpecificationPackage#getSpecification_Name()
  String getName();
   * Sets the value of the '{@link net.certware.intent.intentSpecification.Specification#getName <em>Name</em>}' attribute.
   * @param value the new value of the '<em>Name</em>' attribute.
   * @see #getName()
  void setName(String value);
 *   <li>{@link net.certware.intent.intentSpecification.Specification#getId <em>Id</em>}</li>
   * Returns the value of the '<em><b>Id</b></em>' attribute.
   * If the meaning of the '<em>Id</em>' attribute isn't clear,
   * @return the value of the '<em>Id</em>' attribute.
   * @see #setId(String)
   * @see net.certware.intent.intentSpecification.IntentSpecificationPackage#getSpecification_Id()
  String getId();
   * Sets the value of the '{@link net.certware.intent.intentSpecification.Specification#getId <em>Id</em>}' attribute.
   * @param value the new value of the '<em>Id</em>' attribute.
   * @see #getId()
  void setId(String value);
@@ -14,7 +14,7 @@
  * <p>
  * The following features are supported:
  * <ul>
- *   <li>{@link net.certware.intent.intentSpecification.Specification#getId <em>Id</em>}</li>
+ *   <li>{@link net.certware.intent.intentSpecification.Specification#getName <em>Name</em>}</li>
  *   <li>{@link net.certware.intent.intentSpecification.Specification#getRefinements <em>Refinements</em>}</li>
  * </ul>
  * </p>
@@ -26,30 +26,30 @@
 public interface Specification extends EObject
 {
   /**
-   * Returns the value of the '<em><b>Id</b></em>' attribute.
+   * Returns the value of the '<em><b>Name</b></em>' attribute.
    * <!-- begin-user-doc -->
    * <p>
-   * If the meaning of the '<em>Id</em>' attribute isn't clear,
+   * 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>Id</em>' attribute.
-   * @see #setId(String)
-   * @see net.certware.intent.intentSpecification.IntentSpecificationPackage#getSpecification_Id()
+   * @return the value of the '<em>Name</em>' attribute.
+   * @see #setName(String)
+   * @see net.certware.intent.intentSpecification.IntentSpecificationPackage#getSpecification_Name()
    * @model
    * @generated
    */
-  String getId();
+  String getName();
 
   /**
-   * Sets the value of the '{@link net.certware.intent.intentSpecification.Specification#getId <em>Id</em>}' attribute.
+   * Sets the value of the '{@link net.certware.intent.intentSpecification.Specification#getName <em>Name</em>}' attribute.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Id</em>' attribute.
-   * @see #getId()
+   * @param value the new value of the '<em>Name</em>' attribute.
+   * @see #getName()
    * @generated
    */
-  void setId(String value);
+  void setName(String value);
 
   /**
    * Returns the value of the '<em><b>Refinements</b></em>' containment reference list.
https://github.com/nasa/CertWare/raw/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2FSpecification.java
71f6a8f6d515198d0585dd974691752bbbc83c76
modified
https://github.com/nasa/CertWare/blob/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2Fimpl%2FDecompositionImpl.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2Fimpl%2FDecompositionImpl.java?ref=27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9
net.certware.intent/src-gen/net/certware/intent/intentSpecification/impl/DecompositionImpl.java
import net.certware.intent.intentSpecification.DecompositionType;
 *   <li>{@link net.certware.intent.intentSpecification.impl.DecompositionImpl#getName <em>Name</em>}</li>
   * The cached value of the '{@link #getType() <em>Type</em>}' containment reference.
  protected DecompositionType type;
   * The default value of the '{@link #getName() <em>Name</em>}' attribute.
   * @see #getName()
  protected static final String NAME_EDEFAULT = null;
   * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
   * @see #getName()
  protected String name = NAME_EDEFAULT;
  public DecompositionType getType()
  public NotificationChain basicSetType(DecompositionType newType, NotificationChain msgs)
    DecompositionType oldType = type;
    {
      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.DECOMPOSITION__TYPE, oldType, newType);
      if (msgs == null) msgs = notification; else msgs.add(notification);
    }
    return msgs;
  public void setType(DecompositionType newType)
    if (newType != type)
    {
      NotificationChain msgs = null;
      if (type != null)
        msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - IntentSpecificationPackage.DECOMPOSITION__TYPE, null, msgs);
      if (newType != null)
        msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - IntentSpecificationPackage.DECOMPOSITION__TYPE, null, msgs);
      msgs = basicSetType(newType, msgs);
      if (msgs != null) msgs.dispatch();
    }
    else if (eNotificationRequired())
      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.DECOMPOSITION__TYPE, newType, newType));
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public String getName()
  {
    return name;
  public void setName(String newName)
    String oldName = name;
    name = newName;
      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.DECOMPOSITION__NAME, oldName, name));
      case IntentSpecificationPackage.DECOMPOSITION__TYPE:
        return basicSetType(null, msgs);
      case IntentSpecificationPackage.DECOMPOSITION__NAME:
        return getName();
        setType((DecompositionType)newValue);
      case IntentSpecificationPackage.DECOMPOSITION__NAME:
        setName((String)newValue);
        setType((DecompositionType)null);
      case IntentSpecificationPackage.DECOMPOSITION__NAME:
        setName(NAME_EDEFAULT);
        return type != null;
      case IntentSpecificationPackage.DECOMPOSITION__NAME:
        return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
    result.append(" (name: ");
    result.append(name);
 *   <li>{@link net.certware.intent.intentSpecification.impl.DecompositionImpl#getId <em>Id</em>}</li>
   * The default value of the '{@link #getType() <em>Type</em>}' attribute.
  protected static final String TYPE_EDEFAULT = null;
   * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
   * @see #getType()
  protected String type = TYPE_EDEFAULT;
   * The default value of the '{@link #getId() <em>Id</em>}' attribute.
   * @see #getId()
  protected static final String ID_EDEFAULT = null;

  /**
   * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see #getId()
   * @generated
   * @ordered
   */
  protected String id = ID_EDEFAULT;
  public String getType()
  public void setType(String newType)
    String oldType = type;
      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.DECOMPOSITION__TYPE, oldType, type));
  public String getId()
    return id;
  public void setId(String newId)
    String oldId = id;
    id = newId;
      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.DECOMPOSITION__ID, oldId, id));
      case IntentSpecificationPackage.DECOMPOSITION__ID:
        return getId();
        setType((String)newValue);
      case IntentSpecificationPackage.DECOMPOSITION__ID:
        setId((String)newValue);
        setType(TYPE_EDEFAULT);
      case IntentSpecificationPackage.DECOMPOSITION__ID:
        setId(ID_EDEFAULT);
        return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
      case IntentSpecificationPackage.DECOMPOSITION__ID:
        return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
    result.append(" (type: ");
    result.append(type);
    result.append(", id: ");
    result.append(id);
@@ -5,6 +5,7 @@
 import java.util.Collection;
 
 import net.certware.intent.intentSpecification.Decomposition;
+import net.certware.intent.intentSpecification.DecompositionType;
 import net.certware.intent.intentSpecification.Document;
 import net.certware.intent.intentSpecification.IntentSpecificationPackage;
 import net.certware.intent.intentSpecification.ListItem;
@@ -32,7 +33,7 @@
  * The following features are implemented:
  * <ul>
  *   <li>{@link net.certware.intent.intentSpecification.impl.DecompositionImpl#getType <em>Type</em>}</li>
- *   <li>{@link net.certware.intent.intentSpecification.impl.DecompositionImpl#getId <em>Id</em>}</li>
+ *   <li>{@link net.certware.intent.intentSpecification.impl.DecompositionImpl#getName <em>Name</em>}</li>
  *   <li>{@link net.certware.intent.intentSpecification.impl.DecompositionImpl#getDesc <em>Desc</em>}</li>
  *   <li>{@link net.certware.intent.intentSpecification.impl.DecompositionImpl#getDocuments <em>Documents</em>}</li>
  *   <li>{@link net.certware.intent.intentSpecification.impl.DecompositionImpl#getModels <em>Models</em>}</li>
@@ -45,44 +46,34 @@
 public class DecompositionImpl extends MinimalEObjectImpl.Container implements Decomposition
 {
   /**
-   * The default value of the '{@link #getType() <em>Type</em>}' attribute.
+   * The cached value of the '{@link #getType() <em>Type</em>}' containment reference.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @see #getType()
    * @generated
    * @ordered
    */
-  protected static final String TYPE_EDEFAULT = null;
+  protected DecompositionType type;
 
   /**
-   * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
+   * The default value of the '{@link #getName() <em>Name</em>}' attribute.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getType()
+   * @see #getName()
    * @generated
    * @ordered
    */
-  protected String type = TYPE_EDEFAULT;
+  protected static final String NAME_EDEFAULT = null;
 
   /**
-   * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+   * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getId()
+   * @see #getName()
    * @generated
    * @ordered
    */
-  protected static final String ID_EDEFAULT = null;
-
-  /**
-   * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getId()
-   * @generated
-   * @ordered
-   */
-  protected String id = ID_EDEFAULT;
+  protected String name = NAME_EDEFAULT;
 
   /**
    * The default value of the '{@link #getDesc() <em>Desc</em>}' attribute.
@@ -160,7 +151,7 @@ protected EClass eStaticClass()
    * <!-- end-user-doc -->
    * @generated
    */
-  public String getType()
+  public DecompositionType getType()
   {
     return type;
   }
@@ -170,35 +161,60 @@ public String getType()
    * <!-- end-user-doc -->
    * @generated
    */
-  public void setType(String newType)
+  public NotificationChain basicSetType(DecompositionType newType, NotificationChain msgs)
   {
-    String oldType = type;
+    DecompositionType oldType = type;
     type = newType;
     if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.DECOMPOSITION__TYPE, oldType, type));
+    {
+      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.DECOMPOSITION__TYPE, oldType, newType);
+      if (msgs == null) msgs = notification; else msgs.add(notification);
+    }
+    return msgs;
   }
 
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  public String getId()
+  public void setType(DecompositionType newType)
   {
-    return id;
+    if (newType != type)
+    {
+      NotificationChain msgs = null;
+      if (type != null)
+        msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - IntentSpecificationPackage.DECOMPOSITION__TYPE, null, msgs);
+      if (newType != null)
+        msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - IntentSpecificationPackage.DECOMPOSITION__TYPE, null, msgs);
+      msgs = basicSetType(newType, msgs);
+      if (msgs != null) msgs.dispatch();
+    }
+    else if (eNotificationRequired())
+      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.DECOMPOSITION__TYPE, newType, newType));
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public String getName()
+  {
+    return name;
   }
 
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  public void setId(String newId)
+  public void setName(String newName)
   {
-    String oldId = id;
-    id = newId;
+    String oldName = name;
+    name = newName;
     if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.DECOMPOSITION__ID, oldId, id));
+      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.DECOMPOSITION__NAME, oldName, name));
   }
 
   /**
@@ -276,6 +292,8 @@ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID,
   {
     switch (featureID)
     {
+      case IntentSpecificationPackage.DECOMPOSITION__TYPE:
+        return basicSetType(null, msgs);
       case IntentSpecificationPackage.DECOMPOSITION__DOCUMENTS:
         return ((InternalEList<?>)getDocuments()).basicRemove(otherEnd, msgs);
       case IntentSpecificationPackage.DECOMPOSITION__MODELS:
@@ -298,8 +316,8 @@ public Object eGet(int featureID, boolean resolve, boolean coreType)
     {
       case IntentSpecificationPackage.DECOMPOSITION__TYPE:
         return getType();
-      case IntentSpecificationPackage.DECOMPOSITION__ID:
-        return getId();
+      case IntentSpecificationPackage.DECOMPOSITION__NAME:
+        return getName();
       case IntentSpecificationPackage.DECOMPOSITION__DESC:
         return getDesc();
       case IntentSpecificationPackage.DECOMPOSITION__DOCUMENTS:
@@ -324,10 +342,10 @@ public void eSet(int featureID, Object newValue)
     switch (featureID)
     {
       case IntentSpecificationPackage.DECOMPOSITION__TYPE:
-        setType((String)newValue);
+        setType((DecompositionType)newValue);
         return;
-      case IntentSpecificationPackage.DECOMPOSITION__ID:
-        setId((String)newValue);
+      case IntentSpecificationPackage.DECOMPOSITION__NAME:
+        setName((String)newValue);
         return;
       case IntentSpecificationPackage.DECOMPOSITION__DESC:
         setDesc((String)newValue);
@@ -359,10 +377,10 @@ public void eUnset(int featureID)
     switch (featureID)
     {
       case IntentSpecificationPackage.DECOMPOSITION__TYPE:
-        setType(TYPE_EDEFAULT);
+        setType((DecompositionType)null);
         return;
-      case IntentSpecificationPackage.DECOMPOSITION__ID:
-        setId(ID_EDEFAULT);
+      case IntentSpecificationPackage.DECOMPOSITION__NAME:
+        setName(NAME_EDEFAULT);
         return;
       case IntentSpecificationPackage.DECOMPOSITION__DESC:
         setDesc(DESC_EDEFAULT);
@@ -391,9 +409,9 @@ public boolean eIsSet(int featureID)
     switch (featureID)
     {
       case IntentSpecificationPackage.DECOMPOSITION__TYPE:
-        return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
-      case IntentSpecificationPackage.DECOMPOSITION__ID:
-        return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+        return type != null;
+      case IntentSpecificationPackage.DECOMPOSITION__NAME:
+        return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
       case IntentSpecificationPackage.DECOMPOSITION__DESC:
         return DESC_EDEFAULT == null ? desc != null : !DESC_EDEFAULT.equals(desc);
       case IntentSpecificationPackage.DECOMPOSITION__DOCUMENTS:
@@ -417,10 +435,8 @@ public String toString()
     if (eIsProxy()) return super.toString();
 
     StringBuffer result = new StringBuffer(super.toString());
-    result.append(" (type: ");
-    result.append(type);
-    result.append(", id: ");
-    result.append(id);
+    result.append(" (name: ");
+    result.append(name);
     result.append(", desc: ");
     result.append(desc);
     result.append(')');
https://github.com/nasa/CertWare/raw/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2Fimpl%2FDecompositionImpl.java
cc51c09add295af4f04cd7806970f3b2cde2d214
modified
https://github.com/nasa/CertWare/blob/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2Fimpl%2FDocItemImpl.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2Fimpl%2FDocItemImpl.java?ref=27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9
net.certware.intent/src-gen/net/certware/intent/intentSpecification/impl/DocItemImpl.java
import net.certware.intent.intentSpecification.DocItemType;
import org.eclipse.emf.common.notify.NotificationChain;
import org.eclipse.emf.ecore.InternalEObject;
 *   <li>{@link net.certware.intent.intentSpecification.impl.DocItemImpl#getName <em>Name</em>}</li>
   * The cached value of the '{@link #getType() <em>Type</em>}' containment reference.
  protected DocItemType type;
   * The default value of the '{@link #getName() <em>Name</em>}' attribute.
   * @see #getName()
  protected static final String NAME_EDEFAULT = null;
   * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
   * @see #getName()
  protected String name = NAME_EDEFAULT;
  public DocItemType getType()
  public NotificationChain basicSetType(DocItemType newType, NotificationChain msgs)
    DocItemType oldType = type;
    {
      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.DOC_ITEM__TYPE, oldType, newType);
      if (msgs == null) msgs = notification; else msgs.add(notification);
    }
    return msgs;
  public void setType(DocItemType newType)
    if (newType != type)
    {
      NotificationChain msgs = null;
      if (type != null)
        msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - IntentSpecificationPackage.DOC_ITEM__TYPE, null, msgs);
      if (newType != null)
        msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - IntentSpecificationPackage.DOC_ITEM__TYPE, null, msgs);
      msgs = basicSetType(newType, msgs);
      if (msgs != null) msgs.dispatch();
    }
    else if (eNotificationRequired())
      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.DOC_ITEM__TYPE, newType, newType));
  public String getName()
    return name;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public void setName(String newName)
  {
    String oldName = name;
    name = newName;
      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.DOC_ITEM__NAME, oldName, name));
  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
  {
    switch (featureID)
    {
      case IntentSpecificationPackage.DOC_ITEM__TYPE:
        return basicSetType(null, msgs);
    }
    return super.eInverseRemove(otherEnd, featureID, msgs);
  }

      case IntentSpecificationPackage.DOC_ITEM__NAME:
        return getName();
        setType((DocItemType)newValue);
      case IntentSpecificationPackage.DOC_ITEM__NAME:
        setName((String)newValue);
        setType((DocItemType)null);
      case IntentSpecificationPackage.DOC_ITEM__NAME:
        setName(NAME_EDEFAULT);
        return type != null;
      case IntentSpecificationPackage.DOC_ITEM__NAME:
        return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
    result.append(" (name: ");
    result.append(name);
String newName
net.certware.intent/src-gen/net/certware/intent/intentSpecification/impl/DocItemImpl.java
String oldName = name;
    name = newName;
      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.DOC_ITEM__NAME, oldName, name));
  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
  {
    switch (featureID)
    {
      case IntentSpecificationPackage.DOC_ITEM__TYPE:
        return basicSetType(null, msgs);
void setName(String newName)
 *   <li>{@link net.certware.intent.intentSpecification.impl.DocItemImpl#getId <em>Id</em>}</li>
   * The default value of the '{@link #getType() <em>Type</em>}' attribute.
  protected static final String TYPE_EDEFAULT = null;
   * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
   * @see #getType()
  protected String type = TYPE_EDEFAULT;
   * The default value of the '{@link #getId() <em>Id</em>}' attribute.
   * @see #getId()
  protected static final String ID_EDEFAULT = null;

  /**
   * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see #getId()
   * @generated
   * @ordered
   */
  protected String id = ID_EDEFAULT;
  public String getType()
  public void setType(String newType)
    String oldType = type;
      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.DOC_ITEM__TYPE, oldType, type));
  public String getId()
    return id;
  public void setId(String newId)
    String oldId = id;
    id = newId;
      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.DOC_ITEM__ID, oldId, id));
      case IntentSpecificationPackage.DOC_ITEM__ID:
        return getId();
        setType((String)newValue);
      case IntentSpecificationPackage.DOC_ITEM__ID:
        setId((String)newValue);
        setType(TYPE_EDEFAULT);
      case IntentSpecificationPackage.DOC_ITEM__ID:
        setId(ID_EDEFAULT);
        return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
      case IntentSpecificationPackage.DOC_ITEM__ID:
        return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
    result.append(" (type: ");
    result.append(type);
    result.append(", id: ");
    result.append(id);
@@ -3,11 +3,14 @@
 package net.certware.intent.intentSpecification.impl;
 
 import net.certware.intent.intentSpecification.DocItem;
+import net.certware.intent.intentSpecification.DocItemType;
 import net.certware.intent.intentSpecification.IntentSpecificationPackage;
 
 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;
@@ -20,7 +23,7 @@
  * The following features are implemented:
  * <ul>
  *   <li>{@link net.certware.intent.intentSpecification.impl.DocItemImpl#getType <em>Type</em>}</li>
- *   <li>{@link net.certware.intent.intentSpecification.impl.DocItemImpl#getId <em>Id</em>}</li>
+ *   <li>{@link net.certware.intent.intentSpecification.impl.DocItemImpl#getName <em>Name</em>}</li>
  *   <li>{@link net.certware.intent.intentSpecification.impl.DocItemImpl#getRef <em>Ref</em>}</li>
  * </ul>
  * </p>
@@ -30,44 +33,34 @@
 public class DocItemImpl extends MinimalEObjectImpl.Container implements DocItem
 {
   /**
-   * The default value of the '{@link #getType() <em>Type</em>}' attribute.
+   * The cached value of the '{@link #getType() <em>Type</em>}' containment reference.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @see #getType()
    * @generated
    * @ordered
    */
-  protected static final String TYPE_EDEFAULT = null;
+  protected DocItemType type;
 
   /**
-   * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
+   * The default value of the '{@link #getName() <em>Name</em>}' attribute.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getType()
+   * @see #getName()
    * @generated
    * @ordered
    */
-  protected String type = TYPE_EDEFAULT;
+  protected static final String NAME_EDEFAULT = null;
 
   /**
-   * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+   * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getId()
+   * @see #getName()
    * @generated
    * @ordered
    */
-  protected static final String ID_EDEFAULT = null;
-
-  /**
-   * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getId()
-   * @generated
-   * @ordered
-   */
-  protected String id = ID_EDEFAULT;
+  protected String name = NAME_EDEFAULT;
 
   /**
    * The default value of the '{@link #getRef() <em>Ref</em>}' attribute.
@@ -115,7 +108,7 @@ protected EClass eStaticClass()
    * <!-- end-user-doc -->
    * @generated
    */
-  public String getType()
+  public DocItemType getType()
   {
     return type;
   }
@@ -125,35 +118,60 @@ public String getType()
    * <!-- end-user-doc -->
    * @generated
    */
-  public void setType(String newType)
+  public NotificationChain basicSetType(DocItemType newType, NotificationChain msgs)
   {
-    String oldType = type;
+    DocItemType oldType = type;
     type = newType;
     if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.DOC_ITEM__TYPE, oldType, type));
+    {
+      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.DOC_ITEM__TYPE, oldType, newType);
+      if (msgs == null) msgs = notification; else msgs.add(notification);
+    }
+    return msgs;
   }
 
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  public String getId()
+  public void setType(DocItemType newType)
   {
-    return id;
+    if (newType != type)
+    {
+      NotificationChain msgs = null;
+      if (type != null)
+        msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - IntentSpecificationPackage.DOC_ITEM__TYPE, null, msgs);
+      if (newType != null)
+        msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - IntentSpecificationPackage.DOC_ITEM__TYPE, null, msgs);
+      msgs = basicSetType(newType, msgs);
+      if (msgs != null) msgs.dispatch();
+    }
+    else if (eNotificationRequired())
+      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.DOC_ITEM__TYPE, newType, newType));
   }
 
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  public void setId(String newId)
+  public String getName()
   {
-    String oldId = id;
-    id = newId;
+    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, IntentSpecificationPackage.DOC_ITEM__ID, oldId, id));
+      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.DOC_ITEM__NAME, oldName, name));
   }
 
   /**
@@ -179,6 +197,22 @@ public void setRef(String newRef)
       eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.DOC_ITEM__REF, oldRef, ref));
   }
 
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  @Override
+  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+  {
+    switch (featureID)
+    {
+      case IntentSpecificationPackage.DOC_ITEM__TYPE:
+        return basicSetType(null, msgs);
+    }
+    return super.eInverseRemove(otherEnd, featureID, msgs);
+  }
+
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
@@ -191,8 +225,8 @@ public Object eGet(int featureID, boolean resolve, boolean coreType)
     {
       case IntentSpecificationPackage.DOC_ITEM__TYPE:
         return getType();
-      case IntentSpecificationPackage.DOC_ITEM__ID:
-        return getId();
+      case IntentSpecificationPackage.DOC_ITEM__NAME:
+        return getName();
       case IntentSpecificationPackage.DOC_ITEM__REF:
         return getRef();
     }
@@ -210,10 +244,10 @@ public void eSet(int featureID, Object newValue)
     switch (featureID)
     {
       case IntentSpecificationPackage.DOC_ITEM__TYPE:
-        setType((String)newValue);
+        setType((DocItemType)newValue);
         return;
-      case IntentSpecificationPackage.DOC_ITEM__ID:
-        setId((String)newValue);
+      case IntentSpecificationPackage.DOC_ITEM__NAME:
+        setName((String)newValue);
         return;
       case IntentSpecificationPackage.DOC_ITEM__REF:
         setRef((String)newValue);
@@ -233,10 +267,10 @@ public void eUnset(int featureID)
     switch (featureID)
     {
       case IntentSpecificationPackage.DOC_ITEM__TYPE:
-        setType(TYPE_EDEFAULT);
+        setType((DocItemType)null);
         return;
-      case IntentSpecificationPackage.DOC_ITEM__ID:
-        setId(ID_EDEFAULT);
+      case IntentSpecificationPackage.DOC_ITEM__NAME:
+        setName(NAME_EDEFAULT);
         return;
       case IntentSpecificationPackage.DOC_ITEM__REF:
         setRef(REF_EDEFAULT);
@@ -256,9 +290,9 @@ public boolean eIsSet(int featureID)
     switch (featureID)
     {
       case IntentSpecificationPackage.DOC_ITEM__TYPE:
-        return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
-      case IntentSpecificationPackage.DOC_ITEM__ID:
-        return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+        return type != null;
+      case IntentSpecificationPackage.DOC_ITEM__NAME:
+        return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
       case IntentSpecificationPackage.DOC_ITEM__REF:
         return REF_EDEFAULT == null ? ref != null : !REF_EDEFAULT.equals(ref);
     }
@@ -276,10 +310,8 @@ public String toString()
     if (eIsProxy()) return super.toString();
 
     StringBuffer result = new StringBuffer(super.toString());
-    result.append(" (type: ");
-    result.append(type);
-    result.append(", id: ");
-    result.append(id);
+    result.append(" (name: ");
+    result.append(name);
     result.append(", ref: ");
     result.append(ref);
     result.append(')');
https://github.com/nasa/CertWare/raw/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2Fimpl%2FDocItemImpl.java
20e203b0e66bd479ef9ea74aea32e9acae72df48
modified
https://github.com/nasa/CertWare/blob/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2Fimpl%2FIntentImpl.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2Fimpl%2FIntentImpl.java?ref=27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9
net.certware.intent/src-gen/net/certware/intent/intentSpecification/impl/IntentImpl.java
import net.certware.intent.intentSpecification.IntentType;
 *   <li>{@link net.certware.intent.intentSpecification.impl.IntentImpl#getName <em>Name</em>}</li>
   * The cached value of the '{@link #getType() <em>Type</em>}' containment reference.
  protected IntentType type;
   * The default value of the '{@link #getName() <em>Name</em>}' attribute.
   * @see #getName()
  protected static final String NAME_EDEFAULT = null;
   * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
   * @see #getName()
  protected String name = NAME_EDEFAULT;
  public IntentType getType()
  public NotificationChain basicSetType(IntentType newType, NotificationChain msgs)
    IntentType oldType = type;
    {
      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.INTENT__TYPE, oldType, newType);
      if (msgs == null) msgs = notification; else msgs.add(notification);
    }
    return msgs;
  public void setType(IntentType newType)
    if (newType != type)
    {
      NotificationChain msgs = null;
      if (type != null)
        msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - IntentSpecificationPackage.INTENT__TYPE, null, msgs);
      if (newType != null)
        msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - IntentSpecificationPackage.INTENT__TYPE, null, msgs);
      msgs = basicSetType(newType, msgs);
      if (msgs != null) msgs.dispatch();
    }
    else if (eNotificationRequired())
      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.INTENT__TYPE, newType, newType));
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public String getName()
  {
    return name;
  public void setName(String newName)
    String oldName = name;
    name = newName;
      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.INTENT__NAME, oldName, name));
      case IntentSpecificationPackage.INTENT__TYPE:
        return basicSetType(null, msgs);
      case IntentSpecificationPackage.INTENT__NAME:
        return getName();
        setType((IntentType)newValue);
      case IntentSpecificationPackage.INTENT__NAME:
        setName((String)newValue);
        setType((IntentType)null);
      case IntentSpecificationPackage.INTENT__NAME:
        setName(NAME_EDEFAULT);
        return type != null;
      case IntentSpecificationPackage.INTENT__NAME:
        return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
    result.append(" (name: ");
    result.append(name);
 *   <li>{@link net.certware.intent.intentSpecification.impl.IntentImpl#getId <em>Id</em>}</li>
   * The default value of the '{@link #getType() <em>Type</em>}' attribute.
  protected static final String TYPE_EDEFAULT = null;
   * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
   * @see #getType()
  protected String type = TYPE_EDEFAULT;
   * The default value of the '{@link #getId() <em>Id</em>}' attribute.
   * @see #getId()
  protected static final String ID_EDEFAULT = null;

  /**
   * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see #getId()
   * @generated
   * @ordered
   */
  protected String id = ID_EDEFAULT;
  public String getType()
  public void setType(String newType)
    String oldType = type;
      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.INTENT__TYPE, oldType, type));
  public String getId()
    return id;
  public void setId(String newId)
    String oldId = id;
    id = newId;
      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.INTENT__ID, oldId, id));
      case IntentSpecificationPackage.INTENT__ID:
        return getId();
        setType((String)newValue);
      case IntentSpecificationPackage.INTENT__ID:
        setId((String)newValue);
        setType(TYPE_EDEFAULT);
      case IntentSpecificationPackage.INTENT__ID:
        setId(ID_EDEFAULT);
        return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
      case IntentSpecificationPackage.INTENT__ID:
        return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
    result.append(" (type: ");
    result.append(type);
    result.append(", id: ");
    result.append(id);
@@ -7,6 +7,7 @@
 import net.certware.intent.intentSpecification.Decomposition;
 import net.certware.intent.intentSpecification.Intent;
 import net.certware.intent.intentSpecification.IntentSpecificationPackage;
+import net.certware.intent.intentSpecification.IntentType;
 
 import org.eclipse.emf.common.notify.Notification;
 import org.eclipse.emf.common.notify.NotificationChain;
@@ -30,7 +31,7 @@
  * The following features are implemented:
  * <ul>
  *   <li>{@link net.certware.intent.intentSpecification.impl.IntentImpl#getType <em>Type</em>}</li>
- *   <li>{@link net.certware.intent.intentSpecification.impl.IntentImpl#getId <em>Id</em>}</li>
+ *   <li>{@link net.certware.intent.intentSpecification.impl.IntentImpl#getName <em>Name</em>}</li>
  *   <li>{@link net.certware.intent.intentSpecification.impl.IntentImpl#getDesc <em>Desc</em>}</li>
  *   <li>{@link net.certware.intent.intentSpecification.impl.IntentImpl#getDecompositions <em>Decompositions</em>}</li>
  * </ul>
@@ -41,44 +42,34 @@
 public class IntentImpl extends MinimalEObjectImpl.Container implements Intent
 {
   /**
-   * The default value of the '{@link #getType() <em>Type</em>}' attribute.
+   * The cached value of the '{@link #getType() <em>Type</em>}' containment reference.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @see #getType()
    * @generated
    * @ordered
    */
-  protected static final String TYPE_EDEFAULT = null;
+  protected IntentType type;
 
   /**
-   * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
+   * The default value of the '{@link #getName() <em>Name</em>}' attribute.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getType()
+   * @see #getName()
    * @generated
    * @ordered
    */
-  protected String type = TYPE_EDEFAULT;
+  protected static final String NAME_EDEFAULT = null;
 
   /**
-   * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+   * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getId()
+   * @see #getName()
    * @generated
    * @ordered
    */
-  protected static final String ID_EDEFAULT = null;
-
-  /**
-   * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getId()
-   * @generated
-   * @ordered
-   */
-  protected String id = ID_EDEFAULT;
+  protected String name = NAME_EDEFAULT;
 
   /**
    * The default value of the '{@link #getDesc() <em>Desc</em>}' attribute.
@@ -136,7 +127,7 @@ protected EClass eStaticClass()
    * <!-- end-user-doc -->
    * @generated
    */
-  public String getType()
+  public IntentType getType()
   {
     return type;
   }
@@ -146,35 +137,60 @@ public String getType()
    * <!-- end-user-doc -->
    * @generated
    */
-  public void setType(String newType)
+  public NotificationChain basicSetType(IntentType newType, NotificationChain msgs)
   {
-    String oldType = type;
+    IntentType oldType = type;
     type = newType;
     if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.INTENT__TYPE, oldType, type));
+    {
+      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.INTENT__TYPE, oldType, newType);
+      if (msgs == null) msgs = notification; else msgs.add(notification);
+    }
+    return msgs;
   }
 
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  public String getId()
+  public void setType(IntentType newType)
   {
-    return id;
+    if (newType != type)
+    {
+      NotificationChain msgs = null;
+      if (type != null)
+        msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - IntentSpecificationPackage.INTENT__TYPE, null, msgs);
+      if (newType != null)
+        msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - IntentSpecificationPackage.INTENT__TYPE, null, msgs);
+      msgs = basicSetType(newType, msgs);
+      if (msgs != null) msgs.dispatch();
+    }
+    else if (eNotificationRequired())
+      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.INTENT__TYPE, newType, newType));
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public String getName()
+  {
+    return name;
   }
 
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  public void setId(String newId)
+  public void setName(String newName)
   {
-    String oldId = id;
-    id = newId;
+    String oldName = name;
+    name = newName;
     if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.INTENT__ID, oldId, id));
+      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.INTENT__NAME, oldName, name));
   }
 
   /**
@@ -224,6 +240,8 @@ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID,
   {
     switch (featureID)
     {
+      case IntentSpecificationPackage.INTENT__TYPE:
+        return basicSetType(null, msgs);
       case IntentSpecificationPackage.INTENT__DECOMPOSITIONS:
         return ((InternalEList<?>)getDecompositions()).basicRemove(otherEnd, msgs);
     }
@@ -242,8 +260,8 @@ public Object eGet(int featureID, boolean resolve, boolean coreType)
     {
       case IntentSpecificationPackage.INTENT__TYPE:
         return getType();
-      case IntentSpecificationPackage.INTENT__ID:
-        return getId();
+      case IntentSpecificationPackage.INTENT__NAME:
+        return getName();
       case IntentSpecificationPackage.INTENT__DESC:
         return getDesc();
       case IntentSpecificationPackage.INTENT__DECOMPOSITIONS:
@@ -264,10 +282,10 @@ public void eSet(int featureID, Object newValue)
     switch (featureID)
     {
       case IntentSpecificationPackage.INTENT__TYPE:
-        setType((String)newValue);
+        setType((IntentType)newValue);
         return;
-      case IntentSpecificationPackage.INTENT__ID:
-        setId((String)newValue);
+      case IntentSpecificationPackage.INTENT__NAME:
+        setName((String)newValue);
         return;
       case IntentSpecificationPackage.INTENT__DESC:
         setDesc((String)newValue);
@@ -291,10 +309,10 @@ public void eUnset(int featureID)
     switch (featureID)
     {
       case IntentSpecificationPackage.INTENT__TYPE:
-        setType(TYPE_EDEFAULT);
+        setType((IntentType)null);
         return;
-      case IntentSpecificationPackage.INTENT__ID:
-        setId(ID_EDEFAULT);
+      case IntentSpecificationPackage.INTENT__NAME:
+        setName(NAME_EDEFAULT);
         return;
       case IntentSpecificationPackage.INTENT__DESC:
         setDesc(DESC_EDEFAULT);
@@ -317,9 +335,9 @@ public boolean eIsSet(int featureID)
     switch (featureID)
     {
       case IntentSpecificationPackage.INTENT__TYPE:
-        return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
-      case IntentSpecificationPackage.INTENT__ID:
-        return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+        return type != null;
+      case IntentSpecificationPackage.INTENT__NAME:
+        return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
       case IntentSpecificationPackage.INTENT__DESC:
         return DESC_EDEFAULT == null ? desc != null : !DESC_EDEFAULT.equals(desc);
       case IntentSpecificationPackage.INTENT__DECOMPOSITIONS:
@@ -339,10 +357,8 @@ public String toString()
     if (eIsProxy()) return super.toString();
 
     StringBuffer result = new StringBuffer(super.toString());
-    result.append(" (type: ");
-    result.append(type);
-    result.append(", id: ");
-    result.append(id);
+    result.append(" (name: ");
+    result.append(name);
     result.append(", desc: ");
     result.append(desc);
     result.append(')');
https://github.com/nasa/CertWare/raw/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2Fimpl%2FIntentImpl.java
813aa2e46c32953c6e4544ed666b1e9a1ab2d54a
modified
https://github.com/nasa/CertWare/blob/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2Fimpl%2FIntentSpecificationFactoryImpl.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2Fimpl%2FIntentSpecificationFactoryImpl.java?ref=27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9
net.certware.intent/src-gen/net/certware/intent/intentSpecification/impl/IntentSpecificationFactoryImpl.java
      case IntentSpecificationPackage.INTENT_TYPE: return createIntentType();
      case IntentSpecificationPackage.DECOMPOSITION_TYPE: return createDecompositionType();
      case IntentSpecificationPackage.DOC_ITEM_TYPE: return createDocItemType();
      case IntentSpecificationPackage.MODEL_TYPE: return createModelType();
      case IntentSpecificationPackage.LIST_ITEM_TYPE: return createListItemType();
  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public IntentType createIntentType()
  {
    IntentTypeImpl intentType = new IntentTypeImpl();
    return intentType;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public DecompositionType createDecompositionType()
  {
    DecompositionTypeImpl decompositionType = new DecompositionTypeImpl();
    return decompositionType;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public DocItemType createDocItemType()
  {
    DocItemTypeImpl docItemType = new DocItemTypeImpl();
    return docItemType;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public ModelType createModelType()
  {
    ModelTypeImpl modelType = new ModelTypeImpl();
    return modelType;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public ListItemType createListItemType()
  {
    ListItemTypeImpl listItemType = new ListItemTypeImpl();
    return listItemType;
  }

net.certware.intent/src-gen/net/certware/intent/intentSpecification/impl/IntentSpecificationFactoryImpl.java
IntentTypeImpl intentType = new IntentTypeImpl();
    return intentType;
IntentType createIntentType()
net.certware.intent/src-gen/net/certware/intent/intentSpecification/impl/IntentSpecificationFactoryImpl.java
DecompositionTypeImpl decompositionType = new DecompositionTypeImpl();
    return decompositionType;
DecompositionType createDecompositionType()
net.certware.intent/src-gen/net/certware/intent/intentSpecification/impl/IntentSpecificationFactoryImpl.java
DocItemTypeImpl docItemType = new DocItemTypeImpl();
    return docItemType;
DocItemType createDocItemType()
net.certware.intent/src-gen/net/certware/intent/intentSpecification/impl/IntentSpecificationFactoryImpl.java
ModelTypeImpl modelType = new ModelTypeImpl();
    return modelType;
ModelType createModelType()
net.certware.intent/src-gen/net/certware/intent/intentSpecification/impl/IntentSpecificationFactoryImpl.java
ListItemTypeImpl listItemType = new ListItemTypeImpl();
    return listItemType;
ListItemType createListItemType()
@@ -67,10 +67,15 @@ public EObject create(EClass eClass)
       case IntentSpecificationPackage.SPECIFICATION: return createSpecification();
       case IntentSpecificationPackage.REFINEMENT: return createRefinement();
       case IntentSpecificationPackage.INTENT: return createIntent();
+      case IntentSpecificationPackage.INTENT_TYPE: return createIntentType();
       case IntentSpecificationPackage.DECOMPOSITION: return createDecomposition();
+      case IntentSpecificationPackage.DECOMPOSITION_TYPE: return createDecompositionType();
       case IntentSpecificationPackage.DOCUMENT: return createDocument();
+      case IntentSpecificationPackage.DOC_ITEM_TYPE: return createDocItemType();
       case IntentSpecificationPackage.DOC_ITEM: return createDocItem();
+      case IntentSpecificationPackage.MODEL_TYPE: return createModelType();
       case IntentSpecificationPackage.MODEL_ITEM: return createModelItem();
+      case IntentSpecificationPackage.LIST_ITEM_TYPE: return createListItemType();
       case IntentSpecificationPackage.LIST_ITEM: return createListItem();
       default:
         throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
@@ -110,6 +115,17 @@ public Intent createIntent()
     return intent;
   }
 
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public IntentType createIntentType()
+  {
+    IntentTypeImpl intentType = new IntentTypeImpl();
+    return intentType;
+  }
+
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
@@ -121,6 +137,17 @@ public Decomposition createDecomposition()
     return decomposition;
   }
 
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public DecompositionType createDecompositionType()
+  {
+    DecompositionTypeImpl decompositionType = new DecompositionTypeImpl();
+    return decompositionType;
+  }
+
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
@@ -132,6 +159,17 @@ public Document createDocument()
     return document;
   }
 
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public DocItemType createDocItemType()
+  {
+    DocItemTypeImpl docItemType = new DocItemTypeImpl();
+    return docItemType;
+  }
+
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
@@ -143,6 +181,17 @@ public DocItem createDocItem()
     return docItem;
   }
 
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public ModelType createModelType()
+  {
+    ModelTypeImpl modelType = new ModelTypeImpl();
+    return modelType;
+  }
+
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
@@ -154,6 +203,17 @@ public ModelItem createModelItem()
     return modelItem;
   }
 
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public ListItemType createListItemType()
+  {
+    ListItemTypeImpl listItemType = new ListItemTypeImpl();
+    return listItemType;
+  }
+
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
https://github.com/nasa/CertWare/raw/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2Fimpl%2FIntentSpecificationFactoryImpl.java
24275f91258f97f53208287f491554c5ac732981
modified
https://github.com/nasa/CertWare/blob/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2Fimpl%2FIntentSpecificationPackageImpl.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2Fimpl%2FIntentSpecificationPackageImpl.java?ref=27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9
net.certware.intent/src-gen/net/certware/intent/intentSpecification/impl/IntentSpecificationPackageImpl.java
import net.certware.intent.intentSpecification.DecompositionType;
import net.certware.intent.intentSpecification.DocItemType;
import net.certware.intent.intentSpecification.IntentType;
import net.certware.intent.intentSpecification.ListItemType;
import net.certware.intent.intentSpecification.ModelType;
  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass intentTypeEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass decompositionTypeEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass docItemTypeEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass modelTypeEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass listItemTypeEClass = null;

  public EAttribute getSpecification_Name()
  public EAttribute getRefinement_Name()
  public EReference getIntent_Type()
    return (EReference)intentEClass.getEStructuralFeatures().get(0);
  public EAttribute getIntent_Name()
  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getIntentType()
  {
    return intentTypeEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getIntentType_TypeName()
  {
    return (EAttribute)intentTypeEClass.getEStructuralFeatures().get(0);
  }

  public EReference getDecomposition_Type()
    return (EReference)decompositionEClass.getEStructuralFeatures().get(0);
  public EAttribute getDecomposition_Name()
  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getDecompositionType()
  {
    return decompositionTypeEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getDecompositionType_TypeName()
  {
    return (EAttribute)decompositionTypeEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getDocItemType()
  {
    return docItemTypeEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getDocItemType_TypeName()
  {
    return (EAttribute)docItemTypeEClass.getEStructuralFeatures().get(0);
  }

  public EReference getDocItem_Type()
    return (EReference)docItemEClass.getEStructuralFeatures().get(0);
  public EAttribute getDocItem_Name()
  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getModelType()
  {
    return modelTypeEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getModelType_TypeName()
  {
    return (EAttribute)modelTypeEClass.getEStructuralFeatures().get(0);
  }

  public EReference getModelItem_Type()
    return (EReference)modelItemEClass.getEStructuralFeatures().get(0);
  public EAttribute getModelItem_Name()
  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getListItemType()
  {
    return listItemTypeEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getListItemType_TypeName()
  {
    return (EAttribute)listItemTypeEClass.getEStructuralFeatures().get(0);
  }

  public EReference getListItem_Type()
    return (EReference)listItemEClass.getEStructuralFeatures().get(0);
  public EAttribute getListItem_Name()
    createEAttribute(specificationEClass, SPECIFICATION__NAME);
    createEAttribute(refinementEClass, REFINEMENT__NAME);
    createEReference(intentEClass, INTENT__TYPE);
    createEAttribute(intentEClass, INTENT__NAME);
    intentTypeEClass = createEClass(INTENT_TYPE);
    createEAttribute(intentTypeEClass, INTENT_TYPE__TYPE_NAME);

    createEReference(decompositionEClass, DECOMPOSITION__TYPE);
    createEAttribute(decompositionEClass, DECOMPOSITION__NAME);
    decompositionTypeEClass = createEClass(DECOMPOSITION_TYPE);
    createEAttribute(decompositionTypeEClass, DECOMPOSITION_TYPE__TYPE_NAME);

    docItemTypeEClass = createEClass(DOC_ITEM_TYPE);
    createEAttribute(docItemTypeEClass, DOC_ITEM_TYPE__TYPE_NAME);

    createEReference(docItemEClass, DOC_ITEM__TYPE);
    createEAttribute(docItemEClass, DOC_ITEM__NAME);
    modelTypeEClass = createEClass(MODEL_TYPE);
    createEAttribute(modelTypeEClass, MODEL_TYPE__TYPE_NAME);

    createEReference(modelItemEClass, MODEL_ITEM__TYPE);
    createEAttribute(modelItemEClass, MODEL_ITEM__NAME);
    listItemTypeEClass = createEClass(LIST_ITEM_TYPE);
    createEAttribute(listItemTypeEClass, LIST_ITEM_TYPE__TYPE_NAME);

    createEReference(listItemEClass, LIST_ITEM__TYPE);
    createEAttribute(listItemEClass, LIST_ITEM__NAME);
    initEAttribute(getSpecification_Name(), ecorePackage.getEString(), "name", null, 0, 1, Specification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getRefinement_Name(), ecorePackage.getEString(), "name", null, 0, 1, Refinement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getIntent_Type(), this.getIntentType(), null, "type", null, 0, 1, Intent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getIntent_Name(), ecorePackage.getEString(), "name", null, 0, 1, Intent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(intentTypeEClass, IntentType.class, "IntentType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getIntentType_TypeName(), ecorePackage.getEString(), "typeName", null, 0, 1, IntentType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEReference(getDecomposition_Type(), this.getDecompositionType(), null, "type", null, 0, 1, Decomposition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getDecomposition_Name(), ecorePackage.getEString(), "name", null, 0, 1, Decomposition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(decompositionTypeEClass, DecompositionType.class, "DecompositionType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getDecompositionType_TypeName(), ecorePackage.getEString(), "typeName", null, 0, 1, DecompositionType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(docItemTypeEClass, DocItemType.class, "DocItemType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getDocItemType_TypeName(), ecorePackage.getEString(), "typeName", null, 0, 1, DocItemType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEReference(getDocItem_Type(), this.getDocItemType(), null, "type", null, 0, 1, DocItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getDocItem_Name(), ecorePackage.getEString(), "name", null, 0, 1, DocItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(modelTypeEClass, ModelType.class, "ModelType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getModelType_TypeName(), ecorePackage.getEString(), "typeName", null, 0, 1, ModelType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEReference(getModelItem_Type(), this.getModelType(), null, "type", null, 0, 1, ModelItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getModelItem_Name(), ecorePackage.getEString(), "name", null, 0, 1, ModelItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(listItemTypeEClass, ListItemType.class, "ListItemType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getListItemType_TypeName(), ecorePackage.getEString(), "typeName", null, 0, 1, ListItemType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEReference(getListItem_Type(), this.getListItemType(), null, "type", null, 0, 1, ListItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getListItem_Name(), ecorePackage.getEString(), "name", null, 0, 1, ListItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
net.certware.intent/src-gen/net/certware/intent/intentSpecification/impl/IntentSpecificationPackageImpl.java
return intentTypeEClass;
EClass getIntentType()
net.certware.intent/src-gen/net/certware/intent/intentSpecification/impl/IntentSpecificationPackageImpl.java
return (EAttribute)intentTypeEClass.getEStructuralFeatures().get(0);
EAttribute getIntentType_TypeName()
net.certware.intent/src-gen/net/certware/intent/intentSpecification/impl/IntentSpecificationPackageImpl.java
return decompositionTypeEClass;
EClass getDecompositionType()
net.certware.intent/src-gen/net/certware/intent/intentSpecification/impl/IntentSpecificationPackageImpl.java
return (EAttribute)decompositionTypeEClass.getEStructuralFeatures().get(0);
EAttribute getDecompositionType_TypeName()
net.certware.intent/src-gen/net/certware/intent/intentSpecification/impl/IntentSpecificationPackageImpl.java
return docItemTypeEClass;
EClass getDocItemType()
net.certware.intent/src-gen/net/certware/intent/intentSpecification/impl/IntentSpecificationPackageImpl.java
return (EAttribute)docItemTypeEClass.getEStructuralFeatures().get(0);
EAttribute getDocItemType_TypeName()
net.certware.intent/src-gen/net/certware/intent/intentSpecification/impl/IntentSpecificationPackageImpl.java
return modelTypeEClass;
EClass getModelType()
net.certware.intent/src-gen/net/certware/intent/intentSpecification/impl/IntentSpecificationPackageImpl.java
return (EAttribute)modelTypeEClass.getEStructuralFeatures().get(0);
EAttribute getModelType_TypeName()
net.certware.intent/src-gen/net/certware/intent/intentSpecification/impl/IntentSpecificationPackageImpl.java
return listItemTypeEClass;
EClass getListItemType()
net.certware.intent/src-gen/net/certware/intent/intentSpecification/impl/IntentSpecificationPackageImpl.java
return (EAttribute)listItemTypeEClass.getEStructuralFeatures().get(0);
EAttribute getListItemType_TypeName()
  public EAttribute getSpecification_Id()
  public EAttribute getRefinement_Id()
  public EAttribute getIntent_Type()
    return (EAttribute)intentEClass.getEStructuralFeatures().get(0);
  public EAttribute getIntent_Id()
  public EAttribute getDecomposition_Type()
    return (EAttribute)decompositionEClass.getEStructuralFeatures().get(0);
  public EAttribute getDecomposition_Id()
  public EAttribute getDocItem_Type()
    return (EAttribute)docItemEClass.getEStructuralFeatures().get(0);
  public EAttribute getDocItem_Id()
  public EAttribute getModelItem_Type()
    return (EAttribute)modelItemEClass.getEStructuralFeatures().get(0);
  public EAttribute getModelItem_Id()
  public EAttribute getListItem_Type()
    return (EAttribute)listItemEClass.getEStructuralFeatures().get(0);
  public EAttribute getListItem_Id()
    createEAttribute(specificationEClass, SPECIFICATION__ID);
    createEAttribute(refinementEClass, REFINEMENT__ID);
    createEAttribute(intentEClass, INTENT__TYPE);
    createEAttribute(intentEClass, INTENT__ID);
    createEAttribute(decompositionEClass, DECOMPOSITION__TYPE);
    createEAttribute(decompositionEClass, DECOMPOSITION__ID);
    createEAttribute(docItemEClass, DOC_ITEM__TYPE);
    createEAttribute(docItemEClass, DOC_ITEM__ID);
    createEAttribute(modelItemEClass, MODEL_ITEM__TYPE);
    createEAttribute(modelItemEClass, MODEL_ITEM__ID);
    createEAttribute(listItemEClass, LIST_ITEM__TYPE);
    createEAttribute(listItemEClass, LIST_ITEM__ID);
    initEAttribute(getSpecification_Id(), ecorePackage.getEString(), "id", null, 0, 1, Specification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getRefinement_Id(), ecorePackage.getEString(), "id", null, 0, 1, Refinement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getIntent_Type(), ecorePackage.getEString(), "type", null, 0, 1, Intent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getIntent_Id(), ecorePackage.getEString(), "id", null, 0, 1, Intent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getDecomposition_Type(), ecorePackage.getEString(), "type", null, 0, 1, Decomposition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getDecomposition_Id(), ecorePackage.getEString(), "id", null, 0, 1, Decomposition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getDocItem_Type(), ecorePackage.getEString(), "type", null, 0, 1, DocItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getDocItem_Id(), ecorePackage.getEString(), "id", null, 0, 1, DocItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getModelItem_Type(), ecorePackage.getEString(), "type", null, 0, 1, ModelItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getModelItem_Id(), ecorePackage.getEString(), "id", null, 0, 1, ModelItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getListItem_Type(), ecorePackage.getEString(), "type", null, 0, 1, ListItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getListItem_Id(), ecorePackage.getEString(), "id", null, 0, 1, ListItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -3,13 +3,18 @@
 package net.certware.intent.intentSpecification.impl;
 
 import net.certware.intent.intentSpecification.Decomposition;
+import net.certware.intent.intentSpecification.DecompositionType;
 import net.certware.intent.intentSpecification.DocItem;
+import net.certware.intent.intentSpecification.DocItemType;
 import net.certware.intent.intentSpecification.Document;
 import net.certware.intent.intentSpecification.Intent;
 import net.certware.intent.intentSpecification.IntentSpecificationFactory;
 import net.certware.intent.intentSpecification.IntentSpecificationPackage;
+import net.certware.intent.intentSpecification.IntentType;
 import net.certware.intent.intentSpecification.ListItem;
+import net.certware.intent.intentSpecification.ListItemType;
 import net.certware.intent.intentSpecification.ModelItem;
+import net.certware.intent.intentSpecification.ModelType;
 import net.certware.intent.intentSpecification.Refinement;
 import net.certware.intent.intentSpecification.Specification;
 
@@ -49,34 +54,69 @@ public class IntentSpecificationPackageImpl extends EPackageImpl implements Inte
    */
   private EClass intentEClass = null;
 
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  private EClass intentTypeEClass = null;
+
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
   private EClass decompositionEClass = null;
 
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  private EClass decompositionTypeEClass = null;
+
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
   private EClass documentEClass = null;
 
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  private EClass docItemTypeEClass = null;
+
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
   private EClass docItemEClass = null;
 
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  private EClass modelTypeEClass = null;
+
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
   private EClass modelItemEClass = null;
 
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  private EClass listItemTypeEClass = null;
+
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
@@ -162,7 +202,7 @@ public EClass getSpecification()
    * <!-- end-user-doc -->
    * @generated
    */
-  public EAttribute getSpecification_Id()
+  public EAttribute getSpecification_Name()
   {
     return (EAttribute)specificationEClass.getEStructuralFeatures().get(0);
   }
@@ -192,7 +232,7 @@ public EClass getRefinement()
    * <!-- end-user-doc -->
    * @generated
    */
-  public EAttribute getRefinement_Id()
+  public EAttribute getRefinement_Name()
   {
     return (EAttribute)refinementEClass.getEStructuralFeatures().get(0);
   }
@@ -232,17 +272,17 @@ public EClass getIntent()
    * <!-- end-user-doc -->
    * @generated
    */
-  public EAttribute getIntent_Type()
+  public EReference getIntent_Type()
   {
-    return (EAttribute)intentEClass.getEStructuralFeatures().get(0);
+    return (EReference)intentEClass.getEStructuralFeatures().get(0);
   }
 
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  public EAttribute getIntent_Id()
+  public EAttribute getIntent_Name()
   {
     return (EAttribute)intentEClass.getEStructuralFeatures().get(1);
   }
@@ -267,6 +307,26 @@ public EReference getIntent_Decompositions()
     return (EReference)intentEClass.getEStructuralFeatures().get(3);
   }
 
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public EClass getIntentType()
+  {
+    return intentTypeEClass;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public EAttribute getIntentType_TypeName()
+  {
+    return (EAttribute)intentTypeEClass.getEStructuralFeatures().get(0);
+  }
+
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
@@ -282,17 +342,17 @@ public EClass getDecomposition()
    * <!-- end-user-doc -->
    * @generated
    */
-  public EAttribute getDecomposition_Type()
+  public EReference getDecomposition_Type()
   {
-    return (EAttribute)decompositionEClass.getEStructuralFeatures().get(0);
+    return (EReference)decompositionEClass.getEStructuralFeatures().get(0);
   }
 
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  public EAttribute getDecomposition_Id()
+  public EAttribute getDecomposition_Name()
   {
     return (EAttribute)decompositionEClass.getEStructuralFeatures().get(1);
   }
@@ -337,6 +397,26 @@ public EReference getDecomposition_Items()
     return (EReference)decompositionEClass.getEStructuralFeatures().get(5);
   }
 
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public EClass getDecompositionType()
+  {
+    return decompositionTypeEClass;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public EAttribute getDecompositionType_TypeName()
+  {
+    return (EAttribute)decompositionTypeEClass.getEStructuralFeatures().get(0);
+  }
+
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
@@ -357,6 +437,26 @@ public EReference getDocument_Entries()
     return (EReference)documentEClass.getEStructuralFeatures().get(0);
   }
 
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public EClass getDocItemType()
+  {
+    return docItemTypeEClass;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public EAttribute getDocItemType_TypeName()
+  {
+    return (EAttribute)docItemTypeEClass.getEStructuralFeatures().get(0);
+  }
+
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
@@ -372,17 +472,17 @@ public EClass getDocItem()
    * <!-- end-user-doc -->
    * @generated
    */
-  public EAttribute getDocItem_Type()
+  public EReference getDocItem_Type()
   {
-    return (EAttribute)docItemEClass.getEStructuralFeatures().get(0);
+    return (EReference)docItemEClass.getEStructuralFeatures().get(0);
   }
 
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  public EAttribute getDocItem_Id()
+  public EAttribute getDocItem_Name()
   {
     return (EAttribute)docItemEClass.getEStructuralFeatures().get(1);
   }
@@ -397,6 +497,26 @@ public EAttribute getDocItem_Ref()
     return (EAttribute)docItemEClass.getEStructuralFeatures().get(2);
   }
 
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public EClass getModelType()
+  {
+    return modelTypeEClass;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public EAttribute getModelType_TypeName()
+  {
+    return (EAttribute)modelTypeEClass.getEStructuralFeatures().get(0);
+  }
+
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
@@ -412,17 +532,17 @@ public EClass getModelItem()
    * <!-- end-user-doc -->
    * @generated
    */
-  public EAttribute getModelItem_Type()
+  public EReference getModelItem_Type()
   {
-    return (EAttribute)modelItemEClass.getEStructuralFeatures().get(0);
+    return (EReference)modelItemEClass.getEStructuralFeatures().get(0);
   }
 
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  public EAttribute getModelItem_Id()
+  public EAttribute getModelItem_Name()
   {
     return (EAttribute)modelItemEClass.getEStructuralFeatures().get(1);
   }
@@ -437,6 +557,26 @@ public EAttribute getModelItem_Desc()
     return (EAttribute)modelItemEClass.getEStructuralFeatures().get(2);
   }
 
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public EClass getListItemType()
+  {
+    return listItemTypeEClass;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public EAttribute getListItemType_TypeName()
+  {
+    return (EAttribute)listItemTypeEClass.getEStructuralFeatures().get(0);
+  }
+
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
@@ -452,17 +592,17 @@ public EClass getListItem()
    * <!-- end-user-doc -->
    * @generated
    */
-  public EAttribute getListItem_Type()
+  public EReference getListItem_Type()
   {
-    return (EAttribute)listItemEClass.getEStructuralFeatures().get(0);
+    return (EReference)listItemEClass.getEStructuralFeatures().get(0);
   }
 
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  public EAttribute getListItem_Id()
+  public EAttribute getListItem_Name()
   {
     return (EAttribute)listItemEClass.getEStructuralFeatures().get(1);
   }
@@ -538,44 +678,59 @@ public void createPackageContents()
 
     // Create classes and their features
     specificationEClass = createEClass(SPECIFICATION);
-    createEAttribute(specificationEClass, SPECIFICATION__ID);
+    createEAttribute(specificationEClass, SPECIFICATION__NAME);
     createEReference(specificationEClass, SPECIFICATION__REFINEMENTS);
 
     refinementEClass = createEClass(REFINEMENT);
-    createEAttribute(refinementEClass, REFINEMENT__ID);
+    createEAttribute(refinementEClass, REFINEMENT__NAME);
     createEAttribute(refinementEClass, REFINEMENT__DESC);
     createEReference(refinementEClass, REFINEMENT__INTENTS);
 
     intentEClass = createEClass(INTENT);
-    createEAttribute(intentEClass, INTENT__TYPE);
-    createEAttribute(intentEClass, INTENT__ID);
+    createEReference(intentEClass, INTENT__TYPE);
+    createEAttribute(intentEClass, INTENT__NAME);
     createEAttribute(intentEClass, INTENT__DESC);
     createEReference(intentEClass, INTENT__DECOMPOSITIONS);
 
+    intentTypeEClass = createEClass(INTENT_TYPE);
+    createEAttribute(intentTypeEClass, INTENT_TYPE__TYPE_NAME);
+
     decompositionEClass = createEClass(DECOMPOSITION);
-    createEAttribute(decompositionEClass, DECOMPOSITION__TYPE);
-    createEAttribute(decompositionEClass, DECOMPOSITION__ID);
+    createEReference(decompositionEClass, DECOMPOSITION__TYPE);
+    createEAttribute(decompositionEClass, DECOMPOSITION__NAME);
     createEAttribute(decompositionEClass, DECOMPOSITION__DESC);
     createEReference(decompositionEClass, DECOMPOSITION__DOCUMENTS);
     createEReference(decompositionEClass, DECOMPOSITION__MODELS);
     createEReference(decompositionEClass, DECOMPOSITION__ITEMS);
 
+    decompositionTypeEClass = createEClass(DECOMPOSITION_TYPE);
+    createEAttribute(decompositionTypeEClass, DECOMPOSITION_TYPE__TYPE_NAME);
+
     documentEClass = createEClass(DOCUMENT);
     createEReference(documentEClass, DOCUMENT__ENTRIES);
 
+    docItemTypeEClass = createEClass(DOC_ITEM_TYPE);
+    createEAttribute(docItemTypeEClass, DOC_ITEM_TYPE__TYPE_NAME);
+
     docItemEClass = createEClass(DOC_ITEM);
-    createEAttribute(docItemEClass, DOC_ITEM__TYPE);
-    createEAttribute(docItemEClass, DOC_ITEM__ID);
+    createEReference(docItemEClass, DOC_ITEM__TYPE);
+    createEAttribute(docItemEClass, DOC_ITEM__NAME);
     createEAttribute(docItemEClass, DOC_ITEM__REF);
 
+    modelTypeEClass = createEClass(MODEL_TYPE);
+    createEAttribute(modelTypeEClass, MODEL_TYPE__TYPE_NAME);
+
     modelItemEClass = createEClass(MODEL_ITEM);
-    createEAttribute(modelItemEClass, MODEL_ITEM__TYPE);
-    createEAttribute(modelItemEClass, MODEL_ITEM__ID);
+    createEReference(modelItemEClass, MODEL_ITEM__TYPE);
+    createEAttribute(modelItemEClass, MODEL_ITEM__NAME);
     createEAttribute(modelItemEClass, MODEL_ITEM__DESC);
 
+    listItemTypeEClass = createEClass(LIST_ITEM_TYPE);
+    createEAttribute(listItemTypeEClass, LIST_ITEM_TYPE__TYPE_NAME);
+
     listItemEClass = createEClass(LIST_ITEM);
-    createEAttribute(listItemEClass, LIST_ITEM__TYPE);
-    createEAttribute(listItemEClass, LIST_ITEM__ID);
+    createEReference(listItemEClass, LIST_ITEM__TYPE);
+    createEAttribute(listItemEClass, LIST_ITEM__NAME);
     createEAttribute(listItemEClass, LIST_ITEM__DESC);
     createEReference(listItemEClass, LIST_ITEM__DOC_REFERENCES);
     createEReference(listItemEClass, LIST_ITEM__ITEM_REFERENCES);
@@ -614,44 +769,59 @@ public void initializePackageContents()
 
     // Initialize classes and features; add operations and parameters
     initEClass(specificationEClass, Specification.class, "Specification", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEAttribute(getSpecification_Id(), ecorePackage.getEString(), "id", null, 0, 1, Specification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+    initEAttribute(getSpecification_Name(), ecorePackage.getEString(), "name", null, 0, 1, Specification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
     initEReference(getSpecification_Refinements(), this.getRefinement(), null, "refinements", null, 0, -1, Specification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
     initEClass(refinementEClass, Refinement.class, "Refinement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEAttribute(getRefinement_Id(), ecorePackage.getEString(), "id", null, 0, 1, Refinement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+    initEAttribute(getRefinement_Name(), ecorePackage.getEString(), "name", null, 0, 1, Refinement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
     initEAttribute(getRefinement_Desc(), ecorePackage.getEString(), "desc", null, 0, 1, Refinement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
     initEReference(getRefinement_Intents(), this.getIntent(), null, "intents", null, 0, -1, Refinement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
     initEClass(intentEClass, Intent.class, "Intent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEAttribute(getIntent_Type(), ecorePackage.getEString(), "type", null, 0, 1, Intent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEAttribute(getIntent_Id(), ecorePackage.getEString(), "id", null, 0, 1, Intent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+    initEReference(getIntent_Type(), this.getIntentType(), null, "type", null, 0, 1, Intent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+    initEAttribute(getIntent_Name(), ecorePackage.getEString(), "name", null, 0, 1, Intent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
     initEAttribute(getIntent_Desc(), ecorePackage.getEString(), "desc", null, 0, 1, Intent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
     initEReference(getIntent_Decompositions(), this.getDecomposition(), null, "decompositions", null, 0, -1, Intent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
+    initEClass(intentTypeEClass, IntentType.class, "IntentType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+    initEAttribute(getIntentType_TypeName(), ecorePackage.getEString(), "typeName", null, 0, 1, IntentType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
     initEClass(decompositionEClass, Decomposition.class, "Decomposition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEAttribute(getDecomposition_Type(), ecorePackage.getEString(), "type", null, 0, 1, Decomposition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEAttribute(getDecomposition_Id(), ecorePackage.getEString(), "id", null, 0, 1, Decomposition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+    initEReference(getDecomposition_Type(), this.getDecompositionType(), null, "type", null, 0, 1, Decomposition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+    initEAttribute(getDecomposition_Name(), ecorePackage.getEString(), "name", null, 0, 1, Decomposition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
     initEAttribute(getDecomposition_Desc(), ecorePackage.getEString(), "desc", null, 0, 1, Decomposition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
     initEReference(getDecomposition_Documents(), this.getDocument(), null, "documents", null, 0, -1, Decomposition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
     initEReference(getDecomposition_Models(), this.getModelItem(), null, "models", null, 0, -1, Decomposition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
     initEReference(getDecomposition_Items(), this.getListItem(), null, "items", null, 0, -1, Decomposition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
+    initEClass(decompositionTypeEClass, DecompositionType.class, "DecompositionType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+    initEAttribute(getDecompositionType_TypeName(), ecorePackage.getEString(), "typeName", null, 0, 1, DecompositionType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
     initEClass(documentEClass, Document.class, "Document", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
     initEReference(getDocument_Entries(), this.getDocItem(), null, "entries", null, 0, -1, Document.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
+    initEClass(docItemTypeEClass, DocItemType.class, "DocItemType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+    initEAttribute(getDocItemType_TypeName(), ecorePackage.getEString(), "typeName", null, 0, 1, DocItemType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
     initEClass(docItemEClass, DocItem.class, "DocItem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEAttribute(getDocItem_Type(), ecorePackage.getEString(), "type", null, 0, 1, DocItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEAttribute(getDocItem_Id(), ecorePackage.getEString(), "id", null, 0, 1, DocItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+    initEReference(getDocItem_Type(), this.getDocItemType(), null, "type", null, 0, 1, DocItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+    initEAttribute(getDocItem_Name(), ecorePackage.getEString(), "name", null, 0, 1, DocItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
     initEAttribute(getDocItem_Ref(), ecorePackage.getEString(), "ref", null, 0, 1, DocItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
+    initEClass(modelTypeEClass, ModelType.class, "ModelType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+    initEAttribute(getModelType_TypeName(), ecorePackage.getEString(), "typeName", null, 0, 1, ModelType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
     initEClass(modelItemEClass, ModelItem.class, "ModelItem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEAttribute(getModelItem_Type(), ecorePackage.getEString(), "type", null, 0, 1, ModelItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEAttribute(getModelItem_Id(), ecorePackage.getEString(), "id", null, 0, 1, ModelItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+    initEReference(getModelItem_Type(), this.getModelType(), null, "type", null, 0, 1, ModelItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+    initEAttribute(getModelItem_Name(), ecorePackage.getEString(), "name", null, 0, 1, ModelItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
     initEAttribute(getModelItem_Desc(), ecorePackage.getEString(), "desc", null, 0, 1, ModelItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
+    initEClass(listItemTypeEClass, ListItemType.class, "ListItemType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+    initEAttribute(getListItemType_TypeName(), ecorePackage.getEString(), "typeName", null, 0, 1, ListItemType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
     initEClass(listItemEClass, ListItem.class, "ListItem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEAttribute(getListItem_Type(), ecorePackage.getEString(), "type", null, 0, 1, ListItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEAttribute(getListItem_Id(), ecorePackage.getEString(), "id", null, 0, 1, ListItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+    initEReference(getListItem_Type(), this.getListItemType(), null, "type", null, 0, 1, ListItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+    initEAttribute(getListItem_Name(), ecorePackage.getEString(), "name", null, 0, 1, ListItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
     initEAttribute(getListItem_Desc(), ecorePackage.getEString(), "desc", null, 0, 1, ListItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
     initEReference(getListItem_DocReferences(), this.getDocItem(), null, "docReferences", null, 0, -1, ListItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
     initEReference(getListItem_ItemReferences(), this.getListItem(), null, "itemReferences", null, 0, -1, ListItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
https://github.com/nasa/CertWare/raw/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2Fimpl%2FIntentSpecificationPackageImpl.java
455a952bd8cbfc8bbcdcc1466c675c7e4a0a33c8
modified
https://github.com/nasa/CertWare/blob/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2Fimpl%2FListItemImpl.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2Fimpl%2FListItemImpl.java?ref=27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9
net.certware.intent/src-gen/net/certware/intent/intentSpecification/impl/ListItemImpl.java
import net.certware.intent.intentSpecification.ListItemType;
import org.eclipse.emf.common.notify.NotificationChain;
import org.eclipse.emf.ecore.InternalEObject;
 *   <li>{@link net.certware.intent.intentSpecification.impl.ListItemImpl#getName <em>Name</em>}</li>
   * The cached value of the '{@link #getType() <em>Type</em>}' containment reference.
  protected ListItemType type;
   * The default value of the '{@link #getName() <em>Name</em>}' attribute.
   * @see #getName()
  protected static final String NAME_EDEFAULT = null;
   * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
   * @see #getName()
  protected String name = NAME_EDEFAULT;
  public ListItemType getType()
  public NotificationChain basicSetType(ListItemType newType, NotificationChain msgs)
    ListItemType oldType = type;
    {
      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.LIST_ITEM__TYPE, oldType, newType);
      if (msgs == null) msgs = notification; else msgs.add(notification);
    }
    return msgs;
  public void setType(ListItemType newType)
    if (newType != type)
    {
      NotificationChain msgs = null;
      if (type != null)
        msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - IntentSpecificationPackage.LIST_ITEM__TYPE, null, msgs);
      if (newType != null)
        msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - IntentSpecificationPackage.LIST_ITEM__TYPE, null, msgs);
      msgs = basicSetType(newType, msgs);
      if (msgs != null) msgs.dispatch();
    }
    else if (eNotificationRequired())
      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.LIST_ITEM__TYPE, newType, newType));
  public String getName()
    return name;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public void setName(String newName)
  {
    String oldName = name;
    name = newName;
      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.LIST_ITEM__NAME, oldName, name));
  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
  {
    switch (featureID)
    {
      case IntentSpecificationPackage.LIST_ITEM__TYPE:
        return basicSetType(null, msgs);
    }
    return super.eInverseRemove(otherEnd, featureID, msgs);
  }

      case IntentSpecificationPackage.LIST_ITEM__NAME:
        return getName();
        setType((ListItemType)newValue);
      case IntentSpecificationPackage.LIST_ITEM__NAME:
        setName((String)newValue);
        setType((ListItemType)null);
      case IntentSpecificationPackage.LIST_ITEM__NAME:
        setName(NAME_EDEFAULT);
        return type != null;
      case IntentSpecificationPackage.LIST_ITEM__NAME:
        return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
    result.append(" (name: ");
    result.append(name);
String newName
net.certware.intent/src-gen/net/certware/intent/intentSpecification/impl/ListItemImpl.java
String oldName = name;
    name = newName;
      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.LIST_ITEM__NAME, oldName, name));
  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
  {
    switch (featureID)
    {
      case IntentSpecificationPackage.LIST_ITEM__TYPE:
        return basicSetType(null, msgs);
void setName(String newName)
 *   <li>{@link net.certware.intent.intentSpecification.impl.ListItemImpl#getId <em>Id</em>}</li>
   * The default value of the '{@link #getType() <em>Type</em>}' attribute.
  protected static final String TYPE_EDEFAULT = null;
   * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
   * @see #getType()
  protected String type = TYPE_EDEFAULT;
   * The default value of the '{@link #getId() <em>Id</em>}' attribute.
   * @see #getId()
  protected static final String ID_EDEFAULT = null;

  /**
   * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see #getId()
   * @generated
   * @ordered
   */
  protected String id = ID_EDEFAULT;
  public String getType()
  public void setType(String newType)
    String oldType = type;
      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.LIST_ITEM__TYPE, oldType, type));
  public String getId()
    return id;
  public void setId(String newId)
    String oldId = id;
    id = newId;
      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.LIST_ITEM__ID, oldId, id));
      case IntentSpecificationPackage.LIST_ITEM__ID:
        return getId();
        setType((String)newValue);
      case IntentSpecificationPackage.LIST_ITEM__ID:
        setId((String)newValue);
        setType(TYPE_EDEFAULT);
      case IntentSpecificationPackage.LIST_ITEM__ID:
        setId(ID_EDEFAULT);
        return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
      case IntentSpecificationPackage.LIST_ITEM__ID:
        return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
    result.append(" (type: ");
    result.append(type);
    result.append(", id: ");
    result.append(id);
@@ -7,13 +7,16 @@
 import net.certware.intent.intentSpecification.DocItem;
 import net.certware.intent.intentSpecification.IntentSpecificationPackage;
 import net.certware.intent.intentSpecification.ListItem;
+import net.certware.intent.intentSpecification.ListItemType;
 import net.certware.intent.intentSpecification.ModelItem;
 
 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;
@@ -28,7 +31,7 @@
  * The following features are implemented:
  * <ul>
  *   <li>{@link net.certware.intent.intentSpecification.impl.ListItemImpl#getType <em>Type</em>}</li>
- *   <li>{@link net.certware.intent.intentSpecification.impl.ListItemImpl#getId <em>Id</em>}</li>
+ *   <li>{@link net.certware.intent.intentSpecification.impl.ListItemImpl#getName <em>Name</em>}</li>
  *   <li>{@link net.certware.intent.intentSpecification.impl.ListItemImpl#getDesc <em>Desc</em>}</li>
  *   <li>{@link net.certware.intent.intentSpecification.impl.ListItemImpl#getDocReferences <em>Doc References</em>}</li>
  *   <li>{@link net.certware.intent.intentSpecification.impl.ListItemImpl#getItemReferences <em>Item References</em>}</li>
@@ -41,44 +44,34 @@
 public class ListItemImpl extends MinimalEObjectImpl.Container implements ListItem
 {
   /**
-   * The default value of the '{@link #getType() <em>Type</em>}' attribute.
+   * The cached value of the '{@link #getType() <em>Type</em>}' containment reference.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @see #getType()
    * @generated
    * @ordered
    */
-  protected static final String TYPE_EDEFAULT = null;
+  protected ListItemType type;
 
   /**
-   * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
+   * The default value of the '{@link #getName() <em>Name</em>}' attribute.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getType()
+   * @see #getName()
    * @generated
    * @ordered
    */
-  protected String type = TYPE_EDEFAULT;
+  protected static final String NAME_EDEFAULT = null;
 
   /**
-   * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+   * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getId()
+   * @see #getName()
    * @generated
    * @ordered
    */
-  protected static final String ID_EDEFAULT = null;
-
-  /**
-   * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getId()
-   * @generated
-   * @ordered
-   */
-  protected String id = ID_EDEFAULT;
+  protected String name = NAME_EDEFAULT;
 
   /**
    * The default value of the '{@link #getDesc() <em>Desc</em>}' attribute.
@@ -156,7 +149,7 @@ protected EClass eStaticClass()
    * <!-- end-user-doc -->
    * @generated
    */
-  public String getType()
+  public ListItemType getType()
   {
     return type;
   }
@@ -166,35 +159,60 @@ public String getType()
    * <!-- end-user-doc -->
    * @generated
    */
-  public void setType(String newType)
+  public NotificationChain basicSetType(ListItemType newType, NotificationChain msgs)
   {
-    String oldType = type;
+    ListItemType oldType = type;
     type = newType;
     if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.LIST_ITEM__TYPE, oldType, type));
+    {
+      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.LIST_ITEM__TYPE, oldType, newType);
+      if (msgs == null) msgs = notification; else msgs.add(notification);
+    }
+    return msgs;
   }
 
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  public String getId()
+  public void setType(ListItemType newType)
   {
-    return id;
+    if (newType != type)
+    {
+      NotificationChain msgs = null;
+      if (type != null)
+        msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - IntentSpecificationPackage.LIST_ITEM__TYPE, null, msgs);
+      if (newType != null)
+        msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - IntentSpecificationPackage.LIST_ITEM__TYPE, null, msgs);
+      msgs = basicSetType(newType, msgs);
+      if (msgs != null) msgs.dispatch();
+    }
+    else if (eNotificationRequired())
+      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.LIST_ITEM__TYPE, newType, newType));
   }
 
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  public void setId(String newId)
+  public String getName()
   {
-    String oldId = id;
-    id = newId;
+    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, IntentSpecificationPackage.LIST_ITEM__ID, oldId, id));
+      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.LIST_ITEM__NAME, oldName, name));
   }
 
   /**
@@ -262,6 +280,22 @@ public EList<ModelItem> getModelReferences()
     return modelReferences;
   }
 
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  @Override
+  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+  {
+    switch (featureID)
+    {
+      case IntentSpecificationPackage.LIST_ITEM__TYPE:
+        return basicSetType(null, msgs);
+    }
+    return super.eInverseRemove(otherEnd, featureID, msgs);
+  }
+
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
@@ -274,8 +308,8 @@ public Object eGet(int featureID, boolean resolve, boolean coreType)
     {
       case IntentSpecificationPackage.LIST_ITEM__TYPE:
         return getType();
-      case IntentSpecificationPackage.LIST_ITEM__ID:
-        return getId();
+      case IntentSpecificationPackage.LIST_ITEM__NAME:
+        return getName();
       case IntentSpecificationPackage.LIST_ITEM__DESC:
         return getDesc();
       case IntentSpecificationPackage.LIST_ITEM__DOC_REFERENCES:
@@ -300,10 +334,10 @@ public void eSet(int featureID, Object newValue)
     switch (featureID)
     {
       case IntentSpecificationPackage.LIST_ITEM__TYPE:
-        setType((String)newValue);
+        setType((ListItemType)newValue);
         return;
-      case IntentSpecificationPackage.LIST_ITEM__ID:
-        setId((String)newValue);
+      case IntentSpecificationPackage.LIST_ITEM__NAME:
+        setName((String)newValue);
         return;
       case IntentSpecificationPackage.LIST_ITEM__DESC:
         setDesc((String)newValue);
@@ -335,10 +369,10 @@ public void eUnset(int featureID)
     switch (featureID)
     {
       case IntentSpecificationPackage.LIST_ITEM__TYPE:
-        setType(TYPE_EDEFAULT);
+        setType((ListItemType)null);
         return;
-      case IntentSpecificationPackage.LIST_ITEM__ID:
-        setId(ID_EDEFAULT);
+      case IntentSpecificationPackage.LIST_ITEM__NAME:
+        setName(NAME_EDEFAULT);
         return;
       case IntentSpecificationPackage.LIST_ITEM__DESC:
         setDesc(DESC_EDEFAULT);
@@ -367,9 +401,9 @@ public boolean eIsSet(int featureID)
     switch (featureID)
     {
       case IntentSpecificationPackage.LIST_ITEM__TYPE:
-        return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
-      case IntentSpecificationPackage.LIST_ITEM__ID:
-        return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+        return type != null;
+      case IntentSpecificationPackage.LIST_ITEM__NAME:
+        return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
       case IntentSpecificationPackage.LIST_ITEM__DESC:
         return DESC_EDEFAULT == null ? desc != null : !DESC_EDEFAULT.equals(desc);
       case IntentSpecificationPackage.LIST_ITEM__DOC_REFERENCES:
@@ -393,10 +427,8 @@ public String toString()
     if (eIsProxy()) return super.toString();
 
     StringBuffer result = new StringBuffer(super.toString());
-    result.append(" (type: ");
-    result.append(type);
-    result.append(", id: ");
-    result.append(id);
+    result.append(" (name: ");
+    result.append(name);
     result.append(", desc: ");
     result.append(desc);
     result.append(')');
https://github.com/nasa/CertWare/raw/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2Fimpl%2FListItemImpl.java
b011062cede0f011e0295663d0bfd8364accc9ce
modified
https://github.com/nasa/CertWare/blob/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2Fimpl%2FModelItemImpl.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2Fimpl%2FModelItemImpl.java?ref=27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9
net.certware.intent/src-gen/net/certware/intent/intentSpecification/impl/ModelItemImpl.java
import net.certware.intent.intentSpecification.ModelType;
import org.eclipse.emf.common.notify.NotificationChain;
import org.eclipse.emf.ecore.InternalEObject;
 *   <li>{@link net.certware.intent.intentSpecification.impl.ModelItemImpl#getName <em>Name</em>}</li>
   * The cached value of the '{@link #getType() <em>Type</em>}' containment reference.
  protected ModelType type;
   * The default value of the '{@link #getName() <em>Name</em>}' attribute.
   * @see #getName()
  protected static final String NAME_EDEFAULT = null;
   * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
   * @see #getName()
  protected String name = NAME_EDEFAULT;
  public ModelType getType()
  public NotificationChain basicSetType(ModelType newType, NotificationChain msgs)
    ModelType oldType = type;
    {
      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.MODEL_ITEM__TYPE, oldType, newType);
      if (msgs == null) msgs = notification; else msgs.add(notification);
    }
    return msgs;
  public void setType(ModelType newType)
    if (newType != type)
    {
      NotificationChain msgs = null;
      if (type != null)
        msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - IntentSpecificationPackage.MODEL_ITEM__TYPE, null, msgs);
      if (newType != null)
        msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - IntentSpecificationPackage.MODEL_ITEM__TYPE, null, msgs);
      msgs = basicSetType(newType, msgs);
      if (msgs != null) msgs.dispatch();
    }
    else if (eNotificationRequired())
      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.MODEL_ITEM__TYPE, newType, newType));
  public String getName()
    return name;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public void setName(String newName)
  {
    String oldName = name;
    name = newName;
      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.MODEL_ITEM__NAME, oldName, name));
  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
  {
    switch (featureID)
    {
      case IntentSpecificationPackage.MODEL_ITEM__TYPE:
        return basicSetType(null, msgs);
    }
    return super.eInverseRemove(otherEnd, featureID, msgs);
  }

      case IntentSpecificationPackage.MODEL_ITEM__NAME:
        return getName();
        setType((ModelType)newValue);
      case IntentSpecificationPackage.MODEL_ITEM__NAME:
        setName((String)newValue);
        setType((ModelType)null);
      case IntentSpecificationPackage.MODEL_ITEM__NAME:
        setName(NAME_EDEFAULT);
        return type != null;
      case IntentSpecificationPackage.MODEL_ITEM__NAME:
        return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
    result.append(" (name: ");
    result.append(name);
String newName
net.certware.intent/src-gen/net/certware/intent/intentSpecification/impl/ModelItemImpl.java
String oldName = name;
    name = newName;
      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.MODEL_ITEM__NAME, oldName, name));
  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
  {
    switch (featureID)
    {
      case IntentSpecificationPackage.MODEL_ITEM__TYPE:
        return basicSetType(null, msgs);
void setName(String newName)
 *   <li>{@link net.certware.intent.intentSpecification.impl.ModelItemImpl#getId <em>Id</em>}</li>
   * The default value of the '{@link #getType() <em>Type</em>}' attribute.
  protected static final String TYPE_EDEFAULT = null;
   * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
   * @see #getType()
  protected String type = TYPE_EDEFAULT;
   * The default value of the '{@link #getId() <em>Id</em>}' attribute.
   * @see #getId()
  protected static final String ID_EDEFAULT = null;

  /**
   * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see #getId()
   * @generated
   * @ordered
   */
  protected String id = ID_EDEFAULT;
  public String getType()
  public void setType(String newType)
    String oldType = type;
      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.MODEL_ITEM__TYPE, oldType, type));
  public String getId()
    return id;
  public void setId(String newId)
    String oldId = id;
    id = newId;
      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.MODEL_ITEM__ID, oldId, id));
      case IntentSpecificationPackage.MODEL_ITEM__ID:
        return getId();
        setType((String)newValue);
      case IntentSpecificationPackage.MODEL_ITEM__ID:
        setId((String)newValue);
        setType(TYPE_EDEFAULT);
      case IntentSpecificationPackage.MODEL_ITEM__ID:
        setId(ID_EDEFAULT);
        return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
      case IntentSpecificationPackage.MODEL_ITEM__ID:
        return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
    result.append(" (type: ");
    result.append(type);
    result.append(", id: ");
    result.append(id);
@@ -4,10 +4,13 @@
 
 import net.certware.intent.intentSpecification.IntentSpecificationPackage;
 import net.certware.intent.intentSpecification.ModelItem;
+import net.certware.intent.intentSpecification.ModelType;
 
 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;
@@ -20,7 +23,7 @@
  * The following features are implemented:
  * <ul>
  *   <li>{@link net.certware.intent.intentSpecification.impl.ModelItemImpl#getType <em>Type</em>}</li>
- *   <li>{@link net.certware.intent.intentSpecification.impl.ModelItemImpl#getId <em>Id</em>}</li>
+ *   <li>{@link net.certware.intent.intentSpecification.impl.ModelItemImpl#getName <em>Name</em>}</li>
  *   <li>{@link net.certware.intent.intentSpecification.impl.ModelItemImpl#getDesc <em>Desc</em>}</li>
  * </ul>
  * </p>
@@ -30,44 +33,34 @@
 public class ModelItemImpl extends MinimalEObjectImpl.Container implements ModelItem
 {
   /**
-   * The default value of the '{@link #getType() <em>Type</em>}' attribute.
+   * The cached value of the '{@link #getType() <em>Type</em>}' containment reference.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @see #getType()
    * @generated
    * @ordered
    */
-  protected static final String TYPE_EDEFAULT = null;
+  protected ModelType type;
 
   /**
-   * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
+   * The default value of the '{@link #getName() <em>Name</em>}' attribute.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getType()
+   * @see #getName()
    * @generated
    * @ordered
    */
-  protected String type = TYPE_EDEFAULT;
+  protected static final String NAME_EDEFAULT = null;
 
   /**
-   * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+   * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getId()
+   * @see #getName()
    * @generated
    * @ordered
    */
-  protected static final String ID_EDEFAULT = null;
-
-  /**
-   * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getId()
-   * @generated
-   * @ordered
-   */
-  protected String id = ID_EDEFAULT;
+  protected String name = NAME_EDEFAULT;
 
   /**
    * The default value of the '{@link #getDesc() <em>Desc</em>}' attribute.
@@ -115,7 +108,7 @@ protected EClass eStaticClass()
    * <!-- end-user-doc -->
    * @generated
    */
-  public String getType()
+  public ModelType getType()
   {
     return type;
   }
@@ -125,35 +118,60 @@ public String getType()
    * <!-- end-user-doc -->
    * @generated
    */
-  public void setType(String newType)
+  public NotificationChain basicSetType(ModelType newType, NotificationChain msgs)
   {
-    String oldType = type;
+    ModelType oldType = type;
     type = newType;
     if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.MODEL_ITEM__TYPE, oldType, type));
+    {
+      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.MODEL_ITEM__TYPE, oldType, newType);
+      if (msgs == null) msgs = notification; else msgs.add(notification);
+    }
+    return msgs;
   }
 
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  public String getId()
+  public void setType(ModelType newType)
   {
-    return id;
+    if (newType != type)
+    {
+      NotificationChain msgs = null;
+      if (type != null)
+        msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - IntentSpecificationPackage.MODEL_ITEM__TYPE, null, msgs);
+      if (newType != null)
+        msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - IntentSpecificationPackage.MODEL_ITEM__TYPE, null, msgs);
+      msgs = basicSetType(newType, msgs);
+      if (msgs != null) msgs.dispatch();
+    }
+    else if (eNotificationRequired())
+      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.MODEL_ITEM__TYPE, newType, newType));
   }
 
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  public void setId(String newId)
+  public String getName()
   {
-    String oldId = id;
-    id = newId;
+    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, IntentSpecificationPackage.MODEL_ITEM__ID, oldId, id));
+      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.MODEL_ITEM__NAME, oldName, name));
   }
 
   /**
@@ -179,6 +197,22 @@ public void setDesc(String newDesc)
       eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.MODEL_ITEM__DESC, oldDesc, desc));
   }
 
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  @Override
+  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+  {
+    switch (featureID)
+    {
+      case IntentSpecificationPackage.MODEL_ITEM__TYPE:
+        return basicSetType(null, msgs);
+    }
+    return super.eInverseRemove(otherEnd, featureID, msgs);
+  }
+
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
@@ -191,8 +225,8 @@ public Object eGet(int featureID, boolean resolve, boolean coreType)
     {
       case IntentSpecificationPackage.MODEL_ITEM__TYPE:
         return getType();
-      case IntentSpecificationPackage.MODEL_ITEM__ID:
-        return getId();
+      case IntentSpecificationPackage.MODEL_ITEM__NAME:
+        return getName();
       case IntentSpecificationPackage.MODEL_ITEM__DESC:
         return getDesc();
     }
@@ -210,10 +244,10 @@ public void eSet(int featureID, Object newValue)
     switch (featureID)
     {
       case IntentSpecificationPackage.MODEL_ITEM__TYPE:
-        setType((String)newValue);
+        setType((ModelType)newValue);
         return;
-      case IntentSpecificationPackage.MODEL_ITEM__ID:
-        setId((String)newValue);
+      case IntentSpecificationPackage.MODEL_ITEM__NAME:
+        setName((String)newValue);
         return;
       case IntentSpecificationPackage.MODEL_ITEM__DESC:
         setDesc((String)newValue);
@@ -233,10 +267,10 @@ public void eUnset(int featureID)
     switch (featureID)
     {
       case IntentSpecificationPackage.MODEL_ITEM__TYPE:
-        setType(TYPE_EDEFAULT);
+        setType((ModelType)null);
         return;
-      case IntentSpecificationPackage.MODEL_ITEM__ID:
-        setId(ID_EDEFAULT);
+      case IntentSpecificationPackage.MODEL_ITEM__NAME:
+        setName(NAME_EDEFAULT);
         return;
       case IntentSpecificationPackage.MODEL_ITEM__DESC:
         setDesc(DESC_EDEFAULT);
@@ -256,9 +290,9 @@ public boolean eIsSet(int featureID)
     switch (featureID)
     {
       case IntentSpecificationPackage.MODEL_ITEM__TYPE:
-        return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
-      case IntentSpecificationPackage.MODEL_ITEM__ID:
-        return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+        return type != null;
+      case IntentSpecificationPackage.MODEL_ITEM__NAME:
+        return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
       case IntentSpecificationPackage.MODEL_ITEM__DESC:
         return DESC_EDEFAULT == null ? desc != null : !DESC_EDEFAULT.equals(desc);
     }
@@ -276,10 +310,8 @@ public String toString()
     if (eIsProxy()) return super.toString();
 
     StringBuffer result = new StringBuffer(super.toString());
-    result.append(" (type: ");
-    result.append(type);
-    result.append(", id: ");
-    result.append(id);
+    result.append(" (name: ");
+    result.append(name);
     result.append(", desc: ");
     result.append(desc);
     result.append(')');
https://github.com/nasa/CertWare/raw/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2Fimpl%2FModelItemImpl.java
c0633e50b5bed3611fcaa98d14cba868062e886c
modified
https://github.com/nasa/CertWare/blob/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2Fimpl%2FRefinementImpl.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2Fimpl%2FRefinementImpl.java?ref=27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9
net.certware.intent/src-gen/net/certware/intent/intentSpecification/impl/RefinementImpl.java
 *   <li>{@link net.certware.intent.intentSpecification.impl.RefinementImpl#getName <em>Name</em>}</li>
   * The default value of the '{@link #getName() <em>Name</em>}' attribute.
   * @see #getName()
  protected static final String NAME_EDEFAULT = null;
   * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
   * @see #getName()
  protected String name = NAME_EDEFAULT;
  public String getName()
    return name;
  public void setName(String newName)
    String oldName = name;
    name = newName;
      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.REFINEMENT__NAME, oldName, name));
      case IntentSpecificationPackage.REFINEMENT__NAME:
        return getName();
      case IntentSpecificationPackage.REFINEMENT__NAME:
        setName((String)newValue);
      case IntentSpecificationPackage.REFINEMENT__NAME:
        setName(NAME_EDEFAULT);
      case IntentSpecificationPackage.REFINEMENT__NAME:
        return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
    result.append(" (name: ");
    result.append(name);
 *   <li>{@link net.certware.intent.intentSpecification.impl.RefinementImpl#getId <em>Id</em>}</li>
   * The default value of the '{@link #getId() <em>Id</em>}' attribute.
   * @see #getId()
  protected static final String ID_EDEFAULT = null;
   * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
   * @see #getId()
  protected String id = ID_EDEFAULT;
  public String getId()
    return id;
  public void setId(String newId)
    String oldId = id;
    id = newId;
      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.REFINEMENT__ID, oldId, id));
      case IntentSpecificationPackage.REFINEMENT__ID:
        return getId();
      case IntentSpecificationPackage.REFINEMENT__ID:
        setId((String)newValue);
      case IntentSpecificationPackage.REFINEMENT__ID:
        setId(ID_EDEFAULT);
      case IntentSpecificationPackage.REFINEMENT__ID:
        return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
    result.append(" (id: ");
    result.append(id);
@@ -29,7 +29,7 @@
  * <p>
  * The following features are implemented:
  * <ul>
- *   <li>{@link net.certware.intent.intentSpecification.impl.RefinementImpl#getId <em>Id</em>}</li>
+ *   <li>{@link net.certware.intent.intentSpecification.impl.RefinementImpl#getName <em>Name</em>}</li>
  *   <li>{@link net.certware.intent.intentSpecification.impl.RefinementImpl#getDesc <em>Desc</em>}</li>
  *   <li>{@link net.certware.intent.intentSpecification.impl.RefinementImpl#getIntents <em>Intents</em>}</li>
  * </ul>
@@ -40,24 +40,24 @@
 public class RefinementImpl extends MinimalEObjectImpl.Container implements Refinement
 {
   /**
-   * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+   * The default value of the '{@link #getName() <em>Name</em>}' attribute.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getId()
+   * @see #getName()
    * @generated
    * @ordered
    */
-  protected static final String ID_EDEFAULT = null;
+  protected static final String NAME_EDEFAULT = null;
 
   /**
-   * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+   * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getId()
+   * @see #getName()
    * @generated
    * @ordered
    */
-  protected String id = ID_EDEFAULT;
+  protected String name = NAME_EDEFAULT;
 
   /**
    * The default value of the '{@link #getDesc() <em>Desc</em>}' attribute.
@@ -115,22 +115,22 @@ protected EClass eStaticClass()
    * <!-- end-user-doc -->
    * @generated
    */
-  public String getId()
+  public String getName()
   {
-    return id;
+    return name;
   }
 
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  public void setId(String newId)
+  public void setName(String newName)
   {
-    String oldId = id;
-    id = newId;
+    String oldName = name;
+    name = newName;
     if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.REFINEMENT__ID, oldId, id));
+      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.REFINEMENT__NAME, oldName, name));
   }
 
   /**
@@ -196,8 +196,8 @@ public Object eGet(int featureID, boolean resolve, boolean coreType)
   {
     switch (featureID)
     {
-      case IntentSpecificationPackage.REFINEMENT__ID:
-        return getId();
+      case IntentSpecificationPackage.REFINEMENT__NAME:
+        return getName();
       case IntentSpecificationPackage.REFINEMENT__DESC:
         return getDesc();
       case IntentSpecificationPackage.REFINEMENT__INTENTS:
@@ -217,8 +217,8 @@ public void eSet(int featureID, Object newValue)
   {
     switch (featureID)
     {
-      case IntentSpecificationPackage.REFINEMENT__ID:
-        setId((String)newValue);
+      case IntentSpecificationPackage.REFINEMENT__NAME:
+        setName((String)newValue);
         return;
       case IntentSpecificationPackage.REFINEMENT__DESC:
         setDesc((String)newValue);
@@ -241,8 +241,8 @@ public void eUnset(int featureID)
   {
     switch (featureID)
     {
-      case IntentSpecificationPackage.REFINEMENT__ID:
-        setId(ID_EDEFAULT);
+      case IntentSpecificationPackage.REFINEMENT__NAME:
+        setName(NAME_EDEFAULT);
         return;
       case IntentSpecificationPackage.REFINEMENT__DESC:
         setDesc(DESC_EDEFAULT);
@@ -264,8 +264,8 @@ public boolean eIsSet(int featureID)
   {
     switch (featureID)
     {
-      case IntentSpecificationPackage.REFINEMENT__ID:
-        return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+      case IntentSpecificationPackage.REFINEMENT__NAME:
+        return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
       case IntentSpecificationPackage.REFINEMENT__DESC:
         return DESC_EDEFAULT == null ? desc != null : !DESC_EDEFAULT.equals(desc);
       case IntentSpecificationPackage.REFINEMENT__INTENTS:
@@ -285,8 +285,8 @@ public String toString()
     if (eIsProxy()) return super.toString();
 
     StringBuffer result = new StringBuffer(super.toString());
-    result.append(" (id: ");
-    result.append(id);
+    result.append(" (name: ");
+    result.append(name);
     result.append(", desc: ");
     result.append(desc);
     result.append(')');
https://github.com/nasa/CertWare/raw/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2Fimpl%2FRefinementImpl.java
5107d573c7e32b4b2e475b9928f8d96a17a7036b
modified
https://github.com/nasa/CertWare/blob/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2Fimpl%2FSpecificationImpl.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2Fimpl%2FSpecificationImpl.java?ref=27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9
net.certware.intent/src-gen/net/certware/intent/intentSpecification/impl/SpecificationImpl.java
 *   <li>{@link net.certware.intent.intentSpecification.impl.SpecificationImpl#getName <em>Name</em>}</li>
   * The default value of the '{@link #getName() <em>Name</em>}' attribute.
   * @see #getName()
  protected static final String NAME_EDEFAULT = null;
   * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
   * @see #getName()
  protected String name = NAME_EDEFAULT;
  public String getName()
    return name;
  public void setName(String newName)
    String oldName = name;
    name = newName;
      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.SPECIFICATION__NAME, oldName, name));
      case IntentSpecificationPackage.SPECIFICATION__NAME:
        return getName();
      case IntentSpecificationPackage.SPECIFICATION__NAME:
        setName((String)newValue);
      case IntentSpecificationPackage.SPECIFICATION__NAME:
        setName(NAME_EDEFAULT);
      case IntentSpecificationPackage.SPECIFICATION__NAME:
        return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
    result.append(" (name: ");
    result.append(name);
 *   <li>{@link net.certware.intent.intentSpecification.impl.SpecificationImpl#getId <em>Id</em>}</li>
   * The default value of the '{@link #getId() <em>Id</em>}' attribute.
   * @see #getId()
  protected static final String ID_EDEFAULT = null;
   * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
   * @see #getId()
  protected String id = ID_EDEFAULT;
  public String getId()
    return id;
  public void setId(String newId)
    String oldId = id;
    id = newId;
      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.SPECIFICATION__ID, oldId, id));
      case IntentSpecificationPackage.SPECIFICATION__ID:
        return getId();
      case IntentSpecificationPackage.SPECIFICATION__ID:
        setId((String)newValue);
      case IntentSpecificationPackage.SPECIFICATION__ID:
        setId(ID_EDEFAULT);
      case IntentSpecificationPackage.SPECIFICATION__ID:
        return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
    result.append(" (id: ");
    result.append(id);
@@ -29,7 +29,7 @@
  * <p>
  * The following features are implemented:
  * <ul>
- *   <li>{@link net.certware.intent.intentSpecification.impl.SpecificationImpl#getId <em>Id</em>}</li>
+ *   <li>{@link net.certware.intent.intentSpecification.impl.SpecificationImpl#getName <em>Name</em>}</li>
  *   <li>{@link net.certware.intent.intentSpecification.impl.SpecificationImpl#getRefinements <em>Refinements</em>}</li>
  * </ul>
  * </p>
@@ -39,24 +39,24 @@
 public class SpecificationImpl extends MinimalEObjectImpl.Container implements Specification
 {
   /**
-   * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+   * The default value of the '{@link #getName() <em>Name</em>}' attribute.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getId()
+   * @see #getName()
    * @generated
    * @ordered
    */
-  protected static final String ID_EDEFAULT = null;
+  protected static final String NAME_EDEFAULT = null;
 
   /**
-   * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+   * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getId()
+   * @see #getName()
    * @generated
    * @ordered
    */
-  protected String id = ID_EDEFAULT;
+  protected String name = NAME_EDEFAULT;
 
   /**
    * The cached value of the '{@link #getRefinements() <em>Refinements</em>}' containment reference list.
@@ -94,22 +94,22 @@ protected EClass eStaticClass()
    * <!-- end-user-doc -->
    * @generated
    */
-  public String getId()
+  public String getName()
   {
-    return id;
+    return name;
   }
 
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  public void setId(String newId)
+  public void setName(String newName)
   {
-    String oldId = id;
-    id = newId;
+    String oldName = name;
+    name = newName;
     if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.SPECIFICATION__ID, oldId, id));
+      eNotify(new ENotificationImpl(this, Notification.SET, IntentSpecificationPackage.SPECIFICATION__NAME, oldName, name));
   }
 
   /**
@@ -152,8 +152,8 @@ public Object eGet(int featureID, boolean resolve, boolean coreType)
   {
     switch (featureID)
     {
-      case IntentSpecificationPackage.SPECIFICATION__ID:
-        return getId();
+      case IntentSpecificationPackage.SPECIFICATION__NAME:
+        return getName();
       case IntentSpecificationPackage.SPECIFICATION__REFINEMENTS:
         return getRefinements();
     }
@@ -171,8 +171,8 @@ public void eSet(int featureID, Object newValue)
   {
     switch (featureID)
     {
-      case IntentSpecificationPackage.SPECIFICATION__ID:
-        setId((String)newValue);
+      case IntentSpecificationPackage.SPECIFICATION__NAME:
+        setName((String)newValue);
         return;
       case IntentSpecificationPackage.SPECIFICATION__REFINEMENTS:
         getRefinements().clear();
@@ -192,8 +192,8 @@ public void eUnset(int featureID)
   {
     switch (featureID)
     {
-      case IntentSpecificationPackage.SPECIFICATION__ID:
-        setId(ID_EDEFAULT);
+      case IntentSpecificationPackage.SPECIFICATION__NAME:
+        setName(NAME_EDEFAULT);
         return;
       case IntentSpecificationPackage.SPECIFICATION__REFINEMENTS:
         getRefinements().clear();
@@ -212,8 +212,8 @@ public boolean eIsSet(int featureID)
   {
     switch (featureID)
     {
-      case IntentSpecificationPackage.SPECIFICATION__ID:
-        return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+      case IntentSpecificationPackage.SPECIFICATION__NAME:
+        return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
       case IntentSpecificationPackage.SPECIFICATION__REFINEMENTS:
         return refinements != null && !refinements.isEmpty();
     }
@@ -231,8 +231,8 @@ public String toString()
     if (eIsProxy()) return super.toString();
 
     StringBuffer result = new StringBuffer(super.toString());
-    result.append(" (id: ");
-    result.append(id);
+    result.append(" (name: ");
+    result.append(name);
     result.append(')');
     return result.toString();
   }
https://github.com/nasa/CertWare/raw/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2Fimpl%2FSpecificationImpl.java
c19705d70f6549194180c1051334d1903555d07f
modified
https://github.com/nasa/CertWare/blob/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2Futil%2FIntentSpecificationAdapterFactory.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2Futil%2FIntentSpecificationAdapterFactory.java?ref=27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9
net.certware.intent/src-gen/net/certware/intent/intentSpecification/util/IntentSpecificationAdapterFactory.java
      public Adapter caseIntentType(IntentType object)
      {
        return createIntentTypeAdapter();
      }
      @Override
      public Adapter caseDecompositionType(DecompositionType object)
      {
        return createDecompositionTypeAdapter();
      }
      @Override
      public Adapter caseDocItemType(DocItemType object)
      {
        return createDocItemTypeAdapter();
      }
      @Override
      public Adapter caseModelType(ModelType object)
      {
        return createModelTypeAdapter();
      }
      @Override
      public Adapter caseListItemType(ListItemType object)
      {
        return createListItemTypeAdapter();
      }
      @Override
  /**
   * Creates a new adapter for an object of class '{@link net.certware.intent.intentSpecification.IntentType <em>Intent Type</em>}'.
   * <!-- begin-user-doc -->
   * 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.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see net.certware.intent.intentSpecification.IntentType
   * @generated
   */
  public Adapter createIntentTypeAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link net.certware.intent.intentSpecification.DecompositionType <em>Decomposition Type</em>}'.
   * <!-- begin-user-doc -->
   * 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.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see net.certware.intent.intentSpecification.DecompositionType
   * @generated
   */
  public Adapter createDecompositionTypeAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link net.certware.intent.intentSpecification.DocItemType <em>Doc Item Type</em>}'.
   * <!-- begin-user-doc -->
   * 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.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see net.certware.intent.intentSpecification.DocItemType
   * @generated
   */
  public Adapter createDocItemTypeAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link net.certware.intent.intentSpecification.ModelType <em>Model Type</em>}'.
   * <!-- begin-user-doc -->
   * 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.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see net.certware.intent.intentSpecification.ModelType
   * @generated
   */
  public Adapter createModelTypeAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link net.certware.intent.intentSpecification.ListItemType <em>List Item Type</em>}'.
   * <!-- begin-user-doc -->
   * 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.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see net.certware.intent.intentSpecification.ListItemType
   * @generated
   */
  public Adapter createListItemTypeAdapter()
  {
    return null;
  }

IntentType object
net.certware.intent/src-gen/net/certware/intent/intentSpecification/util/IntentSpecificationAdapterFactory.java
return createIntentTypeAdapter();
Adapter caseIntentType(IntentType object)
DecompositionType object
net.certware.intent/src-gen/net/certware/intent/intentSpecification/util/IntentSpecificationAdapterFactory.java
return createDecompositionTypeAdapter();
Adapter caseDecompositionType(DecompositionType object)
DocItemType object
net.certware.intent/src-gen/net/certware/intent/intentSpecification/util/IntentSpecificationAdapterFactory.java
return createDocItemTypeAdapter();
Adapter caseDocItemType(DocItemType object)
ModelType object
net.certware.intent/src-gen/net/certware/intent/intentSpecification/util/IntentSpecificationAdapterFactory.java
return createModelTypeAdapter();
Adapter caseModelType(ModelType object)
ListItemType object
net.certware.intent/src-gen/net/certware/intent/intentSpecification/util/IntentSpecificationAdapterFactory.java
return createListItemTypeAdapter();
Adapter caseListItemType(ListItemType object)
net.certware.intent/src-gen/net/certware/intent/intentSpecification/util/IntentSpecificationAdapterFactory.java
return null;
Adapter createIntentTypeAdapter()
net.certware.intent/src-gen/net/certware/intent/intentSpecification/util/IntentSpecificationAdapterFactory.java
return null;
Adapter createDecompositionTypeAdapter()
net.certware.intent/src-gen/net/certware/intent/intentSpecification/util/IntentSpecificationAdapterFactory.java
return null;
Adapter createDocItemTypeAdapter()
net.certware.intent/src-gen/net/certware/intent/intentSpecification/util/IntentSpecificationAdapterFactory.java
return null;
Adapter createModelTypeAdapter()
net.certware.intent/src-gen/net/certware/intent/intentSpecification/util/IntentSpecificationAdapterFactory.java
return null;
Adapter createListItemTypeAdapter()
@@ -90,26 +90,51 @@ public Adapter caseIntent(Intent object)
         return createIntentAdapter();
       }
       @Override
+      public Adapter caseIntentType(IntentType object)
+      {
+        return createIntentTypeAdapter();
+      }
+      @Override
       public Adapter caseDecomposition(Decomposition object)
       {
         return createDecompositionAdapter();
       }
       @Override
+      public Adapter caseDecompositionType(DecompositionType object)
+      {
+        return createDecompositionTypeAdapter();
+      }
+      @Override
       public Adapter caseDocument(Document object)
       {
         return createDocumentAdapter();
       }
       @Override
+      public Adapter caseDocItemType(DocItemType object)
+      {
+        return createDocItemTypeAdapter();
+      }
+      @Override
       public Adapter caseDocItem(DocItem object)
       {
         return createDocItemAdapter();
       }
       @Override
+      public Adapter caseModelType(ModelType object)
+      {
+        return createModelTypeAdapter();
+      }
+      @Override
       public Adapter caseModelItem(ModelItem object)
       {
         return createModelItemAdapter();
       }
       @Override
+      public Adapter caseListItemType(ListItemType object)
+      {
+        return createListItemTypeAdapter();
+      }
+      @Override
       public Adapter caseListItem(ListItem object)
       {
         return createListItemAdapter();
@@ -181,6 +206,21 @@ public Adapter createIntentAdapter()
     return null;
   }
 
+  /**
+   * Creates a new adapter for an object of class '{@link net.certware.intent.intentSpecification.IntentType <em>Intent Type</em>}'.
+   * <!-- begin-user-doc -->
+   * 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.
+   * <!-- end-user-doc -->
+   * @return the new adapter.
+   * @see net.certware.intent.intentSpecification.IntentType
+   * @generated
+   */
+  public Adapter createIntentTypeAdapter()
+  {
+    return null;
+  }
+
   /**
    * Creates a new adapter for an object of class '{@link net.certware.intent.intentSpecification.Decomposition <em>Decomposition</em>}'.
    * <!-- begin-user-doc -->
@@ -196,6 +236,21 @@ public Adapter createDecompositionAdapter()
     return null;
   }
 
+  /**
+   * Creates a new adapter for an object of class '{@link net.certware.intent.intentSpecification.DecompositionType <em>Decomposition Type</em>}'.
+   * <!-- begin-user-doc -->
+   * 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.
+   * <!-- end-user-doc -->
+   * @return the new adapter.
+   * @see net.certware.intent.intentSpecification.DecompositionType
+   * @generated
+   */
+  public Adapter createDecompositionTypeAdapter()
+  {
+    return null;
+  }
+
   /**
    * Creates a new adapter for an object of class '{@link net.certware.intent.intentSpecification.Document <em>Document</em>}'.
    * <!-- begin-user-doc -->
@@ -211,6 +266,21 @@ public Adapter createDocumentAdapter()
     return null;
   }
 
+  /**
+   * Creates a new adapter for an object of class '{@link net.certware.intent.intentSpecification.DocItemType <em>Doc Item Type</em>}'.
+   * <!-- begin-user-doc -->
+   * 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.
+   * <!-- end-user-doc -->
+   * @return the new adapter.
+   * @see net.certware.intent.intentSpecification.DocItemType
+   * @generated
+   */
+  public Adapter createDocItemTypeAdapter()
+  {
+    return null;
+  }
+
   /**
    * Creates a new adapter for an object of class '{@link net.certware.intent.intentSpecification.DocItem <em>Doc Item</em>}'.
    * <!-- begin-user-doc -->
@@ -226,6 +296,21 @@ public Adapter createDocItemAdapter()
     return null;
   }
 
+  /**
+   * Creates a new adapter for an object of class '{@link net.certware.intent.intentSpecification.ModelType <em>Model Type</em>}'.
+   * <!-- begin-user-doc -->
+   * 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.
+   * <!-- end-user-doc -->
+   * @return the new adapter.
+   * @see net.certware.intent.intentSpecification.ModelType
+   * @generated
+   */
+  public Adapter createModelTypeAdapter()
+  {
+    return null;
+  }
+
   /**
    * Creates a new adapter for an object of class '{@link net.certware.intent.intentSpecification.ModelItem <em>Model Item</em>}'.
    * <!-- begin-user-doc -->
@@ -241,6 +326,21 @@ public Adapter createModelItemAdapter()
     return null;
   }
 
+  /**
+   * Creates a new adapter for an object of class '{@link net.certware.intent.intentSpecification.ListItemType <em>List Item Type</em>}'.
+   * <!-- begin-user-doc -->
+   * 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.
+   * <!-- end-user-doc -->
+   * @return the new adapter.
+   * @see net.certware.intent.intentSpecification.ListItemType
+   * @generated
+   */
+  public Adapter createListItemTypeAdapter()
+  {
+    return null;
+  }
+
   /**
    * Creates a new adapter for an object of class '{@link net.certware.intent.intentSpecification.ListItem <em>List Item</em>}'.
    * <!-- begin-user-doc -->
https://github.com/nasa/CertWare/raw/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2Futil%2FIntentSpecificationAdapterFactory.java
51a62ac8fcdbac12985c2b6e26940aac8eab1f9c
modified
https://github.com/nasa/CertWare/blob/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2Futil%2FIntentSpecificationSwitch.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2Futil%2FIntentSpecificationSwitch.java?ref=27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9
net.certware.intent/src-gen/net/certware/intent/intentSpecification/util/IntentSpecificationSwitch.java
      case IntentSpecificationPackage.INTENT_TYPE:
      {
        IntentType intentType = (IntentType)theEObject;
        T result = caseIntentType(intentType);
        if (result == null) result = defaultCase(theEObject);
        return result;
      }
      case IntentSpecificationPackage.DECOMPOSITION_TYPE:
      {
        DecompositionType decompositionType = (DecompositionType)theEObject;
        T result = caseDecompositionType(decompositionType);
        if (result == null) result = defaultCase(theEObject);
        return result;
      }
      case IntentSpecificationPackage.DOC_ITEM_TYPE:
      {
        DocItemType docItemType = (DocItemType)theEObject;
        T result = caseDocItemType(docItemType);
        if (result == null) result = defaultCase(theEObject);
        return result;
      }
      case IntentSpecificationPackage.MODEL_TYPE:
      {
        ModelType modelType = (ModelType)theEObject;
        T result = caseModelType(modelType);
        if (result == null) result = defaultCase(theEObject);
        return result;
      }
      case IntentSpecificationPackage.LIST_ITEM_TYPE:
      {
        ListItemType listItemType = (ListItemType)theEObject;
        T result = caseListItemType(listItemType);
        if (result == null) result = defaultCase(theEObject);
        return result;
      }
  /**
   * Returns the result of interpreting the object as an instance of '<em>Intent Type</em>'.
   * <!-- begin-user-doc -->
   * This implementation returns null;
   * returning a non-null result will terminate the switch.
   * <!-- end-user-doc -->
   * @param object the target of the switch.
   * @return the result of interpreting the object as an instance of '<em>Intent Type</em>'.
   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
   * @generated
   */
  public T caseIntentType(IntentType object)
  {
    return null;
  }

  /**
   * Returns the result of interpreting the object as an instance of '<em>Decomposition Type</em>'.
   * <!-- begin-user-doc -->
   * This implementation returns null;
   * returning a non-null result will terminate the switch.
   * <!-- end-user-doc -->
   * @param object the target of the switch.
   * @return the result of interpreting the object as an instance of '<em>Decomposition Type</em>'.
   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
   * @generated
   */
  public T caseDecompositionType(DecompositionType object)
  {
    return null;
  }

  /**
   * Returns the result of interpreting the object as an instance of '<em>Doc Item Type</em>'.
   * <!-- begin-user-doc -->
   * This implementation returns null;
   * returning a non-null result will terminate the switch.
   * <!-- end-user-doc -->
   * @param object the target of the switch.
   * @return the result of interpreting the object as an instance of '<em>Doc Item Type</em>'.
   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
   * @generated
   */
  public T caseDocItemType(DocItemType object)
  {
    return null;
  }

  /**
   * Returns the result of interpreting the object as an instance of '<em>Model Type</em>'.
   * <!-- begin-user-doc -->
   * This implementation returns null;
   * returning a non-null result will terminate the switch.
   * <!-- end-user-doc -->
   * @param object the target of the switch.
   * @return the result of interpreting the object as an instance of '<em>Model Type</em>'.
   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
   * @generated
   */
  public T caseModelType(ModelType object)
  {
    return null;
  }

  /**
   * Returns the result of interpreting the object as an instance of '<em>List Item Type</em>'.
   * <!-- begin-user-doc -->
   * This implementation returns null;
   * returning a non-null result will terminate the switch.
   * <!-- end-user-doc -->
   * @param object the target of the switch.
   * @return the result of interpreting the object as an instance of '<em>List Item Type</em>'.
   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
   * @generated
   */
  public T caseListItemType(ListItemType object)
  {
    return null;
  }

IntentType object
net.certware.intent/src-gen/net/certware/intent/intentSpecification/util/IntentSpecificationSwitch.java
return null;
T caseIntentType(IntentType object)
DecompositionType object
net.certware.intent/src-gen/net/certware/intent/intentSpecification/util/IntentSpecificationSwitch.java
return null;
T caseDecompositionType(DecompositionType object)
DocItemType object
net.certware.intent/src-gen/net/certware/intent/intentSpecification/util/IntentSpecificationSwitch.java
return null;
T caseDocItemType(DocItemType object)
ModelType object
net.certware.intent/src-gen/net/certware/intent/intentSpecification/util/IntentSpecificationSwitch.java
return null;
T caseModelType(ModelType object)
ListItemType object
net.certware.intent/src-gen/net/certware/intent/intentSpecification/util/IntentSpecificationSwitch.java
return null;
T caseListItemType(ListItemType object)
@@ -93,34 +93,69 @@ protected T doSwitch(int classifierID, EObject theEObject)
         if (result == null) result = defaultCase(theEObject);
         return result;
       }
+      case IntentSpecificationPackage.INTENT_TYPE:
+      {
+        IntentType intentType = (IntentType)theEObject;
+        T result = caseIntentType(intentType);
+        if (result == null) result = defaultCase(theEObject);
+        return result;
+      }
       case IntentSpecificationPackage.DECOMPOSITION:
       {
         Decomposition decomposition = (Decomposition)theEObject;
         T result = caseDecomposition(decomposition);
         if (result == null) result = defaultCase(theEObject);
         return result;
       }
+      case IntentSpecificationPackage.DECOMPOSITION_TYPE:
+      {
+        DecompositionType decompositionType = (DecompositionType)theEObject;
+        T result = caseDecompositionType(decompositionType);
+        if (result == null) result = defaultCase(theEObject);
+        return result;
+      }
       case IntentSpecificationPackage.DOCUMENT:
       {
         Document document = (Document)theEObject;
         T result = caseDocument(document);
         if (result == null) result = defaultCase(theEObject);
         return result;
       }
+      case IntentSpecificationPackage.DOC_ITEM_TYPE:
+      {
+        DocItemType docItemType = (DocItemType)theEObject;
+        T result = caseDocItemType(docItemType);
+        if (result == null) result = defaultCase(theEObject);
+        return result;
+      }
       case IntentSpecificationPackage.DOC_ITEM:
       {
         DocItem docItem = (DocItem)theEObject;
         T result = caseDocItem(docItem);
         if (result == null) result = defaultCase(theEObject);
         return result;
       }
+      case IntentSpecificationPackage.MODEL_TYPE:
+      {
+        ModelType modelType = (ModelType)theEObject;
+        T result = caseModelType(modelType);
+        if (result == null) result = defaultCase(theEObject);
+        return result;
+      }
       case IntentSpecificationPackage.MODEL_ITEM:
       {
         ModelItem modelItem = (ModelItem)theEObject;
         T result = caseModelItem(modelItem);
         if (result == null) result = defaultCase(theEObject);
         return result;
       }
+      case IntentSpecificationPackage.LIST_ITEM_TYPE:
+      {
+        ListItemType listItemType = (ListItemType)theEObject;
+        T result = caseListItemType(listItemType);
+        if (result == null) result = defaultCase(theEObject);
+        return result;
+      }
       case IntentSpecificationPackage.LIST_ITEM:
       {
         ListItem listItem = (ListItem)theEObject;
@@ -180,6 +215,22 @@ public T caseIntent(Intent object)
     return null;
   }
 
+  /**
+   * Returns the result of interpreting the object as an instance of '<em>Intent Type</em>'.
+   * <!-- begin-user-doc -->
+   * This implementation returns null;
+   * returning a non-null result will terminate the switch.
+   * <!-- end-user-doc -->
+   * @param object the target of the switch.
+   * @return the result of interpreting the object as an instance of '<em>Intent Type</em>'.
+   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+   * @generated
+   */
+  public T caseIntentType(IntentType object)
+  {
+    return null;
+  }
+
   /**
    * Returns the result of interpreting the object as an instance of '<em>Decomposition</em>'.
    * <!-- begin-user-doc -->
@@ -196,6 +247,22 @@ public T caseDecomposition(Decomposition object)
     return null;
   }
 
+  /**
+   * Returns the result of interpreting the object as an instance of '<em>Decomposition Type</em>'.
+   * <!-- begin-user-doc -->
+   * This implementation returns null;
+   * returning a non-null result will terminate the switch.
+   * <!-- end-user-doc -->
+   * @param object the target of the switch.
+   * @return the result of interpreting the object as an instance of '<em>Decomposition Type</em>'.
+   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+   * @generated
+   */
+  public T caseDecompositionType(DecompositionType object)
+  {
+    return null;
+  }
+
   /**
    * Returns the result of interpreting the object as an instance of '<em>Document</em>'.
    * <!-- begin-user-doc -->
@@ -212,6 +279,22 @@ public T caseDocument(Document object)
     return null;
   }
 
+  /**
+   * Returns the result of interpreting the object as an instance of '<em>Doc Item Type</em>'.
+   * <!-- begin-user-doc -->
+   * This implementation returns null;
+   * returning a non-null result will terminate the switch.
+   * <!-- end-user-doc -->
+   * @param object the target of the switch.
+   * @return the result of interpreting the object as an instance of '<em>Doc Item Type</em>'.
+   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+   * @generated
+   */
+  public T caseDocItemType(DocItemType object)
+  {
+    return null;
+  }
+
   /**
    * Returns the result of interpreting the object as an instance of '<em>Doc Item</em>'.
    * <!-- begin-user-doc -->
@@ -228,6 +311,22 @@ public T caseDocItem(DocItem object)
     return null;
   }
 
+  /**
+   * Returns the result of interpreting the object as an instance of '<em>Model Type</em>'.
+   * <!-- begin-user-doc -->
+   * This implementation returns null;
+   * returning a non-null result will terminate the switch.
+   * <!-- end-user-doc -->
+   * @param object the target of the switch.
+   * @return the result of interpreting the object as an instance of '<em>Model Type</em>'.
+   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+   * @generated
+   */
+  public T caseModelType(ModelType object)
+  {
+    return null;
+  }
+
   /**
    * Returns the result of interpreting the object as an instance of '<em>Model Item</em>'.
    * <!-- begin-user-doc -->
@@ -244,6 +343,22 @@ public T caseModelItem(ModelItem object)
     return null;
   }
 
+  /**
+   * Returns the result of interpreting the object as an instance of '<em>List Item Type</em>'.
+   * <!-- begin-user-doc -->
+   * This implementation returns null;
+   * returning a non-null result will terminate the switch.
+   * <!-- end-user-doc -->
+   * @param object the target of the switch.
+   * @return the result of interpreting the object as an instance of '<em>List Item Type</em>'.
+   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+   * @generated
+   */
+  public T caseListItemType(ListItemType object)
+  {
+    return null;
+  }
+
   /**
    * Returns the result of interpreting the object as an instance of '<em>List Item</em>'.
    * <!-- begin-user-doc -->
https://github.com/nasa/CertWare/raw/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2FintentSpecification%2Futil%2FIntentSpecificationSwitch.java
737b7f8b8e698aeb8ad2c8c40d2f06654663c646
modified
https://github.com/nasa/CertWare/blob/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fparser%2Fantlr%2Finternal%2FInternalIntentSpecification.g
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fparser%2Fantlr%2Finternal%2FInternalIntentSpecification.g?ref=27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9
net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g
		lv_name_1_0=RULE_ID
			newLeafNode(lv_name_1_0, grammarAccess.getSpecificationAccess().getNameIDTerminalRuleCall_1_0()); 
       			"name",
        		lv_name_1_0, 
		lv_name_1_0=RULE_ID
			newLeafNode(lv_name_1_0, grammarAccess.getRefinementAccess().getNameIDTerminalRuleCall_1_0()); 
       			"name",
        		lv_name_1_0, 
		lv_name_1_0=RULE_ID
			newLeafNode(lv_name_1_0, grammarAccess.getIntentAccess().getNameIDTerminalRuleCall_1_0()); 
       			"name",
        		lv_name_1_0, 
entryRuleIntentType returns [EObject current=null] 
	{ newCompositeNode(grammarAccess.getIntentTypeRule()); }
	 { $current=$iv_ruleIntentType.current; } 
ruleIntentType returns [EObject current=null] 
(
(
		lv_typeName_0_1=	'basic' 
        newLeafNode(lv_typeName_0_1, grammarAccess.getIntentTypeAccess().getTypeNameBasicKeyword_0_0());
 
	    {
	        if ($current==null) {
	            $current = createModelElement(grammarAccess.getIntentTypeRule());
	        }
       		setWithLastConsumed($current, "typeName", lv_typeName_0_1, null);
	    }
    |		lv_typeName_0_2=	'purpose' 
        newLeafNode(lv_typeName_0_2, grammarAccess.getIntentTypeAccess().getTypeNamePurposeKeyword_0_1());
 
	    {
	        if ($current==null) {
	            $current = createModelElement(grammarAccess.getIntentTypeRule());
	        }
       		setWithLastConsumed($current, "typeName", lv_typeName_0_2, null);
	    }
    |		lv_typeName_0_3=	'principles' 
        newLeafNode(lv_typeName_0_3, grammarAccess.getIntentTypeAccess().getTypeNamePrinciplesKeyword_0_2());
 
	    {
	        if ($current==null) {
	            $current = createModelElement(grammarAccess.getIntentTypeRule());
	        }
       		setWithLastConsumed($current, "typeName", lv_typeName_0_3, null);
	    }
    |		lv_typeName_0_4=	'models' 
        newLeafNode(lv_typeName_0_4, grammarAccess.getIntentTypeAccess().getTypeNameModelsKeyword_0_3());
 
	    {
	        if ($current==null) {
	            $current = createModelElement(grammarAccess.getIntentTypeRule());
	        }
       		setWithLastConsumed($current, "typeName", lv_typeName_0_4, null);
	    }
    |		lv_typeName_0_5=	'design' 
        newLeafNode(lv_typeName_0_5, grammarAccess.getIntentTypeAccess().getTypeNameDesignKeyword_0_4());
 
	    {
	        if ($current==null) {
	            $current = createModelElement(grammarAccess.getIntentTypeRule());
	        }
       		setWithLastConsumed($current, "typeName", lv_typeName_0_5, null);
	    }
    |		lv_typeName_0_6=	'implementation' 
        newLeafNode(lv_typeName_0_6, grammarAccess.getIntentTypeAccess().getTypeNameImplementationKeyword_0_5());
 
	    {
	        if ($current==null) {
	            $current = createModelElement(grammarAccess.getIntentTypeRule());
	        }
       		setWithLastConsumed($current, "typeName", lv_typeName_0_6, null);
	    }
    |		lv_typeName_0_7=	'operation' 
        newLeafNode(lv_typeName_0_7, grammarAccess.getIntentTypeAccess().getTypeNameOperationKeyword_0_6());
 
	    {
	        if ($current==null) {
	            $current = createModelElement(grammarAccess.getIntentTypeRule());
	        }
       		setWithLastConsumed($current, "typeName", lv_typeName_0_7, null);
	    }


)
)
;
		lv_name_1_0=RULE_ID
			newLeafNode(lv_name_1_0, grammarAccess.getDecompositionAccess().getNameIDTerminalRuleCall_1_0()); 
       			"name",
        		lv_name_1_0, 
entryRuleDecompositionType returns [EObject current=null] 
	{ newCompositeNode(grammarAccess.getDecompositionTypeRule()); }
	 { $current=$iv_ruleDecompositionType.current; } 
ruleDecompositionType returns [EObject current=null] 
(
(
		lv_typeName_0_1=	'environment' 
        newLeafNode(lv_typeName_0_1, grammarAccess.getDecompositionTypeAccess().getTypeNameEnvironmentKeyword_0_0());
 
	    {
	        if ($current==null) {
	            $current = createModelElement(grammarAccess.getDecompositionTypeRule());
	        }
       		setWithLastConsumed($current, "typeName", lv_typeName_0_1, null);
	    }
    |		lv_typeName_0_2=	'operator' 
        newLeafNode(lv_typeName_0_2, grammarAccess.getDecompositionTypeAccess().getTypeNameOperatorKeyword_0_1());
 
	    {
	        if ($current==null) {
	            $current = createModelElement(grammarAccess.getDecompositionTypeRule());
	        }
       		setWithLastConsumed($current, "typeName", lv_typeName_0_2, null);
	    }
    |		lv_typeName_0_3=	'system' 
        newLeafNode(lv_typeName_0_3, grammarAccess.getDecompositionTypeAccess().getTypeNameSystemKeyword_0_2());
 
	    {
	        if ($current==null) {
	            $current = createModelElement(grammarAccess.getDecompositionTypeRule());
	        }
       		setWithLastConsumed($current, "typeName", lv_typeName_0_3, null);
	    }
    |		lv_typeName_0_4=	'verification' 
        newLeafNode(lv_typeName_0_4, grammarAccess.getDecompositionTypeAccess().getTypeNameVerificationKeyword_0_3());
 
	    {
	        if ($current==null) {
	            $current = createModelElement(grammarAccess.getDecompositionTypeRule());
	        }
       		setWithLastConsumed($current, "typeName", lv_typeName_0_4, null);
	    }

)

)
;
entryRuleDocItemType returns [EObject current=null] 
	{ newCompositeNode(grammarAccess.getDocItemTypeRule()); }
	 { $current=$iv_ruleDocItemType.current; } 
ruleDocItemType returns [EObject current=null] 
(
(
		lv_typeName_0_1=	'condition' 
        newLeafNode(lv_typeName_0_1, grammarAccess.getDocItemTypeAccess().getTypeNameConditionKeyword_0_0());
 
	    {
	        if ($current==null) {
	            $current = createModelElement(grammarAccess.getDocItemTypeRule());
	        }
       		setWithLastConsumed($current, "typeName", lv_typeName_0_1, null);
	    }
    |		lv_typeName_0_2=	'figure' 
        newLeafNode(lv_typeName_0_2, grammarAccess.getDocItemTypeAccess().getTypeNameFigureKeyword_0_1());
 
	    {
	        if ($current==null) {
	            $current = createModelElement(grammarAccess.getDocItemTypeRule());
	        }
       		setWithLastConsumed($current, "typeName", lv_typeName_0_2, null);
	    }
    |		lv_typeName_0_3=	'break' 
        newLeafNode(lv_typeName_0_3, grammarAccess.getDocItemTypeAccess().getTypeNameBreakKeyword_0_2());
 
	    {
	        if ($current==null) {
	            $current = createModelElement(grammarAccess.getDocItemTypeRule());
	        }
       		setWithLastConsumed($current, "typeName", lv_typeName_0_3, null);
	    }
    |		lv_typeName_0_4=	'model' 
        newLeafNode(lv_typeName_0_4, grammarAccess.getDocItemTypeAccess().getTypeNameModelKeyword_0_3());
 
	    {
	        if ($current==null) {
	            $current = createModelElement(grammarAccess.getDocItemTypeRule());
	        }
       		setWithLastConsumed($current, "typeName", lv_typeName_0_4, null);
	    }
    |		lv_typeName_0_5=	'paragraph' 
        newLeafNode(lv_typeName_0_5, grammarAccess.getDocItemTypeAccess().getTypeNameParagraphKeyword_0_4());
 
	    {
	        if ($current==null) {
	            $current = createModelElement(grammarAccess.getDocItemTypeRule());
	        }
       		setWithLastConsumed($current, "typeName", lv_typeName_0_5, null);
	    }
    |		lv_typeName_0_6=	'section' 
        newLeafNode(lv_typeName_0_6, grammarAccess.getDocItemTypeAccess().getTypeNameSectionKeyword_0_5());
 
	    {
	        if ($current==null) {
	            $current = createModelElement(grammarAccess.getDocItemTypeRule());
	        }
       		setWithLastConsumed($current, "typeName", lv_typeName_0_6, null);
	    }
    |		lv_typeName_0_7=	'table' 
        newLeafNode(lv_typeName_0_7, grammarAccess.getDocItemTypeAccess().getTypeNameTableKeyword_0_6());
 
	    {
	        if ($current==null) {
	            $current = createModelElement(grammarAccess.getDocItemTypeRule());
	        }
       		setWithLastConsumed($current, "typeName", lv_typeName_0_7, null);
	    }


)
)
;
		lv_name_1_0=RULE_ID
			newLeafNode(lv_name_1_0, grammarAccess.getDocItemAccess().getNameIDTerminalRuleCall_1_0()); 
       			"name",
        		lv_name_1_0, 
entryRuleModelType returns [EObject current=null] 
	{ newCompositeNode(grammarAccess.getModelTypeRule()); }
	 { $current=$iv_ruleModelType.current; } 
ruleModelType returns [EObject current=null] 
(
(
		lv_typeName_0_1=	'output' 
        newLeafNode(lv_typeName_0_1, grammarAccess.getModelTypeAccess().getTypeNameOutputKeyword_0_0());
 
	    {
	        if ($current==null) {
	            $current = createModelElement(grammarAccess.getModelTypeRule());
	        }
       		setWithLastConsumed($current, "typeName", lv_typeName_0_1, null);
	    }
    |		lv_typeName_0_2=	'mode' 
        newLeafNode(lv_typeName_0_2, grammarAccess.getModelTypeAccess().getTypeNameModeKeyword_0_1());
 
	    {
	        if ($current==null) {
	            $current = createModelElement(grammarAccess.getModelTypeRule());
	        }
       		setWithLastConsumed($current, "typeName", lv_typeName_0_2, null);
	    }
    |		lv_typeName_0_3=	'state' 
        newLeafNode(lv_typeName_0_3, grammarAccess.getModelTypeAccess().getTypeNameStateKeyword_0_2());
 
	    {
	        if ($current==null) {
	            $current = createModelElement(grammarAccess.getModelTypeRule());
	        }
       		setWithLastConsumed($current, "typeName", lv_typeName_0_3, null);
	    }
    |		lv_typeName_0_4=	'macro' 
        newLeafNode(lv_typeName_0_4, grammarAccess.getModelTypeAccess().getTypeNameMacroKeyword_0_3());
 
	    {
	        if ($current==null) {
	            $current = createModelElement(grammarAccess.getModelTypeRule());
	        }
       		setWithLastConsumed($current, "typeName", lv_typeName_0_4, null);
	    }
    |		lv_typeName_0_5=	'function' 
        newLeafNode(lv_typeName_0_5, grammarAccess.getModelTypeAccess().getTypeNameFunctionKeyword_0_4());
 
	    {
	        if ($current==null) {
	            $current = createModelElement(grammarAccess.getModelTypeRule());
	        }
       		setWithLastConsumed($current, "typeName", lv_typeName_0_5, null);
	    }
    |		lv_typeName_0_6=	'input' 
        newLeafNode(lv_typeName_0_6, grammarAccess.getModelTypeAccess().getTypeNameInputKeyword_0_5());
 
	    {
	        if ($current==null) {
	            $current = createModelElement(grammarAccess.getModelTypeRule());
	        }
       		setWithLastConsumed($current, "typeName", lv_typeName_0_6, null);
	    }


)
)
;
		lv_name_1_0=RULE_ID
			newLeafNode(lv_name_1_0, grammarAccess.getModelItemAccess().getNameIDTerminalRuleCall_1_0()); 
       			"name",
        		lv_name_1_0, 
entryRuleListItemType returns [EObject current=null] 
	{ newCompositeNode(grammarAccess.getListItemTypeRule()); }
	 { $current=$iv_ruleListItemType.current; } 
ruleListItemType returns [EObject current=null] 
(
(
		lv_typeName_0_1=	'requirement' 
        newLeafNode(lv_typeName_0_1, grammarAccess.getListItemTypeAccess().getTypeNameRequirementKeyword_0_0());
 
	    {
	        if ($current==null) {
	            $current = createModelElement(grammarAccess.getListItemTypeRule());
	        }
       		setWithLastConsumed($current, "typeName", lv_typeName_0_1, null);
	    }
    |		lv_typeName_0_2=	'goal' 
        newLeafNode(lv_typeName_0_2, grammarAccess.getListItemTypeAccess().getTypeNameGoalKeyword_0_1());
 
	    {
	        if ($current==null) {
	            $current = createModelElement(grammarAccess.getListItemTypeRule());
	        }
       		setWithLastConsumed($current, "typeName", lv_typeName_0_2, null);
	    }
    |		lv_typeName_0_3=	'hazard' 
        newLeafNode(lv_typeName_0_3, grammarAccess.getListItemTypeAccess().getTypeNameHazardKeyword_0_2());
 
	    {
	        if ($current==null) {
	            $current = createModelElement(grammarAccess.getListItemTypeRule());
	        }
       		setWithLastConsumed($current, "typeName", lv_typeName_0_3, null);
	    }
    |		lv_typeName_0_4=	'constraint' 
        newLeafNode(lv_typeName_0_4, grammarAccess.getListItemTypeAccess().getTypeNameConstraintKeyword_0_3());
 
	    {
	        if ($current==null) {
	            $current = createModelElement(grammarAccess.getListItemTypeRule());
	        }
       		setWithLastConsumed($current, "typeName", lv_typeName_0_4, null);
	    }


)
)
;
		lv_name_1_0=RULE_ID
			newLeafNode(lv_name_1_0, grammarAccess.getListItemAccess().getNameIDTerminalRuleCall_1_0()); 
       			"name",
        		lv_name_1_0, 
)+	otherlv_5='}' 
)+	otherlv_8=')' 
)+	otherlv_11=']' 
		lv_id_1_0=RULE_ID
			newLeafNode(lv_id_1_0, grammarAccess.getSpecificationAccess().getIdIDTerminalRuleCall_1_0()); 
       			"id",
        		lv_id_1_0, 
		lv_id_1_0=RULE_ID
			newLeafNode(lv_id_1_0, grammarAccess.getRefinementAccess().getIdIDTerminalRuleCall_1_0()); 
       			"id",
        		lv_id_1_0, 
		lv_id_1_0=RULE_ID
			newLeafNode(lv_id_1_0, grammarAccess.getIntentAccess().getIdIDTerminalRuleCall_1_0()); 
       			"id",
        		lv_id_1_0, 
entryRuleIntentType returns [String current=null] 
	{ newCompositeNode(grammarAccess.getIntentTypeRule()); } 
	 { $current=$iv_ruleIntentType.current.getText(); }  
ruleIntentType returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
	kw='basic' 
        $current.merge(kw);
        newLeafNode(kw, grammarAccess.getIntentTypeAccess().getBasicKeyword_0()); 
    |
	kw='purpose' 
        $current.merge(kw);
        newLeafNode(kw, grammarAccess.getIntentTypeAccess().getPurposeKeyword_1()); 
    |
	kw='principles' 
        $current.merge(kw);
        newLeafNode(kw, grammarAccess.getIntentTypeAccess().getPrinciplesKeyword_2()); 
    |
	kw='models' 
        $current.merge(kw);
        newLeafNode(kw, grammarAccess.getIntentTypeAccess().getModelsKeyword_3()); 
    |
	kw='design' 
        $current.merge(kw);
        newLeafNode(kw, grammarAccess.getIntentTypeAccess().getDesignKeyword_4()); 
    |
	kw='implementation' 
        $current.merge(kw);
        newLeafNode(kw, grammarAccess.getIntentTypeAccess().getImplementationKeyword_5()); 
    |
	kw='operation' 
        $current.merge(kw);
        newLeafNode(kw, grammarAccess.getIntentTypeAccess().getOperationKeyword_6()); 
    ;
		lv_id_1_0=RULE_ID
			newLeafNode(lv_id_1_0, grammarAccess.getDecompositionAccess().getIdIDTerminalRuleCall_1_0()); 
       			"id",
        		lv_id_1_0, 
entryRuleDecompositionType returns [String current=null] 
	{ newCompositeNode(grammarAccess.getDecompositionTypeRule()); } 
	 { $current=$iv_ruleDecompositionType.current.getText(); }  
ruleDecompositionType returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
	kw='environment' 
        $current.merge(kw);
        newLeafNode(kw, grammarAccess.getDecompositionTypeAccess().getEnvironmentKeyword_0()); 
    |
	kw='operator' 
        $current.merge(kw);
        newLeafNode(kw, grammarAccess.getDecompositionTypeAccess().getOperatorKeyword_1()); 
    |
	kw='system' 
        $current.merge(kw);
        newLeafNode(kw, grammarAccess.getDecompositionTypeAccess().getSystemKeyword_2()); 
    |
	kw='verification' 
        $current.merge(kw);
        newLeafNode(kw, grammarAccess.getDecompositionTypeAccess().getVerificationKeyword_3()); 
    ;
entryRuleDocItemType returns [String current=null] 
	{ newCompositeNode(grammarAccess.getDocItemTypeRule()); } 
	 { $current=$iv_ruleDocItemType.current.getText(); }  
ruleDocItemType returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
	kw='condition' 
        $current.merge(kw);
        newLeafNode(kw, grammarAccess.getDocItemTypeAccess().getConditionKeyword_0()); 
    |
	kw='figure' 
        $current.merge(kw);
        newLeafNode(kw, grammarAccess.getDocItemTypeAccess().getFigureKeyword_1()); 
    |
	kw='break' 
        $current.merge(kw);
        newLeafNode(kw, grammarAccess.getDocItemTypeAccess().getBreakKeyword_2()); 
    |
	kw='model' 
        $current.merge(kw);
        newLeafNode(kw, grammarAccess.getDocItemTypeAccess().getModelKeyword_3()); 
    |
	kw='paragraph' 
        $current.merge(kw);
        newLeafNode(kw, grammarAccess.getDocItemTypeAccess().getParagraphKeyword_4()); 
    |
	kw='section' 
        $current.merge(kw);
        newLeafNode(kw, grammarAccess.getDocItemTypeAccess().getSectionKeyword_5()); 
    |
	kw='table' 
        $current.merge(kw);
        newLeafNode(kw, grammarAccess.getDocItemTypeAccess().getTableKeyword_6()); 
    ;
		lv_id_1_0=RULE_ID
			newLeafNode(lv_id_1_0, grammarAccess.getDocItemAccess().getIdIDTerminalRuleCall_1_0()); 
       			"id",
        		lv_id_1_0, 
entryRuleModelType returns [String current=null] 
	{ newCompositeNode(grammarAccess.getModelTypeRule()); } 
	 { $current=$iv_ruleModelType.current.getText(); }  
ruleModelType returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
	kw='output' 
        $current.merge(kw);
        newLeafNode(kw, grammarAccess.getModelTypeAccess().getOutputKeyword_0()); 
    |
	kw='mode' 
        $current.merge(kw);
        newLeafNode(kw, grammarAccess.getModelTypeAccess().getModeKeyword_1()); 
    |
	kw='state' 
        $current.merge(kw);
        newLeafNode(kw, grammarAccess.getModelTypeAccess().getStateKeyword_2()); 
    |
	kw='macro' 
        $current.merge(kw);
        newLeafNode(kw, grammarAccess.getModelTypeAccess().getMacroKeyword_3()); 
    |
	kw='function' 
        $current.merge(kw);
        newLeafNode(kw, grammarAccess.getModelTypeAccess().getFunctionKeyword_4()); 
    |
	kw='input' 
        $current.merge(kw);
        newLeafNode(kw, grammarAccess.getModelTypeAccess().getInputKeyword_5()); 
    ;
		lv_id_1_0=RULE_ID
			newLeafNode(lv_id_1_0, grammarAccess.getModelItemAccess().getIdIDTerminalRuleCall_1_0()); 
       			"id",
        		lv_id_1_0, 
entryRuleListItemType returns [String current=null] 
	{ newCompositeNode(grammarAccess.getListItemTypeRule()); } 
	 { $current=$iv_ruleListItemType.current.getText(); }  
ruleListItemType returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
	kw='requirement' 
        $current.merge(kw);
        newLeafNode(kw, grammarAccess.getListItemTypeAccess().getRequirementKeyword_0()); 
    |
	kw='goal' 
        $current.merge(kw);
        newLeafNode(kw, grammarAccess.getListItemTypeAccess().getGoalKeyword_1()); 
    |
	kw='hazard' 
        $current.merge(kw);
        newLeafNode(kw, grammarAccess.getListItemTypeAccess().getHazardKeyword_2()); 
    |
	kw='constraint' 
        $current.merge(kw);
        newLeafNode(kw, grammarAccess.getListItemTypeAccess().getConstraintKeyword_3()); 
    ;
		lv_id_1_0=RULE_ID
			newLeafNode(lv_id_1_0, grammarAccess.getListItemAccess().getIdIDTerminalRuleCall_1_0()); 
       			"id",
        		lv_id_1_0, 
)*	otherlv_5='}' 
)*	otherlv_8=')' 
)*	otherlv_11=']' 
@@ -83,18 +83,18 @@ ruleSpecification returns [EObject current=null]
     }
 (
 (
-		lv_id_1_0=RULE_ID
+		lv_name_1_0=RULE_ID
 		{
-			newLeafNode(lv_id_1_0, grammarAccess.getSpecificationAccess().getIdIDTerminalRuleCall_1_0()); 
+			newLeafNode(lv_name_1_0, grammarAccess.getSpecificationAccess().getNameIDTerminalRuleCall_1_0()); 
 		}
 		{
 	        if ($current==null) {
 	            $current = createModelElement(grammarAccess.getSpecificationRule());
 	        }
        		setWithLastConsumed(
        			$current, 
-       			"id",
-        		lv_id_1_0, 
+       			"name",
+        		lv_name_1_0, 
         		"ID");
 	    }
 
@@ -144,18 +144,18 @@ ruleRefinement returns [EObject current=null]
     }
 (
 (
-		lv_id_1_0=RULE_ID
+		lv_name_1_0=RULE_ID
 		{
-			newLeafNode(lv_id_1_0, grammarAccess.getRefinementAccess().getIdIDTerminalRuleCall_1_0()); 
+			newLeafNode(lv_name_1_0, grammarAccess.getRefinementAccess().getNameIDTerminalRuleCall_1_0()); 
 		}
 		{
 	        if ($current==null) {
 	            $current = createModelElement(grammarAccess.getRefinementRule());
 	        }
        		setWithLastConsumed(
        			$current, 
-       			"id",
-        		lv_id_1_0, 
+       			"name",
+        		lv_name_1_0, 
         		"ID");
 	    }
 
@@ -237,18 +237,18 @@ ruleIntent returns [EObject current=null]
 )
 )(
 (
-		lv_id_1_0=RULE_ID
+		lv_name_1_0=RULE_ID
 		{
-			newLeafNode(lv_id_1_0, grammarAccess.getIntentAccess().getIdIDTerminalRuleCall_1_0()); 
+			newLeafNode(lv_name_1_0, grammarAccess.getIntentAccess().getNameIDTerminalRuleCall_1_0()); 
 		}
 		{
 	        if ($current==null) {
 	            $current = createModelElement(grammarAccess.getIntentRule());
 	        }
        		setWithLastConsumed(
        			$current, 
-       			"id",
-        		lv_id_1_0, 
+       			"name",
+        		lv_name_1_0, 
         		"ID");
 	    }
 
@@ -297,69 +297,111 @@ ruleIntent returns [EObject current=null]
 
 
 // Entry rule entryRuleIntentType
-entryRuleIntentType returns [String current=null] 
+entryRuleIntentType returns [EObject current=null] 
 	:
-	{ newCompositeNode(grammarAccess.getIntentTypeRule()); } 
+	{ newCompositeNode(grammarAccess.getIntentTypeRule()); }
 	 iv_ruleIntentType=ruleIntentType 
-	 { $current=$iv_ruleIntentType.current.getText(); }  
+	 { $current=$iv_ruleIntentType.current; } 
 	 EOF 
 ;
 
 // Rule IntentType
-ruleIntentType returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
+ruleIntentType returns [EObject current=null] 
     @init { enterRule(); 
     }
     @after { leaveRule(); }:
 (
-	kw='basic' 
+(
+(
+		lv_typeName_0_1=	'basic' 
     {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getIntentTypeAccess().getBasicKeyword_0()); 
+        newLeafNode(lv_typeName_0_1, grammarAccess.getIntentTypeAccess().getTypeNameBasicKeyword_0_0());
     }
+ 
+	    {
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getIntentTypeRule());
+	        }
+       		setWithLastConsumed($current, "typeName", lv_typeName_0_1, null);
+	    }
 
-    |
-	kw='purpose' 
+    |		lv_typeName_0_2=	'purpose' 
     {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getIntentTypeAccess().getPurposeKeyword_1()); 
+        newLeafNode(lv_typeName_0_2, grammarAccess.getIntentTypeAccess().getTypeNamePurposeKeyword_0_1());
     }
+ 
+	    {
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getIntentTypeRule());
+	        }
+       		setWithLastConsumed($current, "typeName", lv_typeName_0_2, null);
+	    }
 
-    |
-	kw='principles' 
+    |		lv_typeName_0_3=	'principles' 
     {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getIntentTypeAccess().getPrinciplesKeyword_2()); 
+        newLeafNode(lv_typeName_0_3, grammarAccess.getIntentTypeAccess().getTypeNamePrinciplesKeyword_0_2());
     }
+ 
+	    {
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getIntentTypeRule());
+	        }
+       		setWithLastConsumed($current, "typeName", lv_typeName_0_3, null);
+	    }
 
-    |
-	kw='models' 
+    |		lv_typeName_0_4=	'models' 
     {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getIntentTypeAccess().getModelsKeyword_3()); 
+        newLeafNode(lv_typeName_0_4, grammarAccess.getIntentTypeAccess().getTypeNameModelsKeyword_0_3());
     }
+ 
+	    {
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getIntentTypeRule());
+	        }
+       		setWithLastConsumed($current, "typeName", lv_typeName_0_4, null);
+	    }
 
-    |
-	kw='design' 
+    |		lv_typeName_0_5=	'design' 
     {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getIntentTypeAccess().getDesignKeyword_4()); 
+        newLeafNode(lv_typeName_0_5, grammarAccess.getIntentTypeAccess().getTypeNameDesignKeyword_0_4());
     }
+ 
+	    {
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getIntentTypeRule());
+	        }
+       		setWithLastConsumed($current, "typeName", lv_typeName_0_5, null);
+	    }
 
-    |
-	kw='implementation' 
+    |		lv_typeName_0_6=	'implementation' 
     {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getIntentTypeAccess().getImplementationKeyword_5()); 
+        newLeafNode(lv_typeName_0_6, grammarAccess.getIntentTypeAccess().getTypeNameImplementationKeyword_0_5());
     }
+ 
+	    {
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getIntentTypeRule());
+	        }
+       		setWithLastConsumed($current, "typeName", lv_typeName_0_6, null);
+	    }
 
-    |
-	kw='operation' 
+    |		lv_typeName_0_7=	'operation' 
     {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getIntentTypeAccess().getOperationKeyword_6()); 
+        newLeafNode(lv_typeName_0_7, grammarAccess.getIntentTypeAccess().getTypeNameOperationKeyword_0_6());
     }
+ 
+	    {
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getIntentTypeRule());
+	        }
+       		setWithLastConsumed($current, "typeName", lv_typeName_0_7, null);
+	    }
+
 )
-    ;
+
+)
+)
+;
 
 
 
@@ -399,18 +441,18 @@ ruleDecomposition returns [EObject current=null]
 )
 )(
 (
-		lv_id_1_0=RULE_ID
+		lv_name_1_0=RULE_ID
 		{
-			newLeafNode(lv_id_1_0, grammarAccess.getDecompositionAccess().getIdIDTerminalRuleCall_1_0()); 
+			newLeafNode(lv_name_1_0, grammarAccess.getDecompositionAccess().getNameIDTerminalRuleCall_1_0()); 
 		}
 		{
 	        if ($current==null) {
 	            $current = createModelElement(grammarAccess.getDecompositionRule());
 	        }
        		setWithLastConsumed(
        			$current, 
-       			"id",
-        		lv_id_1_0, 
+       			"name",
+        		lv_name_1_0, 
         		"ID");
 	    }
 
@@ -519,48 +561,75 @@ ruleDecomposition returns [EObject current=null]
 
 
 // Entry rule entryRuleDecompositionType
-entryRuleDecompositionType returns [String current=null] 
+entryRuleDecompositionType returns [EObject current=null] 
 	:
-	{ newCompositeNode(grammarAccess.getDecompositionTypeRule()); } 
+	{ newCompositeNode(grammarAccess.getDecompositionTypeRule()); }
 	 iv_ruleDecompositionType=ruleDecompositionType 
-	 { $current=$iv_ruleDecompositionType.current.getText(); }  
+	 { $current=$iv_ruleDecompositionType.current; } 
 	 EOF 
 ;
 
 // Rule DecompositionType
-ruleDecompositionType returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
+ruleDecompositionType returns [EObject current=null] 
     @init { enterRule(); 
     }
     @after { leaveRule(); }:
 (
-	kw='environment' 
+(
+(
+		lv_typeName_0_1=	'environment' 
     {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDecompositionTypeAccess().getEnvironmentKeyword_0()); 
+        newLeafNode(lv_typeName_0_1, grammarAccess.getDecompositionTypeAccess().getTypeNameEnvironmentKeyword_0_0());
     }
+ 
+	    {
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getDecompositionTypeRule());
+	        }
+       		setWithLastConsumed($current, "typeName", lv_typeName_0_1, null);
+	    }
 
-    |
-	kw='operator' 
+    |		lv_typeName_0_2=	'operator' 
     {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDecompositionTypeAccess().getOperatorKeyword_1()); 
+        newLeafNode(lv_typeName_0_2, grammarAccess.getDecompositionTypeAccess().getTypeNameOperatorKeyword_0_1());
     }
+ 
+	    {
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getDecompositionTypeRule());
+	        }
+       		setWithLastConsumed($current, "typeName", lv_typeName_0_2, null);
+	    }
 
-    |
-	kw='system' 
+    |		lv_typeName_0_3=	'system' 
     {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDecompositionTypeAccess().getSystemKeyword_2()); 
+        newLeafNode(lv_typeName_0_3, grammarAccess.getDecompositionTypeAccess().getTypeNameSystemKeyword_0_2());
     }
+ 
+	    {
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getDecompositionTypeRule());
+	        }
+       		setWithLastConsumed($current, "typeName", lv_typeName_0_3, null);
+	    }
 
-    |
-	kw='verification' 
+    |		lv_typeName_0_4=	'verification' 
     {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDecompositionTypeAccess().getVerificationKeyword_3()); 
+        newLeafNode(lv_typeName_0_4, grammarAccess.getDecompositionTypeAccess().getTypeNameVerificationKeyword_0_3());
     }
+ 
+	    {
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getDecompositionTypeRule());
+	        }
+       		setWithLastConsumed($current, "typeName", lv_typeName_0_4, null);
+	    }
+
+)
+
 )
-    ;
+)
+;
 
 
 
@@ -614,69 +683,111 @@ ruleDocument returns [EObject current=null]
 
 
 // Entry rule entryRuleDocItemType
-entryRuleDocItemType returns [String current=null] 
+entryRuleDocItemType returns [EObject current=null] 
 	:
-	{ newCompositeNode(grammarAccess.getDocItemTypeRule()); } 
+	{ newCompositeNode(grammarAccess.getDocItemTypeRule()); }
 	 iv_ruleDocItemType=ruleDocItemType 
-	 { $current=$iv_ruleDocItemType.current.getText(); }  
+	 { $current=$iv_ruleDocItemType.current; } 
 	 EOF 
 ;
 
 // Rule DocItemType
-ruleDocItemType returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
+ruleDocItemType returns [EObject current=null] 
     @init { enterRule(); 
     }
     @after { leaveRule(); }:
 (
-	kw='condition' 
+(
+(
+		lv_typeName_0_1=	'condition' 
     {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDocItemTypeAccess().getConditionKeyword_0()); 
+        newLeafNode(lv_typeName_0_1, grammarAccess.getDocItemTypeAccess().getTypeNameConditionKeyword_0_0());
     }
+ 
+	    {
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getDocItemTypeRule());
+	        }
+       		setWithLastConsumed($current, "typeName", lv_typeName_0_1, null);
+	    }
 
-    |
-	kw='figure' 
+    |		lv_typeName_0_2=	'figure' 
     {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDocItemTypeAccess().getFigureKeyword_1()); 
+        newLeafNode(lv_typeName_0_2, grammarAccess.getDocItemTypeAccess().getTypeNameFigureKeyword_0_1());
     }
+ 
+	    {
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getDocItemTypeRule());
+	        }
+       		setWithLastConsumed($current, "typeName", lv_typeName_0_2, null);
+	    }
 
-    |
-	kw='break' 
+    |		lv_typeName_0_3=	'break' 
     {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDocItemTypeAccess().getBreakKeyword_2()); 
+        newLeafNode(lv_typeName_0_3, grammarAccess.getDocItemTypeAccess().getTypeNameBreakKeyword_0_2());
     }
+ 
+	    {
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getDocItemTypeRule());
+	        }
+       		setWithLastConsumed($current, "typeName", lv_typeName_0_3, null);
+	    }
 
-    |
-	kw='model' 
+    |		lv_typeName_0_4=	'model' 
     {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDocItemTypeAccess().getModelKeyword_3()); 
+        newLeafNode(lv_typeName_0_4, grammarAccess.getDocItemTypeAccess().getTypeNameModelKeyword_0_3());
     }
+ 
+	    {
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getDocItemTypeRule());
+	        }
+       		setWithLastConsumed($current, "typeName", lv_typeName_0_4, null);
+	    }
 
-    |
-	kw='paragraph' 
+    |		lv_typeName_0_5=	'paragraph' 
     {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDocItemTypeAccess().getParagraphKeyword_4()); 
+        newLeafNode(lv_typeName_0_5, grammarAccess.getDocItemTypeAccess().getTypeNameParagraphKeyword_0_4());
     }
+ 
+	    {
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getDocItemTypeRule());
+	        }
+       		setWithLastConsumed($current, "typeName", lv_typeName_0_5, null);
+	    }
 
-    |
-	kw='section' 
+    |		lv_typeName_0_6=	'section' 
     {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDocItemTypeAccess().getSectionKeyword_5()); 
+        newLeafNode(lv_typeName_0_6, grammarAccess.getDocItemTypeAccess().getTypeNameSectionKeyword_0_5());
     }
+ 
+	    {
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getDocItemTypeRule());
+	        }
+       		setWithLastConsumed($current, "typeName", lv_typeName_0_6, null);
+	    }
 
-    |
-	kw='table' 
+    |		lv_typeName_0_7=	'table' 
     {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDocItemTypeAccess().getTableKeyword_6()); 
+        newLeafNode(lv_typeName_0_7, grammarAccess.getDocItemTypeAccess().getTypeNameTableKeyword_0_6());
     }
+ 
+	    {
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getDocItemTypeRule());
+	        }
+       		setWithLastConsumed($current, "typeName", lv_typeName_0_7, null);
+	    }
+
 )
-    ;
+
+)
+)
+;
 
 
 
@@ -716,18 +827,18 @@ ruleDocItem returns [EObject current=null]
 )
 )(
 (
-		lv_id_1_0=RULE_ID
+		lv_name_1_0=RULE_ID
 		{
-			newLeafNode(lv_id_1_0, grammarAccess.getDocItemAccess().getIdIDTerminalRuleCall_1_0()); 
+			newLeafNode(lv_name_1_0, grammarAccess.getDocItemAccess().getNameIDTerminalRuleCall_1_0()); 
 		}
 		{
 	        if ($current==null) {
 	            $current = createModelElement(grammarAccess.getDocItemRule());
 	        }
        		setWithLastConsumed(
        			$current, 
-       			"id",
-        		lv_id_1_0, 
+       			"name",
+        		lv_name_1_0, 
         		"ID");
 	    }
 
@@ -762,62 +873,99 @@ ruleDocItem returns [EObject current=null]
 
 
 // Entry rule entryRuleModelType
-entryRuleModelType returns [String current=null] 
+entryRuleModelType returns [EObject current=null] 
 	:
-	{ newCompositeNode(grammarAccess.getModelTypeRule()); } 
+	{ newCompositeNode(grammarAccess.getModelTypeRule()); }
 	 iv_ruleModelType=ruleModelType 
-	 { $current=$iv_ruleModelType.current.getText(); }  
+	 { $current=$iv_ruleModelType.current; } 
 	 EOF 
 ;
 
 // Rule ModelType
-ruleModelType returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
+ruleModelType returns [EObject current=null] 
     @init { enterRule(); 
     }
     @after { leaveRule(); }:
 (
-	kw='output' 
+(
+(
+		lv_typeName_0_1=	'output' 
     {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getModelTypeAccess().getOutputKeyword_0()); 
+        newLeafNode(lv_typeName_0_1, grammarAccess.getModelTypeAccess().getTypeNameOutputKeyword_0_0());
     }
+ 
+	    {
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getModelTypeRule());
+	        }
+       		setWithLastConsumed($current, "typeName", lv_typeName_0_1, null);
+	    }
 
-    |
-	kw='mode' 
+    |		lv_typeName_0_2=	'mode' 
     {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getModelTypeAccess().getModeKeyword_1()); 
+        newLeafNode(lv_typeName_0_2, grammarAccess.getModelTypeAccess().getTypeNameModeKeyword_0_1());
     }
+ 
+	    {
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getModelTypeRule());
+	        }
+       		setWithLastConsumed($current, "typeName", lv_typeName_0_2, null);
+	    }
 
-    |
-	kw='state' 
+    |		lv_typeName_0_3=	'state' 
     {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getModelTypeAccess().getStateKeyword_2()); 
+        newLeafNode(lv_typeName_0_3, grammarAccess.getModelTypeAccess().getTypeNameStateKeyword_0_2());
     }
+ 
+	    {
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getModelTypeRule());
+	        }
+       		setWithLastConsumed($current, "typeName", lv_typeName_0_3, null);
+	    }
 
-    |
-	kw='macro' 
+    |		lv_typeName_0_4=	'macro' 
     {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getModelTypeAccess().getMacroKeyword_3()); 
+        newLeafNode(lv_typeName_0_4, grammarAccess.getModelTypeAccess().getTypeNameMacroKeyword_0_3());
     }
+ 
+	    {
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getModelTypeRule());
+	        }
+       		setWithLastConsumed($current, "typeName", lv_typeName_0_4, null);
+	    }
 
-    |
-	kw='function' 
+    |		lv_typeName_0_5=	'function' 
     {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getModelTypeAccess().getFunctionKeyword_4()); 
+        newLeafNode(lv_typeName_0_5, grammarAccess.getModelTypeAccess().getTypeNameFunctionKeyword_0_4());
     }
+ 
+	    {
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getModelTypeRule());
+	        }
+       		setWithLastConsumed($current, "typeName", lv_typeName_0_5, null);
+	    }
 
-    |
-	kw='input' 
+    |		lv_typeName_0_6=	'input' 
     {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getModelTypeAccess().getInputKeyword_5()); 
+        newLeafNode(lv_typeName_0_6, grammarAccess.getModelTypeAccess().getTypeNameInputKeyword_0_5());
     }
+ 
+	    {
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getModelTypeRule());
+	        }
+       		setWithLastConsumed($current, "typeName", lv_typeName_0_6, null);
+	    }
+
 )
-    ;
+
+)
+)
+;
 
 
 
@@ -857,18 +1005,18 @@ ruleModelItem returns [EObject current=null]
 )
 )(
 (
-		lv_id_1_0=RULE_ID
+		lv_name_1_0=RULE_ID
 		{
-			newLeafNode(lv_id_1_0, grammarAccess.getModelItemAccess().getIdIDTerminalRuleCall_1_0()); 
+			newLeafNode(lv_name_1_0, grammarAccess.getModelItemAccess().getNameIDTerminalRuleCall_1_0()); 
 		}
 		{
 	        if ($current==null) {
 	            $current = createModelElement(grammarAccess.getModelItemRule());
 	        }
        		setWithLastConsumed(
        			$current, 
-       			"id",
-        		lv_id_1_0, 
+       			"name",
+        		lv_name_1_0, 
         		"ID");
 	    }
 
@@ -903,48 +1051,75 @@ ruleModelItem returns [EObject current=null]
 
 
 // Entry rule entryRuleListItemType
-entryRuleListItemType returns [String current=null] 
+entryRuleListItemType returns [EObject current=null] 
 	:
-	{ newCompositeNode(grammarAccess.getListItemTypeRule()); } 
+	{ newCompositeNode(grammarAccess.getListItemTypeRule()); }
 	 iv_ruleListItemType=ruleListItemType 
-	 { $current=$iv_ruleListItemType.current.getText(); }  
+	 { $current=$iv_ruleListItemType.current; } 
 	 EOF 
 ;
 
 // Rule ListItemType
-ruleListItemType returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
+ruleListItemType returns [EObject current=null] 
     @init { enterRule(); 
     }
     @after { leaveRule(); }:
 (
-	kw='requirement' 
+(
+(
+		lv_typeName_0_1=	'requirement' 
     {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getListItemTypeAccess().getRequirementKeyword_0()); 
+        newLeafNode(lv_typeName_0_1, grammarAccess.getListItemTypeAccess().getTypeNameRequirementKeyword_0_0());
     }
+ 
+	    {
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getListItemTypeRule());
+	        }
+       		setWithLastConsumed($current, "typeName", lv_typeName_0_1, null);
+	    }
 
-    |
-	kw='goal' 
+    |		lv_typeName_0_2=	'goal' 
     {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getListItemTypeAccess().getGoalKeyword_1()); 
+        newLeafNode(lv_typeName_0_2, grammarAccess.getListItemTypeAccess().getTypeNameGoalKeyword_0_1());
     }
+ 
+	    {
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getListItemTypeRule());
+	        }
+       		setWithLastConsumed($current, "typeName", lv_typeName_0_2, null);
+	    }
 
-    |
-	kw='hazard' 
+    |		lv_typeName_0_3=	'hazard' 
     {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getListItemTypeAccess().getHazardKeyword_2()); 
+        newLeafNode(lv_typeName_0_3, grammarAccess.getListItemTypeAccess().getTypeNameHazardKeyword_0_2());
     }
+ 
+	    {
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getListItemTypeRule());
+	        }
+       		setWithLastConsumed($current, "typeName", lv_typeName_0_3, null);
+	    }
 
-    |
-	kw='constraint' 
+    |		lv_typeName_0_4=	'constraint' 
     {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getListItemTypeAccess().getConstraintKeyword_3()); 
+        newLeafNode(lv_typeName_0_4, grammarAccess.getListItemTypeAccess().getTypeNameConstraintKeyword_0_3());
     }
+ 
+	    {
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getListItemTypeRule());
+	        }
+       		setWithLastConsumed($current, "typeName", lv_typeName_0_4, null);
+	    }
+
 )
-    ;
+
+)
+)
+;
 
 
 
@@ -984,18 +1159,18 @@ ruleListItem returns [EObject current=null]
 )
 )(
 (
-		lv_id_1_0=RULE_ID
+		lv_name_1_0=RULE_ID
 		{
-			newLeafNode(lv_id_1_0, grammarAccess.getListItemAccess().getIdIDTerminalRuleCall_1_0()); 
+			newLeafNode(lv_name_1_0, grammarAccess.getListItemAccess().getNameIDTerminalRuleCall_1_0()); 
 		}
 		{
 	        if ($current==null) {
 	            $current = createModelElement(grammarAccess.getListItemRule());
 	        }
        		setWithLastConsumed(
        			$current, 
-       			"id",
-        		lv_id_1_0, 
+       			"name",
+        		lv_name_1_0, 
         		"ID");
 	    }
 
@@ -1035,7 +1210,7 @@ ruleListItem returns [EObject current=null]
 	}
 
 )
-)*	otherlv_5='}' 
+)+	otherlv_5='}' 
     {
     	newLeafNode(otherlv_5, grammarAccess.getListItemAccess().getRightCurlyBracketKeyword_3_2());
     }
@@ -1056,7 +1231,7 @@ ruleListItem returns [EObject current=null]
 	}
 
 )
-)*	otherlv_8=')' 
+)+	otherlv_8=')' 
     {
     	newLeafNode(otherlv_8, grammarAccess.getListItemAccess().getRightParenthesisKeyword_4_2());
     }
@@ -1077,7 +1252,7 @@ ruleListItem returns [EObject current=null]
 	}
 
 )
-)*	otherlv_11=']' 
+)+	otherlv_11=']' 
     {
     	newLeafNode(otherlv_11, grammarAccess.getListItemAccess().getRightSquareBracketKeyword_5_2());
     }
https://github.com/nasa/CertWare/raw/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fparser%2Fantlr%2Finternal%2FInternalIntentSpecification.g
4fc8eaa413792493d9f6a86fe2901598cd519e9d
modified
https://github.com/nasa/CertWare/blob/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fparser%2Fantlr%2Finternal%2FInternalIntentSpecificationLexer.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fparser%2Fantlr%2Finternal%2FInternalIntentSpecificationLexer.java?ref=27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9
net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecificationLexer.java
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1270:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1270:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1270:11: ( '^' )?
                    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1270:11: '^'
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1270:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1272:10: ( ( '0' .. '9' )+ )
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1272:12: ( '0' .. '9' )+
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1272:12: ( '0' .. '9' )+
            	    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1272:13: '0' .. '9'
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1274:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1274:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1274:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
                    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1274:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
                    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1274:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
                    	    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1274:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
                    	    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1274:66: ~ ( ( '\\\\' | '\"' ) )
                    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1274:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
                    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1274:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
                    	    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1274:92: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
                    	    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1274:137: ~ ( ( '\\\\' | '\\'' ) )
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1276:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1276:19: '/*' ( options {greedy=false; } : . )* '*/'
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1276:24: ( options {greedy=false; } : . )*
            	    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1276:52: .
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1278:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1278:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1278:24: (~ ( ( '\\n' | '\\r' ) ) )*
            	    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1278:24: ~ ( ( '\\n' | '\\r' ) )
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1278:40: ( ( '\\r' )? '\\n' )?
                    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1278:41: ( '\\r' )? '\\n'
                    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1278:41: ( '\\r' )?
                            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1278:41: '\\r'
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1280:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1280:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1280:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1282:16: ( . )
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1282:18: .
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1095:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1095:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1095:11: ( '^' )?
                    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1095:11: '^'
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1095:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1097:10: ( ( '0' .. '9' )+ )
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1097:12: ( '0' .. '9' )+
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1097:12: ( '0' .. '9' )+
            	    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1097:13: '0' .. '9'
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1099:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1099:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1099:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
                    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1099:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
                    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1099:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
                    	    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1099:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
                    	    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1099:66: ~ ( ( '\\\\' | '\"' ) )
                    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1099:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
                    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1099:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
                    	    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1099:92: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
                    	    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1099:137: ~ ( ( '\\\\' | '\\'' ) )
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1101:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1101:19: '/*' ( options {greedy=false; } : . )* '*/'
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1101:24: ( options {greedy=false; } : . )*
            	    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1101:52: .
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1103:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1103:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1103:24: (~ ( ( '\\n' | '\\r' ) ) )*
            	    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1103:24: ~ ( ( '\\n' | '\\r' ) )
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1103:40: ( ( '\\r' )? '\\n' )?
                    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1103:41: ( '\\r' )? '\\n'
                    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1103:41: ( '\\r' )?
                            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1103:41: '\\r'
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1105:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1105:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1105:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1107:16: ( . )
            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1107:18: .
@@ -846,10 +846,10 @@ public final void mRULE_ID() throws RecognitionException {
         try {
             int _type = RULE_ID;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1095:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
-            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1095:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1270:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
+            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1270:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
             {
-            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1095:11: ( '^' )?
+            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1270:11: ( '^' )?
             int alt1=2;
             int LA1_0 = input.LA(1);
 
@@ -858,7 +858,7 @@ public final void mRULE_ID() throws RecognitionException {
             }
             switch (alt1) {
                 case 1 :
-                    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1095:11: '^'
+                    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1270:11: '^'
                     {
                     match('^'); 
 
@@ -876,7 +876,7 @@ public final void mRULE_ID() throws RecognitionException {
                 recover(mse);
                 throw mse;}
 
-            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1095:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1270:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
             loop2:
             do {
                 int alt2=2;
@@ -925,10 +925,10 @@ public final void mRULE_INT() throws RecognitionException {
         try {
             int _type = RULE_INT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1097:10: ( ( '0' .. '9' )+ )
-            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1097:12: ( '0' .. '9' )+
+            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1272:10: ( ( '0' .. '9' )+ )
+            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1272:12: ( '0' .. '9' )+
             {
-            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1097:12: ( '0' .. '9' )+
+            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1272:12: ( '0' .. '9' )+
             int cnt3=0;
             loop3:
             do {
@@ -942,7 +942,7 @@ public final void mRULE_INT() throws RecognitionException {
 
                 switch (alt3) {
             	case 1 :
-            	    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1097:13: '0' .. '9'
+            	    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1272:13: '0' .. '9'
             	    {
             	    matchRange('0','9'); 
 
@@ -974,10 +974,10 @@ public final void mRULE_STRING() throws RecognitionException {
         try {
             int _type = RULE_STRING;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1099:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
-            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1099:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1274:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
+            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1274:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
             {
-            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1099:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1274:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
             int alt6=2;
             int LA6_0 = input.LA(1);
 
@@ -995,10 +995,10 @@ else if ( (LA6_0=='\'') ) {
             }
             switch (alt6) {
                 case 1 :
-                    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1099:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+                    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1274:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
                     {
                     match('\"'); 
-                    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1099:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
+                    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1274:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
                     loop4:
                     do {
                         int alt4=3;
@@ -1014,7 +1014,7 @@ else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=
 
                         switch (alt4) {
                     	case 1 :
-                    	    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1099:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
+                    	    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1274:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
                     	    {
                     	    match('\\'); 
                     	    if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) {
@@ -1030,7 +1030,7 @@ else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1099:66: ~ ( ( '\\\\' | '\"' ) )
+                    	    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1274:66: ~ ( ( '\\\\' | '\"' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -1055,10 +1055,10 @@ else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=
                     }
                     break;
                 case 2 :
-                    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1099:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+                    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1274:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
                     {
                     match('\''); 
-                    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1099:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
+                    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1274:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
                     loop5:
                     do {
                         int alt5=3;
@@ -1074,7 +1074,7 @@ else if ( ((LA5_0>='\u0000' && LA5_0<='&')||(LA5_0>='(' && LA5_0<='[')||(LA5_0>=
 
                         switch (alt5) {
                     	case 1 :
-                    	    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1099:92: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
+                    	    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1274:92: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
                     	    {
                     	    match('\\'); 
                     	    if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) {
@@ -1090,7 +1090,7 @@ else if ( ((LA5_0>='\u0000' && LA5_0<='&')||(LA5_0>='(' && LA5_0<='[')||(LA5_0>=
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1099:137: ~ ( ( '\\\\' | '\\'' ) )
+                    	    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1274:137: ~ ( ( '\\\\' | '\\'' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -1133,12 +1133,12 @@ public final void mRULE_ML_COMMENT() throws RecognitionException {
         try {
             int _type = RULE_ML_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1101:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1101:19: '/*' ( options {greedy=false; } : . )* '*/'
+            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1276:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1276:19: '/*' ( options {greedy=false; } : . )* '*/'
             {
             match("/*"); 
 
-            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1101:24: ( options {greedy=false; } : . )*
+            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1276:24: ( options {greedy=false; } : . )*
             loop7:
             do {
                 int alt7=2;
@@ -1163,7 +1163,7 @@ else if ( ((LA7_0>='\u0000' && LA7_0<=')')||(LA7_0>='+' && LA7_0<='\uFFFF')) ) {
 
                 switch (alt7) {
             	case 1 :
-            	    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1101:52: .
+            	    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1276:52: .
             	    {
             	    matchAny(); 
 
@@ -1193,12 +1193,12 @@ public final void mRULE_SL_COMMENT() throws RecognitionException {
         try {
             int _type = RULE_SL_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1103:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
-            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1103:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1278:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1278:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
             {
             match("//"); 
 
-            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1103:24: (~ ( ( '\\n' | '\\r' ) ) )*
+            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1278:24: (~ ( ( '\\n' | '\\r' ) ) )*
             loop8:
             do {
                 int alt8=2;
@@ -1211,7 +1211,7 @@ public final void mRULE_SL_COMMENT() throws RecognitionException {
 
                 switch (alt8) {
             	case 1 :
-            	    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1103:24: ~ ( ( '\\n' | '\\r' ) )
+            	    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1278:24: ~ ( ( '\\n' | '\\r' ) )
             	    {
             	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
             	        input.consume();
@@ -1231,7 +1231,7 @@ public final void mRULE_SL_COMMENT() throws RecognitionException {
                 }
             } while (true);
 
-            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1103:40: ( ( '\\r' )? '\\n' )?
+            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1278:40: ( ( '\\r' )? '\\n' )?
             int alt10=2;
             int LA10_0 = input.LA(1);
 
@@ -1240,9 +1240,9 @@ public final void mRULE_SL_COMMENT() throws RecognitionException {
             }
             switch (alt10) {
                 case 1 :
-                    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1103:41: ( '\\r' )? '\\n'
+                    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1278:41: ( '\\r' )? '\\n'
                     {
-                    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1103:41: ( '\\r' )?
+                    // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1278:41: ( '\\r' )?
                     int alt9=2;
                     int LA9_0 = input.LA(1);
 
@@ -1251,7 +1251,7 @@ public final void mRULE_SL_COMMENT() throws RecognitionException {
                     }
                     switch (alt9) {
                         case 1 :
-                            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1103:41: '\\r'
+                            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1278:41: '\\r'
                             {
                             match('\r'); 
 
@@ -1283,10 +1283,10 @@ public final void mRULE_WS() throws RecognitionException {
         try {
             int _type = RULE_WS;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1105:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
-            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1105:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1280:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1280:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             {
-            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1105:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1280:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             int cnt11=0;
             loop11:
             do {
@@ -1340,8 +1340,8 @@ public final void mRULE_ANY_OTHER() throws RecognitionException {
         try {
             int _type = RULE_ANY_OTHER;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1107:16: ( . )
-            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1107:18: .
+            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1282:16: ( . )
+            // ../net.certware.intent/src-gen/net/certware/intent/parser/antlr/internal/InternalIntentSpecification.g:1282:18: .
             {
             matchAny(); 
 
https://github.com/nasa/CertWare/raw/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fparser%2Fantlr%2Finternal%2FInternalIntentSpecificationLexer.java
18f7294e0031576cfeb922c0d98957cc758ceb78
modified
https://github.com/nasa/CertWare/blob/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fserializer%2FIntentSpecificationSemanticSequencer.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fserializer%2FIntentSpecificationSemanticSequencer.java?ref=27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9
net.certware.intent/src-gen/net/certware/intent/serializer/IntentSpecificationSemanticSequencer.java
import net.certware.intent.intentSpecification.DecompositionType;
import net.certware.intent.intentSpecification.DocItemType;
import net.certware.intent.intentSpecification.IntentType;
import net.certware.intent.intentSpecification.ListItemType;
import net.certware.intent.intentSpecification.ModelType;
			case IntentSpecificationPackage.DECOMPOSITION_TYPE:
				if(context == grammarAccess.getDecompositionTypeRule()) {
					sequence_DecompositionType(context, (DecompositionType) semanticObject); 
					return; 
				}
				else break;
			case IntentSpecificationPackage.DOC_ITEM_TYPE:
				if(context == grammarAccess.getDocItemTypeRule()) {
					sequence_DocItemType(context, (DocItemType) semanticObject); 
					return; 
				}
				else break;
			case IntentSpecificationPackage.INTENT_TYPE:
				if(context == grammarAccess.getIntentTypeRule()) {
					sequence_IntentType(context, (IntentType) semanticObject); 
					return; 
				}
				else break;
			case IntentSpecificationPackage.LIST_ITEM_TYPE:
				if(context == grammarAccess.getListItemTypeRule()) {
					sequence_ListItemType(context, (ListItemType) semanticObject); 
					return; 
				}
				else break;
			case IntentSpecificationPackage.MODEL_TYPE:
				if(context == grammarAccess.getModelTypeRule()) {
					sequence_ModelType(context, (ModelType) semanticObject); 
					return; 
				}
				else break;
	/**
	 * Constraint:
	 *     (typeName='environment' | typeName='operator' | typeName='system' | typeName='verification')
	 */
	protected void sequence_DecompositionType(EObject context, DecompositionType semanticObject) {
		genericSequencer.createSequence(context, semanticObject);
	}
	
	
	 *         name=ID 
	 *     (
	 *         typeName='condition' | 
	 *         typeName='figure' | 
	 *         typeName='break' | 
	 *         typeName='model' | 
	 *         typeName='paragraph' | 
	 *         typeName='section' | 
	 *         typeName='table'
	 *     )
	 */
	protected void sequence_DocItemType(EObject context, DocItemType semanticObject) {
		genericSequencer.createSequence(context, semanticObject);
	}
	
	
	/**
	 * Constraint:
	 *     (type=DocItemType name=ID ref=STRING)
			if(transientValues.isValueTransient(semanticObject, IntentSpecificationPackage.Literals.DOC_ITEM__NAME) == ValueTransient.YES)
				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, IntentSpecificationPackage.Literals.DOC_ITEM__NAME));
		feeder.accept(grammarAccess.getDocItemAccess().getNameIDTerminalRuleCall_1_0(), semanticObject.getName());
	 *     (
	 *         typeName='basic' | 
	 *         typeName='purpose' | 
	 *         typeName='principles' | 
	 *         typeName='models' | 
	 *         typeName='design' | 
	 *         typeName='implementation' | 
	 *         typeName='operation'
	 *     )
	 */
	protected void sequence_IntentType(EObject context, IntentType semanticObject) {
		genericSequencer.createSequence(context, semanticObject);
	}
	
	
	/**
	 * Constraint:
	 *     (type=IntentType name=ID desc=STRING decompositions+=Decomposition+)
	/**
	 * Constraint:
	 *     (typeName='requirement' | typeName='goal' | typeName='hazard' | typeName='constraint')
	 */
	protected void sequence_ListItemType(EObject context, ListItemType semanticObject) {
		genericSequencer.createSequence(context, semanticObject);
	}
	
	
	 *         name=ID 
	 *     (type=ModelType name=ID desc=STRING)
			if(transientValues.isValueTransient(semanticObject, IntentSpecificationPackage.Literals.MODEL_ITEM__NAME) == ValueTransient.YES)
				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, IntentSpecificationPackage.Literals.MODEL_ITEM__NAME));
		feeder.accept(grammarAccess.getModelItemAccess().getNameIDTerminalRuleCall_1_0(), semanticObject.getName());
	 *     (
	 *         typeName='output' | 
	 *         typeName='mode' | 
	 *         typeName='state' | 
	 *         typeName='macro' | 
	 *         typeName='function' | 
	 *         typeName='input'
	 *     )
	 */
	protected void sequence_ModelType(EObject context, ModelType semanticObject) {
		genericSequencer.createSequence(context, semanticObject);
	}
	
	
	/**
	 * Constraint:
	 *     (name=ID desc=STRING intents+=Intent+)
	 *     (name=ID refinements+=Refinement+)
EObject context  DecompositionType semanticObject
net.certware.intent/src-gen/net/certware/intent/serializer/IntentSpecificationSemanticSequencer.java
genericSequencer.createSequence(context, semanticObject);
void sequence_DecompositionType(EObject context, DecompositionType semanticObject)
EObject context  DocItemType semanticObject
net.certware.intent/src-gen/net/certware/intent/serializer/IntentSpecificationSemanticSequencer.java
genericSequencer.createSequence(context, semanticObject);
void sequence_DocItemType(EObject context, DocItemType semanticObject)
EObject context  IntentType semanticObject
net.certware.intent/src-gen/net/certware/intent/serializer/IntentSpecificationSemanticSequencer.java
genericSequencer.createSequence(context, semanticObject);
void sequence_IntentType(EObject context, IntentType semanticObject)
EObject context  ListItemType semanticObject
net.certware.intent/src-gen/net/certware/intent/serializer/IntentSpecificationSemanticSequencer.java
genericSequencer.createSequence(context, semanticObject);
void sequence_ListItemType(EObject context, ListItemType semanticObject)
EObject context  ModelType semanticObject
net.certware.intent/src-gen/net/certware/intent/serializer/IntentSpecificationSemanticSequencer.java
genericSequencer.createSequence(context, semanticObject);
void sequence_ModelType(EObject context, ModelType semanticObject)
	 *         id=ID 
	 *     (type=DocItemType id=ID ref=STRING)
			if(transientValues.isValueTransient(semanticObject, IntentSpecificationPackage.Literals.DOC_ITEM__ID) == ValueTransient.YES)
				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, IntentSpecificationPackage.Literals.DOC_ITEM__ID));
		feeder.accept(grammarAccess.getDocItemAccess().getIdIDTerminalRuleCall_1_0(), semanticObject.getId());
	 *     (type=IntentType id=ID desc=STRING decompositions+=Decomposition+)
	 *         id=ID 
	 *     (type=ModelType id=ID desc=STRING)
			if(transientValues.isValueTransient(semanticObject, IntentSpecificationPackage.Literals.MODEL_ITEM__ID) == ValueTransient.YES)
				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, IntentSpecificationPackage.Literals.MODEL_ITEM__ID));
		feeder.accept(grammarAccess.getModelItemAccess().getIdIDTerminalRuleCall_1_0(), semanticObject.getId());
	 *     (id=ID desc=STRING intents+=Intent+)
	 *     (id=ID refinements+=Refinement+)
@@ -3,12 +3,17 @@
 import com.google.inject.Inject;
 import com.google.inject.Provider;
 import net.certware.intent.intentSpecification.Decomposition;
+import net.certware.intent.intentSpecification.DecompositionType;
 import net.certware.intent.intentSpecification.DocItem;
+import net.certware.intent.intentSpecification.DocItemType;
 import net.certware.intent.intentSpecification.Document;
 import net.certware.intent.intentSpecification.Intent;
 import net.certware.intent.intentSpecification.IntentSpecificationPackage;
+import net.certware.intent.intentSpecification.IntentType;
 import net.certware.intent.intentSpecification.ListItem;
+import net.certware.intent.intentSpecification.ListItemType;
 import net.certware.intent.intentSpecification.ModelItem;
+import net.certware.intent.intentSpecification.ModelType;
 import net.certware.intent.intentSpecification.Refinement;
 import net.certware.intent.intentSpecification.Specification;
 import net.certware.intent.services.IntentSpecificationGrammarAccess;
@@ -38,12 +43,24 @@ public void createSequence(EObject context, EObject semanticObject) {
 					return; 
 				}
 				else break;
+			case IntentSpecificationPackage.DECOMPOSITION_TYPE:
+				if(context == grammarAccess.getDecompositionTypeRule()) {
+					sequence_DecompositionType(context, (DecompositionType) semanticObject); 
+					return; 
+				}
+				else break;
 			case IntentSpecificationPackage.DOC_ITEM:
 				if(context == grammarAccess.getDocItemRule()) {
 					sequence_DocItem(context, (DocItem) semanticObject); 
 					return; 
 				}
 				else break;
+			case IntentSpecificationPackage.DOC_ITEM_TYPE:
+				if(context == grammarAccess.getDocItemTypeRule()) {
+					sequence_DocItemType(context, (DocItemType) semanticObject); 
+					return; 
+				}
+				else break;
 			case IntentSpecificationPackage.DOCUMENT:
 				if(context == grammarAccess.getDocumentRule()) {
 					sequence_Document(context, (Document) semanticObject); 
@@ -56,18 +73,36 @@ public void createSequence(EObject context, EObject semanticObject) {
 					return; 
 				}
 				else break;
+			case IntentSpecificationPackage.INTENT_TYPE:
+				if(context == grammarAccess.getIntentTypeRule()) {
+					sequence_IntentType(context, (IntentType) semanticObject); 
+					return; 
+				}
+				else break;
 			case IntentSpecificationPackage.LIST_ITEM:
 				if(context == grammarAccess.getListItemRule()) {
 					sequence_ListItem(context, (ListItem) semanticObject); 
 					return; 
 				}
 				else break;
+			case IntentSpecificationPackage.LIST_ITEM_TYPE:
+				if(context == grammarAccess.getListItemTypeRule()) {
+					sequence_ListItemType(context, (ListItemType) semanticObject); 
+					return; 
+				}
+				else break;
 			case IntentSpecificationPackage.MODEL_ITEM:
 				if(context == grammarAccess.getModelItemRule()) {
 					sequence_ModelItem(context, (ModelItem) semanticObject); 
 					return; 
 				}
 				else break;
+			case IntentSpecificationPackage.MODEL_TYPE:
+				if(context == grammarAccess.getModelTypeRule()) {
+					sequence_ModelType(context, (ModelType) semanticObject); 
+					return; 
+				}
+				else break;
 			case IntentSpecificationPackage.REFINEMENT:
 				if(context == grammarAccess.getRefinementRule()) {
 					sequence_Refinement(context, (Refinement) semanticObject); 
@@ -84,11 +119,20 @@ public void createSequence(EObject context, EObject semanticObject) {
 		if (errorAcceptor != null) errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context));
 	}
 	
+	/**
+	 * Constraint:
+	 *     (typeName='environment' | typeName='operator' | typeName='system' | typeName='verification')
+	 */
+	protected void sequence_DecompositionType(EObject context, DecompositionType semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
 	/**
 	 * Constraint:
 	 *     (
 	 *         type=DecompositionType 
-	 *         id=ID 
+	 *         name=ID 
 	 *         desc=STRING 
 	 *         documents+=Document* 
 	 *         models+=ModelItem* 
@@ -102,21 +146,38 @@ protected void sequence_Decomposition(EObject context, Decomposition semanticObj
 	
 	/**
 	 * Constraint:
-	 *     (type=DocItemType id=ID ref=STRING)
+	 *     (
+	 *         typeName='condition' | 
+	 *         typeName='figure' | 
+	 *         typeName='break' | 
+	 *         typeName='model' | 
+	 *         typeName='paragraph' | 
+	 *         typeName='section' | 
+	 *         typeName='table'
+	 *     )
+	 */
+	protected void sequence_DocItemType(EObject context, DocItemType semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (type=DocItemType name=ID ref=STRING)
 	 */
 	protected void sequence_DocItem(EObject context, DocItem semanticObject) {
 		if(errorAcceptor != null) {
 			if(transientValues.isValueTransient(semanticObject, IntentSpecificationPackage.Literals.DOC_ITEM__TYPE) == ValueTransient.YES)
 				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, IntentSpecificationPackage.Literals.DOC_ITEM__TYPE));
-			if(transientValues.isValueTransient(semanticObject, IntentSpecificationPackage.Literals.DOC_ITEM__ID) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, IntentSpecificationPackage.Literals.DOC_ITEM__ID));
+			if(transientValues.isValueTransient(semanticObject, IntentSpecificationPackage.Literals.DOC_ITEM__NAME) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, IntentSpecificationPackage.Literals.DOC_ITEM__NAME));
 			if(transientValues.isValueTransient(semanticObject, IntentSpecificationPackage.Literals.DOC_ITEM__REF) == ValueTransient.YES)
 				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, IntentSpecificationPackage.Literals.DOC_ITEM__REF));
 		}
 		INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
 		SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
 		feeder.accept(grammarAccess.getDocItemAccess().getTypeDocItemTypeParserRuleCall_0_0(), semanticObject.getType());
-		feeder.accept(grammarAccess.getDocItemAccess().getIdIDTerminalRuleCall_1_0(), semanticObject.getId());
+		feeder.accept(grammarAccess.getDocItemAccess().getNameIDTerminalRuleCall_1_0(), semanticObject.getName());
 		feeder.accept(grammarAccess.getDocItemAccess().getRefSTRINGTerminalRuleCall_2_0(), semanticObject.getRef());
 		feeder.finish();
 	}
@@ -133,18 +194,44 @@ protected void sequence_Document(EObject context, Document semanticObject) {
 	
 	/**
 	 * Constraint:
-	 *     (type=IntentType id=ID desc=STRING decompositions+=Decomposition+)
+	 *     (
+	 *         typeName='basic' | 
+	 *         typeName='purpose' | 
+	 *         typeName='principles' | 
+	 *         typeName='models' | 
+	 *         typeName='design' | 
+	 *         typeName='implementation' | 
+	 *         typeName='operation'
+	 *     )
+	 */
+	protected void sequence_IntentType(EObject context, IntentType semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (type=IntentType name=ID desc=STRING decompositions+=Decomposition+)
 	 */
 	protected void sequence_Intent(EObject context, Intent semanticObject) {
 		genericSequencer.createSequence(context, semanticObject);
 	}
 	
 	
+	/**
+	 * Constraint:
+	 *     (typeName='requirement' | typeName='goal' | typeName='hazard' | typeName='constraint')
+	 */
+	protected void sequence_ListItemType(EObject context, ListItemType semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
 	/**
 	 * Constraint:
 	 *     (
 	 *         type=ListItemType 
-	 *         id=ID 
+	 *         name=ID 
 	 *         desc=STRING 
 	 *         docReferences+=[DocItem|ID]* 
 	 *         itemReferences+=[ListItem|ID]* 
@@ -158,29 +245,45 @@ protected void sequence_ListItem(EObject context, ListItem semanticObject) {
 	
 	/**
 	 * Constraint:
-	 *     (type=ModelType id=ID desc=STRING)
+	 *     (type=ModelType name=ID desc=STRING)
 	 */
 	protected void sequence_ModelItem(EObject context, ModelItem semanticObject) {
 		if(errorAcceptor != null) {
 			if(transientValues.isValueTransient(semanticObject, IntentSpecificationPackage.Literals.MODEL_ITEM__TYPE) == ValueTransient.YES)
 				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, IntentSpecificationPackage.Literals.MODEL_ITEM__TYPE));
-			if(transientValues.isValueTransient(semanticObject, IntentSpecificationPackage.Literals.MODEL_ITEM__ID) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, IntentSpecificationPackage.Literals.MODEL_ITEM__ID));
+			if(transientValues.isValueTransient(semanticObject, IntentSpecificationPackage.Literals.MODEL_ITEM__NAME) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, IntentSpecificationPackage.Literals.MODEL_ITEM__NAME));
 			if(transientValues.isValueTransient(semanticObject, IntentSpecificationPackage.Literals.MODEL_ITEM__DESC) == ValueTransient.YES)
 				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, IntentSpecificationPackage.Literals.MODEL_ITEM__DESC));
 		}
 		INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
 		SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
 		feeder.accept(grammarAccess.getModelItemAccess().getTypeModelTypeParserRuleCall_0_0(), semanticObject.getType());
-		feeder.accept(grammarAccess.getModelItemAccess().getIdIDTerminalRuleCall_1_0(), semanticObject.getId());
+		feeder.accept(grammarAccess.getModelItemAccess().getNameIDTerminalRuleCall_1_0(), semanticObject.getName());
 		feeder.accept(grammarAccess.getModelItemAccess().getDescSTRINGTerminalRuleCall_2_0(), semanticObject.getDesc());
 		feeder.finish();
 	}
 	
 	
 	/**
 	 * Constraint:
-	 *     (id=ID desc=STRING intents+=Intent+)
+	 *     (
+	 *         typeName='output' | 
+	 *         typeName='mode' | 
+	 *         typeName='state' | 
+	 *         typeName='macro' | 
+	 *         typeName='function' | 
+	 *         typeName='input'
+	 *     )
+	 */
+	protected void sequence_ModelType(EObject context, ModelType semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (name=ID desc=STRING intents+=Intent+)
 	 */
 	protected void sequence_Refinement(EObject context, Refinement semanticObject) {
 		genericSequencer.createSequence(context, semanticObject);
@@ -189,7 +292,7 @@ protected void sequence_Refinement(EObject context, Refinement semanticObject) {
 	
 	/**
 	 * Constraint:
-	 *     (id=ID refinements+=Refinement+)
+	 *     (name=ID refinements+=Refinement+)
 	 */
 	protected void sequence_Specification(EObject context, Specification semanticObject) {
 		genericSequencer.createSequence(context, semanticObject);
https://github.com/nasa/CertWare/raw/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fserializer%2FIntentSpecificationSemanticSequencer.java
2abf9431b52e9a2bef30a8ef084b854fb99c6af9
modified
https://github.com/nasa/CertWare/blob/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fserializer%2FIntentSpecificationSyntacticSequencer.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fserializer%2FIntentSpecificationSyntacticSequencer.java?ref=27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9
net.certware.intent/src-gen/net/certware/intent/serializer/IntentSpecificationSyntacticSequencer.java
	protected AbstractElementAlias match_ListItem___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_2__q;
	protected AbstractElementAlias match_ListItem___LeftParenthesisKeyword_4_0_RightParenthesisKeyword_4_2__q;
	protected AbstractElementAlias match_ListItem___LeftSquareBracketKeyword_5_0_RightSquareBracketKeyword_5_2__q;
		match_ListItem___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_2__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getListItemAccess().getLeftCurlyBracketKeyword_3_0()), new TokenAlias(false, false, grammarAccess.getListItemAccess().getRightCurlyBracketKeyword_3_2()));
		match_ListItem___LeftParenthesisKeyword_4_0_RightParenthesisKeyword_4_2__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getListItemAccess().getLeftParenthesisKeyword_4_0()), new TokenAlias(false, false, grammarAccess.getListItemAccess().getRightParenthesisKeyword_4_2()));
		match_ListItem___LeftSquareBracketKeyword_5_0_RightSquareBracketKeyword_5_2__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getListItemAccess().getLeftSquareBracketKeyword_5_0()), new TokenAlias(false, false, grammarAccess.getListItemAccess().getRightSquareBracketKeyword_5_2()));
			else if(match_ListItem___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_2__q.equals(syntax))
				emit_ListItem___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_2__q(semanticObject, getLastNavigableState(), syntaxNodes);
			else if(match_ListItem___LeftParenthesisKeyword_4_0_RightParenthesisKeyword_4_2__q.equals(syntax))
				emit_ListItem___LeftParenthesisKeyword_4_0_RightParenthesisKeyword_4_2__q(semanticObject, getLastNavigableState(), syntaxNodes);
			else if(match_ListItem___LeftSquareBracketKeyword_5_0_RightSquareBracketKeyword_5_2__q.equals(syntax))
				emit_ListItem___LeftSquareBracketKeyword_5_0_RightSquareBracketKeyword_5_2__q(semanticObject, getLastNavigableState(), syntaxNodes);
	/**
	 * Syntax:
	 *     ('{' '}')?
	 */
	protected void emit_ListItem___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_2__q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
		acceptNodes(transition, nodes);
	}
	
	/**
	 * Syntax:
	 *     ('(' ')')?
	 */
	protected void emit_ListItem___LeftParenthesisKeyword_4_0_RightParenthesisKeyword_4_2__q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
		acceptNodes(transition, nodes);
	}
	
	/**
	 * Syntax:
	 *     ('[' ']')?
	 */
	protected void emit_ListItem___LeftSquareBracketKeyword_5_0_RightSquareBracketKeyword_5_2__q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
		acceptNodes(transition, nodes);
	}
	
EObject semanticObject  ISynNavigable transition  List<INode> nodes
net.certware.intent/src-gen/net/certware/intent/serializer/IntentSpecificationSyntacticSequencer.java
acceptNodes(transition, nodes);
void emit_ListItem___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_2__q(EObject semanticObject, ISynNavigable transition, List<INode> nodes)
EObject semanticObject  ISynNavigable transition  List<INode> nodes
net.certware.intent/src-gen/net/certware/intent/serializer/IntentSpecificationSyntacticSequencer.java
acceptNodes(transition, nodes);
void emit_ListItem___LeftParenthesisKeyword_4_0_RightParenthesisKeyword_4_2__q(EObject semanticObject, ISynNavigable transition, List<INode> nodes)
EObject semanticObject  ISynNavigable transition  List<INode> nodes
net.certware.intent/src-gen/net/certware/intent/serializer/IntentSpecificationSyntacticSequencer.java
acceptNodes(transition, nodes);
void emit_ListItem___LeftSquareBracketKeyword_5_0_RightSquareBracketKeyword_5_2__q(EObject semanticObject, ISynNavigable transition, List<INode> nodes)
@@ -21,19 +21,13 @@ public class IntentSpecificationSyntacticSequencer extends AbstractSyntacticSequ
 	protected AbstractElementAlias match_Decomposition___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_2__q;
 	protected AbstractElementAlias match_Decomposition___LeftParenthesisKeyword_5_0_RightParenthesisKeyword_5_2__q;
 	protected AbstractElementAlias match_Decomposition___LeftSquareBracketKeyword_4_0_RightSquareBracketKeyword_4_2__q;
-	protected AbstractElementAlias match_ListItem___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_2__q;
-	protected AbstractElementAlias match_ListItem___LeftParenthesisKeyword_4_0_RightParenthesisKeyword_4_2__q;
-	protected AbstractElementAlias match_ListItem___LeftSquareBracketKeyword_5_0_RightSquareBracketKeyword_5_2__q;
 	
 	@Inject
 	protected void init(IGrammarAccess access) {
 		grammarAccess = (IntentSpecificationGrammarAccess) access;
 		match_Decomposition___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_2__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getDecompositionAccess().getLeftCurlyBracketKeyword_3_0()), new TokenAlias(false, false, grammarAccess.getDecompositionAccess().getRightCurlyBracketKeyword_3_2()));
 		match_Decomposition___LeftParenthesisKeyword_5_0_RightParenthesisKeyword_5_2__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getDecompositionAccess().getLeftParenthesisKeyword_5_0()), new TokenAlias(false, false, grammarAccess.getDecompositionAccess().getRightParenthesisKeyword_5_2()));
 		match_Decomposition___LeftSquareBracketKeyword_4_0_RightSquareBracketKeyword_4_2__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getDecompositionAccess().getLeftSquareBracketKeyword_4_0()), new TokenAlias(false, false, grammarAccess.getDecompositionAccess().getRightSquareBracketKeyword_4_2()));
-		match_ListItem___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_2__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getListItemAccess().getLeftCurlyBracketKeyword_3_0()), new TokenAlias(false, false, grammarAccess.getListItemAccess().getRightCurlyBracketKeyword_3_2()));
-		match_ListItem___LeftParenthesisKeyword_4_0_RightParenthesisKeyword_4_2__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getListItemAccess().getLeftParenthesisKeyword_4_0()), new TokenAlias(false, false, grammarAccess.getListItemAccess().getRightParenthesisKeyword_4_2()));
-		match_ListItem___LeftSquareBracketKeyword_5_0_RightSquareBracketKeyword_5_2__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getListItemAccess().getLeftSquareBracketKeyword_5_0()), new TokenAlias(false, false, grammarAccess.getListItemAccess().getRightSquareBracketKeyword_5_2()));
 	}
 	
 	@Override
@@ -54,12 +48,6 @@ else if(match_Decomposition___LeftParenthesisKeyword_5_0_RightParenthesisKeyword
 				emit_Decomposition___LeftParenthesisKeyword_5_0_RightParenthesisKeyword_5_2__q(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if(match_Decomposition___LeftSquareBracketKeyword_4_0_RightSquareBracketKeyword_4_2__q.equals(syntax))
 				emit_Decomposition___LeftSquareBracketKeyword_4_0_RightSquareBracketKeyword_4_2__q(semanticObject, getLastNavigableState(), syntaxNodes);
-			else if(match_ListItem___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_2__q.equals(syntax))
-				emit_ListItem___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_2__q(semanticObject, getLastNavigableState(), syntaxNodes);
-			else if(match_ListItem___LeftParenthesisKeyword_4_0_RightParenthesisKeyword_4_2__q.equals(syntax))
-				emit_ListItem___LeftParenthesisKeyword_4_0_RightParenthesisKeyword_4_2__q(semanticObject, getLastNavigableState(), syntaxNodes);
-			else if(match_ListItem___LeftSquareBracketKeyword_5_0_RightSquareBracketKeyword_5_2__q.equals(syntax))
-				emit_ListItem___LeftSquareBracketKeyword_5_0_RightSquareBracketKeyword_5_2__q(semanticObject, getLastNavigableState(), syntaxNodes);
 			else acceptNodes(getLastNavigableState(), syntaxNodes);
 		}
 	}
@@ -88,28 +76,4 @@ protected void emit_Decomposition___LeftSquareBracketKeyword_4_0_RightSquareBrac
 		acceptNodes(transition, nodes);
 	}
 	
-	/**
-	 * Syntax:
-	 *     ('{' '}')?
-	 */
-	protected void emit_ListItem___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_2__q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
-		acceptNodes(transition, nodes);
-	}
-	
-	/**
-	 * Syntax:
-	 *     ('(' ')')?
-	 */
-	protected void emit_ListItem___LeftParenthesisKeyword_4_0_RightParenthesisKeyword_4_2__q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
-		acceptNodes(transition, nodes);
-	}
-	
-	/**
-	 * Syntax:
-	 *     ('[' ']')?
-	 */
-	protected void emit_ListItem___LeftSquareBracketKeyword_5_0_RightSquareBracketKeyword_5_2__q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
-		acceptNodes(transition, nodes);
-	}
-	
 }
https://github.com/nasa/CertWare/raw/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fserializer%2FIntentSpecificationSyntacticSequencer.java
796b54e95838c36cdf8372e691e7e66f9d7748a9
modified
https://github.com/nasa/CertWare/blob/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fservices%2FIntentSpecificationGrammarAccess.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fservices%2FIntentSpecificationGrammarAccess.java?ref=27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
		private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
		//	"specification" name=ID refinements+=Refinement+;
		//"specification" name=ID refinements+=Refinement+
		//name=ID
		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
		public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
		private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
		//	"refinement" name=ID desc=STRING intents+=Intent+;
		//"refinement" name=ID desc=STRING intents+=Intent+
		//name=ID
		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
		public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
		private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
		//	type=IntentType name=ID desc=STRING decompositions+=Decomposition+;
		//type=IntentType name=ID desc=STRING decompositions+=Decomposition+
		//name=ID
		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
		public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
		private final Assignment cTypeNameAssignment = (Assignment)rule.eContents().get(1);
		private final Alternatives cTypeNameAlternatives_0 = (Alternatives)cTypeNameAssignment.eContents().get(0);
		private final Keyword cTypeNameBasicKeyword_0_0 = (Keyword)cTypeNameAlternatives_0.eContents().get(0);
		private final Keyword cTypeNamePurposeKeyword_0_1 = (Keyword)cTypeNameAlternatives_0.eContents().get(1);
		private final Keyword cTypeNamePrinciplesKeyword_0_2 = (Keyword)cTypeNameAlternatives_0.eContents().get(2);
		private final Keyword cTypeNameModelsKeyword_0_3 = (Keyword)cTypeNameAlternatives_0.eContents().get(3);
		private final Keyword cTypeNameDesignKeyword_0_4 = (Keyword)cTypeNameAlternatives_0.eContents().get(4);
		private final Keyword cTypeNameImplementationKeyword_0_5 = (Keyword)cTypeNameAlternatives_0.eContents().get(5);
		private final Keyword cTypeNameOperationKeyword_0_6 = (Keyword)cTypeNameAlternatives_0.eContents().get(6);
		//	typeName=("basic" | "purpose" | "principles" | "models" | "design" | "implementation" | "operation");
		//typeName=("basic" | "purpose" | "principles" | "models" | "design" | "implementation" | "operation")
		public Assignment getTypeNameAssignment() { return cTypeNameAssignment; }

		public Alternatives getTypeNameAlternatives_0() { return cTypeNameAlternatives_0; }
		public Keyword getTypeNameBasicKeyword_0_0() { return cTypeNameBasicKeyword_0_0; }
		public Keyword getTypeNamePurposeKeyword_0_1() { return cTypeNamePurposeKeyword_0_1; }
		public Keyword getTypeNamePrinciplesKeyword_0_2() { return cTypeNamePrinciplesKeyword_0_2; }
		public Keyword getTypeNameModelsKeyword_0_3() { return cTypeNameModelsKeyword_0_3; }
		public Keyword getTypeNameDesignKeyword_0_4() { return cTypeNameDesignKeyword_0_4; }
		public Keyword getTypeNameImplementationKeyword_0_5() { return cTypeNameImplementationKeyword_0_5; }
		public Keyword getTypeNameOperationKeyword_0_6() { return cTypeNameOperationKeyword_0_6; }
		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
		private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
		//	type=DecompositionType name=ID desc=STRING ("{" documents+=Document* "}")? ("[" models+=ModelItem* "]")? ("("
		//type=DecompositionType name=ID desc=STRING ("{" documents+=Document* "}")? ("[" models+=ModelItem* "]")? ("("
		//name=ID
		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
		public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
		private final Assignment cTypeNameAssignment = (Assignment)rule.eContents().get(1);
		private final Alternatives cTypeNameAlternatives_0 = (Alternatives)cTypeNameAssignment.eContents().get(0);
		private final Keyword cTypeNameEnvironmentKeyword_0_0 = (Keyword)cTypeNameAlternatives_0.eContents().get(0);
		private final Keyword cTypeNameOperatorKeyword_0_1 = (Keyword)cTypeNameAlternatives_0.eContents().get(1);
		private final Keyword cTypeNameSystemKeyword_0_2 = (Keyword)cTypeNameAlternatives_0.eContents().get(2);
		private final Keyword cTypeNameVerificationKeyword_0_3 = (Keyword)cTypeNameAlternatives_0.eContents().get(3);
		//	typeName=("environment" | "operator" | "system" | "verification");
		//typeName=("environment" | "operator" | "system" | "verification")
		public Assignment getTypeNameAssignment() { return cTypeNameAssignment; }

		public Alternatives getTypeNameAlternatives_0() { return cTypeNameAlternatives_0; }
		public Keyword getTypeNameEnvironmentKeyword_0_0() { return cTypeNameEnvironmentKeyword_0_0; }
		public Keyword getTypeNameOperatorKeyword_0_1() { return cTypeNameOperatorKeyword_0_1; }
		public Keyword getTypeNameSystemKeyword_0_2() { return cTypeNameSystemKeyword_0_2; }
		public Keyword getTypeNameVerificationKeyword_0_3() { return cTypeNameVerificationKeyword_0_3; }
		private final Assignment cTypeNameAssignment = (Assignment)rule.eContents().get(1);
		private final Alternatives cTypeNameAlternatives_0 = (Alternatives)cTypeNameAssignment.eContents().get(0);
		private final Keyword cTypeNameConditionKeyword_0_0 = (Keyword)cTypeNameAlternatives_0.eContents().get(0);
		private final Keyword cTypeNameFigureKeyword_0_1 = (Keyword)cTypeNameAlternatives_0.eContents().get(1);
		private final Keyword cTypeNameBreakKeyword_0_2 = (Keyword)cTypeNameAlternatives_0.eContents().get(2);
		private final Keyword cTypeNameModelKeyword_0_3 = (Keyword)cTypeNameAlternatives_0.eContents().get(3);
		private final Keyword cTypeNameParagraphKeyword_0_4 = (Keyword)cTypeNameAlternatives_0.eContents().get(4);
		private final Keyword cTypeNameSectionKeyword_0_5 = (Keyword)cTypeNameAlternatives_0.eContents().get(5);
		private final Keyword cTypeNameTableKeyword_0_6 = (Keyword)cTypeNameAlternatives_0.eContents().get(6);
		//	typeName=("condition" | "figure" | "break" | "model" | "paragraph" | "section" | "table");
		//typeName=("condition" | "figure" | "break" | "model" | "paragraph" | "section" | "table")
		public Assignment getTypeNameAssignment() { return cTypeNameAssignment; }

		public Alternatives getTypeNameAlternatives_0() { return cTypeNameAlternatives_0; }
		public Keyword getTypeNameConditionKeyword_0_0() { return cTypeNameConditionKeyword_0_0; }
		public Keyword getTypeNameFigureKeyword_0_1() { return cTypeNameFigureKeyword_0_1; }
		public Keyword getTypeNameBreakKeyword_0_2() { return cTypeNameBreakKeyword_0_2; }
		public Keyword getTypeNameModelKeyword_0_3() { return cTypeNameModelKeyword_0_3; }
		public Keyword getTypeNameParagraphKeyword_0_4() { return cTypeNameParagraphKeyword_0_4; }
		public Keyword getTypeNameSectionKeyword_0_5() { return cTypeNameSectionKeyword_0_5; }
		public Keyword getTypeNameTableKeyword_0_6() { return cTypeNameTableKeyword_0_6; }
		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
		private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
		//	type=DocItemType name=ID ref=STRING ";";
		//type=DocItemType name=ID ref=STRING ";"
		//name=ID
		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
		public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
		private final Assignment cTypeNameAssignment = (Assignment)rule.eContents().get(1);
		private final Alternatives cTypeNameAlternatives_0 = (Alternatives)cTypeNameAssignment.eContents().get(0);
		private final Keyword cTypeNameOutputKeyword_0_0 = (Keyword)cTypeNameAlternatives_0.eContents().get(0);
		private final Keyword cTypeNameModeKeyword_0_1 = (Keyword)cTypeNameAlternatives_0.eContents().get(1);
		private final Keyword cTypeNameStateKeyword_0_2 = (Keyword)cTypeNameAlternatives_0.eContents().get(2);
		private final Keyword cTypeNameMacroKeyword_0_3 = (Keyword)cTypeNameAlternatives_0.eContents().get(3);
		private final Keyword cTypeNameFunctionKeyword_0_4 = (Keyword)cTypeNameAlternatives_0.eContents().get(4);
		private final Keyword cTypeNameInputKeyword_0_5 = (Keyword)cTypeNameAlternatives_0.eContents().get(5);
		//	typeName=("output" | "mode" | "state" | "macro" | "function" | "input");
		//typeName=("output" | "mode" | "state" | "macro" | "function" | "input")
		public Assignment getTypeNameAssignment() { return cTypeNameAssignment; }

		public Alternatives getTypeNameAlternatives_0() { return cTypeNameAlternatives_0; }
		public Keyword getTypeNameOutputKeyword_0_0() { return cTypeNameOutputKeyword_0_0; }
		public Keyword getTypeNameModeKeyword_0_1() { return cTypeNameModeKeyword_0_1; }
		public Keyword getTypeNameStateKeyword_0_2() { return cTypeNameStateKeyword_0_2; }
		public Keyword getTypeNameMacroKeyword_0_3() { return cTypeNameMacroKeyword_0_3; }
		public Keyword getTypeNameFunctionKeyword_0_4() { return cTypeNameFunctionKeyword_0_4; }
		public Keyword getTypeNameInputKeyword_0_5() { return cTypeNameInputKeyword_0_5; }
		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
		private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
		//	type=ModelType name=ID desc=STRING ";";
		//type=ModelType name=ID desc=STRING ";"
		//name=ID
		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
		public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
		private final Assignment cTypeNameAssignment = (Assignment)rule.eContents().get(1);
		private final Alternatives cTypeNameAlternatives_0 = (Alternatives)cTypeNameAssignment.eContents().get(0);
		private final Keyword cTypeNameRequirementKeyword_0_0 = (Keyword)cTypeNameAlternatives_0.eContents().get(0);
		private final Keyword cTypeNameGoalKeyword_0_1 = (Keyword)cTypeNameAlternatives_0.eContents().get(1);
		private final Keyword cTypeNameHazardKeyword_0_2 = (Keyword)cTypeNameAlternatives_0.eContents().get(2);
		private final Keyword cTypeNameConstraintKeyword_0_3 = (Keyword)cTypeNameAlternatives_0.eContents().get(3);
		//	typeName=("requirement" | "goal" | "hazard" | "constraint");
		//typeName=("requirement" | "goal" | "hazard" | "constraint")
		public Assignment getTypeNameAssignment() { return cTypeNameAssignment; }

		public Alternatives getTypeNameAlternatives_0() { return cTypeNameAlternatives_0; }
		public Keyword getTypeNameRequirementKeyword_0_0() { return cTypeNameRequirementKeyword_0_0; }
		public Keyword getTypeNameGoalKeyword_0_1() { return cTypeNameGoalKeyword_0_1; }
		public Keyword getTypeNameHazardKeyword_0_2() { return cTypeNameHazardKeyword_0_2; }
		public Keyword getTypeNameConstraintKeyword_0_3() { return cTypeNameConstraintKeyword_0_3; }
		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
		private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
		//	type=ListItemType name=ID desc=STRING ("{" docReferences+=[DocItem]+ "}")? ("(" itemReferences+=[ListItem]+ ")")? ("["
		//	modelReferences+=[ModelItem]+ "]")? ";";
		//type=ListItemType name=ID desc=STRING ("{" docReferences+=[DocItem]+ "}")? ("(" itemReferences+=[ListItem]+ ")")? ("["
		//modelReferences+=[ModelItem]+ "]")? ";"
		//name=ID
		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
		public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
		//("{" docReferences+=[DocItem]+ "}")?
		//docReferences+=[DocItem]+
		//("(" itemReferences+=[ListItem]+ ")")?
		//itemReferences+=[ListItem]+
		//("[" modelReferences+=[ModelItem]+ "]")?
		//modelReferences+=[ModelItem]+
	//	"specification" name=ID refinements+=Refinement+;
	//	"refinement" name=ID desc=STRING intents+=Intent+;
	//	type=IntentType name=ID desc=STRING decompositions+=Decomposition+;
	//	typeName=("basic" | "purpose" | "principles" | "models" | "design" | "implementation" | "operation");
	//	type=DecompositionType name=ID desc=STRING ("{" documents+=Document* "}")? ("[" models+=ModelItem* "]")? ("("
	//	typeName=("environment" | "operator" | "system" | "verification");
	//	typeName=("condition" | "figure" | "break" | "model" | "paragraph" | "section" | "table");
	//	type=DocItemType name=ID ref=STRING ";";
	//	typeName=("output" | "mode" | "state" | "macro" | "function" | "input");
	//	type=ModelType name=ID desc=STRING ";";
	//	typeName=("requirement" | "goal" | "hazard" | "constraint");
	//	type=ListItemType name=ID desc=STRING ("{" docReferences+=[DocItem]+ "}")? ("(" itemReferences+=[ListItem]+ ")")? ("["
	//	modelReferences+=[ModelItem]+ "]")? ";";
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cNameAssignment_1;
Assignment getNameAssignment_1()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cNameIDTerminalRuleCall_1_0;
RuleCall getNameIDTerminalRuleCall_1_0()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cNameAssignment_1;
Assignment getNameAssignment_1()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cNameIDTerminalRuleCall_1_0;
RuleCall getNameIDTerminalRuleCall_1_0()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cNameAssignment_1;
Assignment getNameAssignment_1()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cNameIDTerminalRuleCall_1_0;
RuleCall getNameIDTerminalRuleCall_1_0()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cTypeNameAssignment;
Assignment getTypeNameAssignment()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cTypeNameAlternatives_0;
Alternatives getTypeNameAlternatives_0()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cTypeNameBasicKeyword_0_0;
Keyword getTypeNameBasicKeyword_0_0()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cTypeNamePurposeKeyword_0_1;
Keyword getTypeNamePurposeKeyword_0_1()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cTypeNamePrinciplesKeyword_0_2;
Keyword getTypeNamePrinciplesKeyword_0_2()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cTypeNameModelsKeyword_0_3;
Keyword getTypeNameModelsKeyword_0_3()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cTypeNameDesignKeyword_0_4;
Keyword getTypeNameDesignKeyword_0_4()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cTypeNameImplementationKeyword_0_5;
Keyword getTypeNameImplementationKeyword_0_5()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cTypeNameOperationKeyword_0_6;
Keyword getTypeNameOperationKeyword_0_6()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cNameAssignment_1;
Assignment getNameAssignment_1()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cNameIDTerminalRuleCall_1_0;
RuleCall getNameIDTerminalRuleCall_1_0()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cTypeNameAssignment;
Assignment getTypeNameAssignment()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cTypeNameAlternatives_0;
Alternatives getTypeNameAlternatives_0()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cTypeNameEnvironmentKeyword_0_0;
Keyword getTypeNameEnvironmentKeyword_0_0()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cTypeNameOperatorKeyword_0_1;
Keyword getTypeNameOperatorKeyword_0_1()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cTypeNameSystemKeyword_0_2;
Keyword getTypeNameSystemKeyword_0_2()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cTypeNameVerificationKeyword_0_3;
Keyword getTypeNameVerificationKeyword_0_3()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cTypeNameAssignment;
Assignment getTypeNameAssignment()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cTypeNameAlternatives_0;
Alternatives getTypeNameAlternatives_0()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cTypeNameConditionKeyword_0_0;
Keyword getTypeNameConditionKeyword_0_0()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cTypeNameFigureKeyword_0_1;
Keyword getTypeNameFigureKeyword_0_1()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cTypeNameBreakKeyword_0_2;
Keyword getTypeNameBreakKeyword_0_2()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cTypeNameModelKeyword_0_3;
Keyword getTypeNameModelKeyword_0_3()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cTypeNameParagraphKeyword_0_4;
Keyword getTypeNameParagraphKeyword_0_4()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cTypeNameSectionKeyword_0_5;
Keyword getTypeNameSectionKeyword_0_5()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cTypeNameTableKeyword_0_6;
Keyword getTypeNameTableKeyword_0_6()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cNameAssignment_1;
Assignment getNameAssignment_1()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cNameIDTerminalRuleCall_1_0;
RuleCall getNameIDTerminalRuleCall_1_0()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cTypeNameAssignment;
Assignment getTypeNameAssignment()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cTypeNameAlternatives_0;
Alternatives getTypeNameAlternatives_0()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cTypeNameOutputKeyword_0_0;
Keyword getTypeNameOutputKeyword_0_0()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cTypeNameModeKeyword_0_1;
Keyword getTypeNameModeKeyword_0_1()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cTypeNameStateKeyword_0_2;
Keyword getTypeNameStateKeyword_0_2()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cTypeNameMacroKeyword_0_3;
Keyword getTypeNameMacroKeyword_0_3()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cTypeNameFunctionKeyword_0_4;
Keyword getTypeNameFunctionKeyword_0_4()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cTypeNameInputKeyword_0_5;
Keyword getTypeNameInputKeyword_0_5()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cNameAssignment_1;
Assignment getNameAssignment_1()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cNameIDTerminalRuleCall_1_0;
RuleCall getNameIDTerminalRuleCall_1_0()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cTypeNameAssignment;
Assignment getTypeNameAssignment()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cTypeNameAlternatives_0;
Alternatives getTypeNameAlternatives_0()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cTypeNameRequirementKeyword_0_0;
Keyword getTypeNameRequirementKeyword_0_0()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cTypeNameGoalKeyword_0_1;
Keyword getTypeNameGoalKeyword_0_1()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cTypeNameHazardKeyword_0_2;
Keyword getTypeNameHazardKeyword_0_2()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cTypeNameConstraintKeyword_0_3;
Keyword getTypeNameConstraintKeyword_0_3()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cNameAssignment_1;
Assignment getNameAssignment_1()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cNameIDTerminalRuleCall_1_0;
RuleCall getNameIDTerminalRuleCall_1_0()
		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
		private final RuleCall cIdIDTerminalRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
		//	"specification" id=ID refinements+=Refinement+;
		//"specification" id=ID refinements+=Refinement+
		//id=ID
		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
		public RuleCall getIdIDTerminalRuleCall_1_0() { return cIdIDTerminalRuleCall_1_0; }
		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
		private final RuleCall cIdIDTerminalRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
		//	"refinement" id=ID desc=STRING intents+=Intent+;
		//"refinement" id=ID desc=STRING intents+=Intent+
		//id=ID
		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
		public RuleCall getIdIDTerminalRuleCall_1_0() { return cIdIDTerminalRuleCall_1_0; }
		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
		private final RuleCall cIdIDTerminalRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
		//	type=IntentType id=ID desc=STRING decompositions+=Decomposition+;
		//type=IntentType id=ID desc=STRING decompositions+=Decomposition+
		//id=ID
		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
		public RuleCall getIdIDTerminalRuleCall_1_0() { return cIdIDTerminalRuleCall_1_0; }
		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
		private final Keyword cBasicKeyword_0 = (Keyword)cAlternatives.eContents().get(0);
		private final Keyword cPurposeKeyword_1 = (Keyword)cAlternatives.eContents().get(1);
		private final Keyword cPrinciplesKeyword_2 = (Keyword)cAlternatives.eContents().get(2);
		private final Keyword cModelsKeyword_3 = (Keyword)cAlternatives.eContents().get(3);
		private final Keyword cDesignKeyword_4 = (Keyword)cAlternatives.eContents().get(4);
		private final Keyword cImplementationKeyword_5 = (Keyword)cAlternatives.eContents().get(5);
		private final Keyword cOperationKeyword_6 = (Keyword)cAlternatives.eContents().get(6);
		//	"basic" | "purpose" | "principles" | "models" | "design" | "implementation" | "operation";
		public Alternatives getAlternatives() { return cAlternatives; }
		public Keyword getBasicKeyword_0() { return cBasicKeyword_0; }
		public Keyword getPurposeKeyword_1() { return cPurposeKeyword_1; }
		public Keyword getPrinciplesKeyword_2() { return cPrinciplesKeyword_2; }
		public Keyword getModelsKeyword_3() { return cModelsKeyword_3; }
		public Keyword getDesignKeyword_4() { return cDesignKeyword_4; }
		public Keyword getImplementationKeyword_5() { return cImplementationKeyword_5; }
		public Keyword getOperationKeyword_6() { return cOperationKeyword_6; }
		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
		private final RuleCall cIdIDTerminalRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
		//	type=DecompositionType id=ID desc=STRING ("{" documents+=Document* "}")? ("[" models+=ModelItem* "]")? ("("
		//type=DecompositionType id=ID desc=STRING ("{" documents+=Document* "}")? ("[" models+=ModelItem* "]")? ("("
		//id=ID
		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
		public RuleCall getIdIDTerminalRuleCall_1_0() { return cIdIDTerminalRuleCall_1_0; }
		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
		private final Keyword cEnvironmentKeyword_0 = (Keyword)cAlternatives.eContents().get(0);
		private final Keyword cOperatorKeyword_1 = (Keyword)cAlternatives.eContents().get(1);
		private final Keyword cSystemKeyword_2 = (Keyword)cAlternatives.eContents().get(2);
		private final Keyword cVerificationKeyword_3 = (Keyword)cAlternatives.eContents().get(3);
		//	"environment" | "operator" | "system" | "verification";
		public Alternatives getAlternatives() { return cAlternatives; }
		public Keyword getEnvironmentKeyword_0() { return cEnvironmentKeyword_0; }
		public Keyword getOperatorKeyword_1() { return cOperatorKeyword_1; }
		public Keyword getSystemKeyword_2() { return cSystemKeyword_2; }
		public Keyword getVerificationKeyword_3() { return cVerificationKeyword_3; }
		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
		private final Keyword cConditionKeyword_0 = (Keyword)cAlternatives.eContents().get(0);
		private final Keyword cFigureKeyword_1 = (Keyword)cAlternatives.eContents().get(1);
		private final Keyword cBreakKeyword_2 = (Keyword)cAlternatives.eContents().get(2);
		private final Keyword cModelKeyword_3 = (Keyword)cAlternatives.eContents().get(3);
		private final Keyword cParagraphKeyword_4 = (Keyword)cAlternatives.eContents().get(4);
		private final Keyword cSectionKeyword_5 = (Keyword)cAlternatives.eContents().get(5);
		private final Keyword cTableKeyword_6 = (Keyword)cAlternatives.eContents().get(6);
		//	"condition" | "figure" | "break" | "model" | "paragraph" | "section" | "table";
		public Alternatives getAlternatives() { return cAlternatives; }
		public Keyword getConditionKeyword_0() { return cConditionKeyword_0; }
		public Keyword getFigureKeyword_1() { return cFigureKeyword_1; }
		public Keyword getBreakKeyword_2() { return cBreakKeyword_2; }
		public Keyword getModelKeyword_3() { return cModelKeyword_3; }
		public Keyword getParagraphKeyword_4() { return cParagraphKeyword_4; }
		public Keyword getSectionKeyword_5() { return cSectionKeyword_5; }
		public Keyword getTableKeyword_6() { return cTableKeyword_6; }
		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
		private final RuleCall cIdIDTerminalRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
		//	type=DocItemType id=ID ref=STRING ";";
		//type=DocItemType id=ID ref=STRING ";"
		//id=ID
		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
		public RuleCall getIdIDTerminalRuleCall_1_0() { return cIdIDTerminalRuleCall_1_0; }
		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
		private final Keyword cOutputKeyword_0 = (Keyword)cAlternatives.eContents().get(0);
		private final Keyword cModeKeyword_1 = (Keyword)cAlternatives.eContents().get(1);
		private final Keyword cStateKeyword_2 = (Keyword)cAlternatives.eContents().get(2);
		private final Keyword cMacroKeyword_3 = (Keyword)cAlternatives.eContents().get(3);
		private final Keyword cFunctionKeyword_4 = (Keyword)cAlternatives.eContents().get(4);
		private final Keyword cInputKeyword_5 = (Keyword)cAlternatives.eContents().get(5);
		//	"output" | "mode" | "state" | "macro" | "function" | "input";
		public Alternatives getAlternatives() { return cAlternatives; }
		public Keyword getOutputKeyword_0() { return cOutputKeyword_0; }
		public Keyword getModeKeyword_1() { return cModeKeyword_1; }
		public Keyword getStateKeyword_2() { return cStateKeyword_2; }
		public Keyword getMacroKeyword_3() { return cMacroKeyword_3; }
		public Keyword getFunctionKeyword_4() { return cFunctionKeyword_4; }
		public Keyword getInputKeyword_5() { return cInputKeyword_5; }
		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
		private final RuleCall cIdIDTerminalRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
		//	type=ModelType id=ID desc=STRING ";";
		//type=ModelType id=ID desc=STRING ";"
		//id=ID
		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
		public RuleCall getIdIDTerminalRuleCall_1_0() { return cIdIDTerminalRuleCall_1_0; }
		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
		private final Keyword cRequirementKeyword_0 = (Keyword)cAlternatives.eContents().get(0);
		private final Keyword cGoalKeyword_1 = (Keyword)cAlternatives.eContents().get(1);
		private final Keyword cHazardKeyword_2 = (Keyword)cAlternatives.eContents().get(2);
		private final Keyword cConstraintKeyword_3 = (Keyword)cAlternatives.eContents().get(3);
		//	"requirement" | "goal" | "hazard" | "constraint";
		public Alternatives getAlternatives() { return cAlternatives; }
		public Keyword getRequirementKeyword_0() { return cRequirementKeyword_0; }
		public Keyword getGoalKeyword_1() { return cGoalKeyword_1; }
		public Keyword getHazardKeyword_2() { return cHazardKeyword_2; }
		public Keyword getConstraintKeyword_3() { return cConstraintKeyword_3; }
		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
		private final RuleCall cIdIDTerminalRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
		// * / / * 
		//Level0:
		//	{Level0}
		//	'{'
		//		('Program Plan' pmp=Document)?
		//		('Safety Plan' safetyPlan=Document)?
		//		('Accident Definition' accidentDefinition=Document)?
		//		('Safety Policy' safetyPolicy=Document)?
		//	'}'
		//;
		//
		//Level1:
		//	{Level1}
		//	'{'
		//		('Introduction' introduction=Document)?
		//		('Historical' historical=Document)?
		//		('Environment' environment=Document)?
		//		('Goals' '(' goals+=GoalItem* ')' )?
		//		('High-Level Requirements' '(' highLevelReqs+=RequirementItem* ')' )?
		//		('System Limitations' limitations=Document)?
		//		('Operator Requirements' '(' opReq+=RequirementItem* ')' )?
		//		('Hazard Analysis' hazardAnalysis=Document)?
		//		('Hazard List' '(' hazardList+=HazardItem* ')')?
		//		('Design Constraints' '(' constraints+=ConstraintItem* ')' )?
		//		('Verification and Validation' verification=Document)?
		//	'}'
		//;
		//
		//
		//Level2:
		//	desc=STRING
		//	'{'
		//	'}'	
		//;
		//
		//Level3:
		//	desc=STRING
		//	'{'
		//		('System Blackbox Behavior' '(' behaviors+=ModelItem* ')' )?
		//		('User Model' '(' userModels+=ModelItem* ')' )?
		//		('Verification and Validation' verification=Document )?
		//	'}'
		//;
		//
		//
		//	type=ListItemType id=ID desc=STRING ("{" docReferences+=[DocItem]* "}")? ("(" itemReferences+=[ListItem]* ")")? ("["
		//	modelReferences+=[ModelItem]* "]")? ";";
		//type=ListItemType id=ID desc=STRING ("{" docReferences+=[DocItem]* "}")? ("(" itemReferences+=[ListItem]* ")")? ("["
		//modelReferences+=[ModelItem]* "]")? ";"
		//id=ID
		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
		public RuleCall getIdIDTerminalRuleCall_1_0() { return cIdIDTerminalRuleCall_1_0; }
		//("{" docReferences+=[DocItem]* "}")?
		//docReferences+=[DocItem]*
		//("(" itemReferences+=[ListItem]* ")")?
		//itemReferences+=[ListItem]*
		//("[" modelReferences+=[ModelItem]* "]")?
		//modelReferences+=[ModelItem]*
	//	"specification" id=ID refinements+=Refinement+;
	//	"refinement" id=ID desc=STRING intents+=Intent+;
	//	type=IntentType id=ID desc=STRING decompositions+=Decomposition+;
	//	"basic" | "purpose" | "principles" | "models" | "design" | "implementation" | "operation";
	//	type=DecompositionType id=ID desc=STRING ("{" documents+=Document* "}")? ("[" models+=ModelItem* "]")? ("("
	//	"environment" | "operator" | "system" | "verification";
	//	"condition" | "figure" | "break" | "model" | "paragraph" | "section" | "table";
	//	type=DocItemType id=ID ref=STRING ";";
	//	"output" | "mode" | "state" | "macro" | "function" | "input";
	//	type=ModelType id=ID desc=STRING ";";
	//	"requirement" | "goal" | "hazard" | "constraint";
	// * / / * 
	//Level0:
	//	{Level0}
	//	'{'
	//		('Program Plan' pmp=Document)?
	//		('Safety Plan' safetyPlan=Document)?
	//		('Accident Definition' accidentDefinition=Document)?
	//		('Safety Policy' safetyPolicy=Document)?
	//	'}'
	//;
	//
	//Level1:
	//	{Level1}
	//	'{'
	//		('Introduction' introduction=Document)?
	//		('Historical' historical=Document)?
	//		('Environment' environment=Document)?
	//		('Goals' '(' goals+=GoalItem* ')' )?
	//		('High-Level Requirements' '(' highLevelReqs+=RequirementItem* ')' )?
	//		('System Limitations' limitations=Document)?
	//		('Operator Requirements' '(' opReq+=RequirementItem* ')' )?
	//		('Hazard Analysis' hazardAnalysis=Document)?
	//		('Hazard List' '(' hazardList+=HazardItem* ')')?
	//		('Design Constraints' '(' constraints+=ConstraintItem* ')' )?
	//		('Verification and Validation' verification=Document)?
	//	'}'
	//;
	//
	//
	//Level2:
	//	desc=STRING
	//	'{'
	//	'}'	
	//;
	//
	//Level3:
	//	desc=STRING
	//	'{'
	//		('System Blackbox Behavior' '(' behaviors+=ModelItem* ')' )?
	//		('User Model' '(' userModels+=ModelItem* ')' )?
	//		('Verification and Validation' verification=Document )?
	//	'}'
	//;
	//
	//
	//	type=ListItemType id=ID desc=STRING ("{" docReferences+=[DocItem]* "}")? ("(" itemReferences+=[ListItem]* ")")? ("["
	//	modelReferences+=[ModelItem]* "]")? ";";
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cIdAssignment_1;
Assignment getIdAssignment_1()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cIdIDTerminalRuleCall_1_0;
RuleCall getIdIDTerminalRuleCall_1_0()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cIdAssignment_1;
Assignment getIdAssignment_1()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cIdIDTerminalRuleCall_1_0;
RuleCall getIdIDTerminalRuleCall_1_0()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cIdAssignment_1;
Assignment getIdAssignment_1()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cIdIDTerminalRuleCall_1_0;
RuleCall getIdIDTerminalRuleCall_1_0()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cAlternatives;
Alternatives getAlternatives()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cBasicKeyword_0;
Keyword getBasicKeyword_0()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cPurposeKeyword_1;
Keyword getPurposeKeyword_1()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cPrinciplesKeyword_2;
Keyword getPrinciplesKeyword_2()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cModelsKeyword_3;
Keyword getModelsKeyword_3()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cDesignKeyword_4;
Keyword getDesignKeyword_4()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cImplementationKeyword_5;
Keyword getImplementationKeyword_5()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cOperationKeyword_6;
Keyword getOperationKeyword_6()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cIdAssignment_1;
Assignment getIdAssignment_1()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cIdIDTerminalRuleCall_1_0;
RuleCall getIdIDTerminalRuleCall_1_0()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cAlternatives;
Alternatives getAlternatives()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cEnvironmentKeyword_0;
Keyword getEnvironmentKeyword_0()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cOperatorKeyword_1;
Keyword getOperatorKeyword_1()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cSystemKeyword_2;
Keyword getSystemKeyword_2()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cVerificationKeyword_3;
Keyword getVerificationKeyword_3()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cAlternatives;
Alternatives getAlternatives()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cConditionKeyword_0;
Keyword getConditionKeyword_0()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cFigureKeyword_1;
Keyword getFigureKeyword_1()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cBreakKeyword_2;
Keyword getBreakKeyword_2()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cModelKeyword_3;
Keyword getModelKeyword_3()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cParagraphKeyword_4;
Keyword getParagraphKeyword_4()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cSectionKeyword_5;
Keyword getSectionKeyword_5()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cTableKeyword_6;
Keyword getTableKeyword_6()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cIdAssignment_1;
Assignment getIdAssignment_1()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cIdIDTerminalRuleCall_1_0;
RuleCall getIdIDTerminalRuleCall_1_0()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cAlternatives;
Alternatives getAlternatives()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cOutputKeyword_0;
Keyword getOutputKeyword_0()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cModeKeyword_1;
Keyword getModeKeyword_1()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cStateKeyword_2;
Keyword getStateKeyword_2()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cMacroKeyword_3;
Keyword getMacroKeyword_3()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cFunctionKeyword_4;
Keyword getFunctionKeyword_4()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cInputKeyword_5;
Keyword getInputKeyword_5()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cIdAssignment_1;
Assignment getIdAssignment_1()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cIdIDTerminalRuleCall_1_0;
RuleCall getIdIDTerminalRuleCall_1_0()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cAlternatives;
Alternatives getAlternatives()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cRequirementKeyword_0;
Keyword getRequirementKeyword_0()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cGoalKeyword_1;
Keyword getGoalKeyword_1()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cHazardKeyword_2;
Keyword getHazardKeyword_2()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cConstraintKeyword_3;
Keyword getConstraintKeyword_3()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cIdAssignment_1;
Assignment getIdAssignment_1()
net.certware.intent/src-gen/net/certware/intent/services/IntentSpecificationGrammarAccess.java
return cIdIDTerminalRuleCall_1_0;
RuleCall getIdIDTerminalRuleCall_1_0()
@@ -22,28 +22,28 @@ public class SpecificationElements extends AbstractParserRuleElementFinder {
 		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Specification");
 		private final Group cGroup = (Group)rule.eContents().get(1);
 		private final Keyword cSpecificationKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cIdIDTerminalRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
+		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
 		private final Assignment cRefinementsAssignment_2 = (Assignment)cGroup.eContents().get(2);
 		private final RuleCall cRefinementsRefinementParserRuleCall_2_0 = (RuleCall)cRefinementsAssignment_2.eContents().get(0);
 		
 		/// *
 		// * An intent specification consists of one or more refinements.
 		// * / Specification:
-		//	"specification" id=ID refinements+=Refinement+;
+		//	"specification" name=ID refinements+=Refinement+;
 		public ParserRule getRule() { return rule; }
 
-		//"specification" id=ID refinements+=Refinement+
+		//"specification" name=ID refinements+=Refinement+
 		public Group getGroup() { return cGroup; }
 
 		//"specification"
 		public Keyword getSpecificationKeyword_0() { return cSpecificationKeyword_0; }
 
-		//id=ID
-		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
+		//name=ID
+		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
 
 		//ID
-		public RuleCall getIdIDTerminalRuleCall_1_0() { return cIdIDTerminalRuleCall_1_0; }
+		public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
 
 		//refinements+=Refinement+
 		public Assignment getRefinementsAssignment_2() { return cRefinementsAssignment_2; }
@@ -56,8 +56,8 @@ public class RefinementElements extends AbstractParserRuleElementFinder {
 		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Refinement");
 		private final Group cGroup = (Group)rule.eContents().get(1);
 		private final Keyword cRefinementKeyword_0 = (Keyword)cGroup.eContents().get(0);
-		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cIdIDTerminalRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
+		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
 		private final Assignment cDescAssignment_2 = (Assignment)cGroup.eContents().get(2);
 		private final RuleCall cDescSTRINGTerminalRuleCall_2_0 = (RuleCall)cDescAssignment_2.eContents().get(0);
 		private final Assignment cIntentsAssignment_3 = (Assignment)cGroup.eContents().get(3);
@@ -66,20 +66,20 @@ public class RefinementElements extends AbstractParserRuleElementFinder {
 		/// *
 		// * A refinement has no type and consists of one or more intents.
 		// * / Refinement:
-		//	"refinement" id=ID desc=STRING intents+=Intent+;
+		//	"refinement" name=ID desc=STRING intents+=Intent+;
 		public ParserRule getRule() { return rule; }
 
-		//"refinement" id=ID desc=STRING intents+=Intent+
+		//"refinement" name=ID desc=STRING intents+=Intent+
 		public Group getGroup() { return cGroup; }
 
 		//"refinement"
 		public Keyword getRefinementKeyword_0() { return cRefinementKeyword_0; }
 
-		//id=ID
-		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
+		//name=ID
+		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
 
 		//ID
-		public RuleCall getIdIDTerminalRuleCall_1_0() { return cIdIDTerminalRuleCall_1_0; }
+		public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
 
 		//desc=STRING
 		public Assignment getDescAssignment_2() { return cDescAssignment_2; }
@@ -99,8 +99,8 @@ public class IntentElements extends AbstractParserRuleElementFinder {
 		private final Group cGroup = (Group)rule.eContents().get(1);
 		private final Assignment cTypeAssignment_0 = (Assignment)cGroup.eContents().get(0);
 		private final RuleCall cTypeIntentTypeParserRuleCall_0_0 = (RuleCall)cTypeAssignment_0.eContents().get(0);
-		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cIdIDTerminalRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
+		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
 		private final Assignment cDescAssignment_2 = (Assignment)cGroup.eContents().get(2);
 		private final RuleCall cDescSTRINGTerminalRuleCall_2_0 = (RuleCall)cDescAssignment_2.eContents().get(0);
 		private final Assignment cDecompositionsAssignment_3 = (Assignment)cGroup.eContents().get(3);
@@ -109,10 +109,10 @@ public class IntentElements extends AbstractParserRuleElementFinder {
 		/// *
 		// * An intent has a type and consists of one or more decompositions. 
 		// * / Intent:
-		//	type=IntentType id=ID desc=STRING decompositions+=Decomposition+;
+		//	type=IntentType name=ID desc=STRING decompositions+=Decomposition+;
 		public ParserRule getRule() { return rule; }
 
-		//type=IntentType id=ID desc=STRING decompositions+=Decomposition+
+		//type=IntentType name=ID desc=STRING decompositions+=Decomposition+
 		public Group getGroup() { return cGroup; }
 
 		//type=IntentType
@@ -121,11 +121,11 @@ public class IntentElements extends AbstractParserRuleElementFinder {
 		//IntentType
 		public RuleCall getTypeIntentTypeParserRuleCall_0_0() { return cTypeIntentTypeParserRuleCall_0_0; }
 
-		//id=ID
-		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
+		//name=ID
+		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
 
 		//ID
-		public RuleCall getIdIDTerminalRuleCall_1_0() { return cIdIDTerminalRuleCall_1_0; }
+		public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
 
 		//desc=STRING
 		public Assignment getDescAssignment_2() { return cDescAssignment_2; }
@@ -142,55 +142,59 @@ public class IntentElements extends AbstractParserRuleElementFinder {
 
 	public class IntentTypeElements extends AbstractParserRuleElementFinder {
 		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "IntentType");
-		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final Keyword cBasicKeyword_0 = (Keyword)cAlternatives.eContents().get(0);
-		private final Keyword cPurposeKeyword_1 = (Keyword)cAlternatives.eContents().get(1);
-		private final Keyword cPrinciplesKeyword_2 = (Keyword)cAlternatives.eContents().get(2);
-		private final Keyword cModelsKeyword_3 = (Keyword)cAlternatives.eContents().get(3);
-		private final Keyword cDesignKeyword_4 = (Keyword)cAlternatives.eContents().get(4);
-		private final Keyword cImplementationKeyword_5 = (Keyword)cAlternatives.eContents().get(5);
-		private final Keyword cOperationKeyword_6 = (Keyword)cAlternatives.eContents().get(6);
+		private final Assignment cTypeNameAssignment = (Assignment)rule.eContents().get(1);
+		private final Alternatives cTypeNameAlternatives_0 = (Alternatives)cTypeNameAssignment.eContents().get(0);
+		private final Keyword cTypeNameBasicKeyword_0_0 = (Keyword)cTypeNameAlternatives_0.eContents().get(0);
+		private final Keyword cTypeNamePurposeKeyword_0_1 = (Keyword)cTypeNameAlternatives_0.eContents().get(1);
+		private final Keyword cTypeNamePrinciplesKeyword_0_2 = (Keyword)cTypeNameAlternatives_0.eContents().get(2);
+		private final Keyword cTypeNameModelsKeyword_0_3 = (Keyword)cTypeNameAlternatives_0.eContents().get(3);
+		private final Keyword cTypeNameDesignKeyword_0_4 = (Keyword)cTypeNameAlternatives_0.eContents().get(4);
+		private final Keyword cTypeNameImplementationKeyword_0_5 = (Keyword)cTypeNameAlternatives_0.eContents().get(5);
+		private final Keyword cTypeNameOperationKeyword_0_6 = (Keyword)cTypeNameAlternatives_0.eContents().get(6);
 		
 		/// *
 		// * Intent types refer to the different levels of the canonical model.
 		// * The grammar does not enforce their universal containment in a specification.
 		// * A proper intention specification should contain an intent of each type in each refinement.
 		// * / IntentType:
-		//	"basic" | "purpose" | "principles" | "models" | "design" | "implementation" | "operation";
+		//	typeName=("basic" | "purpose" | "principles" | "models" | "design" | "implementation" | "operation");
 		public ParserRule getRule() { return rule; }
 
+		//typeName=("basic" | "purpose" | "principles" | "models" | "design" | "implementation" | "operation")
+		public Assignment getTypeNameAssignment() { return cTypeNameAssignment; }
+
 		//"basic" | "purpose" | "principles" | "models" | "design" | "implementation" | "operation"
-		public Alternatives getAlternatives() { return cAlternatives; }
+		public Alternatives getTypeNameAlternatives_0() { return cTypeNameAlternatives_0; }
 
 		//"basic"
-		public Keyword getBasicKeyword_0() { return cBasicKeyword_0; }
+		public Keyword getTypeNameBasicKeyword_0_0() { return cTypeNameBasicKeyword_0_0; }
 
 		//"purpose"
-		public Keyword getPurposeKeyword_1() { return cPurposeKeyword_1; }
+		public Keyword getTypeNamePurposeKeyword_0_1() { return cTypeNamePurposeKeyword_0_1; }
 
 		//"principles"
-		public Keyword getPrinciplesKeyword_2() { return cPrinciplesKeyword_2; }
+		public Keyword getTypeNamePrinciplesKeyword_0_2() { return cTypeNamePrinciplesKeyword_0_2; }
 
 		//"models"
-		public Keyword getModelsKeyword_3() { return cModelsKeyword_3; }
+		public Keyword getTypeNameModelsKeyword_0_3() { return cTypeNameModelsKeyword_0_3; }
 
 		//"design"
-		public Keyword getDesignKeyword_4() { return cDesignKeyword_4; }
+		public Keyword getTypeNameDesignKeyword_0_4() { return cTypeNameDesignKeyword_0_4; }
 
 		//"implementation"
-		public Keyword getImplementationKeyword_5() { return cImplementationKeyword_5; }
+		public Keyword getTypeNameImplementationKeyword_0_5() { return cTypeNameImplementationKeyword_0_5; }
 
 		//"operation"
-		public Keyword getOperationKeyword_6() { return cOperationKeyword_6; }
+		public Keyword getTypeNameOperationKeyword_0_6() { return cTypeNameOperationKeyword_0_6; }
 	}
 
 	public class DecompositionElements extends AbstractParserRuleElementFinder {
 		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Decomposition");
 		private final Group cGroup = (Group)rule.eContents().get(1);
 		private final Assignment cTypeAssignment_0 = (Assignment)cGroup.eContents().get(0);
 		private final RuleCall cTypeDecompositionTypeParserRuleCall_0_0 = (RuleCall)cTypeAssignment_0.eContents().get(0);
-		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cIdIDTerminalRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
+		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
 		private final Assignment cDescAssignment_2 = (Assignment)cGroup.eContents().get(2);
 		private final RuleCall cDescSTRINGTerminalRuleCall_2_0 = (RuleCall)cDescAssignment_2.eContents().get(0);
 		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
@@ -212,11 +216,11 @@ public class DecompositionElements extends AbstractParserRuleElementFinder {
 		/// *
 		// * A decomposition has a type and consists of one or more models, documents, or items.
 		// * / Decomposition:
-		//	type=DecompositionType id=ID desc=STRING ("{" documents+=Document* "}")? ("[" models+=ModelItem* "]")? ("("
+		//	type=DecompositionType name=ID desc=STRING ("{" documents+=Document* "}")? ("[" models+=ModelItem* "]")? ("("
 		//	items+=ListItem* ")")?;
 		public ParserRule getRule() { return rule; }
 
-		//type=DecompositionType id=ID desc=STRING ("{" documents+=Document* "}")? ("[" models+=ModelItem* "]")? ("("
+		//type=DecompositionType name=ID desc=STRING ("{" documents+=Document* "}")? ("[" models+=ModelItem* "]")? ("("
 		//items+=ListItem* ")")?
 		public Group getGroup() { return cGroup; }
 
@@ -226,11 +230,11 @@ public class DecompositionElements extends AbstractParserRuleElementFinder {
 		//DecompositionType
 		public RuleCall getTypeDecompositionTypeParserRuleCall_0_0() { return cTypeDecompositionTypeParserRuleCall_0_0; }
 
-		//id=ID
-		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
+		//name=ID
+		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
 
 		//ID
-		public RuleCall getIdIDTerminalRuleCall_1_0() { return cIdIDTerminalRuleCall_1_0; }
+		public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
 
 		//desc=STRING
 		public Assignment getDescAssignment_2() { return cDescAssignment_2; }
@@ -286,30 +290,34 @@ public class DecompositionElements extends AbstractParserRuleElementFinder {
 
 	public class DecompositionTypeElements extends AbstractParserRuleElementFinder {
 		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "DecompositionType");
-		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final Keyword cEnvironmentKeyword_0 = (Keyword)cAlternatives.eContents().get(0);
-		private final Keyword cOperatorKeyword_1 = (Keyword)cAlternatives.eContents().get(1);
-		private final Keyword cSystemKeyword_2 = (Keyword)cAlternatives.eContents().get(2);
-		private final Keyword cVerificationKeyword_3 = (Keyword)cAlternatives.eContents().get(3);
+		private final Assignment cTypeNameAssignment = (Assignment)rule.eContents().get(1);
+		private final Alternatives cTypeNameAlternatives_0 = (Alternatives)cTypeNameAssignment.eContents().get(0);
+		private final Keyword cTypeNameEnvironmentKeyword_0_0 = (Keyword)cTypeNameAlternatives_0.eContents().get(0);
+		private final Keyword cTypeNameOperatorKeyword_0_1 = (Keyword)cTypeNameAlternatives_0.eContents().get(1);
+		private final Keyword cTypeNameSystemKeyword_0_2 = (Keyword)cTypeNameAlternatives_0.eContents().get(2);
+		private final Keyword cTypeNameVerificationKeyword_0_3 = (Keyword)cTypeNameAlternatives_0.eContents().get(3);
 		
 		//DecompositionType:
-		//	"environment" | "operator" | "system" | "verification";
+		//	typeName=("environment" | "operator" | "system" | "verification");
 		public ParserRule getRule() { return rule; }
 
+		//typeName=("environment" | "operator" | "system" | "verification")
+		public Assignment getTypeNameAssignment() { return cTypeNameAssignment; }
+
 		//"environment" | "operator" | "system" | "verification"
-		public Alternatives getAlternatives() { return cAlternatives; }
+		public Alternatives getTypeNameAlternatives_0() { return cTypeNameAlternatives_0; }
 
 		//"environment"
-		public Keyword getEnvironmentKeyword_0() { return cEnvironmentKeyword_0; }
+		public Keyword getTypeNameEnvironmentKeyword_0_0() { return cTypeNameEnvironmentKeyword_0_0; }
 
 		//"operator"
-		public Keyword getOperatorKeyword_1() { return cOperatorKeyword_1; }
+		public Keyword getTypeNameOperatorKeyword_0_1() { return cTypeNameOperatorKeyword_0_1; }
 
 		//"system"
-		public Keyword getSystemKeyword_2() { return cSystemKeyword_2; }
+		public Keyword getTypeNameSystemKeyword_0_2() { return cTypeNameSystemKeyword_0_2; }
 
 		//"verification"
-		public Keyword getVerificationKeyword_3() { return cVerificationKeyword_3; }
+		public Keyword getTypeNameVerificationKeyword_0_3() { return cTypeNameVerificationKeyword_0_3; }
 	}
 
 	public class DocumentElements extends AbstractParserRuleElementFinder {
@@ -342,60 +350,64 @@ public class DocumentElements extends AbstractParserRuleElementFinder {
 
 	public class DocItemTypeElements extends AbstractParserRuleElementFinder {
 		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "DocItemType");
-		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final Keyword cConditionKeyword_0 = (Keyword)cAlternatives.eContents().get(0);
-		private final Keyword cFigureKeyword_1 = (Keyword)cAlternatives.eContents().get(1);
-		private final Keyword cBreakKeyword_2 = (Keyword)cAlternatives.eContents().get(2);
-		private final Keyword cModelKeyword_3 = (Keyword)cAlternatives.eContents().get(3);
-		private final Keyword cParagraphKeyword_4 = (Keyword)cAlternatives.eContents().get(4);
-		private final Keyword cSectionKeyword_5 = (Keyword)cAlternatives.eContents().get(5);
-		private final Keyword cTableKeyword_6 = (Keyword)cAlternatives.eContents().get(6);
+		private final Assignment cTypeNameAssignment = (Assignment)rule.eContents().get(1);
+		private final Alternatives cTypeNameAlternatives_0 = (Alternatives)cTypeNameAssignment.eContents().get(0);
+		private final Keyword cTypeNameConditionKeyword_0_0 = (Keyword)cTypeNameAlternatives_0.eContents().get(0);
+		private final Keyword cTypeNameFigureKeyword_0_1 = (Keyword)cTypeNameAlternatives_0.eContents().get(1);
+		private final Keyword cTypeNameBreakKeyword_0_2 = (Keyword)cTypeNameAlternatives_0.eContents().get(2);
+		private final Keyword cTypeNameModelKeyword_0_3 = (Keyword)cTypeNameAlternatives_0.eContents().get(3);
+		private final Keyword cTypeNameParagraphKeyword_0_4 = (Keyword)cTypeNameAlternatives_0.eContents().get(4);
+		private final Keyword cTypeNameSectionKeyword_0_5 = (Keyword)cTypeNameAlternatives_0.eContents().get(5);
+		private final Keyword cTypeNameTableKeyword_0_6 = (Keyword)cTypeNameAlternatives_0.eContents().get(6);
 		
 		//DocItemType:
-		//	"condition" | "figure" | "break" | "model" | "paragraph" | "section" | "table";
+		//	typeName=("condition" | "figure" | "break" | "model" | "paragraph" | "section" | "table");
 		public ParserRule getRule() { return rule; }
 
+		//typeName=("condition" | "figure" | "break" | "model" | "paragraph" | "section" | "table")
+		public Assignment getTypeNameAssignment() { return cTypeNameAssignment; }
+
 		//"condition" | "figure" | "break" | "model" | "paragraph" | "section" | "table"
-		public Alternatives getAlternatives() { return cAlternatives; }
+		public Alternatives getTypeNameAlternatives_0() { return cTypeNameAlternatives_0; }
 
 		//"condition"
-		public Keyword getConditionKeyword_0() { return cConditionKeyword_0; }
+		public Keyword getTypeNameConditionKeyword_0_0() { return cTypeNameConditionKeyword_0_0; }
 
 		//"figure"
-		public Keyword getFigureKeyword_1() { return cFigureKeyword_1; }
+		public Keyword getTypeNameFigureKeyword_0_1() { return cTypeNameFigureKeyword_0_1; }
 
 		//"break"
-		public Keyword getBreakKeyword_2() { return cBreakKeyword_2; }
+		public Keyword getTypeNameBreakKeyword_0_2() { return cTypeNameBreakKeyword_0_2; }
 
 		//"model"
-		public Keyword getModelKeyword_3() { return cModelKeyword_3; }
+		public Keyword getTypeNameModelKeyword_0_3() { return cTypeNameModelKeyword_0_3; }
 
 		//"paragraph"
-		public Keyword getParagraphKeyword_4() { return cParagraphKeyword_4; }
+		public Keyword getTypeNameParagraphKeyword_0_4() { return cTypeNameParagraphKeyword_0_4; }
 
 		//"section"
-		public Keyword getSectionKeyword_5() { return cSectionKeyword_5; }
+		public Keyword getTypeNameSectionKeyword_0_5() { return cTypeNameSectionKeyword_0_5; }
 
 		//"table"
-		public Keyword getTableKeyword_6() { return cTableKeyword_6; }
+		public Keyword getTypeNameTableKeyword_0_6() { return cTypeNameTableKeyword_0_6; }
 	}
 
 	public class DocItemElements extends AbstractParserRuleElementFinder {
 		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "DocItem");
 		private final Group cGroup = (Group)rule.eContents().get(1);
 		private final Assignment cTypeAssignment_0 = (Assignment)cGroup.eContents().get(0);
 		private final RuleCall cTypeDocItemTypeParserRuleCall_0_0 = (RuleCall)cTypeAssignment_0.eContents().get(0);
-		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cIdIDTerminalRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
+		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
 		private final Assignment cRefAssignment_2 = (Assignment)cGroup.eContents().get(2);
 		private final RuleCall cRefSTRINGTerminalRuleCall_2_0 = (RuleCall)cRefAssignment_2.eContents().get(0);
 		private final Keyword cSemicolonKeyword_3 = (Keyword)cGroup.eContents().get(3);
 		
 		//DocItem:
-		//	type=DocItemType id=ID ref=STRING ";";
+		//	type=DocItemType name=ID ref=STRING ";";
 		public ParserRule getRule() { return rule; }
 
-		//type=DocItemType id=ID ref=STRING ";"
+		//type=DocItemType name=ID ref=STRING ";"
 		public Group getGroup() { return cGroup; }
 
 		//type=DocItemType
@@ -404,11 +416,11 @@ public class DocItemElements extends AbstractParserRuleElementFinder {
 		//DocItemType
 		public RuleCall getTypeDocItemTypeParserRuleCall_0_0() { return cTypeDocItemTypeParserRuleCall_0_0; }
 
-		//id=ID
-		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
+		//name=ID
+		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
 
 		//ID
-		public RuleCall getIdIDTerminalRuleCall_1_0() { return cIdIDTerminalRuleCall_1_0; }
+		public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
 
 		//ref=STRING
 		public Assignment getRefAssignment_2() { return cRefAssignment_2; }
@@ -422,56 +434,60 @@ public class DocItemElements extends AbstractParserRuleElementFinder {
 
 	public class ModelTypeElements extends AbstractParserRuleElementFinder {
 		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ModelType");
-		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final Keyword cOutputKeyword_0 = (Keyword)cAlternatives.eContents().get(0);
-		private final Keyword cModeKeyword_1 = (Keyword)cAlternatives.eContents().get(1);
-		private final Keyword cStateKeyword_2 = (Keyword)cAlternatives.eContents().get(2);
-		private final Keyword cMacroKeyword_3 = (Keyword)cAlternatives.eContents().get(3);
-		private final Keyword cFunctionKeyword_4 = (Keyword)cAlternatives.eContents().get(4);
-		private final Keyword cInputKeyword_5 = (Keyword)cAlternatives.eContents().get(5);
+		private final Assignment cTypeNameAssignment = (Assignment)rule.eContents().get(1);
+		private final Alternatives cTypeNameAlternatives_0 = (Alternatives)cTypeNameAssignment.eContents().get(0);
+		private final Keyword cTypeNameOutputKeyword_0_0 = (Keyword)cTypeNameAlternatives_0.eContents().get(0);
+		private final Keyword cTypeNameModeKeyword_0_1 = (Keyword)cTypeNameAlternatives_0.eContents().get(1);
+		private final Keyword cTypeNameStateKeyword_0_2 = (Keyword)cTypeNameAlternatives_0.eContents().get(2);
+		private final Keyword cTypeNameMacroKeyword_0_3 = (Keyword)cTypeNameAlternatives_0.eContents().get(3);
+		private final Keyword cTypeNameFunctionKeyword_0_4 = (Keyword)cTypeNameAlternatives_0.eContents().get(4);
+		private final Keyword cTypeNameInputKeyword_0_5 = (Keyword)cTypeNameAlternatives_0.eContents().get(5);
 		
 		//ModelType:
-		//	"output" | "mode" | "state" | "macro" | "function" | "input";
+		//	typeName=("output" | "mode" | "state" | "macro" | "function" | "input");
 		public ParserRule getRule() { return rule; }
 
+		//typeName=("output" | "mode" | "state" | "macro" | "function" | "input")
+		public Assignment getTypeNameAssignment() { return cTypeNameAssignment; }
+
 		//"output" | "mode" | "state" | "macro" | "function" | "input"
-		public Alternatives getAlternatives() { return cAlternatives; }
+		public Alternatives getTypeNameAlternatives_0() { return cTypeNameAlternatives_0; }
 
 		//"output"
-		public Keyword getOutputKeyword_0() { return cOutputKeyword_0; }
+		public Keyword getTypeNameOutputKeyword_0_0() { return cTypeNameOutputKeyword_0_0; }
 
 		//"mode"
-		public Keyword getModeKeyword_1() { return cModeKeyword_1; }
+		public Keyword getTypeNameModeKeyword_0_1() { return cTypeNameModeKeyword_0_1; }
 
 		//"state"
-		public Keyword getStateKeyword_2() { return cStateKeyword_2; }
+		public Keyword getTypeNameStateKeyword_0_2() { return cTypeNameStateKeyword_0_2; }
 
 		//"macro"
-		public Keyword getMacroKeyword_3() { return cMacroKeyword_3; }
+		public Keyword getTypeNameMacroKeyword_0_3() { return cTypeNameMacroKeyword_0_3; }
 
 		//"function"
-		public Keyword getFunctionKeyword_4() { return cFunctionKeyword_4; }
+		public Keyword getTypeNameFunctionKeyword_0_4() { return cTypeNameFunctionKeyword_0_4; }
 
 		//"input"
-		public Keyword getInputKeyword_5() { return cInputKeyword_5; }
+		public Keyword getTypeNameInputKeyword_0_5() { return cTypeNameInputKeyword_0_5; }
 	}
 
 	public class ModelItemElements extends AbstractParserRuleElementFinder {
 		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ModelItem");
 		private final Group cGroup = (Group)rule.eContents().get(1);
 		private final Assignment cTypeAssignment_0 = (Assignment)cGroup.eContents().get(0);
 		private final RuleCall cTypeModelTypeParserRuleCall_0_0 = (RuleCall)cTypeAssignment_0.eContents().get(0);
-		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cIdIDTerminalRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
+		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
 		private final Assignment cDescAssignment_2 = (Assignment)cGroup.eContents().get(2);
 		private final RuleCall cDescSTRINGTerminalRuleCall_2_0 = (RuleCall)cDescAssignment_2.eContents().get(0);
 		private final Keyword cSemicolonKeyword_3 = (Keyword)cGroup.eContents().get(3);
 		
 		//ModelItem:
-		//	type=ModelType id=ID desc=STRING ";";
+		//	type=ModelType name=ID desc=STRING ";";
 		public ParserRule getRule() { return rule; }
 
-		//type=ModelType id=ID desc=STRING ";"
+		//type=ModelType name=ID desc=STRING ";"
 		public Group getGroup() { return cGroup; }
 
 		//type=ModelType
@@ -480,11 +496,11 @@ public class ModelItemElements extends AbstractParserRuleElementFinder {
 		//ModelType
 		public RuleCall getTypeModelTypeParserRuleCall_0_0() { return cTypeModelTypeParserRuleCall_0_0; }
 
-		//id=ID
-		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
+		//name=ID
+		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
 
 		//ID
-		public RuleCall getIdIDTerminalRuleCall_1_0() { return cIdIDTerminalRuleCall_1_0; }
+		public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
 
 		//desc=STRING
 		public Assignment getDescAssignment_2() { return cDescAssignment_2; }
@@ -498,39 +514,43 @@ public class ModelItemElements extends AbstractParserRuleElementFinder {
 
 	public class ListItemTypeElements extends AbstractParserRuleElementFinder {
 		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ListItemType");
-		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final Keyword cRequirementKeyword_0 = (Keyword)cAlternatives.eContents().get(0);
-		private final Keyword cGoalKeyword_1 = (Keyword)cAlternatives.eContents().get(1);
-		private final Keyword cHazardKeyword_2 = (Keyword)cAlternatives.eContents().get(2);
-		private final Keyword cConstraintKeyword_3 = (Keyword)cAlternatives.eContents().get(3);
+		private final Assignment cTypeNameAssignment = (Assignment)rule.eContents().get(1);
+		private final Alternatives cTypeNameAlternatives_0 = (Alternatives)cTypeNameAssignment.eContents().get(0);
+		private final Keyword cTypeNameRequirementKeyword_0_0 = (Keyword)cTypeNameAlternatives_0.eContents().get(0);
+		private final Keyword cTypeNameGoalKeyword_0_1 = (Keyword)cTypeNameAlternatives_0.eContents().get(1);
+		private final Keyword cTypeNameHazardKeyword_0_2 = (Keyword)cTypeNameAlternatives_0.eContents().get(2);
+		private final Keyword cTypeNameConstraintKeyword_0_3 = (Keyword)cTypeNameAlternatives_0.eContents().get(3);
 		
 		//ListItemType:
-		//	"requirement" | "goal" | "hazard" | "constraint";
+		//	typeName=("requirement" | "goal" | "hazard" | "constraint");
 		public ParserRule getRule() { return rule; }
 
+		//typeName=("requirement" | "goal" | "hazard" | "constraint")
+		public Assignment getTypeNameAssignment() { return cTypeNameAssignment; }
+
 		//"requirement" | "goal" | "hazard" | "constraint"
-		public Alternatives getAlternatives() { return cAlternatives; }
+		public Alternatives getTypeNameAlternatives_0() { return cTypeNameAlternatives_0; }
 
 		//"requirement"
-		public Keyword getRequirementKeyword_0() { return cRequirementKeyword_0; }
+		public Keyword getTypeNameRequirementKeyword_0_0() { return cTypeNameRequirementKeyword_0_0; }
 
 		//"goal"
-		public Keyword getGoalKeyword_1() { return cGoalKeyword_1; }
+		public Keyword getTypeNameGoalKeyword_0_1() { return cTypeNameGoalKeyword_0_1; }
 
 		//"hazard"
-		public Keyword getHazardKeyword_2() { return cHazardKeyword_2; }
+		public Keyword getTypeNameHazardKeyword_0_2() { return cTypeNameHazardKeyword_0_2; }
 
 		//"constraint"
-		public Keyword getConstraintKeyword_3() { return cConstraintKeyword_3; }
+		public Keyword getTypeNameConstraintKeyword_0_3() { return cTypeNameConstraintKeyword_0_3; }
 	}
 
 	public class ListItemElements extends AbstractParserRuleElementFinder {
 		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ListItem");
 		private final Group cGroup = (Group)rule.eContents().get(1);
 		private final Assignment cTypeAssignment_0 = (Assignment)cGroup.eContents().get(0);
 		private final RuleCall cTypeListItemTypeParserRuleCall_0_0 = (RuleCall)cTypeAssignment_0.eContents().get(0);
-		private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cIdIDTerminalRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
+		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
 		private final Assignment cDescAssignment_2 = (Assignment)cGroup.eContents().get(2);
 		private final RuleCall cDescSTRINGTerminalRuleCall_2_0 = (RuleCall)cDescAssignment_2.eContents().get(0);
 		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
@@ -555,58 +575,13 @@ public class ListItemElements extends AbstractParserRuleElementFinder {
 		
 		/// *
 		// * A list item has a type, description and lists of references.
-		// * / / * 
-		//Level0:
-		//	{Level0}
-		//	'{'
-		//		('Program Plan' pmp=Document)?
-		//		('Safety Plan' safetyPlan=Document)?
-		//		('Accident Definition' accidentDefinition=Document)?
-		//		('Safety Policy' safetyPolicy=Document)?
-		//	'}'
-		//;
-		//
-		//Level1:
-		//	{Level1}
-		//	'{'
-		//		('Introduction' introduction=Document)?
-		//		('Historical' historical=Document)?
-		//		('Environment' environment=Document)?
-		//		('Goals' '(' goals+=GoalItem* ')' )?
-		//		('High-Level Requirements' '(' highLevelReqs+=RequirementItem* ')' )?
-		//		('System Limitations' limitations=Document)?
-		//		('Operator Requirements' '(' opReq+=RequirementItem* ')' )?
-		//		('Hazard Analysis' hazardAnalysis=Document)?
-		//		('Hazard List' '(' hazardList+=HazardItem* ')')?
-		//		('Design Constraints' '(' constraints+=ConstraintItem* ')' )?
-		//		('Verification and Validation' verification=Document)?
-		//	'}'
-		//;
-		//
-		//
-		//Level2:
-		//	desc=STRING
-		//	'{'
-		//	'}'	
-		//;
-		//
-		//Level3:
-		//	desc=STRING
-		//	'{'
-		//		('System Blackbox Behavior' '(' behaviors+=ModelItem* ')' )?
-		//		('User Model' '(' userModels+=ModelItem* ')' )?
-		//		('Verification and Validation' verification=Document )?
-		//	'}'
-		//;
-		//
-		//
 		// * / ListItem:
-		//	type=ListItemType id=ID desc=STRING ("{" docReferences+=[DocItem]* "}")? ("(" itemReferences+=[ListItem]* ")")? ("["
-		//	modelReferences+=[ModelItem]* "]")? ";";
+		//	type=ListItemType name=ID desc=STRING ("{" docReferences+=[DocItem]+ "}")? ("(" itemReferences+=[ListItem]+ ")")? ("["
+		//	modelReferences+=[ModelItem]+ "]")? ";";
 		public ParserRule getRule() { return rule; }
 
-		//type=ListItemType id=ID desc=STRING ("{" docReferences+=[DocItem]* "}")? ("(" itemReferences+=[ListItem]* ")")? ("["
-		//modelReferences+=[ModelItem]* "]")? ";"
+		//type=ListItemType name=ID desc=STRING ("{" docReferences+=[DocItem]+ "}")? ("(" itemReferences+=[ListItem]+ ")")? ("["
+		//modelReferences+=[ModelItem]+ "]")? ";"
 		public Group getGroup() { return cGroup; }
 
 		//type=ListItemType
@@ -615,25 +590,25 @@ public class ListItemElements extends AbstractParserRuleElementFinder {
 		//ListItemType
 		public RuleCall getTypeListItemTypeParserRuleCall_0_0() { return cTypeListItemTypeParserRuleCall_0_0; }
 
-		//id=ID
-		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
+		//name=ID
+		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
 
 		//ID
-		public RuleCall getIdIDTerminalRuleCall_1_0() { return cIdIDTerminalRuleCall_1_0; }
+		public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
 
 		//desc=STRING
 		public Assignment getDescAssignment_2() { return cDescAssignment_2; }
 
 		//STRING
 		public RuleCall getDescSTRINGTerminalRuleCall_2_0() { return cDescSTRINGTerminalRuleCall_2_0; }
 
-		//("{" docReferences+=[DocItem]* "}")?
+		//("{" docReferences+=[DocItem]+ "}")?
 		public Group getGroup_3() { return cGroup_3; }
 
 		//"{"
 		public Keyword getLeftCurlyBracketKeyword_3_0() { return cLeftCurlyBracketKeyword_3_0; }
 
-		//docReferences+=[DocItem]*
+		//docReferences+=[DocItem]+
 		public Assignment getDocReferencesAssignment_3_1() { return cDocReferencesAssignment_3_1; }
 
 		//[DocItem]
@@ -645,13 +620,13 @@ public class ListItemElements extends AbstractParserRuleElementFinder {
 		//"}"
 		public Keyword getRightCurlyBracketKeyword_3_2() { return cRightCurlyBracketKeyword_3_2; }
 
-		//("(" itemReferences+=[ListItem]* ")")?
+		//("(" itemReferences+=[ListItem]+ ")")?
 		public Group getGroup_4() { return cGroup_4; }
 
 		//"("
 		public Keyword getLeftParenthesisKeyword_4_0() { return cLeftParenthesisKeyword_4_0; }
 
-		//itemReferences+=[ListItem]*
+		//itemReferences+=[ListItem]+
 		public Assignment getItemReferencesAssignment_4_1() { return cItemReferencesAssignment_4_1; }
 
 		//[ListItem]
@@ -663,13 +638,13 @@ public class ListItemElements extends AbstractParserRuleElementFinder {
 		//")"
 		public Keyword getRightParenthesisKeyword_4_2() { return cRightParenthesisKeyword_4_2; }
 
-		//("[" modelReferences+=[ModelItem]* "]")?
+		//("[" modelReferences+=[ModelItem]+ "]")?
 		public Group getGroup_5() { return cGroup_5; }
 
 		//"["
 		public Keyword getLeftSquareBracketKeyword_5_0() { return cLeftSquareBracketKeyword_5_0; }
 
-		//modelReferences+=[ModelItem]*
+		//modelReferences+=[ModelItem]+
 		public Assignment getModelReferencesAssignment_5_1() { return cModelReferencesAssignment_5_1; }
 
 		//[ModelItem]
@@ -741,7 +716,7 @@ public TerminalsGrammarAccess getTerminalsGrammarAccess() {
 	/// *
 	// * An intent specification consists of one or more refinements.
 	// * / Specification:
-	//	"specification" id=ID refinements+=Refinement+;
+	//	"specification" name=ID refinements+=Refinement+;
 	public SpecificationElements getSpecificationAccess() {
 		return (pSpecification != null) ? pSpecification : (pSpecification = new SpecificationElements());
 	}
@@ -753,7 +728,7 @@ public ParserRule getSpecificationRule() {
 	/// *
 	// * A refinement has no type and consists of one or more intents.
 	// * / Refinement:
-	//	"refinement" id=ID desc=STRING intents+=Intent+;
+	//	"refinement" name=ID desc=STRING intents+=Intent+;
 	public RefinementElements getRefinementAccess() {
 		return (pRefinement != null) ? pRefinement : (pRefinement = new RefinementElements());
 	}
@@ -765,7 +740,7 @@ public ParserRule getRefinementRule() {
 	/// *
 	// * An intent has a type and consists of one or more decompositions. 
 	// * / Intent:
-	//	type=IntentType id=ID desc=STRING decompositions+=Decomposition+;
+	//	type=IntentType name=ID desc=STRING decompositions+=Decomposition+;
 	public IntentElements getIntentAccess() {
 		return (pIntent != null) ? pIntent : (pIntent = new IntentElements());
 	}
@@ -779,7 +754,7 @@ public ParserRule getIntentRule() {
 	// * The grammar does not enforce their universal containment in a specification.
 	// * A proper intention specification should contain an intent of each type in each refinement.
 	// * / IntentType:
-	//	"basic" | "purpose" | "principles" | "models" | "design" | "implementation" | "operation";
+	//	typeName=("basic" | "purpose" | "principles" | "models" | "design" | "implementation" | "operation");
 	public IntentTypeElements getIntentTypeAccess() {
 		return (pIntentType != null) ? pIntentType : (pIntentType = new IntentTypeElements());
 	}
@@ -791,7 +766,7 @@ public ParserRule getIntentTypeRule() {
 	/// *
 	// * A decomposition has a type and consists of one or more models, documents, or items.
 	// * / Decomposition:
-	//	type=DecompositionType id=ID desc=STRING ("{" documents+=Document* "}")? ("[" models+=ModelItem* "]")? ("("
+	//	type=DecompositionType name=ID desc=STRING ("{" documents+=Document* "}")? ("[" models+=ModelItem* "]")? ("("
 	//	items+=ListItem* ")")?;
 	public DecompositionElements getDecompositionAccess() {
 		return (pDecomposition != null) ? pDecomposition : (pDecomposition = new DecompositionElements());
@@ -802,7 +777,7 @@ public ParserRule getDecompositionRule() {
 	}
 
 	//DecompositionType:
-	//	"environment" | "operator" | "system" | "verification";
+	//	typeName=("environment" | "operator" | "system" | "verification");
 	public DecompositionTypeElements getDecompositionTypeAccess() {
 		return (pDecompositionType != null) ? pDecompositionType : (pDecompositionType = new DecompositionTypeElements());
 	}
@@ -822,7 +797,7 @@ public ParserRule getDocumentRule() {
 	}
 
 	//DocItemType:
-	//	"condition" | "figure" | "break" | "model" | "paragraph" | "section" | "table";
+	//	typeName=("condition" | "figure" | "break" | "model" | "paragraph" | "section" | "table");
 	public DocItemTypeElements getDocItemTypeAccess() {
 		return (pDocItemType != null) ? pDocItemType : (pDocItemType = new DocItemTypeElements());
 	}
@@ -832,7 +807,7 @@ public ParserRule getDocItemTypeRule() {
 	}
 
 	//DocItem:
-	//	type=DocItemType id=ID ref=STRING ";";
+	//	type=DocItemType name=ID ref=STRING ";";
 	public DocItemElements getDocItemAccess() {
 		return (pDocItem != null) ? pDocItem : (pDocItem = new DocItemElements());
 	}
@@ -842,7 +817,7 @@ public ParserRule getDocItemRule() {
 	}
 
 	//ModelType:
-	//	"output" | "mode" | "state" | "macro" | "function" | "input";
+	//	typeName=("output" | "mode" | "state" | "macro" | "function" | "input");
 	public ModelTypeElements getModelTypeAccess() {
 		return (pModelType != null) ? pModelType : (pModelType = new ModelTypeElements());
 	}
@@ -852,7 +827,7 @@ public ParserRule getModelTypeRule() {
 	}
 
 	//ModelItem:
-	//	type=ModelType id=ID desc=STRING ";";
+	//	type=ModelType name=ID desc=STRING ";";
 	public ModelItemElements getModelItemAccess() {
 		return (pModelItem != null) ? pModelItem : (pModelItem = new ModelItemElements());
 	}
@@ -862,7 +837,7 @@ public ParserRule getModelItemRule() {
 	}
 
 	//ListItemType:
-	//	"requirement" | "goal" | "hazard" | "constraint";
+	//	typeName=("requirement" | "goal" | "hazard" | "constraint");
 	public ListItemTypeElements getListItemTypeAccess() {
 		return (pListItemType != null) ? pListItemType : (pListItemType = new ListItemTypeElements());
 	}
@@ -873,54 +848,9 @@ public ParserRule getListItemTypeRule() {
 
 	/// *
 	// * A list item has a type, description and lists of references.
-	// * / / * 
-	//Level0:
-	//	{Level0}
-	//	'{'
-	//		('Program Plan' pmp=Document)?
-	//		('Safety Plan' safetyPlan=Document)?
-	//		('Accident Definition' accidentDefinition=Document)?
-	//		('Safety Policy' safetyPolicy=Document)?
-	//	'}'
-	//;
-	//
-	//Level1:
-	//	{Level1}
-	//	'{'
-	//		('Introduction' introduction=Document)?
-	//		('Historical' historical=Document)?
-	//		('Environment' environment=Document)?
-	//		('Goals' '(' goals+=GoalItem* ')' )?
-	//		('High-Level Requirements' '(' highLevelReqs+=RequirementItem* ')' )?
-	//		('System Limitations' limitations=Document)?
-	//		('Operator Requirements' '(' opReq+=RequirementItem* ')' )?
-	//		('Hazard Analysis' hazardAnalysis=Document)?
-	//		('Hazard List' '(' hazardList+=HazardItem* ')')?
-	//		('Design Constraints' '(' constraints+=ConstraintItem* ')' )?
-	//		('Verification and Validation' verification=Document)?
-	//	'}'
-	//;
-	//
-	//
-	//Level2:
-	//	desc=STRING
-	//	'{'
-	//	'}'	
-	//;
-	//
-	//Level3:
-	//	desc=STRING
-	//	'{'
-	//		('System Blackbox Behavior' '(' behaviors+=ModelItem* ')' )?
-	//		('User Model' '(' userModels+=ModelItem* ')' )?
-	//		('Verification and Validation' verification=Document )?
-	//	'}'
-	//;
-	//
-	//
 	// * / ListItem:
-	//	type=ListItemType id=ID desc=STRING ("{" docReferences+=[DocItem]* "}")? ("(" itemReferences+=[ListItem]* ")")? ("["
-	//	modelReferences+=[ModelItem]* "]")? ";";
+	//	type=ListItemType name=ID desc=STRING ("{" docReferences+=[DocItem]+ "}")? ("(" itemReferences+=[ListItem]+ ")")? ("["
+	//	modelReferences+=[ModelItem]+ "]")? ";";
 	public ListItemElements getListItemAccess() {
 		return (pListItem != null) ? pListItem : (pListItem = new ListItemElements());
 	}
https://github.com/nasa/CertWare/raw/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fservices%2FIntentSpecificationGrammarAccess.java
492d3f0c6e243a4a171562251d67918938a267e8
modified
https://github.com/nasa/CertWare/blob/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fvalidation%2FAbstractIntentSpecificationValidator.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fvalidation%2FAbstractIntentSpecificationValidator.java?ref=27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9
net.certware.intent/src-gen/net/certware/intent/validation/AbstractIntentSpecificationValidator.java
import org.eclipse.xtext.validation.ComposedChecks;
@ComposedChecks(validators= {org.eclipse.xtext.validation.NamesAreUniqueValidator.class})
@@ -6,7 +6,9 @@
 import java.util.ArrayList;
 import java.util.List;
 import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.xtext.validation.ComposedChecks;
 
+@ComposedChecks(validators= {org.eclipse.xtext.validation.NamesAreUniqueValidator.class})
 public class AbstractIntentSpecificationValidator extends org.eclipse.xtext.validation.AbstractDeclarativeValidator {
 
 	@Override
https://github.com/nasa/CertWare/raw/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fvalidation%2FAbstractIntentSpecificationValidator.java
a9fbf6bc5f88b6795db0461bab75320ce7150d8a
modified
https://github.com/nasa/CertWare/blob/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc%2Fnet%2Fcertware%2Fintent%2FGenerateIntentSpecification.mwe2
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent%2Fsrc%2Fnet%2Fcertware%2Fintent%2FGenerateIntentSpecification.mwe2?ref=27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9
net.certware.intent/src/net/certware/intent/GenerateIntentSpecification.mwe2
				composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
    		//    composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
@@ -72,7 +72,7 @@ Workflow {
     		// Xtend-based API for validation
     		fragment = validation.ValidatorFragment auto-inject {
     		//    composedCheck = "org.eclipse.xtext.validation.ImportUriValidator"
-    		//    composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
+				composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
     		}
     
     		// old scoping and exporting API
https://github.com/nasa/CertWare/raw/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc%2Fnet%2Fcertware%2Fintent%2FGenerateIntentSpecification.mwe2
4f8023b917cb702ee5648856888b6b276f59f3a9
modified
https://github.com/nasa/CertWare/blob/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc%2Fnet%2Fcertware%2Fintent%2FIntentSpecification.xtext
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent%2Fsrc%2Fnet%2Fcertware%2Fintent%2FIntentSpecification.xtext?ref=27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9
net.certware.intent/src/net/certware/intent/IntentSpecification.xtext
	name=ID
	name=ID
	name=ID
	typeName=('basic' | 'purpose' | 'principles' | 'models' | 'design' | 'implementation' | 'operation')
	name=ID
	typeName=('environment' | 'operator' | 'system' | 'verification')
	typeName=('condition' | 'figure' | 'break' | 'model' | 'paragraph' | 'section' | 'table')
	name=ID
	typeName=('output' | 'mode' | 'state' | 'macro' | 'function' | 'input')	
	name=ID
	typeName=('requirement' | 'goal' | 'hazard' | 'constraint')	
	name=ID
	id=ID
	id=ID
	id=ID
	'basic' | 'purpose' | 'principles' | 'models' | 'design' | 'implementation' | 'operation'
	id=ID
	'environment' | 'operator' | 'system' | 'verification'
	'condition' | 'figure' | 'break' | 'model' | 'paragraph' | 'section' | 'table'
	id=ID
	'output' | 'mode' | 'state' | 'macro' | 'function' | 'input'	
	id=ID
	'requirement' | 'goal' | 'hazard' | 'constraint'	
	id=ID


/* 
Level0:
	{Level0}
	'{'
		('Program Plan' pmp=Document)?
		('Safety Plan' safetyPlan=Document)?
		('Accident Definition' accidentDefinition=Document)?
		('Safety Policy' safetyPolicy=Document)?
	'}'
;

Level1:
	{Level1}
	'{'
		('Introduction' introduction=Document)?
		('Historical' historical=Document)?
		('Environment' environment=Document)?
		('Goals' '(' goals+=GoalItem* ')' )?
		('High-Level Requirements' '(' highLevelReqs+=RequirementItem* ')' )?
		('System Limitations' limitations=Document)?
		('Operator Requirements' '(' opReq+=RequirementItem* ')' )?
		('Hazard Analysis' hazardAnalysis=Document)?
		('Hazard List' '(' hazardList+=HazardItem* ')')?
		('Design Constraints' '(' constraints+=ConstraintItem* ')' )?
		('Verification and Validation' verification=Document)?
	'}'
;


Level2:
	desc=STRING
	'{'
	'}'	
;

Level3:
	desc=STRING
	'{'
		('System Blackbox Behavior' '(' behaviors+=ModelItem* ')' )?
		('User Model' '(' userModels+=ModelItem* ')' )?
		('Verification and Validation' verification=Document )?
	'}'
;


*/
@@ -12,7 +12,7 @@ generate intentSpecification "http://www.certware.net/intent/IntentSpecification
  */
 Specification:
 	'specification'
-	id=ID
+	name=ID
 	refinements+=Refinement+
 ;
 
@@ -21,7 +21,7 @@ Specification:
  */
 Refinement:
 	'refinement'
-	id=ID
+	name=ID
 	desc=STRING
 	intents+=Intent+	
 ;	
@@ -31,7 +31,7 @@ Refinement:
  */
 Intent:
 	type=IntentType
-	id=ID
+	name=ID
 	desc=STRING
 	decompositions+=Decomposition+	
 ;
@@ -42,113 +42,65 @@ Intent:
  * A proper intention specification should contain an intent of each type in each refinement.
  */
 IntentType:
-	'basic' | 'purpose' | 'principles' | 'models' | 'design' | 'implementation' | 'operation'
+	typeName=('basic' | 'purpose' | 'principles' | 'models' | 'design' | 'implementation' | 'operation')
 ;
 
 /*
  * A decomposition has a type and consists of one or more models, documents, or items.
  */
 Decomposition:
 	type=DecompositionType
-	id=ID
+	name=ID
 	desc=STRING
 	('{' documents+=Document* '}')?
 	('[' models+=ModelItem* ']')?
 	('(' items+=ListItem* ')')?
 ;
 
 DecompositionType:
-	'environment' | 'operator' | 'system' | 'verification'
+	typeName=('environment' | 'operator' | 'system' | 'verification')
 ;
 
 Document:
 	'{' entries += DocItem+ '}'
 ;
 
 DocItemType:
-	'condition' | 'figure' | 'break' | 'model' | 'paragraph' | 'section' | 'table'
+	typeName=('condition' | 'figure' | 'break' | 'model' | 'paragraph' | 'section' | 'table')
 ;
 
 DocItem :
 	type=DocItemType
-	id=ID
+	name=ID
 	ref=STRING
 	';'
 ;
 
 ModelType:
-	'output' | 'mode' | 'state' | 'macro' | 'function' | 'input'	
+	typeName=('output' | 'mode' | 'state' | 'macro' | 'function' | 'input')	
 ;
 
 ModelItem:
 	type=ModelType
-	id=ID
+	name=ID
 	desc=STRING
 	';'
 ;
 
 ListItemType:
-	'requirement' | 'goal' | 'hazard' | 'constraint'	
+	typeName=('requirement' | 'goal' | 'hazard' | 'constraint')	
 ;
 
 /*
  * A list item has a type, description and lists of references.
  */
 ListItem:
 	type=ListItemType
-	id=ID
+	name=ID
 	desc=STRING
 	('{' docReferences+=[DocItem]+ '}' )?
 	('(' itemReferences+=[ListItem]+ ')' )?
 	('[' modelReferences+=[ModelItem]+ ']' )?
 	';'
 ;
 
-
-
-/* 
-Level0:
-	{Level0}
-	'{'
-		('Program Plan' pmp=Document)?
-		('Safety Plan' safetyPlan=Document)?
-		('Accident Definition' accidentDefinition=Document)?
-		('Safety Policy' safetyPolicy=Document)?
-	'}'
-;
-
-Level1:
-	{Level1}
-	'{'
-		('Introduction' introduction=Document)?
-		('Historical' historical=Document)?
-		('Environment' environment=Document)?
-		('Goals' '(' goals+=GoalItem* ')' )?
-		('High-Level Requirements' '(' highLevelReqs+=RequirementItem* ')' )?
-		('System Limitations' limitations=Document)?
-		('Operator Requirements' '(' opReq+=RequirementItem* ')' )?
-		('Hazard Analysis' hazardAnalysis=Document)?
-		('Hazard List' '(' hazardList+=HazardItem* ')')?
-		('Design Constraints' '(' constraints+=ConstraintItem* ')' )?
-		('Verification and Validation' verification=Document)?
-	'}'
-;
-
-
-Level2:
-	desc=STRING
-	'{'
-	'}'	
-;
-
-Level3:
-	desc=STRING
-	'{'
-		('System Blackbox Behavior' '(' behaviors+=ModelItem* ')' )?
-		('User Model' '(' userModels+=ModelItem* ')' )?
-		('Verification and Validation' verification=Document )?
-	'}'
-;
-
-
-*/
\ No newline at end of file
https://github.com/nasa/CertWare/raw/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc%2Fnet%2Fcertware%2Fintent%2FIntentSpecification.xtext
328aadf18fab8c0509bd3935eeef66ac75dcf46f
modified
https://github.com/nasa/CertWare/blob/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc%2Fnet%2Fcertware%2Fintent%2Fvalidation%2FIntentSpecificationValidator.xtend
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent%2Fsrc%2Fnet%2Fcertware%2Fintent%2Fvalidation%2FIntentSpecificationValidator.xtend?ref=27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9
net.certware.intent/src/net/certware/intent/validation/IntentSpecificationValidator.xtend

import net.certware.intent.intentSpecification.Intent
import net.certware.intent.intentSpecification.IntentSpecificationPackage
import net.certware.intent.intentSpecification.Refinement
import org.eclipse.xtext.validation.Check
import net.certware.intent.intentSpecification.Decomposition
import net.certware.intent.intentSpecification.ListItem
import net.certware.intent.intentSpecification.ModelItem
	public static val UNIQUE_INTENTS_REFINEMENT = "net.certware.intent.UniqueIntentsRefinement";
	public static val UNIQUE_DECOMPOSITION_INTENT = "net.certware.intent.UniqueDecompositionIntent";
	public static val UNIQUE_LIST_ITEM_DECOMPOSITION = "net.certware.intent.UniqueListItemDecomposition";
	public static val UNIQUE_MODEL_ITEM_DECOMPOSITION = "net.certware.intent.UniqueModelItemDecomposition";
	public static val UNIQUE_LIST_ITEM_LIST_ITEM = "net.certware.intent.UniqueListItemListItem";
	public static val UNIQUE_MODEL_ITEM_LIST_ITEM = "net.certware.intent.UniqueModelItemListItem";
	
    @Check
    def checkUniqueIntentsInRefinement(Refinement refinement) {
    	// for each intent type ensure it appears only once in a refinement
    	val visitedIntentTypeNames = <String>newHashSet()
    	
    	var intents = refinement.intents
    	var i = intents.listIterator
    	while ( i.hasNext ) {
    		var d = i.next as Intent
    		var typeName = d.getType().getTypeName()
    		if ( visitedIntentTypeNames.contains(typeName)) {
    			warning("duplicate intent type '"+typeName+"' in refinement",
    				IntentSpecificationPackage::eINSTANCE.refinement_Intents,
    				UNIQUE_INTENTS_REFINEMENT,
    				d.name
    			)
    		}
			visitedIntentTypeNames.add(typeName)
    	}
    }
    
    @Check
    def checkUniqueDecompositionInIntent(Intent intent) {
    	// for each decomposition type ensure it appears only once in an intent
    	val visitedDecompositionTypeNames = <String>newHashSet()
    	
    	var decompositions = intent.getDecompositions()
    	var i = decompositions.listIterator
    	while ( i.hasNext ) {
    		var d = i.next as Decomposition
    		var typeName = d.getType().getTypeName()
    		if ( visitedDecompositionTypeNames.contains(typeName)) {
    			warning("duplicate decomposition type '"+typeName+"' in intent",
    				IntentSpecificationPackage::eINSTANCE.intent_Decompositions,
    				UNIQUE_DECOMPOSITION_INTENT,
    				d.name
    			)
    		}
			visitedDecompositionTypeNames.add(typeName)
    	}
    }
    
    @Check
    def checkUniqueListItemInDecomposition(Decomposition decomposition) {
    	// for each list item it appears only once in a decomposition list
    	val visitedListItems = <ListItem>newHashSet()
    	
    	var items = decomposition.items
    	var i = items.listIterator
    	while ( i.hasNext ) {
    		var d = i.next
    		if ( visitedListItems.contains(d)) {
    			warning("duplicate item reference '"+d.name+"' in list",
    				IntentSpecificationPackage::eINSTANCE.decomposition_Items,
    				UNIQUE_LIST_ITEM_DECOMPOSITION,
    				d.name
    			)
    		}
			visitedListItems.add(d)
    	}
    }
    
    @Check
    def checkUniqueModelItemInDecomposition(Decomposition decomposition) {
    	// for each model item it appears only once in a decomposition list
    	val visitedModelItems = <ModelItem>newHashSet()
    	
    	var items = decomposition.models
    	var i = items.listIterator
    	while ( i.hasNext ) {
    		var d = i.next as ModelItem
    		if ( visitedModelItems.contains(d)) {
    			warning("duplicate item reference '"+d.name+"' in models",
    				IntentSpecificationPackage::eINSTANCE.decomposition_Models,
    				UNIQUE_MODEL_ITEM_DECOMPOSITION,
    				d.name
    			)
    		}
			visitedModelItems.add(d)
    	}
    }
    
    @Check
    def checkUniqueListItemInListItem(ListItem item) {
    	// for each list item it appears only once in an item list
    	val visitedListItems = <ListItem>newHashSet()
    	visitedListItems.add(item) // add self, preclude from referencing in item list
    	
    	var items = item.itemReferences
    	var i = items.listIterator
    	while ( i.hasNext ) {
    		var d = i.next as ListItem
    		if ( visitedListItems.contains(d)) {
    			warning("duplicate item reference '"+d.name+"' in items",
    				IntentSpecificationPackage::eINSTANCE.listItem_ItemReferences,
    				UNIQUE_LIST_ITEM_LIST_ITEM,
					d.name    				 
    			)
    		}
			visitedListItems.add(d)
    	}
    }
    
    @Check
    def checkUniqueModelItemInListItem(ListItem item) {
    	// for each model item it appears only once in an model list
    	val visitedModelItems = <ModelItem>newHashSet()
    	
    	var items = item.modelReferences
    	var i = items.listIterator
    	while ( i.hasNext ) {
    		var d = i.next as ModelItem
    		if ( visitedModelItems.contains(d)) {
    			warning("duplicate model reference '"+d.name+"' in models",
    				IntentSpecificationPackage::eINSTANCE.listItem_ModelReferences,
    				UNIQUE_MODEL_ITEM_LIST_ITEM,
    				d.name
    			)
    		}
			visitedModelItems.add(d)
    	}
    }
Refinement refinement
net.certware.intent/src/net/certware/intent/validation/IntentSpecificationValidator.xtend
// for each intent type ensure it appears only once in a refinement
    	val visitedIntentTypeNames = <String>newHashSet()
    	
    	var intents = refinement.intents
    	var i = intents.listIterator
    	while ( i.hasNext ) {
    		var d = i.next as Intent
    		var typeName = d.getType().getTypeName()
    		if ( visitedIntentTypeNames.contains(typeName)) {
    			warning("duplicate intent type '"+typeName+"' in refinement",
    				IntentSpecificationPackage::eINSTANCE.refinement_Intents,
    				UNIQUE_INTENTS_REFINEMENT,
    				d.name
    			)
def checkUniqueIntentsInRefinement(Refinement refinement)
Intent intent
net.certware.intent/src/net/certware/intent/validation/IntentSpecificationValidator.xtend
// for each decomposition type ensure it appears only once in an intent
    	val visitedDecompositionTypeNames = <String>newHashSet()
    	
    	var decompositions = intent.getDecompositions()
    	var i = decompositions.listIterator
    	while ( i.hasNext ) {
    		var d = i.next as Decomposition
    		var typeName = d.getType().getTypeName()
    		if ( visitedDecompositionTypeNames.contains(typeName)) {
    			warning("duplicate decomposition type '"+typeName+"' in intent",
    				IntentSpecificationPackage::eINSTANCE.intent_Decompositions,
    				UNIQUE_DECOMPOSITION_INTENT,
    				d.name
    			)
def checkUniqueDecompositionInIntent(Intent intent)
Decomposition decomposition
net.certware.intent/src/net/certware/intent/validation/IntentSpecificationValidator.xtend
// for each list item it appears only once in a decomposition list
    	val visitedListItems = <ListItem>newHashSet()
    	
    	var items = decomposition.items
    	var i = items.listIterator
    	while ( i.hasNext ) {
    		var d = i.next
    		if ( visitedListItems.contains(d)) {
    			warning("duplicate item reference '"+d.name+"' in list",
    				IntentSpecificationPackage::eINSTANCE.decomposition_Items,
    				UNIQUE_LIST_ITEM_DECOMPOSITION,
    				d.name
    			)
def checkUniqueListItemInDecomposition(Decomposition decomposition)
Decomposition decomposition
net.certware.intent/src/net/certware/intent/validation/IntentSpecificationValidator.xtend
// for each model item it appears only once in a decomposition list
    	val visitedModelItems = <ModelItem>newHashSet()
    	
    	var items = decomposition.models
    	var i = items.listIterator
    	while ( i.hasNext ) {
    		var d = i.next as ModelItem
    		if ( visitedModelItems.contains(d)) {
    			warning("duplicate item reference '"+d.name+"' in models",
    				IntentSpecificationPackage::eINSTANCE.decomposition_Models,
    				UNIQUE_MODEL_ITEM_DECOMPOSITION,
    				d.name
    			)
def checkUniqueModelItemInDecomposition(Decomposition decomposition)
ListItem item
net.certware.intent/src/net/certware/intent/validation/IntentSpecificationValidator.xtend
// for each list item it appears only once in an item list
    	val visitedListItems = <ListItem>newHashSet()
    	visitedListItems.add(item) // add self, preclude from referencing in item list
    	
    	var items = item.itemReferences
    	var i = items.listIterator
    	while ( i.hasNext ) {
    		var d = i.next as ListItem
    		if ( visitedListItems.contains(d)) {
    			warning("duplicate item reference '"+d.name+"' in items",
    				IntentSpecificationPackage::eINSTANCE.listItem_ItemReferences,
    				UNIQUE_LIST_ITEM_LIST_ITEM,
					d.name    				 
    			)
def checkUniqueListItemInListItem(ListItem item)
ListItem item
net.certware.intent/src/net/certware/intent/validation/IntentSpecificationValidator.xtend
// for each model item it appears only once in an model list
    	val visitedModelItems = <ModelItem>newHashSet()
    	
    	var items = item.modelReferences
    	var i = items.listIterator
    	while ( i.hasNext ) {
    		var d = i.next as ModelItem
    		if ( visitedModelItems.contains(d)) {
    			warning("duplicate model reference '"+d.name+"' in models",
    				IntentSpecificationPackage::eINSTANCE.listItem_ModelReferences,
    				UNIQUE_MODEL_ITEM_LIST_ITEM,
    				d.name
    			)
def checkUniqueModelItemInListItem(ListItem item)
//import org.eclipse.xtext.validation.Check
//  public static val INVALID_NAME = 'invalidName'
//
//	@Check
//	def checkGreetingStartsWithCapital(Greeting greeting) {
//		if (!Character.isUpperCase(greeting.name.charAt(0))) {
//			warning('Name should start with a capital', 
//					MyDslPackage.Literals.GREETING__NAME,
//					INVALID_NAME)
//		}
//	}
Greeting greeting
net.certware.intent/src/net/certware/intent/validation/IntentSpecificationValidator.xtend
//		if (!Character.isUpperCase(greeting.name.charAt(0))) {
//			warning('Name should start with a capital', 
//					MyDslPackage.Literals.GREETING__NAME,
//					INVALID_NAME)
//
def checkGreetingStartsWithCapital(Greeting greeting)
@@ -2,7 +2,14 @@
  * generated by Xtext
  */
 package net.certware.intent.validation
-//import org.eclipse.xtext.validation.Check
+
+import net.certware.intent.intentSpecification.Intent
+import net.certware.intent.intentSpecification.IntentSpecificationPackage
+import net.certware.intent.intentSpecification.Refinement
+import org.eclipse.xtext.validation.Check
+import net.certware.intent.intentSpecification.Decomposition
+import net.certware.intent.intentSpecification.ListItem
+import net.certware.intent.intentSpecification.ModelItem
 
 /**
  * Custom validation rules. 
@@ -11,14 +18,133 @@ package net.certware.intent.validation
  */
 class IntentSpecificationValidator extends AbstractIntentSpecificationValidator {
 
-//  public static val INVALID_NAME = 'invalidName'
-//
-//	@Check
-//	def checkGreetingStartsWithCapital(Greeting greeting) {
-//		if (!Character.isUpperCase(greeting.name.charAt(0))) {
-//			warning('Name should start with a capital', 
-//					MyDslPackage.Literals.GREETING__NAME,
-//					INVALID_NAME)
-//		}
-//	}
+	public static val UNIQUE_INTENTS_REFINEMENT = "net.certware.intent.UniqueIntentsRefinement";
+	public static val UNIQUE_DECOMPOSITION_INTENT = "net.certware.intent.UniqueDecompositionIntent";
+	public static val UNIQUE_LIST_ITEM_DECOMPOSITION = "net.certware.intent.UniqueListItemDecomposition";
+	public static val UNIQUE_MODEL_ITEM_DECOMPOSITION = "net.certware.intent.UniqueModelItemDecomposition";
+	public static val UNIQUE_LIST_ITEM_LIST_ITEM = "net.certware.intent.UniqueListItemListItem";
+	public static val UNIQUE_MODEL_ITEM_LIST_ITEM = "net.certware.intent.UniqueModelItemListItem";
+	
+    @Check
+    def checkUniqueIntentsInRefinement(Refinement refinement) {
+    	// for each intent type ensure it appears only once in a refinement
+    	val visitedIntentTypeNames = <String>newHashSet()
+    	
+    	var intents = refinement.intents
+    	var i = intents.listIterator
+    	while ( i.hasNext ) {
+    		var d = i.next as Intent
+    		var typeName = d.getType().getTypeName()
+    		if ( visitedIntentTypeNames.contains(typeName)) {
+    			warning("duplicate intent type '"+typeName+"' in refinement",
+    				IntentSpecificationPackage::eINSTANCE.refinement_Intents,
+    				UNIQUE_INTENTS_REFINEMENT,
+    				d.name
+    			)
+    		}
+			visitedIntentTypeNames.add(typeName)
+    	}
+    }
+    
+    @Check
+    def checkUniqueDecompositionInIntent(Intent intent) {
+    	// for each decomposition type ensure it appears only once in an intent
+    	val visitedDecompositionTypeNames = <String>newHashSet()
+    	
+    	var decompositions = intent.getDecompositions()
+    	var i = decompositions.listIterator
+    	while ( i.hasNext ) {
+    		var d = i.next as Decomposition
+    		var typeName = d.getType().getTypeName()
+    		if ( visitedDecompositionTypeNames.contains(typeName)) {
+    			warning("duplicate decomposition type '"+typeName+"' in intent",
+    				IntentSpecificationPackage::eINSTANCE.intent_Decompositions,
+    				UNIQUE_DECOMPOSITION_INTENT,
+    				d.name
+    			)
+    		}
+			visitedDecompositionTypeNames.add(typeName)
+    	}
+    }
+    
+    @Check
+    def checkUniqueListItemInDecomposition(Decomposition decomposition) {
+    	// for each list item it appears only once in a decomposition list
+    	val visitedListItems = <ListItem>newHashSet()
+    	
+    	var items = decomposition.items
+    	var i = items.listIterator
+    	while ( i.hasNext ) {
+    		var d = i.next
+    		if ( visitedListItems.contains(d)) {
+    			warning("duplicate item reference '"+d.name+"' in list",
+    				IntentSpecificationPackage::eINSTANCE.decomposition_Items,
+    				UNIQUE_LIST_ITEM_DECOMPOSITION,
+    				d.name
+    			)
+    		}
+			visitedListItems.add(d)
+    	}
+    }
+    
+    @Check
+    def checkUniqueModelItemInDecomposition(Decomposition decomposition) {
+    	// for each model item it appears only once in a decomposition list
+    	val visitedModelItems = <ModelItem>newHashSet()
+    	
+    	var items = decomposition.models
+    	var i = items.listIterator
+    	while ( i.hasNext ) {
+    		var d = i.next as ModelItem
+    		if ( visitedModelItems.contains(d)) {
+    			warning("duplicate item reference '"+d.name+"' in models",
+    				IntentSpecificationPackage::eINSTANCE.decomposition_Models,
+    				UNIQUE_MODEL_ITEM_DECOMPOSITION,
+    				d.name
+    			)
+    		}
+			visitedModelItems.add(d)
+    	}
+    }
+    
+    @Check
+    def checkUniqueListItemInListItem(ListItem item) {
+    	// for each list item it appears only once in an item list
+    	val visitedListItems = <ListItem>newHashSet()
+    	visitedListItems.add(item) // add self, preclude from referencing in item list
+    	
+    	var items = item.itemReferences
+    	var i = items.listIterator
+    	while ( i.hasNext ) {
+    		var d = i.next as ListItem
+    		if ( visitedListItems.contains(d)) {
+    			warning("duplicate item reference '"+d.name+"' in items",
+    				IntentSpecificationPackage::eINSTANCE.listItem_ItemReferences,
+    				UNIQUE_LIST_ITEM_LIST_ITEM,
+					d.name    				 
+    			)
+    		}
+			visitedListItems.add(d)
+    	}
+    }
+    
+    @Check
+    def checkUniqueModelItemInListItem(ListItem item) {
+    	// for each model item it appears only once in an model list
+    	val visitedModelItems = <ModelItem>newHashSet()
+    	
+    	var items = item.modelReferences
+    	var i = items.listIterator
+    	while ( i.hasNext ) {
+    		var d = i.next as ModelItem
+    		if ( visitedModelItems.contains(d)) {
+    			warning("duplicate model reference '"+d.name+"' in models",
+    				IntentSpecificationPackage::eINSTANCE.listItem_ModelReferences,
+    				UNIQUE_MODEL_ITEM_LIST_ITEM,
+    				d.name
+    			)
+    		}
+			visitedModelItems.add(d)
+    	}
+    }
 }
https://github.com/nasa/CertWare/raw/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fsrc%2Fnet%2Fcertware%2Fintent%2Fvalidation%2FIntentSpecificationValidator.xtend
2948f9fdbdfa797be196d1a50778131fbdd19d07
modified
https://github.com/nasa/CertWare/blob/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fxtend-gen%2Fnet%2Fcertware%2Fintent%2Fvalidation%2FIntentSpecificationValidator.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent%2Fxtend-gen%2Fnet%2Fcertware%2Fintent%2Fvalidation%2FIntentSpecificationValidator.java?ref=27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9
net.certware.intent/xtend-gen/net/certware/intent/validation/IntentSpecificationValidator.java
import java.util.HashSet;
import java.util.ListIterator;
import net.certware.intent.intentSpecification.Decomposition;
import net.certware.intent.intentSpecification.DecompositionType;
import net.certware.intent.intentSpecification.Intent;
import net.certware.intent.intentSpecification.IntentSpecificationPackage;
import net.certware.intent.intentSpecification.IntentType;
import net.certware.intent.intentSpecification.ListItem;
import net.certware.intent.intentSpecification.ModelItem;
import net.certware.intent.intentSpecification.Refinement;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.xtext.validation.Check;
import org.eclipse.xtext.xbase.lib.CollectionLiterals;
  public final static String UNIQUE_INTENTS_REFINEMENT = "net.certware.intent.UniqueIntentsRefinement";
  
  public final static String UNIQUE_DECOMPOSITION_INTENT = "net.certware.intent.UniqueDecompositionIntent";
  
  public final static String UNIQUE_LIST_ITEM_DECOMPOSITION = "net.certware.intent.UniqueListItemDecomposition";
  
  public final static String UNIQUE_MODEL_ITEM_DECOMPOSITION = "net.certware.intent.UniqueModelItemDecomposition";
  
  public final static String UNIQUE_LIST_ITEM_LIST_ITEM = "net.certware.intent.UniqueListItemListItem";
  
  public final static String UNIQUE_MODEL_ITEM_LIST_ITEM = "net.certware.intent.UniqueModelItemListItem";
  
  @Check
  public void checkUniqueIntentsInRefinement(final Refinement refinement) {
    final HashSet<String> visitedIntentTypeNames = CollectionLiterals.<String>newHashSet();
    EList<Intent> intents = refinement.getIntents();
    ListIterator<Intent> i = intents.listIterator();
    boolean _hasNext = i.hasNext();
    boolean _while = _hasNext;
    while (_while) {
      {
        Intent _next = i.next();
        Intent d = ((Intent) _next);
        IntentType _type = d.getType();
        String typeName = _type.getTypeName();
        boolean _contains = visitedIntentTypeNames.contains(typeName);
        if (_contains) {
          String _plus = ("duplicate intent type \'" + typeName);
          String _plus_1 = (_plus + "\' in refinement");
          EReference _refinement_Intents = IntentSpecificationPackage.eINSTANCE.getRefinement_Intents();
          String _name = d.getName();
          this.warning(_plus_1, _refinement_Intents, 
            IntentSpecificationValidator.UNIQUE_INTENTS_REFINEMENT, _name);
        }
        visitedIntentTypeNames.add(typeName);
      }
      boolean _hasNext_1 = i.hasNext();
      _while = _hasNext_1;
    }
  }
  
  @Check
  public void checkUniqueDecompositionInIntent(final Intent intent) {
    final HashSet<String> visitedDecompositionTypeNames = CollectionLiterals.<String>newHashSet();
    EList<Decomposition> decompositions = intent.getDecompositions();
    ListIterator<Decomposition> i = decompositions.listIterator();
    boolean _hasNext = i.hasNext();
    boolean _while = _hasNext;
    while (_while) {
      {
        Decomposition _next = i.next();
        Decomposition d = ((Decomposition) _next);
        DecompositionType _type = d.getType();
        String typeName = _type.getTypeName();
        boolean _contains = visitedDecompositionTypeNames.contains(typeName);
        if (_contains) {
          String _plus = ("duplicate decomposition type \'" + typeName);
          String _plus_1 = (_plus + "\' in intent");
          EReference _intent_Decompositions = IntentSpecificationPackage.eINSTANCE.getIntent_Decompositions();
          String _name = d.getName();
          this.warning(_plus_1, _intent_Decompositions, 
            IntentSpecificationValidator.UNIQUE_DECOMPOSITION_INTENT, _name);
        }
        visitedDecompositionTypeNames.add(typeName);
      }
      boolean _hasNext_1 = i.hasNext();
      _while = _hasNext_1;
    }
  }
  
  @Check
  public void checkUniqueListItemInDecomposition(final Decomposition decomposition) {
    final HashSet<ListItem> visitedListItems = CollectionLiterals.<ListItem>newHashSet();
    EList<ListItem> items = decomposition.getItems();
    ListIterator<ListItem> i = items.listIterator();
    boolean _hasNext = i.hasNext();
    boolean _while = _hasNext;
    while (_while) {
      {
        ListItem d = i.next();
        boolean _contains = visitedListItems.contains(d);
        if (_contains) {
          String _name = d.getName();
          String _plus = ("duplicate item reference \'" + _name);
          String _plus_1 = (_plus + "\' in list");
          EReference _decomposition_Items = IntentSpecificationPackage.eINSTANCE.getDecomposition_Items();
          String _name_1 = d.getName();
          this.warning(_plus_1, _decomposition_Items, 
            IntentSpecificationValidator.UNIQUE_LIST_ITEM_DECOMPOSITION, _name_1);
        }
        visitedListItems.add(d);
      }
      boolean _hasNext_1 = i.hasNext();
      _while = _hasNext_1;
    }
  }
  
  @Check
  public void checkUniqueModelItemInDecomposition(final Decomposition decomposition) {
    final HashSet<ModelItem> visitedModelItems = CollectionLiterals.<ModelItem>newHashSet();
    EList<ModelItem> items = decomposition.getModels();
    ListIterator<ModelItem> i = items.listIterator();
    boolean _hasNext = i.hasNext();
    boolean _while = _hasNext;
    while (_while) {
      {
        ModelItem _next = i.next();
        ModelItem d = ((ModelItem) _next);
        boolean _contains = visitedModelItems.contains(d);
        if (_contains) {
          String _name = d.getName();
          String _plus = ("duplicate item reference \'" + _name);
          String _plus_1 = (_plus + "\' in models");
          EReference _decomposition_Models = IntentSpecificationPackage.eINSTANCE.getDecomposition_Models();
          String _name_1 = d.getName();
          this.warning(_plus_1, _decomposition_Models, 
            IntentSpecificationValidator.UNIQUE_MODEL_ITEM_DECOMPOSITION, _name_1);
        }
        visitedModelItems.add(d);
      }
      boolean _hasNext_1 = i.hasNext();
      _while = _hasNext_1;
    }
  }
  
  @Check
  public void checkUniqueListItemInListItem(final ListItem item) {
    final HashSet<ListItem> visitedListItems = CollectionLiterals.<ListItem>newHashSet();
    visitedListItems.add(item);
    EList<ListItem> items = item.getItemReferences();
    ListIterator<ListItem> i = items.listIterator();
    boolean _hasNext = i.hasNext();
    boolean _while = _hasNext;
    while (_while) {
      {
        ListItem _next = i.next();
        ListItem d = ((ListItem) _next);
        boolean _contains = visitedListItems.contains(d);
        if (_contains) {
          String _name = d.getName();
          String _plus = ("duplicate item reference \'" + _name);
          String _plus_1 = (_plus + "\' in items");
          EReference _listItem_ItemReferences = IntentSpecificationPackage.eINSTANCE.getListItem_ItemReferences();
          String _name_1 = d.getName();
          this.warning(_plus_1, _listItem_ItemReferences, 
            IntentSpecificationValidator.UNIQUE_LIST_ITEM_LIST_ITEM, _name_1);
        }
        visitedListItems.add(d);
      }
      boolean _hasNext_1 = i.hasNext();
      _while = _hasNext_1;
    }
  }
  
  @Check
  public void checkUniqueModelItemInListItem(final ListItem item) {
    final HashSet<ModelItem> visitedModelItems = CollectionLiterals.<ModelItem>newHashSet();
    EList<ModelItem> items = item.getModelReferences();
    ListIterator<ModelItem> i = items.listIterator();
    boolean _hasNext = i.hasNext();
    boolean _while = _hasNext;
    while (_while) {
      {
        ModelItem _next = i.next();
        ModelItem d = ((ModelItem) _next);
        boolean _contains = visitedModelItems.contains(d);
        if (_contains) {
          String _name = d.getName();
          String _plus = ("duplicate model reference \'" + _name);
          String _plus_1 = (_plus + "\' in models");
          EReference _listItem_ModelReferences = IntentSpecificationPackage.eINSTANCE.getListItem_ModelReferences();
          String _name_1 = d.getName();
          this.warning(_plus_1, _listItem_ModelReferences, 
            IntentSpecificationValidator.UNIQUE_MODEL_ITEM_LIST_ITEM, _name_1);
        }
        visitedModelItems.add(d);
      }
      boolean _hasNext_1 = i.hasNext();
      _while = _hasNext_1;
    }
  }
final Refinement refinement
net.certware.intent/xtend-gen/net/certware/intent/validation/IntentSpecificationValidator.java
final HashSet<String> visitedIntentTypeNames = CollectionLiterals.<String>newHashSet();
    EList<Intent> intents = refinement.getIntents();
    ListIterator<Intent> i = intents.listIterator();
    boolean _hasNext = i.hasNext();
    boolean _while = _hasNext;
    while (_while) {
      {
        Intent _next = i.next();
        Intent d = ((Intent) _next);
        IntentType _type = d.getType();
        String typeName = _type.getTypeName();
        boolean _contains = visitedIntentTypeNames.contains(typeName);
        if (_contains) {
          String _plus = ("duplicate intent type \'" + typeName);
          String _plus_1 = (_plus + "\' in refinement");
          EReference _refinement_Intents = IntentSpecificationPackage.eINSTANCE.getRefinement_Intents();
          String _name = d.getName();
          this.warning(_plus_1, _refinement_Intents, 
            IntentSpecificationValidator.UNIQUE_INTENTS_REFINEMENT, _name);
void checkUniqueIntentsInRefinement(final Refinement refinement)
final Intent intent
net.certware.intent/xtend-gen/net/certware/intent/validation/IntentSpecificationValidator.java
final HashSet<String> visitedDecompositionTypeNames = CollectionLiterals.<String>newHashSet();
    EList<Decomposition> decompositions = intent.getDecompositions();
    ListIterator<Decomposition> i = decompositions.listIterator();
    boolean _hasNext = i.hasNext();
    boolean _while = _hasNext;
    while (_while) {
      {
        Decomposition _next = i.next();
        Decomposition d = ((Decomposition) _next);
        DecompositionType _type = d.getType();
        String typeName = _type.getTypeName();
        boolean _contains = visitedDecompositionTypeNames.contains(typeName);
        if (_contains) {
          String _plus = ("duplicate decomposition type \'" + typeName);
          String _plus_1 = (_plus + "\' in intent");
          EReference _intent_Decompositions = IntentSpecificationPackage.eINSTANCE.getIntent_Decompositions();
          String _name = d.getName();
          this.warning(_plus_1, _intent_Decompositions, 
            IntentSpecificationValidator.UNIQUE_DECOMPOSITION_INTENT, _name);
void checkUniqueDecompositionInIntent(final Intent intent)
final Decomposition decomposition
net.certware.intent/xtend-gen/net/certware/intent/validation/IntentSpecificationValidator.java
final HashSet<ListItem> visitedListItems = CollectionLiterals.<ListItem>newHashSet();
    EList<ListItem> items = decomposition.getItems();
    ListIterator<ListItem> i = items.listIterator();
    boolean _hasNext = i.hasNext();
    boolean _while = _hasNext;
    while (_while) {
      {
        ListItem d = i.next();
        boolean _contains = visitedListItems.contains(d);
        if (_contains) {
          String _name = d.getName();
          String _plus = ("duplicate item reference \'" + _name);
          String _plus_1 = (_plus + "\' in list");
          EReference _decomposition_Items = IntentSpecificationPackage.eINSTANCE.getDecomposition_Items();
          String _name_1 = d.getName();
          this.warning(_plus_1, _decomposition_Items, 
            IntentSpecificationValidator.UNIQUE_LIST_ITEM_DECOMPOSITION, _name_1);
void checkUniqueListItemInDecomposition(final Decomposition decomposition)
final Decomposition decomposition
net.certware.intent/xtend-gen/net/certware/intent/validation/IntentSpecificationValidator.java
final HashSet<ModelItem> visitedModelItems = CollectionLiterals.<ModelItem>newHashSet();
    EList<ModelItem> items = decomposition.getModels();
    ListIterator<ModelItem> i = items.listIterator();
    boolean _hasNext = i.hasNext();
    boolean _while = _hasNext;
    while (_while) {
      {
        ModelItem _next = i.next();
        ModelItem d = ((ModelItem) _next);
        boolean _contains = visitedModelItems.contains(d);
        if (_contains) {
          String _name = d.getName();
          String _plus = ("duplicate item reference \'" + _name);
          String _plus_1 = (_plus + "\' in models");
          EReference _decomposition_Models = IntentSpecificationPackage.eINSTANCE.getDecomposition_Models();
          String _name_1 = d.getName();
          this.warning(_plus_1, _decomposition_Models, 
            IntentSpecificationValidator.UNIQUE_MODEL_ITEM_DECOMPOSITION, _name_1);
void checkUniqueModelItemInDecomposition(final Decomposition decomposition)
final ListItem item
net.certware.intent/xtend-gen/net/certware/intent/validation/IntentSpecificationValidator.java
final HashSet<ListItem> visitedListItems = CollectionLiterals.<ListItem>newHashSet();
    visitedListItems.add(item);
    EList<ListItem> items = item.getItemReferences();
    ListIterator<ListItem> i = items.listIterator();
    boolean _hasNext = i.hasNext();
    boolean _while = _hasNext;
    while (_while) {
      {
        ListItem _next = i.next();
        ListItem d = ((ListItem) _next);
        boolean _contains = visitedListItems.contains(d);
        if (_contains) {
          String _name = d.getName();
          String _plus = ("duplicate item reference \'" + _name);
          String _plus_1 = (_plus + "\' in items");
          EReference _listItem_ItemReferences = IntentSpecificationPackage.eINSTANCE.getListItem_ItemReferences();
          String _name_1 = d.getName();
          this.warning(_plus_1, _listItem_ItemReferences, 
            IntentSpecificationValidator.UNIQUE_LIST_ITEM_LIST_ITEM, _name_1);
void checkUniqueListItemInListItem(final ListItem item)
final ListItem item
net.certware.intent/xtend-gen/net/certware/intent/validation/IntentSpecificationValidator.java
final HashSet<ModelItem> visitedModelItems = CollectionLiterals.<ModelItem>newHashSet();
    EList<ModelItem> items = item.getModelReferences();
    ListIterator<ModelItem> i = items.listIterator();
    boolean _hasNext = i.hasNext();
    boolean _while = _hasNext;
    while (_while) {
      {
        ModelItem _next = i.next();
        ModelItem d = ((ModelItem) _next);
        boolean _contains = visitedModelItems.contains(d);
        if (_contains) {
          String _name = d.getName();
          String _plus = ("duplicate model reference \'" + _name);
          String _plus_1 = (_plus + "\' in models");
          EReference _listItem_ModelReferences = IntentSpecificationPackage.eINSTANCE.getListItem_ModelReferences();
          String _name_1 = d.getName();
          this.warning(_plus_1, _listItem_ModelReferences, 
            IntentSpecificationValidator.UNIQUE_MODEL_ITEM_LIST_ITEM, _name_1);
void checkUniqueModelItemInListItem(final ListItem item)
@@ -3,7 +3,21 @@
  */
 package net.certware.intent.validation;
 
+import java.util.HashSet;
+import java.util.ListIterator;
+import net.certware.intent.intentSpecification.Decomposition;
+import net.certware.intent.intentSpecification.DecompositionType;
+import net.certware.intent.intentSpecification.Intent;
+import net.certware.intent.intentSpecification.IntentSpecificationPackage;
+import net.certware.intent.intentSpecification.IntentType;
+import net.certware.intent.intentSpecification.ListItem;
+import net.certware.intent.intentSpecification.ModelItem;
+import net.certware.intent.intentSpecification.Refinement;
 import net.certware.intent.validation.AbstractIntentSpecificationValidator;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.xtext.validation.Check;
+import org.eclipse.xtext.xbase.lib.CollectionLiterals;
 
 /**
  * Custom validation rules.
@@ -12,4 +26,185 @@
  */
 @SuppressWarnings("all")
 public class IntentSpecificationValidator extends AbstractIntentSpecificationValidator {
+  public final static String UNIQUE_INTENTS_REFINEMENT = "net.certware.intent.UniqueIntentsRefinement";
+  
+  public final static String UNIQUE_DECOMPOSITION_INTENT = "net.certware.intent.UniqueDecompositionIntent";
+  
+  public final static String UNIQUE_LIST_ITEM_DECOMPOSITION = "net.certware.intent.UniqueListItemDecomposition";
+  
+  public final static String UNIQUE_MODEL_ITEM_DECOMPOSITION = "net.certware.intent.UniqueModelItemDecomposition";
+  
+  public final static String UNIQUE_LIST_ITEM_LIST_ITEM = "net.certware.intent.UniqueListItemListItem";
+  
+  public final static String UNIQUE_MODEL_ITEM_LIST_ITEM = "net.certware.intent.UniqueModelItemListItem";
+  
+  @Check
+  public void checkUniqueIntentsInRefinement(final Refinement refinement) {
+    final HashSet<String> visitedIntentTypeNames = CollectionLiterals.<String>newHashSet();
+    EList<Intent> intents = refinement.getIntents();
+    ListIterator<Intent> i = intents.listIterator();
+    boolean _hasNext = i.hasNext();
+    boolean _while = _hasNext;
+    while (_while) {
+      {
+        Intent _next = i.next();
+        Intent d = ((Intent) _next);
+        IntentType _type = d.getType();
+        String typeName = _type.getTypeName();
+        boolean _contains = visitedIntentTypeNames.contains(typeName);
+        if (_contains) {
+          String _plus = ("duplicate intent type \'" + typeName);
+          String _plus_1 = (_plus + "\' in refinement");
+          EReference _refinement_Intents = IntentSpecificationPackage.eINSTANCE.getRefinement_Intents();
+          String _name = d.getName();
+          this.warning(_plus_1, _refinement_Intents, 
+            IntentSpecificationValidator.UNIQUE_INTENTS_REFINEMENT, _name);
+        }
+        visitedIntentTypeNames.add(typeName);
+      }
+      boolean _hasNext_1 = i.hasNext();
+      _while = _hasNext_1;
+    }
+  }
+  
+  @Check
+  public void checkUniqueDecompositionInIntent(final Intent intent) {
+    final HashSet<String> visitedDecompositionTypeNames = CollectionLiterals.<String>newHashSet();
+    EList<Decomposition> decompositions = intent.getDecompositions();
+    ListIterator<Decomposition> i = decompositions.listIterator();
+    boolean _hasNext = i.hasNext();
+    boolean _while = _hasNext;
+    while (_while) {
+      {
+        Decomposition _next = i.next();
+        Decomposition d = ((Decomposition) _next);
+        DecompositionType _type = d.getType();
+        String typeName = _type.getTypeName();
+        boolean _contains = visitedDecompositionTypeNames.contains(typeName);
+        if (_contains) {
+          String _plus = ("duplicate decomposition type \'" + typeName);
+          String _plus_1 = (_plus + "\' in intent");
+          EReference _intent_Decompositions = IntentSpecificationPackage.eINSTANCE.getIntent_Decompositions();
+          String _name = d.getName();
+          this.warning(_plus_1, _intent_Decompositions, 
+            IntentSpecificationValidator.UNIQUE_DECOMPOSITION_INTENT, _name);
+        }
+        visitedDecompositionTypeNames.add(typeName);
+      }
+      boolean _hasNext_1 = i.hasNext();
+      _while = _hasNext_1;
+    }
+  }
+  
+  @Check
+  public void checkUniqueListItemInDecomposition(final Decomposition decomposition) {
+    final HashSet<ListItem> visitedListItems = CollectionLiterals.<ListItem>newHashSet();
+    EList<ListItem> items = decomposition.getItems();
+    ListIterator<ListItem> i = items.listIterator();
+    boolean _hasNext = i.hasNext();
+    boolean _while = _hasNext;
+    while (_while) {
+      {
+        ListItem d = i.next();
+        boolean _contains = visitedListItems.contains(d);
+        if (_contains) {
+          String _name = d.getName();
+          String _plus = ("duplicate item reference \'" + _name);
+          String _plus_1 = (_plus + "\' in list");
+          EReference _decomposition_Items = IntentSpecificationPackage.eINSTANCE.getDecomposition_Items();
+          String _name_1 = d.getName();
+          this.warning(_plus_1, _decomposition_Items, 
+            IntentSpecificationValidator.UNIQUE_LIST_ITEM_DECOMPOSITION, _name_1);
+        }
+        visitedListItems.add(d);
+      }
+      boolean _hasNext_1 = i.hasNext();
+      _while = _hasNext_1;
+    }
+  }
+  
+  @Check
+  public void checkUniqueModelItemInDecomposition(final Decomposition decomposition) {
+    final HashSet<ModelItem> visitedModelItems = CollectionLiterals.<ModelItem>newHashSet();
+    EList<ModelItem> items = decomposition.getModels();
+    ListIterator<ModelItem> i = items.listIterator();
+    boolean _hasNext = i.hasNext();
+    boolean _while = _hasNext;
+    while (_while) {
+      {
+        ModelItem _next = i.next();
+        ModelItem d = ((ModelItem) _next);
+        boolean _contains = visitedModelItems.contains(d);
+        if (_contains) {
+          String _name = d.getName();
+          String _plus = ("duplicate item reference \'" + _name);
+          String _plus_1 = (_plus + "\' in models");
+          EReference _decomposition_Models = IntentSpecificationPackage.eINSTANCE.getDecomposition_Models();
+          String _name_1 = d.getName();
+          this.warning(_plus_1, _decomposition_Models, 
+            IntentSpecificationValidator.UNIQUE_MODEL_ITEM_DECOMPOSITION, _name_1);
+        }
+        visitedModelItems.add(d);
+      }
+      boolean _hasNext_1 = i.hasNext();
+      _while = _hasNext_1;
+    }
+  }
+  
+  @Check
+  public void checkUniqueListItemInListItem(final ListItem item) {
+    final HashSet<ListItem> visitedListItems = CollectionLiterals.<ListItem>newHashSet();
+    visitedListItems.add(item);
+    EList<ListItem> items = item.getItemReferences();
+    ListIterator<ListItem> i = items.listIterator();
+    boolean _hasNext = i.hasNext();
+    boolean _while = _hasNext;
+    while (_while) {
+      {
+        ListItem _next = i.next();
+        ListItem d = ((ListItem) _next);
+        boolean _contains = visitedListItems.contains(d);
+        if (_contains) {
+          String _name = d.getName();
+          String _plus = ("duplicate item reference \'" + _name);
+          String _plus_1 = (_plus + "\' in items");
+          EReference _listItem_ItemReferences = IntentSpecificationPackage.eINSTANCE.getListItem_ItemReferences();
+          String _name_1 = d.getName();
+          this.warning(_plus_1, _listItem_ItemReferences, 
+            IntentSpecificationValidator.UNIQUE_LIST_ITEM_LIST_ITEM, _name_1);
+        }
+        visitedListItems.add(d);
+      }
+      boolean _hasNext_1 = i.hasNext();
+      _while = _hasNext_1;
+    }
+  }
+  
+  @Check
+  public void checkUniqueModelItemInListItem(final ListItem item) {
+    final HashSet<ModelItem> visitedModelItems = CollectionLiterals.<ModelItem>newHashSet();
+    EList<ModelItem> items = item.getModelReferences();
+    ListIterator<ModelItem> i = items.listIterator();
+    boolean _hasNext = i.hasNext();
+    boolean _while = _hasNext;
+    while (_while) {
+      {
+        ModelItem _next = i.next();
+        ModelItem d = ((ModelItem) _next);
+        boolean _contains = visitedModelItems.contains(d);
+        if (_contains) {
+          String _name = d.getName();
+          String _plus = ("duplicate model reference \'" + _name);
+          String _plus_1 = (_plus + "\' in models");
+          EReference _listItem_ModelReferences = IntentSpecificationPackage.eINSTANCE.getListItem_ModelReferences();
+          String _name_1 = d.getName();
+          this.warning(_plus_1, _listItem_ModelReferences, 
+            IntentSpecificationValidator.UNIQUE_MODEL_ITEM_LIST_ITEM, _name_1);
+        }
+        visitedModelItems.add(d);
+      }
+      boolean _hasNext_1 = i.hasNext();
+      _while = _hasNext_1;
+    }
+  }
 }
https://github.com/nasa/CertWare/raw/27f4d5e2037fcd41cb9ae7e454cb91b54216d1d9/net.certware.intent%2Fxtend-gen%2Fnet%2Fcertware%2Fintent%2Fvalidation%2FIntentSpecificationValidator.java
7af1db4fbd8a74caeb5142984fb685a77b01a4fa
modified
nasa$certware
return cTypeNameAlternatives_0;
Alternatives
Alternatives getTypeNameAlternatives_0()
return cAlternatives;
Alternatives
Alternatives getAlternatives()
nasa$certware
return cTypeNameAlternatives_0;
Alternatives
Alternatives getTypeNameAlternatives_0()
return cAlternatives;
Alternatives
Alternatives getAlternatives()
nasa$certware
return cTypeNameAlternatives_0;
Alternatives
Alternatives getTypeNameAlternatives_0()
return cAlternatives;
Alternatives
Alternatives getAlternatives()
nasa$certware
return cTypeNameAlternatives_0;
Alternatives
Alternatives getTypeNameAlternatives_0()
return cAlternatives;
Alternatives
Alternatives getAlternatives()
nasa$certware
return cTypeNameAlternatives_0;
Alternatives
Alternatives getTypeNameAlternatives_0()
return cAlternatives;
Alternatives
Alternatives getAlternatives()
nasa$certware
return cTypeNameBasicKeyword_0_0;
Keyword
Keyword getTypeNameBasicKeyword_0_0()
return cBasicKeyword_0;
Keyword
Keyword getBasicKeyword_0()
nasa$certware
return cTypeNameBreakKeyword_0_2;
Keyword
Keyword getTypeNameBreakKeyword_0_2()
return cBreakKeyword_2;
Keyword
Keyword getBreakKeyword_2()
nasa$certware
return cTypeNameConditionKeyword_0_0;
Keyword
Keyword getTypeNameConditionKeyword_0_0()
return cConditionKeyword_0;
Keyword
Keyword getConditionKeyword_0()
nasa$certware
return cTypeNameConstraintKeyword_0_3;
Keyword
Keyword getTypeNameConstraintKeyword_0_3()
return cConstraintKeyword_3;
Keyword
Keyword getConstraintKeyword_3()
nasa$certware
return cTypeNameDesignKeyword_0_4;
Keyword
Keyword getTypeNameDesignKeyword_0_4()
return cDesignKeyword_4;
Keyword
Keyword getDesignKeyword_4()
nasa$certware
return cTypeNameEnvironmentKeyword_0_0;
Keyword
Keyword getTypeNameEnvironmentKeyword_0_0()
return cEnvironmentKeyword_0;
Keyword
Keyword getEnvironmentKeyword_0()
nasa$certware
return cTypeNameFigureKeyword_0_1;
Keyword
Keyword getTypeNameFigureKeyword_0_1()
return cFigureKeyword_1;
Keyword
Keyword getFigureKeyword_1()
nasa$certware
return cTypeNameFunctionKeyword_0_4;
Keyword
Keyword getTypeNameFunctionKeyword_0_4()
return cFunctionKeyword_4;
Keyword
Keyword getFunctionKeyword_4()
nasa$certware
return cTypeNameGoalKeyword_0_1;
Keyword
Keyword getTypeNameGoalKeyword_0_1()
return cGoalKeyword_1;
Keyword
Keyword getGoalKeyword_1()
nasa$certware
return cTypeNameHazardKeyword_0_2;
Keyword
Keyword getTypeNameHazardKeyword_0_2()
return cHazardKeyword_2;
Keyword
Keyword getHazardKeyword_2()
nasa$certware
return cNameAssignment_1;
Assignment
Assignment getNameAssignment_1()
return cIdAssignment_1;
Assignment
Assignment getIdAssignment_1()
nasa$certware
return cNameAssignment_1;
Assignment
Assignment getNameAssignment_1()
return cIdAssignment_1;
Assignment
Assignment getIdAssignment_1()
nasa$certware
return cNameAssignment_1;
Assignment
Assignment getNameAssignment_1()
return cIdAssignment_1;
Assignment
Assignment getIdAssignment_1()
nasa$certware
return cNameAssignment_1;
Assignment
Assignment getNameAssignment_1()
return cIdAssignment_1;
Assignment
Assignment getIdAssignment_1()
nasa$certware
return cNameAssignment_1;
Assignment
Assignment getNameAssignment_1()
return cIdAssignment_1;
Assignment
Assignment getIdAssignment_1()
nasa$certware
return cNameAssignment_1;
Assignment
Assignment getNameAssignment_1()
return cIdAssignment_1;
Assignment
Assignment getIdAssignment_1()
nasa$certware
return cNameAssignment_1;
Assignment
Assignment getNameAssignment_1()
return cIdAssignment_1;
Assignment
Assignment getIdAssignment_1()
nasa$certware
return cNameIDTerminalRuleCall_1_0;
RuleCall
RuleCall getNameIDTerminalRuleCall_1_0()
return cIdIDTerminalRuleCall_1_0;
RuleCall
RuleCall getIdIDTerminalRuleCall_1_0()
nasa$certware
return cNameIDTerminalRuleCall_1_0;
RuleCall
RuleCall getNameIDTerminalRuleCall_1_0()
return cIdIDTerminalRuleCall_1_0;
RuleCall
RuleCall getIdIDTerminalRuleCall_1_0()
nasa$certware
return cNameIDTerminalRuleCall_1_0;
RuleCall
RuleCall getNameIDTerminalRuleCall_1_0()
return cIdIDTerminalRuleCall_1_0;
RuleCall
RuleCall getIdIDTerminalRuleCall_1_0()
nasa$certware
return cNameIDTerminalRuleCall_1_0;
RuleCall
RuleCall getNameIDTerminalRuleCall_1_0()
return cIdIDTerminalRuleCall_1_0;
RuleCall
RuleCall getIdIDTerminalRuleCall_1_0()
nasa$certware
return cNameIDTerminalRuleCall_1_0;
RuleCall
RuleCall getNameIDTerminalRuleCall_1_0()
return cIdIDTerminalRuleCall_1_0;
RuleCall
RuleCall getIdIDTerminalRuleCall_1_0()
nasa$certware
return cNameIDTerminalRuleCall_1_0;
RuleCall
RuleCall getNameIDTerminalRuleCall_1_0()
return cIdIDTerminalRuleCall_1_0;
RuleCall
RuleCall getIdIDTerminalRuleCall_1_0()
nasa$certware
return cNameIDTerminalRuleCall_1_0;
RuleCall
RuleCall getNameIDTerminalRuleCall_1_0()
return cIdIDTerminalRuleCall_1_0;
RuleCall
RuleCall getIdIDTerminalRuleCall_1_0()
nasa$certware
return cTypeNameImplementationKeyword_0_5;
Keyword
Keyword getTypeNameImplementationKeyword_0_5()
return cImplementationKeyword_5;
Keyword
Keyword getImplementationKeyword_5()
nasa$certware
return cTypeNameInputKeyword_0_5;
Keyword
Keyword getTypeNameInputKeyword_0_5()
return cInputKeyword_5;
Keyword
Keyword getInputKeyword_5()
nasa$certware
return cTypeNameMacroKeyword_0_3;
Keyword
Keyword getTypeNameMacroKeyword_0_3()
return cMacroKeyword_3;
Keyword
Keyword getMacroKeyword_3()
nasa$certware
return cTypeNameModeKeyword_0_1;
Keyword
Keyword getTypeNameModeKeyword_0_1()
return cModeKeyword_1;
Keyword
Keyword getModeKeyword_1()
nasa$certware
return cTypeNameModelKeyword_0_3;
Keyword
Keyword getTypeNameModelKeyword_0_3()
return cModelKeyword_3;
Keyword
Keyword getModelKeyword_3()
nasa$certware
return cTypeNameModelsKeyword_0_3;
Keyword
Keyword getTypeNameModelsKeyword_0_3()
return cModelsKeyword_3;
Keyword
Keyword getModelsKeyword_3()
nasa$certware
return cTypeNameOperationKeyword_0_6;
Keyword
Keyword getTypeNameOperationKeyword_0_6()
return cOperationKeyword_6;
Keyword
Keyword getOperationKeyword_6()
nasa$certware
return cTypeNameOperatorKeyword_0_1;
Keyword
Keyword getTypeNameOperatorKeyword_0_1()
return cOperatorKeyword_1;
Keyword
Keyword getOperatorKeyword_1()
nasa$certware
return cTypeNameOutputKeyword_0_0;
Keyword
Keyword getTypeNameOutputKeyword_0_0()
return cOutputKeyword_0;
Keyword
Keyword getOutputKeyword_0()
nasa$certware
return cTypeNameParagraphKeyword_0_4;
Keyword
Keyword getTypeNameParagraphKeyword_0_4()
return cParagraphKeyword_4;
Keyword
Keyword getParagraphKeyword_4()
nasa$certware
return cTypeNamePrinciplesKeyword_0_2;
Keyword
Keyword getTypeNamePrinciplesKeyword_0_2()
return cPrinciplesKeyword_2;
Keyword
Keyword getPrinciplesKeyword_2()
nasa$certware
return cTypeNamePurposeKeyword_0_1;
Keyword
Keyword getTypeNamePurposeKeyword_0_1()
return cPurposeKeyword_1;
Keyword
Keyword getPurposeKeyword_1()
nasa$certware
return cTypeNameRequirementKeyword_0_0;
Keyword
Keyword getTypeNameRequirementKeyword_0_0()
return cRequirementKeyword_0;
Keyword
Keyword getRequirementKeyword_0()
nasa$certware
return cTypeNameSectionKeyword_0_5;
Keyword
Keyword getTypeNameSectionKeyword_0_5()
return cSectionKeyword_5;
Keyword
Keyword getSectionKeyword_5()
nasa$certware
return cTypeNameStateKeyword_0_2;
Keyword
Keyword getTypeNameStateKeyword_0_2()
return cStateKeyword_2;
Keyword
Keyword getStateKeyword_2()
nasa$certware
return cTypeNameSystemKeyword_0_2;
Keyword
Keyword getTypeNameSystemKeyword_0_2()
return cSystemKeyword_2;
Keyword
Keyword getSystemKeyword_2()
nasa$certware
return cTypeNameTableKeyword_0_6;
Keyword
Keyword getTypeNameTableKeyword_0_6()
return cTableKeyword_6;
Keyword
Keyword getTableKeyword_6()
nasa$certware
return cTypeNameVerificationKeyword_0_3;
Keyword
Keyword getTypeNameVerificationKeyword_0_3()
return cVerificationKeyword_3;
Keyword
Keyword getVerificationKeyword_3()