nasa$certware
ValueRange newRange,NotificationChain msgs
NotificationChain
NotificationChain basicSetRange(ValueRange newRange,NotificationChain msgs)
BigUnitValue newRate,NotificationChain msgs
NotificationChain
NotificationChain basicSetRate(BigUnitValue newRate,NotificationChain msgs)
nasa$certware
EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor
void
void completeInput_AppearsIn(EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor)
EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor
void
void completeInput_Lower(EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor)
nasa$certware
EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor
void
void completeValueRange_Upper(EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor)
EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor
void
void completeInput_RangeType(EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor)
nasa$certware
EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor
void
void completeInput_Granularity(EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor)
EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor
void
void completeInput_RangeUnits(EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor)
nasa$certware
EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor
void
void completeInput_ArrivalRateAvg(EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor)
EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor
void
void completeInput_Rate(EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor)
nasa$certware
EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor
void
void completeInput_Structure(EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor)
EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor
void
void completeInput_Upper(EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor)
nasa$certware
EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor
void
void completeValueList_Values(EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor)
EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor
void
void completeInput_Values(EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor)
nasa$certware
EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor
void
void completeInput_ValueHandling(EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor)
EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor
void
void completeInput_Variables(EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor)
nasa$certware
EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor
void
void completeOutput_Range(EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor)
EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor
void
void completeOutput_Lower(EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor)
nasa$certware
EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor
void
void completeInput_Range(EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor)
EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor
void
void completeOutput_RangeType(EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor)
nasa$certware
EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor
void
void completeValueRange_RangeUnits(EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor)
EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor
void
void completeOutput_RangeUnits(EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor)
nasa$certware
EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor
void
void completeOutput_ValueList(EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor)
EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor
void
void completeOutput_Upper(EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor)
nasa$certware
EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor
void
void completeInput_ValueList(EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor)
EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor
void
void completeOutput_Values(EObject model,Assignment assignment,ContentAssistContext context,ICompletionProposalAcceptor acceptor)
nasa$certware
return cReferencesAssignment_13_1;
Assignment
Assignment getReferencesAssignment_13_1()
return cCommentsAssignment_13_1;
Assignment
Assignment getCommentsAssignment_13_1()
nasa$certware
return cDescriptionAssignment_11_1;
Assignment
Assignment getDescriptionAssignment_11_1()
return cCommentsAssignment_5_1;
Assignment
Assignment getCommentsAssignment_5_1()
nasa$certware
return cCommentsKeyword_14_0;
Keyword
Keyword getCommentsKeyword_14_0()
return cCommentsKeyword_13_0;
Keyword
Keyword getCommentsKeyword_13_0()
nasa$certware
return cArrivalRateMaximumKeyword_7_0;
Keyword
Keyword getArrivalRateMaximumKeyword_7_0()
return cCommentsKeyword_5_0;
Keyword
Keyword getCommentsKeyword_5_0()
nasa$certware
return cCommentsSTRINGTerminalRuleCall_14_1_0;
RuleCall
RuleCall getCommentsSTRINGTerminalRuleCall_14_1_0()
return cCommentsSTRINGTerminalRuleCall_13_1_0;
RuleCall
RuleCall getCommentsSTRINGTerminalRuleCall_13_1_0()
nasa$certware
return cStructureTriggerTableParserRuleCall_13_1_0;
RuleCall
RuleCall getStructureTriggerTableParserRuleCall_13_1_0()
return cCommentsSTRINGTerminalRuleCall_5_1_0;
RuleCall
RuleCall getCommentsSTRINGTerminalRuleCall_5_1_0()
nasa$certware
return cCompletionDeadlineKeyword_5_0;
Keyword
Keyword getCompletionDeadlineKeyword_5_0()
return cCompletionDeadlineKeyword_4_0;
Keyword
Keyword getCompletionDeadlineKeyword_4_0()
nasa$certware
return cCompletionExceptionKeyword_6_0;
Keyword
Keyword getCompletionExceptionKeyword_6_0()
return cCompletionExceptionKeyword_5_0;
Keyword
Keyword getCompletionExceptionKeyword_5_0()
nasa$certware
return cCompletionHandlingAssignment_6_1;
Assignment
Assignment getCompletionHandlingAssignment_6_1()
return cCompletionHandlingAssignment_5_1;
Assignment
Assignment getCompletionHandlingAssignment_5_1()
nasa$certware
return cCompletionHandlingSTRINGTerminalRuleCall_6_1_0;
RuleCall
RuleCall getCompletionHandlingSTRINGTerminalRuleCall_6_1_0()
return cCompletionHandlingSTRINGTerminalRuleCall_5_1_0;
RuleCall
RuleCall getCompletionHandlingSTRINGTerminalRuleCall_5_1_0()
nasa$certware
return cCommentsAssignment_14_1;
Assignment
Assignment getCommentsAssignment_14_1()
return cContentsAssignment_14_1;
Assignment
Assignment getContentsAssignment_14_1()
nasa$certware
return cContentsKeyword_15_0;
Keyword
Keyword getContentsKeyword_15_0()
return cContentsKeyword_14_0;
Keyword
Keyword getContentsKeyword_14_0()
nasa$certware
return cContentsSTRINGTerminalRuleCall_15_1_0;
RuleCall
RuleCall getContentsSTRINGTerminalRuleCall_15_1_0()
return cContentsSTRINGTerminalRuleCall_14_1_0;
RuleCall
RuleCall getContentsSTRINGTerminalRuleCall_14_1_0()
nasa$certware
return cDelayAssignment_4_1;
Assignment
Assignment getDelayAssignment_4_1()
return cDeadlineAssignment_4_1;
Assignment
Assignment getDeadlineAssignment_4_1()
nasa$certware
return cRateBigUnitValueParserRuleCall_3_1_0;
RuleCall
RuleCall getRateBigUnitValueParserRuleCall_3_1_0()
return cDeadlineBigUnitValueParserRuleCall_4_1_0;
RuleCall
RuleCall getDeadlineBigUnitValueParserRuleCall_4_1_0()
nasa$certware
return cRateAssignment_3_1;
Assignment
Assignment getRateAssignment_3_1()
return cDelayAssignment_3_1;
Assignment
Assignment getDelayAssignment_3_1()
nasa$certware
return cValueListValueListParserRuleCall_2_1_0;
RuleCall
RuleCall getValueListValueListParserRuleCall_2_1_0()
return cDelayBigUnitValueParserRuleCall_3_1_0;
RuleCall
RuleCall getDelayBigUnitValueParserRuleCall_3_1_0()
nasa$certware
return cFeebackHandlingAssignment_11_1;
Assignment
Assignment getFeebackHandlingAssignment_11_1()
return cFeebackHandlingAssignment_10_1;
Assignment
Assignment getFeebackHandlingAssignment_10_1()
nasa$certware
return cFeebackHandlingSTRINGTerminalRuleCall_11_1_0;
RuleCall
RuleCall getFeebackHandlingSTRINGTerminalRuleCall_11_1_0()
return cFeebackHandlingSTRINGTerminalRuleCall_10_1_0;
RuleCall
RuleCall getFeebackHandlingSTRINGTerminalRuleCall_10_1_0()
nasa$certware
return cFeedbackExceptionKeyword_11_0;
Keyword
Keyword getFeedbackExceptionKeyword_11_0()
return cFeedbackExceptionKeyword_10_0;
Keyword
Keyword getFeedbackExceptionKeyword_10_0()
nasa$certware
return cValueExceptionKeyword_3_0;
Keyword
Keyword getValueExceptionKeyword_3_0()
return cFullStopFullStopFullStopKeyword_1_0_3;
Keyword
Keyword getFullStopFullStopFullStopKeyword_1_0_3()
nasa$certware
return cGroup_1;
Group
Group getGroup_1()
return cGroup_1_0;
Group
Group getGroup_1_0()
nasa$certware
return cGroup_10;
Group
Group getGroup_10()
return cGroup_1_0;
Group
Group getGroup_1_0()
nasa$certware
return cGroup_11;
Group
Group getGroup_11()
return cGroup_1_1;
Group
Group getGroup_1_1()
nasa$certware
return cInitiationDelayKeyword_4_0;
Keyword
Keyword getInitiationDelayKeyword_4_0()
return cInitiationDelayKeyword_3_0;
Keyword
Keyword getInitiationDelayKeyword_3_0()
nasa$certware
EReference
EReference getInput_Range()
EAttribute
EAttribute getInput_Lower()
nasa$certware
EAttribute
EAttribute getInput_ValueHandling()
EAttribute
EAttribute getInput_RangeType()
nasa$certware
EReference
EReference getInput_Granularity()
EAttribute
EAttribute getInput_RangeUnits()
nasa$certware
EReference
EReference getInput_ArrivalRateMinimum()
EReference
EReference getInput_Rate()
nasa$certware
EReference
EReference getInput_ValueList()
EAttribute
EAttribute getInput_Upper()
nasa$certware
EReference
EReference getInput_ArrivalRateAvg()
EAttribute
EAttribute getInput_Values()
nasa$certware
EReference
EReference getInput_ArrivalRateMaximum()
EAttribute
EAttribute getInput_Variables()
nasa$certware
return cReferencesKeyword_9_0;
Keyword
Keyword getReferencesKeyword_9_0()
return cLeftCurlyBracketKeyword_1_0_1;
Keyword
Keyword getLeftCurlyBracketKeyword_1_0_1()
nasa$certware
return cDescriptionKeyword_11_0;
Keyword
Keyword getDescriptionKeyword_11_0()
return cLeftCurlyBracketKeyword_1_1_1;
Keyword
Keyword getLeftCurlyBracketKeyword_1_1_1()
nasa$certware
return cRangeAssignment_1_1;
Assignment
Assignment getRangeAssignment_1_1()
return cLowerAssignment_1_0_2;
Assignment
Assignment getLowerAssignment_1_0_2()
nasa$certware
return cMinResponseBigUnitValueParserRuleCall_9_1_0;
RuleCall
RuleCall getMinResponseBigUnitValueParserRuleCall_9_1_0()
return cLowerBigDecimalTypeParserRuleCall_1_0_2_0;
RuleCall
RuleCall getLowerBigDecimalTypeParserRuleCall_1_0_2_0()
nasa$certware
return cRangeValueRangeParserRuleCall_1_1_0;
RuleCall
RuleCall getRangeValueRangeParserRuleCall_1_1_0()
return cLowerBigDecimalTypeParserRuleCall_1_0_2_0;
RuleCall
RuleCall getLowerBigDecimalTypeParserRuleCall_1_0_2_0()
nasa$certware
return cMinResponseAssignment_9_1;
Assignment
Assignment getMinResponseAssignment_9_1()
return cMaxResponseAssignment_9_1;
Assignment
Assignment getMaxResponseAssignment_9_1()
nasa$certware
return cDeadlineBigUnitValueParserRuleCall_5_1_0;
RuleCall
RuleCall getDeadlineBigUnitValueParserRuleCall_5_1_0()
return cMaxResponseBigUnitValueParserRuleCall_9_1_0;
RuleCall
RuleCall getMaxResponseBigUnitValueParserRuleCall_9_1_0()
nasa$certware
return cMaxResponseTimeKeyword_10_0;
Keyword
Keyword getMaxResponseTimeKeyword_10_0()
return cMaxResponseTimeKeyword_9_0;
Keyword
Keyword getMaxResponseTimeKeyword_9_0()
nasa$certware
return cRelationshipAssignment_8_1;
Assignment
Assignment getRelationshipAssignment_8_1()
return cMinResponseAssignment_8_1;
Assignment
Assignment getMinResponseAssignment_8_1()
nasa$certware
return cDelayBigUnitValueParserRuleCall_4_1_0;
RuleCall
RuleCall getDelayBigUnitValueParserRuleCall_4_1_0()
return cMinResponseBigUnitValueParserRuleCall_8_1_0;
RuleCall
RuleCall getMinResponseBigUnitValueParserRuleCall_8_1_0()
nasa$certware
return cMinResponseTimeKeyword_9_0;
Keyword
Keyword getMinResponseTimeKeyword_9_0()
return cMinResponseTimeKeyword_8_0;
Keyword
Keyword getMinResponseTimeKeyword_8_0()
nasa$certware
EReference
EReference getOutput_Range()
EAttribute
EAttribute getOutput_Lower()
nasa$certware
EAttribute
EAttribute getValueRange_RangeType()
EAttribute
EAttribute getOutput_RangeType()
nasa$certware
EAttribute
EAttribute getValueRange_RangeUnits()
EAttribute
EAttribute getOutput_RangeUnits()
nasa$certware
EReference
EReference getOutput_ValueList()
EAttribute
EAttribute getOutput_Upper()
nasa$certware
return cRangeKeyword_1_0;
Keyword
Keyword getRangeKeyword_1_0()
return cRangeKeyword_1_0_0;
Keyword
Keyword getRangeKeyword_1_0_0()
nasa$certware
return cRangeKeyword_1_0;
Keyword
Keyword getRangeKeyword_1_0()
return cRangeKeyword_1_0_0;
Keyword
Keyword getRangeKeyword_1_0_0()
nasa$certware
return cValueListAssignment_2_1;
Assignment
Assignment getValueListAssignment_2_1()
return cRangeTypeAssignment_1_0_7;
Assignment
Assignment getRangeTypeAssignment_1_0_7()
nasa$certware
return cAppearsInSTRINGTerminalRuleCall_10_1_0;
RuleCall
RuleCall getAppearsInSTRINGTerminalRuleCall_10_1_0()
return cRangeTypeSTRINGTerminalRuleCall_1_0_7_0;
RuleCall
RuleCall getRangeTypeSTRINGTerminalRuleCall_1_0_7_0()
nasa$certware
String
String getAppearsIn()
String
String getRangeUnits()
nasa$certware
return cCommentsAssignment_12_1;
Assignment
Assignment getCommentsAssignment_12_1()
return cRangeUnitsAssignment_1_0_9;
Assignment
Assignment getRangeUnitsAssignment_1_0_9()
nasa$certware
return cCommentsSTRINGTerminalRuleCall_12_1_0;
RuleCall
RuleCall getCommentsSTRINGTerminalRuleCall_12_1_0()
return cRangeUnitsSTRINGTerminalRuleCall_1_0_9_0;
RuleCall
RuleCall getRangeUnitsSTRINGTerminalRuleCall_1_0_9_0()
nasa$certware
BigUnitValue
BigUnitValue getGranularity()
BigUnitValue
BigUnitValue getRate()
nasa$certware
return cRangeAssignment_1_1;
Assignment
Assignment getRangeAssignment_1_1()
return cRateAssignment_2_1;
Assignment
Assignment getRateAssignment_2_1()
nasa$certware
return cReferencesAssignment_9_1;
Assignment
Assignment getReferencesAssignment_9_1()
return cRateAssignment_2_1;
Assignment
Assignment getRateAssignment_2_1()
nasa$certware
return cGranularityBigUnitValueParserRuleCall_4_1_0;
RuleCall
RuleCall getGranularityBigUnitValueParserRuleCall_4_1_0()
return cRateBigUnitValueParserRuleCall_2_1_0;
RuleCall
RuleCall getRateBigUnitValueParserRuleCall_2_1_0()
nasa$certware
return cRangeValueRangeParserRuleCall_1_1_0;
RuleCall
RuleCall getRangeValueRangeParserRuleCall_1_1_0()
return cRateBigUnitValueParserRuleCall_2_1_0;
RuleCall
RuleCall getRateBigUnitValueParserRuleCall_2_1_0()
nasa$certware
return cArrivalRateAvgKeyword_5_0;
Keyword
Keyword getArrivalRateAvgKeyword_5_0()
return cRateKeyword_2_0;
Keyword
Keyword getRateKeyword_2_0()
nasa$certware
return cRateKeyword_3_0;
Keyword
Keyword getRateKeyword_3_0()
return cRateKeyword_2_0;
Keyword
Keyword getRateKeyword_2_0()
nasa$certware
return cReversedAssignment_12_1;
Assignment
Assignment getReversedAssignment_12_1()
return cReferencesAssignment_12_1;
Assignment
Assignment getReferencesAssignment_12_1()
nasa$certware
return cObsolescenceAssignment_8_1;
Assignment
Assignment getObsolescenceAssignment_8_1()
return cReferencesAssignment_4_1;
Assignment
Assignment getReferencesAssignment_4_1()
nasa$certware
return cReferencesKeyword_13_0;
Keyword
Keyword getReferencesKeyword_13_0()
return cReferencesKeyword_12_0;
Keyword
Keyword getReferencesKeyword_12_0()
nasa$certware
return cArrivalRateMinimumKeyword_6_0;
Keyword
Keyword getArrivalRateMinimumKeyword_6_0()
return cReferencesKeyword_4_0;
Keyword
Keyword getReferencesKeyword_4_0()
nasa$certware
return cReferencesSTRINGTerminalRuleCall_13_1_0;
RuleCall
RuleCall getReferencesSTRINGTerminalRuleCall_13_1_0()
return cReferencesSTRINGTerminalRuleCall_12_1_0;
RuleCall
RuleCall getReferencesSTRINGTerminalRuleCall_12_1_0()
nasa$certware
return cDescriptionSTRINGTerminalRuleCall_11_1_0;
RuleCall
RuleCall getDescriptionSTRINGTerminalRuleCall_11_1_0()
return cReferencesSTRINGTerminalRuleCall_4_1_0;
RuleCall
RuleCall getReferencesSTRINGTerminalRuleCall_4_1_0()
nasa$certware
return cVariablesAssignment_7_1;
Assignment
Assignment getVariablesAssignment_7_1()
return cRelationshipAssignment_7_1;
Assignment
Assignment getRelationshipAssignment_7_1()
nasa$certware
return cRelationshipKeyword_8_0;
Keyword
Keyword getRelationshipKeyword_8_0()
return cRelationshipKeyword_7_0;
Keyword
Keyword getRelationshipKeyword_7_0()
nasa$certware
return cRelationshipSTRINGTerminalRuleCall_8_1_0;
RuleCall
RuleCall getRelationshipSTRINGTerminalRuleCall_8_1_0()
return cRelationshipSTRINGTerminalRuleCall_7_1_0;
RuleCall
RuleCall getRelationshipSTRINGTerminalRuleCall_7_1_0()
nasa$certware
return cMaxResponseAssignment_10_1;
Assignment
Assignment getMaxResponseAssignment_10_1()
return cReversedAssignment_11_1;
Assignment
Assignment getReversedAssignment_11_1()
nasa$certware
return cReversedByKeyword_12_0;
Keyword
Keyword getReversedByKeyword_12_0()
return cReversedByKeyword_11_0;
Keyword
Keyword getReversedByKeyword_11_0()
nasa$certware
return cReversedSTRINGTerminalRuleCall_12_1_0;
RuleCall
RuleCall getReversedSTRINGTerminalRuleCall_12_1_0()
return cReversedSTRINGTerminalRuleCall_11_1_0;
RuleCall
RuleCall getReversedSTRINGTerminalRuleCall_11_1_0()
nasa$certware
return cGranularityKeyword_4_0;
Keyword
Keyword getGranularityKeyword_4_0()
return cRightCurlyBracketKeyword_1_0_5;
Keyword
Keyword getRightCurlyBracketKeyword_1_0_5()
nasa$certware
return cTriggeringKeyword_13_0;
Keyword
Keyword getTriggeringKeyword_13_0()
return cRightCurlyBracketKeyword_1_1_3;
Keyword
Keyword getRightCurlyBracketKeyword_1_1_3()
nasa$certware
return cContentsAssignment_15_1;
Assignment
Assignment getContentsAssignment_15_1()
return cTableAssignment_15_1;
Assignment
Assignment getTableAssignment_15_1()
nasa$certware
return cTableTriggerTableParserRuleCall_16_1_0;
RuleCall
RuleCall getTableTriggerTableParserRuleCall_16_1_0()
return cTableTriggerTableParserRuleCall_15_1_0;
RuleCall
RuleCall getTableTriggerTableParserRuleCall_15_1_0()
nasa$certware
return cTriggeringKeyword_16_0;
Keyword
Keyword getTriggeringKeyword_16_0()
return cTriggeringKeyword_15_0;
Keyword
Keyword getTriggeringKeyword_15_0()
nasa$certware
return cAppearsInKeyword_10_0;
Keyword
Keyword getAppearsInKeyword_10_0()
return cTypeKeyword_1_0_6;
Keyword
Keyword getTypeKeyword_1_0_6()
nasa$certware
return cCommentsKeyword_12_0;
Keyword
Keyword getCommentsKeyword_12_0()
return cUnitsKeyword_1_0_8;
Keyword
Keyword getUnitsKeyword_1_0_8()
nasa$certware
return cAppearsInAssignment_10_1;
Assignment
Assignment getAppearsInAssignment_10_1()
return cUpperAssignment_1_0_4;
Assignment
Assignment getUpperAssignment_1_0_4()
nasa$certware
return cMaxResponseBigUnitValueParserRuleCall_10_1_0;
RuleCall
RuleCall getMaxResponseBigUnitValueParserRuleCall_10_1_0()
return cUpperBigDecimalTypeParserRuleCall_1_0_4_0;
RuleCall
RuleCall getUpperBigDecimalTypeParserRuleCall_1_0_4_0()
nasa$certware
return cValueListValueListParserRuleCall_2_1_0;
RuleCall
RuleCall getValueListValueListParserRuleCall_2_1_0()
return cUpperBigDecimalTypeParserRuleCall_1_0_4_0;
RuleCall
RuleCall getUpperBigDecimalTypeParserRuleCall_1_0_4_0()
nasa$certware
return cValueHandlingAssignment_3_1;
Assignment
Assignment getValueHandlingAssignment_3_1()
return cValuesAssignment_1_1_2;
Assignment
Assignment getValuesAssignment_1_1_2()
nasa$certware
return cValueListAssignment_2_1;
Assignment
Assignment getValueListAssignment_2_1()
return cValuesAssignment_1_1_2;
Assignment
Assignment getValuesAssignment_1_1_2()
nasa$certware
return cValueListKeyword_2_0;
Keyword
Keyword getValueListKeyword_2_0()
return cValuesKeyword_1_1_0;
Keyword
Keyword getValuesKeyword_1_1_0()
nasa$certware
return cValueListKeyword_2_0;
Keyword
Keyword getValueListKeyword_2_0()
return cValuesKeyword_1_1_0;
Keyword
Keyword getValuesKeyword_1_1_0()
nasa$certware
return cValueHandlingSTRINGTerminalRuleCall_3_1_0;
RuleCall
RuleCall getValueHandlingSTRINGTerminalRuleCall_3_1_0()
return cValuesSTRINGTerminalRuleCall_1_1_2_0;
RuleCall
RuleCall getValuesSTRINGTerminalRuleCall_1_1_2_0()
nasa$certware
String
String getValueHandling()
String
String getVariables()
nasa$certware
return cStructureAssignment_13_1;
Assignment
Assignment getStructureAssignment_13_1()
return cVariablesAssignment_3_1;
Assignment
Assignment getVariablesAssignment_3_1()
nasa$certware
return cDeadlineAssignment_5_1;
Assignment
Assignment getDeadlineAssignment_5_1()
return cVariablesAssignment_6_1;
Assignment
Assignment getVariablesAssignment_6_1()
nasa$certware
return cObsolescenceKeyword_8_0;
Keyword
Keyword getObsolescenceKeyword_8_0()
return cVariablesKeyword_3_0;
Keyword
Keyword getVariablesKeyword_3_0()
nasa$certware
return cVariablesKeyword_7_0;
Keyword
Keyword getVariablesKeyword_7_0()
return cVariablesKeyword_6_0;
Keyword
Keyword getVariablesKeyword_6_0()
nasa$certware
return cReferencesSTRINGTerminalRuleCall_9_1_0;
RuleCall
RuleCall getReferencesSTRINGTerminalRuleCall_9_1_0()
return cVariablesSTRINGTerminalRuleCall_3_1_0;
RuleCall
RuleCall getVariablesSTRINGTerminalRuleCall_3_1_0()
nasa$certware
return cVariablesSTRINGTerminalRuleCall_7_1_0;
RuleCall
RuleCall getVariablesSTRINGTerminalRuleCall_7_1_0()
return cVariablesSTRINGTerminalRuleCall_6_1_0;
RuleCall
RuleCall getVariablesSTRINGTerminalRuleCall_6_1_0()
nasa$certware
void
void ruleValueList()
void
void rule__Input__Alternatives_1()
nasa$certware
void
void rule__Input__ArrivalRateAvgAssignment_5_1()
void
void rule__Input__CommentsAssignment_5_1()
nasa$certware
void
void rule__Input__Group__10__Impl()
void
void rule__Input__Group_1_0__0()
nasa$certware
void
void rule__Input__Group_10__0__Impl()
void
void rule__Input__Group_1_0__0__Impl()
nasa$certware
void
void rule__Input__Group_10__0()
void
void rule__Input__Group_1_0__1()
nasa$certware
void
void rule__Input__Group_9__0__Impl()
void
void rule__Input__Group_1_0__1__Impl()
nasa$certware
void
void rule__Input__Group__12__Impl()
void
void rule__Input__Group_1_0__2()
nasa$certware
void
void rule__Input__Group_1__1__Impl()
void
void rule__Input__Group_1_0__2__Impl()
nasa$certware
void
void rule__Input__Group_12__0()
void
void rule__Input__Group_1_0__3()
nasa$certware
void
void rule__Input__Group_11__0__Impl()
void
void rule__Input__Group_1_0__3__Impl()
nasa$certware
void
void rule__Input__Group__13__Impl()
void
void rule__Input__Group_1_0__4()
nasa$certware
void
void rule__Input__Group_10__1()
void
void rule__Input__Group_1_0__4__Impl()
nasa$certware
void
void rule__Input__Group_13__0()
void
void rule__Input__Group_1_0__5()
nasa$certware
void
void rule__Input__Group_13__0__Impl()
void
void rule__Input__Group_1_0__5__Impl()
nasa$certware
void
void rule__Input__Group__11__Impl()
void
void rule__Input__Group_1_0__6()
nasa$certware
void
void rule__Input__Group_12__0__Impl()
void
void rule__Input__Group_1_0__6__Impl()
nasa$certware
void
void rule__Input__Group_11__0()
void
void rule__Input__Group_1_0__7()
nasa$certware
void
void rule__Input__Group_10__1__Impl()
void
void rule__Input__Group_1_0__7__Impl()
nasa$certware
void
void rule__Input__Group__6__Impl()
void
void rule__Input__Group_1_0__8()
nasa$certware
void
void rule__Input__Group_8__0__Impl()
void
void rule__Input__Group_1_0__8__Impl()
nasa$certware
void
void rule__Input__Group_12__1()
void
void rule__Input__Group_1_0__9()
nasa$certware
void
void rule__Input__Group_12__1__Impl()
void
void rule__Input__Group_1_0__9__Impl()
nasa$certware
void
void rule__Input__Group_9__0()
void
void rule__Input__Group_1_1__0()
nasa$certware
void
void rule__Input__Group_7__0__Impl()
void
void rule__Input__Group_1_1__0__Impl()
nasa$certware
void
void rule__Input__Group_6__0()
void
void rule__Input__Group_1_1__1()
nasa$certware
void
void rule__Input__Group_6__0__Impl()
void
void rule__Input__Group_1_1__1__Impl()
nasa$certware
void
void rule__Input__Group__7__Impl()
void
void rule__Input__Group_1_1__2()
nasa$certware
void
void rule__Input__Group__8__Impl()
void
void rule__Input__Group_1_1__2__Impl()
nasa$certware
void
void rule__Input__Group_11__1()
void
void rule__Input__Group_1_1__3()
nasa$certware
void
void rule__Input__Group_13__1()
void
void rule__Input__Group_1_1__3__Impl()
nasa$certware
void
void rule__Input__RangeAssignment_1_1()
void
void rule__Input__LowerAssignment_1_0_2()
nasa$certware
void
void rule__Input__AppearsInAssignment_10_1()
void
void rule__Input__RangeTypeAssignment_1_0_7()
nasa$certware
void
void rule__Input__CommentsAssignment_12_1()
void
void rule__Input__RangeUnitsAssignment_1_0_9()
nasa$certware
void
void rule__Input__ValueListAssignment_2_1()
void
void rule__Input__RateAssignment_2_1()
nasa$certware
void
void rule__Input__GranularityAssignment_4_1()
void
void rule__Input__ReferencesAssignment_4_1()
nasa$certware
void
void rule__Output__TableAssignment_16_1()
void
void rule__Input__UpperAssignment_1_0_4()
nasa$certware
void
void rule__ValueList__ValuesAssignment_1()
void
void rule__Input__ValuesAssignment_1_1_2()
nasa$certware
void
void rule__Input__ValueHandlingAssignment_3_1()
void
void rule__Input__VariablesAssignment_3_1()
nasa$certware
void
void entryRuleValueList()
void
void rule__Output__Alternatives_1()
nasa$certware
void
void rule__Output__ReferencesAssignment_13_1()
void
void rule__Output__CommentsAssignment_13_1()
nasa$certware
void
void rule__Output__DeadlineAssignment_5_1()
void
void rule__Output__CompletionHandlingAssignment_5_1()
nasa$certware
void
void rule__Output__CommentsAssignment_14_1()
void
void rule__Output__ContentsAssignment_14_1()
nasa$certware
void
void rule__Output__DelayAssignment_4_1()
void
void rule__Output__DeadlineAssignment_4_1()
nasa$certware
void
void rule__Output__RateAssignment_3_1()
void
void rule__Output__DelayAssignment_3_1()
nasa$certware
void
void rule__Output__MaxResponseAssignment_10_1()
void
void rule__Output__FeebackHandlingAssignment_10_1()
nasa$certware
void
void rule__Output__Group_1__0()
void
void rule__Output__Group_1_0__0()
nasa$certware
void
void rule__Output__Group_1__0__Impl()
void
void rule__Output__Group_1_0__0__Impl()
nasa$certware
void
void rule__Output__Group__16__Impl()
void
void rule__Output__Group_1_0__1()
nasa$certware
void
void rule__ValueList__Group__0__Impl()
void
void rule__Output__Group_1_0__1__Impl()
nasa$certware
void
void rule__Output__Group_16__0()
void
void rule__Output__Group_1_0__2()
nasa$certware
void
void rule__Output__Group_1__1()
void
void rule__Output__Group_1_0__2__Impl()
nasa$certware
void
void rule__Input__Group_1__0()
void
void rule__Output__Group_1_0__3()
nasa$certware
void
void rule__ValueRange__Group__2__Impl()
void
void rule__Output__Group_1_0__3__Impl()
nasa$certware
void
void rule__Input__Group__6()
void
void rule__Output__Group_1_0__4()
nasa$certware
void
void rule__Output__Group_1__1__Impl()
void
void rule__Output__Group_1_0__4__Impl()
nasa$certware
void
void rule__Input__Group__7()
void
void rule__Output__Group_1_0__5()
nasa$certware
void
void rule__ValueList__Group__2()
void
void rule__Output__Group_1_0__5__Impl()
nasa$certware
void
void rule__Input__Group__8()
void
void rule__Output__Group_1_0__6()
nasa$certware
void
void rule__Input__Group_1__0__Impl()
void
void rule__Output__Group_1_0__6__Impl()
nasa$certware
void
void rule__Input__Group__9()
void
void rule__Output__Group_1_0__7()
nasa$certware
void
void rule__Output__Group_16__1()
void
void rule__Output__Group_1_0__7__Impl()
nasa$certware
void
void rule__Input__Group__10()
void
void rule__Output__Group_1_0__8()
nasa$certware
void
void rule__Output__Group_16__0__Impl()
void
void rule__Output__Group_1_0__8__Impl()
nasa$certware
void
void rule__Output__Group__16()
void
void rule__Output__Group_1_0__9()
nasa$certware
void
void rule__Output__Group_16__1__Impl()
void
void rule__Output__Group_1_0__9__Impl()
nasa$certware
void
void rule__Input__Group__11()
void
void rule__Output__Group_1_1__0()
nasa$certware
void
void rule__ValueRange__Group__7__Impl()
void
void rule__Output__Group_1_1__0__Impl()
nasa$certware
void
void rule__Input__Group__12()
void
void rule__Output__Group_1_1__1()
nasa$certware
void
void rule__ValueRange__Group__0__Impl()
void
void rule__Output__Group_1_1__1__Impl()
nasa$certware
void
void rule__ValueList__Group__0()
void
void rule__Output__Group_1_1__2()
nasa$certware
void
void rule__ValueList__Group__1()
void
void rule__Output__Group_1_1__2__Impl()
nasa$certware
void
void rule__Input__Group_1__1()
void
void rule__Output__Group_1_1__3()
nasa$certware
void
void rule__ValueList__Group__2__Impl()
void
void rule__Output__Group_1_1__3__Impl()
nasa$certware
void
void rule__ValueRange__LowerAssignment_1()
void
void rule__Output__LowerAssignment_1_0_2()
nasa$certware
void
void rule__Output__MinResponseAssignment_9_1()
void
void rule__Output__MaxResponseAssignment_9_1()
nasa$certware
void
void rule__Output__RelationshipAssignment_8_1()
void
void rule__Output__MinResponseAssignment_8_1()
nasa$certware
void
void rule__Output__ValueListAssignment_2_1()
void
void rule__Output__RateAssignment_2_1()
nasa$certware
void
void rule__Output__ReversedAssignment_12_1()
void
void rule__Output__ReferencesAssignment_12_1()
nasa$certware
void
void rule__Output__VariablesAssignment_7_1()
void
void rule__Output__RelationshipAssignment_7_1()
nasa$certware
void
void rule__Output__FeebackHandlingAssignment_11_1()
void
void rule__Output__ReversedAssignment_11_1()
nasa$certware
void
void rule__Output__ContentsAssignment_15_1()
void
void rule__Output__TableAssignment_15_1()
nasa$certware
void
void rule__ValueRange__UpperAssignment_3()
void
void rule__Output__UpperAssignment_1_0_4()
nasa$certware
void
void rule__Output__CompletionHandlingAssignment_6_1()
void
void rule__Output__VariablesAssignment_6_1()
nasa$certware
String newAppearsIn
void
void setAppearsIn(String newAppearsIn)
String newRangeType
void
void setRangeType(String newRangeType)
nasa$certware
String newValueHandling
void
void setValueHandling(String newValueHandling)
String newRangeUnits
void
void setRangeUnits(String newRangeUnits)
nasa$certware
TriggerTable newStructure
void
void setStructure(TriggerTable newStructure)
BigUnitValue newRate
void
void setRate(BigUnitValue newRate)
nasa$certware
String newDescription
void
void setDescription(String newDescription)
String newVariables
void
void setVariables(String newVariables)
https://github.com/nasa/CertWare/blob/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state.ui%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2Fui%2Fcontentassist%2FAbstractStateSpecificationProposalProvider.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent.state.ui%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2Fui%2Fcontentassist%2FAbstractStateSpecificationProposalProvider.java?ref=110fa3222ae2931978d7921dc8e6af8c7f43abd3
net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/AbstractStateSpecificationProposalProvider.java
	public void completeValueRange_Lower(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeValueRange_Upper(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeValueRange_RangeType(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeValueRange_RangeUnits(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeValueList_Values(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
	}
	public void completeOutput_Range(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
	}
	public void completeOutput_ValueList(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeInput_Range(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeInput_ValueList(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeInput_ValueHandling(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeInput_Granularity(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeInput_ArrivalRateAvg(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeInput_ArrivalRateMinimum(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeInput_ArrivalRateMaximum(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
	}
	public void completeInput_Obsolescence(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeInput_AppearsIn(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
	}
	public void completeInput_Description(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
	}
	public void completeInput_Structure(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
	}
	public void complete_ValueRange(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
		// subclasses may override
	}
	public void complete_ValueList(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
		// subclasses may override
	}
EObject model  Assignment assignment  ContentAssistContext context  ICompletionProposalAcceptor acceptor
net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/AbstractStateSpecificationProposalProvider.java
public void completeValueRange_Upper(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeValueRange_RangeType(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeValueRange_RangeUnits(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeValueList_Values(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
void completeValueRange_Lower(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor)
EObject model  Assignment assignment  ContentAssistContext context  ICompletionProposalAcceptor acceptor
net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/AbstractStateSpecificationProposalProvider.java
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
void completeOutput_Range(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor)
EObject model  Assignment assignment  ContentAssistContext context  ICompletionProposalAcceptor acceptor
net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/AbstractStateSpecificationProposalProvider.java
public void completeInput_Range(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeInput_ValueList(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeInput_ValueHandling(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeInput_Granularity(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeInput_ArrivalRateAvg(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeInput_ArrivalRateMinimum(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeInput_ArrivalRateMaximum(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
void completeOutput_ValueList(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor)
EObject model  Assignment assignment  ContentAssistContext context  ICompletionProposalAcceptor acceptor
net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/AbstractStateSpecificationProposalProvider.java
public void completeInput_AppearsIn(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
void completeInput_Obsolescence(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor)
EObject model  Assignment assignment  ContentAssistContext context  ICompletionProposalAcceptor acceptor
net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/AbstractStateSpecificationProposalProvider.java
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
void completeInput_Description(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor)
EObject model  Assignment assignment  ContentAssistContext context  ICompletionProposalAcceptor acceptor
net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/AbstractStateSpecificationProposalProvider.java
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
void completeInput_Structure(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor)
EObject model  RuleCall ruleCall  ContentAssistContext context  ICompletionProposalAcceptor acceptor
net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/AbstractStateSpecificationProposalProvider.java
// subclasses may override
void complete_ValueRange(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor)
EObject model  RuleCall ruleCall  ContentAssistContext context  ICompletionProposalAcceptor acceptor
net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/AbstractStateSpecificationProposalProvider.java
// subclasses may override
void complete_ValueList(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor)
	public void completeOutput_Lower(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeOutput_Upper(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeOutput_RangeType(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeOutput_RangeUnits(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeOutput_Values(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeInput_Lower(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeInput_Upper(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeInput_RangeType(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeInput_RangeUnits(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeInput_Values(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeInput_Rate(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
	public void completeInput_Variables(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
@@ -162,19 +162,25 @@ public void completeTrigger_Value(EObject model, Assignment assignment, ContentA
 	public void completeTriggerTable_Rows(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
-	public void completeOutput_Lower(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+	public void completeValueRange_Lower(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
-	public void completeOutput_Upper(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+	public void completeValueRange_Upper(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
-	public void completeOutput_RangeType(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+	public void completeValueRange_RangeType(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
-	public void completeOutput_RangeUnits(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+	public void completeValueRange_RangeUnits(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
-	public void completeOutput_Values(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+	public void completeValueList_Values(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeOutput_Range(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeOutput_ValueList(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
 	public void completeOutput_Rate(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
@@ -219,33 +225,45 @@ public void completeOutput_Contents(EObject model, Assignment assignment, Conten
 	public void completeOutput_Table(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
-	public void completeInput_Lower(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+	public void completeInput_Range(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
-	public void completeInput_Upper(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+	public void completeInput_ValueList(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
-	public void completeInput_RangeType(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+	public void completeInput_ValueHandling(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
-	public void completeInput_RangeUnits(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+	public void completeInput_Granularity(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
-	public void completeInput_Values(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+	public void completeInput_ArrivalRateAvg(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
-	public void completeInput_Rate(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+	public void completeInput_ArrivalRateMinimum(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
-	public void completeInput_Variables(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+	public void completeInput_ArrivalRateMaximum(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeInput_Obsolescence(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
 	public void completeInput_References(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
+	public void completeInput_AppearsIn(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
+	public void completeInput_Description(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
 	public void completeInput_Comments(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
+	public void completeInput_Structure(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
     
 	public void complete_Specification(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		// subclasses may override
@@ -307,6 +325,12 @@ public void complete_Trigger(EObject model, RuleCall ruleCall, ContentAssistCont
 	public void complete_TriggerTable(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		// subclasses may override
 	}
+	public void complete_ValueRange(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_ValueList(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
 	public void complete_Output(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		// subclasses may override
 	}
https://github.com/nasa/CertWare/raw/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state.ui%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2Fui%2Fcontentassist%2FAbstractStateSpecificationProposalProvider.java
32565f0383a7f281e8c327ee2612c24db4f7bfd8
modified
https://github.com/nasa/CertWare/blob/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state.ui%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2Fui%2Fcontentassist%2Fantlr%2FStateSpecificationParser.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent.state.ui%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2Fui%2Fcontentassist%2Fantlr%2FStateSpecificationParser.java?ref=110fa3222ae2931978d7921dc8e6af8c7f43abd3
net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/StateSpecificationParser.java
					put(grammarAccess.getValueRangeAccess().getGroup(), "rule__ValueRange__Group__0");
					put(grammarAccess.getValueListAccess().getGroup(), "rule__ValueList__Group__0");
					put(grammarAccess.getOutputAccess().getGroup_1(), "rule__Output__Group_1__0");
					put(grammarAccess.getOutputAccess().getGroup_16(), "rule__Output__Group_16__0");
					put(grammarAccess.getInputAccess().getGroup_1(), "rule__Input__Group_1__0");
					put(grammarAccess.getInputAccess().getGroup_6(), "rule__Input__Group_6__0");
					put(grammarAccess.getInputAccess().getGroup_7(), "rule__Input__Group_7__0");
					put(grammarAccess.getInputAccess().getGroup_8(), "rule__Input__Group_8__0");
					put(grammarAccess.getInputAccess().getGroup_9(), "rule__Input__Group_9__0");
					put(grammarAccess.getInputAccess().getGroup_10(), "rule__Input__Group_10__0");
					put(grammarAccess.getInputAccess().getGroup_11(), "rule__Input__Group_11__0");
					put(grammarAccess.getInputAccess().getGroup_12(), "rule__Input__Group_12__0");
					put(grammarAccess.getInputAccess().getGroup_13(), "rule__Input__Group_13__0");
					put(grammarAccess.getValueRangeAccess().getLowerAssignment_1(), "rule__ValueRange__LowerAssignment_1");
					put(grammarAccess.getValueRangeAccess().getUpperAssignment_3(), "rule__ValueRange__UpperAssignment_3");
					put(grammarAccess.getValueRangeAccess().getRangeTypeAssignment_6(), "rule__ValueRange__RangeTypeAssignment_6");
					put(grammarAccess.getValueRangeAccess().getRangeUnitsAssignment_8(), "rule__ValueRange__RangeUnitsAssignment_8");
					put(grammarAccess.getValueListAccess().getValuesAssignment_1(), "rule__ValueList__ValuesAssignment_1");
					put(grammarAccess.getOutputAccess().getRangeAssignment_1_1(), "rule__Output__RangeAssignment_1_1");
					put(grammarAccess.getOutputAccess().getValueListAssignment_2_1(), "rule__Output__ValueListAssignment_2_1");
					put(grammarAccess.getOutputAccess().getRateAssignment_3_1(), "rule__Output__RateAssignment_3_1");
					put(grammarAccess.getOutputAccess().getDelayAssignment_4_1(), "rule__Output__DelayAssignment_4_1");
					put(grammarAccess.getOutputAccess().getDeadlineAssignment_5_1(), "rule__Output__DeadlineAssignment_5_1");
					put(grammarAccess.getOutputAccess().getCompletionHandlingAssignment_6_1(), "rule__Output__CompletionHandlingAssignment_6_1");
					put(grammarAccess.getOutputAccess().getVariablesAssignment_7_1(), "rule__Output__VariablesAssignment_7_1");
					put(grammarAccess.getOutputAccess().getRelationshipAssignment_8_1(), "rule__Output__RelationshipAssignment_8_1");
					put(grammarAccess.getOutputAccess().getMinResponseAssignment_9_1(), "rule__Output__MinResponseAssignment_9_1");
					put(grammarAccess.getOutputAccess().getMaxResponseAssignment_10_1(), "rule__Output__MaxResponseAssignment_10_1");
					put(grammarAccess.getOutputAccess().getFeebackHandlingAssignment_11_1(), "rule__Output__FeebackHandlingAssignment_11_1");
					put(grammarAccess.getOutputAccess().getReversedAssignment_12_1(), "rule__Output__ReversedAssignment_12_1");
					put(grammarAccess.getOutputAccess().getReferencesAssignment_13_1(), "rule__Output__ReferencesAssignment_13_1");
					put(grammarAccess.getOutputAccess().getCommentsAssignment_14_1(), "rule__Output__CommentsAssignment_14_1");
					put(grammarAccess.getOutputAccess().getContentsAssignment_15_1(), "rule__Output__ContentsAssignment_15_1");
					put(grammarAccess.getOutputAccess().getTableAssignment_16_1(), "rule__Output__TableAssignment_16_1");
					put(grammarAccess.getInputAccess().getRangeAssignment_1_1(), "rule__Input__RangeAssignment_1_1");
					put(grammarAccess.getInputAccess().getValueListAssignment_2_1(), "rule__Input__ValueListAssignment_2_1");
					put(grammarAccess.getInputAccess().getValueHandlingAssignment_3_1(), "rule__Input__ValueHandlingAssignment_3_1");
					put(grammarAccess.getInputAccess().getGranularityAssignment_4_1(), "rule__Input__GranularityAssignment_4_1");
					put(grammarAccess.getInputAccess().getArrivalRateAvgAssignment_5_1(), "rule__Input__ArrivalRateAvgAssignment_5_1");
					put(grammarAccess.getInputAccess().getArrivalRateMinimumAssignment_6_1(), "rule__Input__ArrivalRateMinimumAssignment_6_1");
					put(grammarAccess.getInputAccess().getArrivalRateMaximumAssignment_7_1(), "rule__Input__ArrivalRateMaximumAssignment_7_1");
					put(grammarAccess.getInputAccess().getObsolescenceAssignment_8_1(), "rule__Input__ObsolescenceAssignment_8_1");
					put(grammarAccess.getInputAccess().getReferencesAssignment_9_1(), "rule__Input__ReferencesAssignment_9_1");
					put(grammarAccess.getInputAccess().getAppearsInAssignment_10_1(), "rule__Input__AppearsInAssignment_10_1");
					put(grammarAccess.getInputAccess().getDescriptionAssignment_11_1(), "rule__Input__DescriptionAssignment_11_1");
					put(grammarAccess.getInputAccess().getCommentsAssignment_12_1(), "rule__Input__CommentsAssignment_12_1");
					put(grammarAccess.getInputAccess().getStructureAssignment_13_1(), "rule__Input__StructureAssignment_13_1");
					put(grammarAccess.getOutputAccess().getAlternatives_1(), "rule__Output__Alternatives_1");
					put(grammarAccess.getInputAccess().getAlternatives_1(), "rule__Input__Alternatives_1");
					put(grammarAccess.getOutputAccess().getGroup_1_0(), "rule__Output__Group_1_0__0");
					put(grammarAccess.getOutputAccess().getGroup_1_1(), "rule__Output__Group_1_1__0");
					put(grammarAccess.getInputAccess().getGroup_1_0(), "rule__Input__Group_1_0__0");
					put(grammarAccess.getInputAccess().getGroup_1_1(), "rule__Input__Group_1_1__0");
					put(grammarAccess.getOutputAccess().getLowerAssignment_1_0_2(), "rule__Output__LowerAssignment_1_0_2");
					put(grammarAccess.getOutputAccess().getUpperAssignment_1_0_4(), "rule__Output__UpperAssignment_1_0_4");
					put(grammarAccess.getOutputAccess().getRangeTypeAssignment_1_0_7(), "rule__Output__RangeTypeAssignment_1_0_7");
					put(grammarAccess.getOutputAccess().getRangeUnitsAssignment_1_0_9(), "rule__Output__RangeUnitsAssignment_1_0_9");
					put(grammarAccess.getOutputAccess().getValuesAssignment_1_1_2(), "rule__Output__ValuesAssignment_1_1_2");
					put(grammarAccess.getOutputAccess().getRateAssignment_2_1(), "rule__Output__RateAssignment_2_1");
					put(grammarAccess.getOutputAccess().getDelayAssignment_3_1(), "rule__Output__DelayAssignment_3_1");
					put(grammarAccess.getOutputAccess().getDeadlineAssignment_4_1(), "rule__Output__DeadlineAssignment_4_1");
					put(grammarAccess.getOutputAccess().getCompletionHandlingAssignment_5_1(), "rule__Output__CompletionHandlingAssignment_5_1");
					put(grammarAccess.getOutputAccess().getVariablesAssignment_6_1(), "rule__Output__VariablesAssignment_6_1");
					put(grammarAccess.getOutputAccess().getRelationshipAssignment_7_1(), "rule__Output__RelationshipAssignment_7_1");
					put(grammarAccess.getOutputAccess().getMinResponseAssignment_8_1(), "rule__Output__MinResponseAssignment_8_1");
					put(grammarAccess.getOutputAccess().getMaxResponseAssignment_9_1(), "rule__Output__MaxResponseAssignment_9_1");
					put(grammarAccess.getOutputAccess().getFeebackHandlingAssignment_10_1(), "rule__Output__FeebackHandlingAssignment_10_1");
					put(grammarAccess.getOutputAccess().getReversedAssignment_11_1(), "rule__Output__ReversedAssignment_11_1");
					put(grammarAccess.getOutputAccess().getReferencesAssignment_12_1(), "rule__Output__ReferencesAssignment_12_1");
					put(grammarAccess.getOutputAccess().getCommentsAssignment_13_1(), "rule__Output__CommentsAssignment_13_1");
					put(grammarAccess.getOutputAccess().getContentsAssignment_14_1(), "rule__Output__ContentsAssignment_14_1");
					put(grammarAccess.getOutputAccess().getTableAssignment_15_1(), "rule__Output__TableAssignment_15_1");
					put(grammarAccess.getInputAccess().getLowerAssignment_1_0_2(), "rule__Input__LowerAssignment_1_0_2");
					put(grammarAccess.getInputAccess().getUpperAssignment_1_0_4(), "rule__Input__UpperAssignment_1_0_4");
					put(grammarAccess.getInputAccess().getRangeTypeAssignment_1_0_7(), "rule__Input__RangeTypeAssignment_1_0_7");
					put(grammarAccess.getInputAccess().getRangeUnitsAssignment_1_0_9(), "rule__Input__RangeUnitsAssignment_1_0_9");
					put(grammarAccess.getInputAccess().getValuesAssignment_1_1_2(), "rule__Input__ValuesAssignment_1_1_2");
					put(grammarAccess.getInputAccess().getRateAssignment_2_1(), "rule__Input__RateAssignment_2_1");
					put(grammarAccess.getInputAccess().getVariablesAssignment_3_1(), "rule__Input__VariablesAssignment_3_1");
					put(grammarAccess.getInputAccess().getReferencesAssignment_4_1(), "rule__Input__ReferencesAssignment_4_1");
					put(grammarAccess.getInputAccess().getCommentsAssignment_5_1(), "rule__Input__CommentsAssignment_5_1");
@@ -40,8 +40,6 @@ protected String getRuleName(AbstractElement element) {
 					put(grammarAccess.getModeElementTypeAccess().getElementTypeAlternatives_0(), "rule__ModeElementType__ElementTypeAlternatives_0");
 					put(grammarAccess.getStateValueAccess().getValueAlternatives_0(), "rule__StateValue__ValueAlternatives_0");
 					put(grammarAccess.getTriggerAccess().getAlternatives(), "rule__Trigger__Alternatives");
-					put(grammarAccess.getOutputAccess().getAlternatives_1(), "rule__Output__Alternatives_1");
-					put(grammarAccess.getInputAccess().getAlternatives_1(), "rule__Input__Alternatives_1");
 					put(grammarAccess.getSpecificationAccess().getGroup(), "rule__Specification__Group__0");
 					put(grammarAccess.getSpecificationAccess().getGroup_2(), "rule__Specification__Group_2__0");
 					put(grammarAccess.getBigDecimalTypeAccess().getGroup(), "rule__BigDecimalType__Group__0");
@@ -73,9 +71,10 @@ protected String getRuleName(AbstractElement element) {
 					put(grammarAccess.getTriggerAccess().getGroup_0(), "rule__Trigger__Group_0__0");
 					put(grammarAccess.getTriggerAccess().getGroup_1(), "rule__Trigger__Group_1__0");
 					put(grammarAccess.getTriggerTableAccess().getGroup(), "rule__TriggerTable__Group__0");
+					put(grammarAccess.getValueRangeAccess().getGroup(), "rule__ValueRange__Group__0");
+					put(grammarAccess.getValueListAccess().getGroup(), "rule__ValueList__Group__0");
 					put(grammarAccess.getOutputAccess().getGroup(), "rule__Output__Group__0");
-					put(grammarAccess.getOutputAccess().getGroup_1_0(), "rule__Output__Group_1_0__0");
-					put(grammarAccess.getOutputAccess().getGroup_1_1(), "rule__Output__Group_1_1__0");
+					put(grammarAccess.getOutputAccess().getGroup_1(), "rule__Output__Group_1__0");
 					put(grammarAccess.getOutputAccess().getGroup_2(), "rule__Output__Group_2__0");
 					put(grammarAccess.getOutputAccess().getGroup_3(), "rule__Output__Group_3__0");
 					put(grammarAccess.getOutputAccess().getGroup_4(), "rule__Output__Group_4__0");
@@ -90,13 +89,21 @@ protected String getRuleName(AbstractElement element) {
 					put(grammarAccess.getOutputAccess().getGroup_13(), "rule__Output__Group_13__0");
 					put(grammarAccess.getOutputAccess().getGroup_14(), "rule__Output__Group_14__0");
 					put(grammarAccess.getOutputAccess().getGroup_15(), "rule__Output__Group_15__0");
+					put(grammarAccess.getOutputAccess().getGroup_16(), "rule__Output__Group_16__0");
 					put(grammarAccess.getInputAccess().getGroup(), "rule__Input__Group__0");
-					put(grammarAccess.getInputAccess().getGroup_1_0(), "rule__Input__Group_1_0__0");
-					put(grammarAccess.getInputAccess().getGroup_1_1(), "rule__Input__Group_1_1__0");
+					put(grammarAccess.getInputAccess().getGroup_1(), "rule__Input__Group_1__0");
 					put(grammarAccess.getInputAccess().getGroup_2(), "rule__Input__Group_2__0");
 					put(grammarAccess.getInputAccess().getGroup_3(), "rule__Input__Group_3__0");
 					put(grammarAccess.getInputAccess().getGroup_4(), "rule__Input__Group_4__0");
 					put(grammarAccess.getInputAccess().getGroup_5(), "rule__Input__Group_5__0");
+					put(grammarAccess.getInputAccess().getGroup_6(), "rule__Input__Group_6__0");
+					put(grammarAccess.getInputAccess().getGroup_7(), "rule__Input__Group_7__0");
+					put(grammarAccess.getInputAccess().getGroup_8(), "rule__Input__Group_8__0");
+					put(grammarAccess.getInputAccess().getGroup_9(), "rule__Input__Group_9__0");
+					put(grammarAccess.getInputAccess().getGroup_10(), "rule__Input__Group_10__0");
+					put(grammarAccess.getInputAccess().getGroup_11(), "rule__Input__Group_11__0");
+					put(grammarAccess.getInputAccess().getGroup_12(), "rule__Input__Group_12__0");
+					put(grammarAccess.getInputAccess().getGroup_13(), "rule__Input__Group_13__0");
 					put(grammarAccess.getSpecificationAccess().getNameAssignment_1(), "rule__Specification__NameAssignment_1");
 					put(grammarAccess.getSpecificationAccess().getDevicesAssignment_2_2(), "rule__Specification__DevicesAssignment_2_2");
 					put(grammarAccess.getSpecificationAccess().getComponentsAssignment_3(), "rule__Specification__ComponentsAssignment_3");
@@ -145,34 +152,40 @@ protected String getRuleName(AbstractElement element) {
 					put(grammarAccess.getTriggerAccess().getValueAssignment_1_2(), "rule__Trigger__ValueAssignment_1_2");
 					put(grammarAccess.getTriggerAccess().getListAssignment_1_3(), "rule__Trigger__ListAssignment_1_3");
 					put(grammarAccess.getTriggerTableAccess().getRowsAssignment_2(), "rule__TriggerTable__RowsAssignment_2");
-					put(grammarAccess.getOutputAccess().getLowerAssignment_1_0_2(), "rule__Output__LowerAssignment_1_0_2");
-					put(grammarAccess.getOutputAccess().getUpperAssignment_1_0_4(), "rule__Output__UpperAssignment_1_0_4");
-					put(grammarAccess.getOutputAccess().getRangeTypeAssignment_1_0_7(), "rule__Output__RangeTypeAssignment_1_0_7");
-					put(grammarAccess.getOutputAccess().getRangeUnitsAssignment_1_0_9(), "rule__Output__RangeUnitsAssignment_1_0_9");
-					put(grammarAccess.getOutputAccess().getValuesAssignment_1_1_2(), "rule__Output__ValuesAssignment_1_1_2");
-					put(grammarAccess.getOutputAccess().getRateAssignment_2_1(), "rule__Output__RateAssignment_2_1");
-					put(grammarAccess.getOutputAccess().getDelayAssignment_3_1(), "rule__Output__DelayAssignment_3_1");
-					put(grammarAccess.getOutputAccess().getDeadlineAssignment_4_1(), "rule__Output__DeadlineAssignment_4_1");
-					put(grammarAccess.getOutputAccess().getCompletionHandlingAssignment_5_1(), "rule__Output__CompletionHandlingAssignment_5_1");
-					put(grammarAccess.getOutputAccess().getVariablesAssignment_6_1(), "rule__Output__VariablesAssignment_6_1");
-					put(grammarAccess.getOutputAccess().getRelationshipAssignment_7_1(), "rule__Output__RelationshipAssignment_7_1");
-					put(grammarAccess.getOutputAccess().getMinResponseAssignment_8_1(), "rule__Output__MinResponseAssignment_8_1");
-					put(grammarAccess.getOutputAccess().getMaxResponseAssignment_9_1(), "rule__Output__MaxResponseAssignment_9_1");
-					put(grammarAccess.getOutputAccess().getFeebackHandlingAssignment_10_1(), "rule__Output__FeebackHandlingAssignment_10_1");
-					put(grammarAccess.getOutputAccess().getReversedAssignment_11_1(), "rule__Output__ReversedAssignment_11_1");
-					put(grammarAccess.getOutputAccess().getReferencesAssignment_12_1(), "rule__Output__ReferencesAssignment_12_1");
-					put(grammarAccess.getOutputAccess().getCommentsAssignment_13_1(), "rule__Output__CommentsAssignment_13_1");
-					put(grammarAccess.getOutputAccess().getContentsAssignment_14_1(), "rule__Output__ContentsAssignment_14_1");
-					put(grammarAccess.getOutputAccess().getTableAssignment_15_1(), "rule__Output__TableAssignment_15_1");
-					put(grammarAccess.getInputAccess().getLowerAssignment_1_0_2(), "rule__Input__LowerAssignment_1_0_2");
-					put(grammarAccess.getInputAccess().getUpperAssignment_1_0_4(), "rule__Input__UpperAssignment_1_0_4");
-					put(grammarAccess.getInputAccess().getRangeTypeAssignment_1_0_7(), "rule__Input__RangeTypeAssignment_1_0_7");
-					put(grammarAccess.getInputAccess().getRangeUnitsAssignment_1_0_9(), "rule__Input__RangeUnitsAssignment_1_0_9");
-					put(grammarAccess.getInputAccess().getValuesAssignment_1_1_2(), "rule__Input__ValuesAssignment_1_1_2");
-					put(grammarAccess.getInputAccess().getRateAssignment_2_1(), "rule__Input__RateAssignment_2_1");
-					put(grammarAccess.getInputAccess().getVariablesAssignment_3_1(), "rule__Input__VariablesAssignment_3_1");
-					put(grammarAccess.getInputAccess().getReferencesAssignment_4_1(), "rule__Input__ReferencesAssignment_4_1");
-					put(grammarAccess.getInputAccess().getCommentsAssignment_5_1(), "rule__Input__CommentsAssignment_5_1");
+					put(grammarAccess.getValueRangeAccess().getLowerAssignment_1(), "rule__ValueRange__LowerAssignment_1");
+					put(grammarAccess.getValueRangeAccess().getUpperAssignment_3(), "rule__ValueRange__UpperAssignment_3");
+					put(grammarAccess.getValueRangeAccess().getRangeTypeAssignment_6(), "rule__ValueRange__RangeTypeAssignment_6");
+					put(grammarAccess.getValueRangeAccess().getRangeUnitsAssignment_8(), "rule__ValueRange__RangeUnitsAssignment_8");
+					put(grammarAccess.getValueListAccess().getValuesAssignment_1(), "rule__ValueList__ValuesAssignment_1");
+					put(grammarAccess.getOutputAccess().getRangeAssignment_1_1(), "rule__Output__RangeAssignment_1_1");
+					put(grammarAccess.getOutputAccess().getValueListAssignment_2_1(), "rule__Output__ValueListAssignment_2_1");
+					put(grammarAccess.getOutputAccess().getRateAssignment_3_1(), "rule__Output__RateAssignment_3_1");
+					put(grammarAccess.getOutputAccess().getDelayAssignment_4_1(), "rule__Output__DelayAssignment_4_1");
+					put(grammarAccess.getOutputAccess().getDeadlineAssignment_5_1(), "rule__Output__DeadlineAssignment_5_1");
+					put(grammarAccess.getOutputAccess().getCompletionHandlingAssignment_6_1(), "rule__Output__CompletionHandlingAssignment_6_1");
+					put(grammarAccess.getOutputAccess().getVariablesAssignment_7_1(), "rule__Output__VariablesAssignment_7_1");
+					put(grammarAccess.getOutputAccess().getRelationshipAssignment_8_1(), "rule__Output__RelationshipAssignment_8_1");
+					put(grammarAccess.getOutputAccess().getMinResponseAssignment_9_1(), "rule__Output__MinResponseAssignment_9_1");
+					put(grammarAccess.getOutputAccess().getMaxResponseAssignment_10_1(), "rule__Output__MaxResponseAssignment_10_1");
+					put(grammarAccess.getOutputAccess().getFeebackHandlingAssignment_11_1(), "rule__Output__FeebackHandlingAssignment_11_1");
+					put(grammarAccess.getOutputAccess().getReversedAssignment_12_1(), "rule__Output__ReversedAssignment_12_1");
+					put(grammarAccess.getOutputAccess().getReferencesAssignment_13_1(), "rule__Output__ReferencesAssignment_13_1");
+					put(grammarAccess.getOutputAccess().getCommentsAssignment_14_1(), "rule__Output__CommentsAssignment_14_1");
+					put(grammarAccess.getOutputAccess().getContentsAssignment_15_1(), "rule__Output__ContentsAssignment_15_1");
+					put(grammarAccess.getOutputAccess().getTableAssignment_16_1(), "rule__Output__TableAssignment_16_1");
+					put(grammarAccess.getInputAccess().getRangeAssignment_1_1(), "rule__Input__RangeAssignment_1_1");
+					put(grammarAccess.getInputAccess().getValueListAssignment_2_1(), "rule__Input__ValueListAssignment_2_1");
+					put(grammarAccess.getInputAccess().getValueHandlingAssignment_3_1(), "rule__Input__ValueHandlingAssignment_3_1");
+					put(grammarAccess.getInputAccess().getGranularityAssignment_4_1(), "rule__Input__GranularityAssignment_4_1");
+					put(grammarAccess.getInputAccess().getArrivalRateAvgAssignment_5_1(), "rule__Input__ArrivalRateAvgAssignment_5_1");
+					put(grammarAccess.getInputAccess().getArrivalRateMinimumAssignment_6_1(), "rule__Input__ArrivalRateMinimumAssignment_6_1");
+					put(grammarAccess.getInputAccess().getArrivalRateMaximumAssignment_7_1(), "rule__Input__ArrivalRateMaximumAssignment_7_1");
+					put(grammarAccess.getInputAccess().getObsolescenceAssignment_8_1(), "rule__Input__ObsolescenceAssignment_8_1");
+					put(grammarAccess.getInputAccess().getReferencesAssignment_9_1(), "rule__Input__ReferencesAssignment_9_1");
+					put(grammarAccess.getInputAccess().getAppearsInAssignment_10_1(), "rule__Input__AppearsInAssignment_10_1");
+					put(grammarAccess.getInputAccess().getDescriptionAssignment_11_1(), "rule__Input__DescriptionAssignment_11_1");
+					put(grammarAccess.getInputAccess().getCommentsAssignment_12_1(), "rule__Input__CommentsAssignment_12_1");
+					put(grammarAccess.getInputAccess().getStructureAssignment_13_1(), "rule__Input__StructureAssignment_13_1");
 				}
 			};
 		}
https://github.com/nasa/CertWare/raw/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state.ui%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2Fui%2Fcontentassist%2Fantlr%2FStateSpecificationParser.java
2c20d7dd63ef2490a4450e59991826d8cbd18684
modified
https://github.com/nasa/CertWare/blob/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state.ui%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2Fui%2Fcontentassist%2Fantlr%2Finternal%2FInternalStateSpecification.tokens
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent.state.ui%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2Fui%2Fcontentassist%2Fantlr%2Finternal%2FInternalStateSpecification.tokens?ref=110fa3222ae2931978d7921dc8e6af8c7f43abd3
net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.tokens
T__68=68
T__66=66
T__67=67
T__64=64
T__65=65
T__62=62
T__63=63
T__61=61
'value-exception'=59
'type'=42
'value-list'=44
'...'=41
'arrival-rate-maximum'=63
'obsolescence'=64
'inferred'=67
'appears-in'=65
'granularity'=60
'initial'=68
'arrival-rate-minimum'=62
'description'=66
'range'=43
'arrival-rate-avg'=61
'type'=43
'...'=42
'values'=44
'inferred'=59
'initial'=60
'range'=41
@@ -1,7 +1,14 @@
+T__68=68
 RULE_ID=5
+T__66=66
+T__67=67
+T__64=64
 T__29=29
+T__65=65
 T__28=28
+T__62=62
 T__27=27
+T__63=63
 T__26=26
 T__25=25
 T__24=24
@@ -10,6 +17,7 @@ T__22=22
 RULE_ANY_OTHER=10
 T__21=21
 T__20=20
+T__61=61
 T__60=60
 T__55=55
 T__56=56
@@ -57,51 +65,59 @@ T__39=39
 RULE_WS=9
 'rate'=45
 'F'=15
+'value-exception'=59
 'initiation-delay'=46
-'type'=43
+'type'=42
+'value-list'=44
 ';'=28
 'value'=36
 '.'=16
 'inputs'=26
 'comments'=56
 'max-response-time'=52
 '{'=30
-'...'=42
+'...'=41
 'triggering'=58
 'completion-deadline'=47
 'completion-exception'=48
 '?'=17
 'outputs'=27
+'arrival-rate-maximum'=63
 'device'=33
 '-'=22
 'variables'=49
 'input'=34
 'other'=13
 ']'=21
-'values'=44
+'obsolescence'=64
 'mode'=32
 'references'=55
 'T'=14
 'supervisory'=11
-'inferred'=59
+'inferred'=67
+'appears-in'=65
+'granularity'=60
 'contents'=57
 'output'=37
 'relationship'=50
 'table'=40
 'modes'=24
 'source'=35
 'operating'=12
-'initial'=60
+'initial'=68
 'target'=38
 'reversed-by'=54
+'arrival-rate-minimum'=62
 'specification'=18
 'min-response-time'=51
 '}'=31
 'states'=25
 'units'=39
-'range'=41
+'description'=66
+'range'=43
 'feedback-exception'=53
 'devices'=20
 'state'=29
 '['=19
+'arrival-rate-avg'=61
 'component'=23
https://github.com/nasa/CertWare/raw/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state.ui%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2Fui%2Fcontentassist%2Fantlr%2Finternal%2FInternalStateSpecification.tokens
5a48a42e5836cf5ab6c9fded29b3fe54fa36861e
modified
https://github.com/nasa/CertWare/blob/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state.ui%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2Fui%2Fcontentassist%2Fantlr%2Finternal%2FInternalStateSpecificationLexer.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent.state.ui%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2Fui%2Fcontentassist%2Fantlr%2Finternal%2FInternalStateSpecificationLexer.java?ref=110fa3222ae2931978d7921dc8e6af8c7f43abd3
net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecificationLexer.java
    public static final int T__68=68;
    public static final int T__66=66;
    public static final int T__67=67;
    public static final int T__64=64;
    public static final int T__65=65;
    public static final int T__62=62;
    public static final int T__63=63;
    public static final int T__21=21;
    public static final int T__61=61;
    public static final int T__60=60;
    public static final int T__19=19;
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:41:7: ( '...' )
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:41:9: '...'
            match("..."); 
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:42:7: ( 'type' )
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:42:9: 'type'
            match("type"); 
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:43:7: ( 'range' )
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:43:9: 'range'
            match("range"); 
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:44:7: ( 'value-list' )
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:44:9: 'value-list'
            match("value-list"); 
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:59:7: ( 'value-exception' )
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:59:9: 'value-exception'
            match("value-exception"); 
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:60:7: ( 'granularity' )
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:60:9: 'granularity'
            match("granularity"); 
    // $ANTLR start "T__61"
    public final void mT__61() throws RecognitionException {
        try {
            int _type = T__61;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:61:7: ( 'arrival-rate-avg' )
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:61:9: 'arrival-rate-avg'
            {
            match("arrival-rate-avg"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__61"

    // $ANTLR start "T__62"
    public final void mT__62() throws RecognitionException {
        try {
            int _type = T__62;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:62:7: ( 'arrival-rate-minimum' )
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:62:9: 'arrival-rate-minimum'
            {
            match("arrival-rate-minimum"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__62"

    // $ANTLR start "T__63"
    public final void mT__63() throws RecognitionException {
        try {
            int _type = T__63;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:63:7: ( 'arrival-rate-maximum' )
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:63:9: 'arrival-rate-maximum'
            {
            match("arrival-rate-maximum"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__63"

    // $ANTLR start "T__64"
    public final void mT__64() throws RecognitionException {
        try {
            int _type = T__64;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:64:7: ( 'obsolescence' )
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:64:9: 'obsolescence'
            {
            match("obsolescence"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__64"

    // $ANTLR start "T__65"
    public final void mT__65() throws RecognitionException {
        try {
            int _type = T__65;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:65:7: ( 'appears-in' )
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:65:9: 'appears-in'
            {
            match("appears-in"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__65"

    // $ANTLR start "T__66"
    public final void mT__66() throws RecognitionException {
        try {
            int _type = T__66;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:66:7: ( 'description' )
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:66:9: 'description'
            {
            match("description"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__66"

    // $ANTLR start "T__67"
    public final void mT__67() throws RecognitionException {
        try {
            int _type = T__67;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:67:7: ( 'inferred' )
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:67:9: 'inferred'
            {
            match("inferred"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__67"

    // $ANTLR start "T__68"
    public final void mT__68() throws RecognitionException {
        try {
            int _type = T__68;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:68:7: ( 'initial' )
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:68:9: 'initial'
            {
            match("initial"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__68"

            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8564:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8564:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8564:11: ( '^' )?
                    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8564:11: '^'
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8564:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8566:10: ( ( '0' .. '9' )+ )
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8566:12: ( '0' .. '9' )+
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8566:12: ( '0' .. '9' )+
            	    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8566:13: '0' .. '9'
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8568:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8568:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8568:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
                    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8568:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
                    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8568:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
                    	    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8568:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
                    	    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8568:66: ~ ( ( '\\\\' | '\"' ) )
                    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8568:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
                    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8568:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
                    	    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8568:92: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
                    	    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8568:137: ~ ( ( '\\\\' | '\\'' ) )
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8570:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8570:19: '/*' ( options {greedy=false; } : . )* '*/'
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8570:24: ( options {greedy=false; } : . )*
            	    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8570:52: .
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8572:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8572:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8572:24: (~ ( ( '\\n' | '\\r' ) ) )*
            	    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8572:24: ~ ( ( '\\n' | '\\r' ) )
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8572:40: ( ( '\\r' )? '\\n' )?
                    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8572:41: ( '\\r' )? '\\n'
                    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8572:41: ( '\\r' )?
                            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8572:41: '\\r'
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8574:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8574:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8574:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8576:16: ( . )
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8576:18: .
        // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
        int alt12=65;
                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:310: T__61
                mT__61(); 
                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:316: T__62
                mT__62(); 
                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:322: T__63
                mT__63(); 
                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:328: T__64
                mT__64(); 
                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:334: T__65
                mT__65(); 
                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:340: T__66
                mT__66(); 
                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:346: T__67
                {
                mT__67(); 

                }
                break;
            case 58 :
                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:352: T__68
                {
                mT__68(); 

                }
                break;
            case 59 :
                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:358: RULE_ID
                {
                mRULE_ID(); 

                }
                break;
            case 60 :
                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:366: RULE_INT
                {
                mRULE_INT(); 

                }
                break;
            case 61 :
                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:375: RULE_STRING
                {
                mRULE_STRING(); 

                }
                break;
            case 62 :
                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:387: RULE_ML_COMMENT
                {
                mRULE_ML_COMMENT(); 

                }
                break;
            case 63 :
                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:403: RULE_SL_COMMENT
                {
                mRULE_SL_COMMENT(); 

                }
                break;
            case 64 :
                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:419: RULE_WS
                {
                mRULE_WS(); 

                }
                break;
            case 65 :
                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:427: RULE_ANY_OTHER
        "\1\uffff\2\44\1\51\1\52\1\54\2\uffff\1\44\2\uffff\3\44\3\uffff\7"+
        "\44\1\37\2\uffff\3\37\2\uffff\4\44\1\uffff\4\44\6\uffff\1\44\2\uffff"+
        "\5\44\3\uffff\13\44\5\uffff\57\44\1\u009e\2\uffff\7\44\1\u00a6\3"+
        "\44\1\u00aa\11\44\1\u00b5\2\44\1\u00b8\10\44\1\u00c1\1\uffff\1\u00c3"+
        "\2\44\1\u00c7\2\44\1\u00ca\1\uffff\1\44\1\u00cc\1\u00cd\1\uffff"+
        "\11\44\1\u00d7\1\uffff\1\u00d8\1\44\1\uffff\1\u00db\1\44\1\u00de"+
        "\5\44\1\uffff\1\u00e4\1\uffff\2\44\2\uffff\1\44\1\u00eb\1\uffff"+
        "\1\44\2\uffff\11\44\2\uffff\1\44\1\u00f7\1\uffff\1\44\1\u00f9\1"+
        "\uffff\5\44\1\uffff\1\44\1\u0100\1\44\2\uffff\1\44\1\uffff\13\44"+
        "\1\uffff\1\44\1\uffff\3\44\1\u0112\1\u0113\1\44\1\uffff\1\u0115"+
        "\7\44\2\uffff\2\44\1\u0120\2\44\1\u0123\1\44\2\uffff\1\44\1\uffff"+
        "\1\u0126\2\44\1\uffff\1\44\1\uffff\1\44\1\uffff\2\44\1\uffff\2\44"+
        "\1\uffff\2\44\1\uffff\1\u0132\1\44\1\u0134\1\44\1\uffff\1\u0137"+
        "\2\44\1\u013a\3\uffff\1\44\1\uffff\1\u013e\2\uffff\1\44\1\u0141"+
        "\3\uffff\1\u0142\2\uffff\1\u0144\10\uffff";
        "\u0149\uffff";
        "\1\0\1\157\1\142\2\60\1\56\2\uffff\1\145\2\uffff\1\157\1\141\1\156"+
        "\3\uffff\2\141\1\156\1\141\1\145\1\162\1\160\1\101\2\uffff\2\0\1"+
        "\52\2\uffff\1\160\1\145\1\141\1\165\1\uffff\1\145\1\150\1\164\1"+
        "\163\6\uffff\1\163\2\uffff\1\155\1\144\1\156\1\170\1\146\3\uffff"+
        "\1\154\1\142\1\160\2\151\1\156\1\146\1\145\1\141\1\162\1\160\5\uffff"+
        "\1\145\1\143\1\164\2\162\1\145\1\160\1\157\1\151\1\143\1\155\1\164"+
        "\1\145\2\55\1\165\1\164\1\145\1\165\1\151\1\147\1\154\1\145\1\147"+
        "\1\164\1\147\1\145\1\141\2\145\1\144\1\156\1\151\1\145\1\162\1\151"+
        "\1\145\1\143\1\141\1\162\1\165\1\154\1\143\1\162\1\154\2\145\1\60"+
        "\2\uffff\1\164\1\151\1\162\1\145\1\141\2\145\1\60\1\147\1\163\1"+
        "\145\1\60\1\164\2\162\1\142\1\165\1\166\1\141\1\166\1\146\1\60\1"+
        "\145\1\164\1\60\1\164\2\145\1\151\1\156\1\145\2\156\1\60\1\uffff"+
        "\1\60\1\141\1\162\1\55\1\142\1\164\1\60\1\uffff\1\145\2\60\1\uffff"+
        "\1\151\1\163\1\145\1\141\1\154\1\141\1\162\2\151\1\60\1\uffff\1"+
        "\60\1\151\1\uffff\1\60\1\163\1\60\1\160\1\145\3\164\1\uffff\1\60"+
        "\1\uffff\1\154\2\145\1\uffff\1\154\1\60\1\uffff\1\162\2\uffff\1"+
        "\157\1\145\1\156\1\143\1\141\1\154\2\163\1\143\2\uffff\1\156\1\60"+
        "\1\uffff\1\143\1\60\1\uffff\1\164\1\156\1\151\2\163\1\uffff\1\151"+
        "\1\60\1\144\2\uffff\1\145\1\uffff\1\151\1\156\1\144\1\143\1\153"+
        "\1\162\2\55\1\157\1\141\1\147\1\uffff\1\145\1\uffff\1\151\1\164"+
        "\1\157\2\60\1\157\1\uffff\1\60\1\163\1\156\1\163\1\55\1\145\1\55"+
        "\1\151\1\162\1\uffff\1\162\1\164\1\60\1\156\1\157\1\60\1\156\2\uffff"+
        "\1\156\1\uffff\1\60\1\147\1\150\1\uffff\1\163\1\uffff\1\164\1\141"+
        "\1\171\1\151\1\uffff\1\143\1\156\1\uffff\2\55\1\uffff\1\60\1\151"+
        "\1\60\1\171\1\164\1\60\1\157\1\145\1\60\1\144\2\uffff\1\160\1\uffff"+
        "\1\60\1\145\1\uffff\1\156\1\60\3\uffff\1\60\1\uffff\1\55\1\60\2"+
        "\uffff\1\141\2\uffff\1\141\2\uffff";
        "\1\141\1\171\1\156\2\145\2\162\1\172\2\uffff\2\uffff\1\57\2\uffff"+
        "\1\160\1\145\1\141\1\165\1\uffff\1\145\1\150\1\164\1\163\6\uffff"+
        "\1\166\2\uffff\1\156\1\144\1\156\1\170\1\160\3\uffff\2\162\1\160"+
        "\2\151\1\164\1\166\1\145\1\141\1\162\1\160\5\uffff\1\145\1\143\1"+
        "\164\2\162\1\145\1\160\1\157\1\151\1\143\1\160\1\164\1\145\2\55"+
        "\1\165\1\164\1\145\1\165\1\151\1\147\1\154\1\145\1\147\1\164\1\147"+
        "\1\145\1\141\2\145\1\144\1\156\1\151\1\145\1\162\1\151\1\145\1\143"+
        "\1\141\1\162\1\165\1\154\1\143\1\162\1\157\2\145\1\172\2\uffff\1"+
        "\164\1\151\1\162\1\145\1\141\2\145\1\172\1\147\1\163\1\145\1\172"+
        "\1\164\2\162\1\142\1\165\1\166\1\141\1\166\1\146\1\172\1\145\1\164"+
        "\1\172\1\164\2\145\1\151\1\156\1\145\2\156\1\172\1\uffff\1\172\1"+
        "\141\1\162\1\172\1\142\1\164\1\172\1\uffff\1\145\2\172\1\uffff\1"+
        "\151\1\163\1\145\1\141\1\154\1\141\1\162\2\151\1\172\1\uffff\1\172"+
        "\1\151\1\uffff\1\172\1\163\1\172\1\160\1\145\3\164\1\uffff\1\172"+
        "\1\uffff\1\164\1\145\1\154\1\uffff\1\154\1\172\1\uffff\1\162\2\uffff"+
        "\1\157\1\145\1\156\1\143\1\141\1\154\2\163\1\143\2\uffff\1\156\1"+
        "\172\1\uffff\1\143\1\172\1\uffff\1\164\1\156\1\151\2\163\1\uffff"+
        "\1\151\1\172\1\144\2\uffff\1\145\1\uffff\1\151\1\156\1\144\1\143"+
        "\1\153\1\162\2\55\1\157\1\141\1\147\1\uffff\1\145\1\uffff\1\151"+
        "\145\1\55\1\151\1\162\1\uffff\1\162\1\164\1\172\1\156\1\157\1\172"+
        "\1\156\2\uffff\1\156\1\uffff\1\172\1\147\1\150\1\uffff\1\163\1\uffff"+
        "\1\164\1\141\1\171\1\151\1\uffff\1\143\1\156\1\uffff\2\55\1\uffff"+
        "\1\172\1\151\1\172\1\171\1\164\1\172\1\157\1\145\1\172\1\145\2\uffff"+
        "\1\160\1\uffff\1\172\1\145\1\uffff\1\156\1\172\3\uffff\1\172\1\uffff"+
        "\1\55\1\172\2\uffff\1\155\2\uffff\1\151\2\uffff";
        "\6\uffff\1\7\1\11\1\uffff\1\13\1\14\3\uffff\1\22\1\24\1\25\10\uffff"+
        "\1\73\1\74\3\uffff\1\100\1\101\4\uffff\1\73\4\uffff\1\4\1\5\1\37"+
        "\1\6\1\7\1\11\1\uffff\1\13\1\14\5\uffff\1\22\1\24\1\25\13\uffff"+
        "\1\74\1\75\1\76\1\77\1\100\60\uffff\1\51\1\52\42\uffff\1\26\7\uffff"+
        "\1\40\3\uffff\1\43\12\uffff\1\23\2\uffff\1\3\10\uffff\1\16\1\uffff"+
        "\1\30\3\uffff\1\32\2\uffff\1\36\1\uffff\1\35\1\41\11\uffff\1\17"+
        "\1\31\2\uffff\1\33\2\uffff\1\27\5\uffff\1\20\3\uffff\1\42\1\61\1"+
        "\uffff\1\34\13\uffff\1\21\1\uffff\1\12\6\uffff\1\72\11\uffff\1\67"+
        "\7\uffff\1\56\1\57\1\uffff\1\71\3\uffff\1\54\1\uffff\1\53\4\uffff"+
        "\1\2\2\uffff\1\15\2\uffff\1\47\12\uffff\1\44\1\60\1\uffff\1\55\2"+
        "\uffff\1\1\2\uffff\1\70\1\45\1\46\1\uffff\1\62\2\uffff\1\66\1\50"+
        "\1\uffff\1\10\1\63\1\uffff\1\64\1\65";
        "\1\1\32\uffff\1\0\1\2\u012c\uffff}>";
            "\11\37\2\36\2\37\1\36\22\37\1\36\1\37\1\33\4\37\1\34\5\37\1"+
            "\12\1\5\1\35\12\32\1\37\1\16\3\37\1\6\1\37\5\31\1\4\15\31\1"+
            "\3\6\31\1\7\1\37\1\11\1\30\1\31\1\37\1\27\1\31\1\13\1\10\1\31"+
            "\1\25\1\26\1\31\1\15\3\31\1\14\1\31\1\2\2\31\1\24\1\1\1\22\1"+
            "\23\1\21\4\31\1\17\1\37\1\20\uff82\37",
            "\1\43\1\41\3\uffff\1\42\1\40",
            "\1\50\15\uffff\1\45\3\uffff\1\46\1\47",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\1\53",
            "\1\57",
            "\1\62",
            "\1\65\7\uffff\1\64\5\uffff\1\63",
            "\1\66",
            "\1\72",
            "\1\73\20\uffff\1\75\6\uffff\1\74",
            "\1\77\3\uffff\1\100",
            "\1\101",
            "\1\102",
            "\1\104\1\uffff\1\103",
            "\32\44\4\uffff\1\44\1\uffff\32\44",
            "\0\106",
            "\0\106",
            "\1\107\4\uffff\1\110",
            "\1\114",
            "\1\115",
            "\1\121",
            "",
            "\1\123\2\uffff\1\122",
            "",
            "",
            "\1\124\1\125",
            "\1\126",
            "\1\127",
            "\1\130",
            "\1\133\2\uffff\1\132\6\uffff\1\131",
            "\1\134\5\uffff\1\135",
            "\1\137\17\uffff\1\136",
            "\1\140",
            "\1\143\5\uffff\1\144",
            "\1\147\5\uffff\1\145\11\uffff\1\146",
            "\1\151",
            "\1\152",
            "",
            "",
            "",
            "",
            "",
            "\1\167\2\uffff\1\166",
            "\1\u0087",
            "\1\u0088",
            "\1\u008b",
            "\1\u008c",
            "\1\u0094",
            "\1\u0098",
            "\1\u009a\2\uffff\1\u0099",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\22\44\1\u009d\7\44",
            "",
            "",
            "\1\u009f",
            "\1\u00a0",
            "\1\u00a3",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\1\u00ab",
            "\1\u00ac",
            "\1\u00af",
            "\1\u00b0",
            "\1\u00b3",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\22\44\1\u00b4\7\44",
            "\1\u00b6",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\1\u00bd",
            "\1\u00be",
            "\1\u00c0",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\22\44\1\u00c2\7\44",
            "\1\u00c6\2\uffff\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32"+
            "\44",
            "\1\u00c8",
            "\1\u00c9",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\1\u00ce",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\22\44\1\u00da\7\44",
            "\1\u00dc",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\22\44\1\u00dd\7\44",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "",
            "\1\u00e6\7\uffff\1\u00e5",
            "\1\u00e7",
            "\1\u00e9\6\uffff\1\u00e8",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "",
            "\1\u00ec",
            "",
            "\1\u00ed",
            "\1\u00ee",
            "",
            "",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\1\u00f8",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\1\u00fb",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\1\u0101",
            "\1\u0103",
            "\1\u0105",
            "\1\u0106",
            "\1\u0108",
            "\1\u0109",
            "\1\u010a",
            "\1\u010b",
            "\1\u010c",
            "\1\u010d",
            "\1\u010e",
            "\1\u010f",
            "\1\u0110",
            "\1\u0111",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\1\u0114",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\1\u0116",
            "\1\u0117",
            "\1\u0118",
            "\1\u0119",
            "\1\u011a",
            "\1\u011b",
            "\1\u011c",
            "\1\u011d",
            "\1\u011e",
            "\1\u011f",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\1\u0121",
            "\1\u0122",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\1\u0124",
            "",
            "",
            "\1\u0125",
            "",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\1\u0127",
            "\1\u0128",
            "",
            "\1\u0129",
            "",
            "\1\u012a",
            "\1\u012b",
            "\1\u012c",
            "\1\u012d",
            "\1\u012e",
            "\1\u012f",
            "\1\u0130",
            "\1\u0131",
            "",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\1\u0133",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\1\u0135",
            "\1\u0136",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\1\u0138",
            "\1\u0139",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\1\u013b\1\u013c",
            "",
            "",
            "\1\u013d",
            "",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\1\u013f",
            "",
            "\1\u0140",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "",
            "",
            "",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "",
            "\1\u0143",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "",
            "",
            "\1\u0145\13\uffff\1\u0146",
            "",
            "",
            "\1\u0148\7\uffff\1\u0147",
            return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
                        int LA12_27 = input.LA(1);
                        if ( ((LA12_27>='\u0000' && LA12_27<='\uFFFF')) ) {s = 70;}
                        else s = 31;
                        else if ( (LA12_0=='g') ) {s = 22;}

                        else if ( (LA12_0=='a') ) {s = 23;}

                        else if ( (LA12_0=='^') ) {s = 24;}
                        else if ( ((LA12_0>='A' && LA12_0<='E')||(LA12_0>='G' && LA12_0<='S')||(LA12_0>='U' && LA12_0<='Z')||LA12_0=='_'||LA12_0=='b'||LA12_0=='e'||LA12_0=='h'||(LA12_0>='j' && LA12_0<='l')||LA12_0=='n'||(LA12_0>='p' && LA12_0<='q')||(LA12_0>='w' && LA12_0<='z')) ) {s = 25;}
                        else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 26;}
                        else if ( (LA12_0=='\"') ) {s = 27;}
                        else if ( (LA12_0=='\'') ) {s = 28;}
                        else if ( (LA12_0=='/') ) {s = 29;}
                        else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 30;}
                        else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||LA12_0=='!'||(LA12_0>='#' && LA12_0<='&')||(LA12_0>='(' && LA12_0<=',')||LA12_0==':'||(LA12_0>='<' && LA12_0<='>')||LA12_0=='@'||LA12_0=='\\'||LA12_0=='`'||LA12_0=='|'||(LA12_0>='~' && LA12_0<='\uFFFF')) ) {s = 31;}
                        int LA12_28 = input.LA(1);
                        if ( ((LA12_28>='\u0000' && LA12_28<='\uFFFF')) ) {s = 70;}
                        else s = 31;
    public static final int T__21=21;
    public static final int T__60=60;
    public static final int T__19=19;
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:41:7: ( 'range' )
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:41:9: 'range'
            match("range"); 
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:42:7: ( '...' )
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:42:9: '...'
            match("..."); 
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:43:7: ( 'type' )
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:43:9: 'type'
            match("type"); 
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:44:7: ( 'values' )
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:44:9: 'values'
            match("values"); 
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:59:7: ( 'inferred' )
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:59:9: 'inferred'
            match("inferred"); 
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:60:7: ( 'initial' )
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:60:9: 'initial'
            match("initial"); 
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7966:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7966:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7966:11: ( '^' )?
                    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7966:11: '^'
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7966:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7968:10: ( ( '0' .. '9' )+ )
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7968:12: ( '0' .. '9' )+
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7968:12: ( '0' .. '9' )+
            	    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7968:13: '0' .. '9'
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7970:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7970:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7970:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
                    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7970:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
                    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7970:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
                    	    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7970:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
                    	    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7970:66: ~ ( ( '\\\\' | '\"' ) )
                    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7970:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
                    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7970:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
                    	    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7970:92: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
                    	    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7970:137: ~ ( ( '\\\\' | '\\'' ) )
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7972:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7972:19: '/*' ( options {greedy=false; } : . )* '*/'
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7972:24: ( options {greedy=false; } : . )*
            	    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7972:52: .
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7974:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7974:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7974:24: (~ ( ( '\\n' | '\\r' ) ) )*
            	    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7974:24: ~ ( ( '\\n' | '\\r' ) )
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7974:40: ( ( '\\r' )? '\\n' )?
                    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7974:41: ( '\\r' )? '\\n'
                    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7974:41: ( '\\r' )?
                            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7974:41: '\\r'
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7976:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7976:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7976:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7978:16: ( . )
            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7978:18: .
        // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
        int alt12=57;
                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:310: RULE_ID
                mRULE_ID(); 
                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:318: RULE_INT
                mRULE_INT(); 
                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:327: RULE_STRING
                mRULE_STRING(); 
                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:339: RULE_ML_COMMENT
                mRULE_ML_COMMENT(); 
                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:355: RULE_SL_COMMENT
                mRULE_SL_COMMENT(); 
                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:371: RULE_WS
                mRULE_WS(); 
                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:379: RULE_ANY_OTHER
        "\1\uffff\2\42\1\46\1\47\1\51\2\uffff\1\42\2\uffff\3\42\3\uffff\5"+
        "\42\1\35\2\uffff\3\35\2\uffff\4\42\1\uffff\3\42\6\uffff\1\42\2\uffff"+
        "\5\42\3\uffff\10\42\5\uffff\50\42\1\u008c\2\uffff\7\42\1\u0094\3"+
        "\42\1\u0098\6\42\1\u00a0\2\42\1\u00a3\6\42\1\u00aa\1\uffff\1\u00ac"+
        "\2\42\1\u00b0\2\42\1\u00b3\1\uffff\1\42\1\u00b5\1\u00b6\1\uffff"+
        "\6\42\1\u00bd\1\uffff\1\u00be\1\42\1\uffff\1\u00c1\1\u00c3\4\42"+
        "\1\uffff\1\u00c8\1\uffff\2\42\1\u00cc\1\uffff\1\42\1\u00ce\1\uffff"+
        "\1\42\2\uffff\6\42\2\uffff\1\42\1\u00d7\1\uffff\1\u00d8\1\uffff"+
        "\4\42\1\uffff\1\42\1\u00de\1\42\1\uffff\1\42\1\uffff\10\42\2\uffff"+
        "\2\42\1\u00eb\1\u00ec\1\42\1\uffff\1\u00ee\10\42\1\u00f7\1\u00f8"+
        "\1\42\2\uffff\1\42\1\uffff\1\u00fb\2\42\1\uffff\1\42\1\uffff\2\42"+
        "\2\uffff\2\42\1\uffff\1\u0103\1\42\1\u0105\1\u0106\1\42\3\uffff"+
        "\1\42\2\uffff\1\42\2\uffff\1\u010c\1\u010d\2\uffff";
        "\u010e\uffff";
        "\1\0\1\157\1\160\2\60\1\56\2\uffff\1\145\2\uffff\1\157\1\141\1\156"+
        "\3\uffff\2\141\1\156\1\141\1\145\1\101\2\uffff\2\0\1\52\2\uffff"+
        "\1\160\1\145\1\141\1\165\1\uffff\1\145\1\150\1\164\6\uffff\1\166"+
        "\2\uffff\1\155\1\144\1\156\1\170\1\146\3\uffff\1\154\1\142\1\160"+
        "\2\151\1\156\1\146\1\145\5\uffff\1\145\1\143\1\164\2\162\1\145\1"+
        "\160\1\151\1\155\1\164\1\145\2\55\1\165\1\164\1\145\1\165\1\151"+
        "\1\147\1\154\1\145\1\147\1\164\1\147\1\145\1\141\2\145\1\144\1\162"+
        "\1\151\1\145\1\143\1\141\1\162\1\165\1\143\1\154\2\145\1\60\2\uffff"+
        "\1\164\1\151\1\162\1\145\1\141\2\145\1\60\1\147\1\163\1\145\1\60"+
        "\1\164\2\162\1\142\1\166\1\146\1\60\1\145\1\164\1\60\1\164\1\145"+
        "\1\156\1\145\2\156\1\60\1\uffff\1\60\1\141\1\162\1\60\1\142\1\164"+
        "\1\60\1\uffff\1\145\2\60\1\uffff\1\151\1\163\1\145\1\141\2\151\1"+
        "\60\1\uffff\1\60\1\151\1\uffff\2\60\1\145\3\164\1\uffff\1\60\1\uffff"+
        "\1\154\1\145\1\60\1\uffff\1\154\1\60\1\uffff\1\162\2\uffff\1\157"+
        "\1\145\1\156\1\143\1\163\1\143\2\uffff\1\156\1\60\1\uffff\1\60\1"+
        "\uffff\1\156\1\151\2\163\1\uffff\1\151\1\60\1\144\1\uffff\1\145"+
        "\1\uffff\1\151\1\156\1\144\1\143\1\153\1\157\1\141\1\147\2\uffff"+
        "\1\164\1\157\2\60\1\157\1\uffff\1\60\1\163\1\156\1\163\1\55\1\145"+
        "\1\55\1\162\1\164\2\60\1\156\2\uffff\1\156\1\uffff\1\60\1\147\1"+
        "\150\1\uffff\1\163\1\uffff\1\171\1\151\2\uffff\2\55\1\uffff\1\60"+
        "\1\151\2\60\1\157\1\144\2\uffff\1\160\2\uffff\1\156\2\uffff\2\60"+
        "\2\uffff";
        "\1\141\1\171\1\156\2\145\1\172\2\uffff\2\uffff\1\57\2\uffff\1\160"+
        "\1\145\1\141\1\165\1\uffff\1\145\1\150\1\164\6\uffff\1\166\2\uffff"+
        "\1\156\1\144\1\156\1\170\1\160\3\uffff\2\162\1\160\2\151\1\164\1"+
        "\166\1\145\5\uffff\1\145\1\143\1\164\2\162\1\145\1\160\1\151\1\160"+
        "\1\164\1\145\2\55\1\165\1\164\1\145\1\165\1\151\1\147\1\154\1\145"+
        "\1\147\1\164\1\147\1\145\1\141\2\145\1\144\1\162\1\151\1\145\1\143"+
        "\1\141\1\162\1\165\1\143\1\157\2\145\1\172\2\uffff\1\164\1\151\1"+
        "\162\1\145\1\141\2\145\1\172\1\147\1\163\1\145\1\172\1\164\2\162"+
        "\1\142\1\166\1\146\1\172\1\145\1\164\1\172\1\164\1\145\1\156\1\145"+
        "\2\156\1\172\1\uffff\1\172\1\141\1\162\1\172\1\142\1\164\1\172\1"+
        "\uffff\1\145\2\172\1\uffff\1\151\1\163\1\145\1\141\2\151\1\172\1"+
        "\uffff\1\172\1\151\1\uffff\2\172\1\145\3\164\1\uffff\1\172\1\uffff"+
        "\1\164\1\145\1\172\1\uffff\1\154\1\172\1\uffff\1\162\2\uffff\1\157"+
        "\1\145\1\156\1\143\1\163\1\143\2\uffff\1\156\1\172\1\uffff\1\172"+
        "\1\uffff\1\156\1\151\2\163\1\uffff\1\151\1\172\1\144\1\uffff\1\145"+
        "\1\uffff\1\151\1\156\1\144\1\143\1\153\1\157\1\141\1\147\2\uffff"+
        "\145\1\55\1\162\1\164\2\172\1\156\2\uffff\1\156\1\uffff\1\172\1"+
        "\147\1\150\1\uffff\1\163\1\uffff\1\171\1\151\2\uffff\2\55\1\uffff"+
        "\1\172\1\151\2\172\1\157\1\145\2\uffff\1\160\2\uffff\1\156\2\uffff"+
        "\2\172\2\uffff";
        "\6\uffff\1\7\1\11\1\uffff\1\13\1\14\3\uffff\1\22\1\24\1\25\6\uffff"+
        "\1\63\1\64\3\uffff\1\70\1\71\4\uffff\1\63\3\uffff\1\4\1\5\1\40\1"+
        "\6\1\7\1\11\1\uffff\1\13\1\14\5\uffff\1\22\1\24\1\25\10\uffff\1"+
        "\64\1\65\1\66\1\67\1\70\51\uffff\1\51\1\52\35\uffff\1\26\7\uffff"+
        "\1\41\3\uffff\1\43\7\uffff\1\23\2\uffff\1\3\6\uffff\1\16\1\uffff"+
        "\1\30\3\uffff\1\32\2\uffff\1\36\1\uffff\1\35\1\37\6\uffff\1\17\1"+
        "\31\2\uffff\1\33\1\uffff\1\27\4\uffff\1\20\3\uffff\1\42\1\uffff"+
        "\1\34\10\uffff\1\21\1\12\5\uffff\1\62\14\uffff\1\56\1\57\1\uffff"+
        "\1\61\3\uffff\1\54\1\uffff\1\53\2\uffff\1\2\1\15\2\uffff\1\47\6"+
        "\uffff\1\44\1\60\1\uffff\1\55\1\1\1\uffff\1\45\1\46\2\uffff\1\50"+
        "\1\10";
        "\1\1\30\uffff\1\2\1\0\u00f3\uffff}>";
            "\11\35\2\34\2\35\1\34\22\35\1\34\1\35\1\31\4\35\1\32\5\35\1"+
            "\12\1\5\1\33\12\30\1\35\1\16\3\35\1\6\1\35\5\27\1\4\15\27\1"+
            "\3\6\27\1\7\1\35\1\11\1\26\1\27\1\35\2\27\1\13\1\10\1\27\1\25"+
            "\2\27\1\15\3\27\1\14\1\27\1\2\2\27\1\24\1\1\1\22\1\23\1\21\4"+
            "\27\1\17\1\35\1\20\uff82\35",
            "\1\41\1\37\3\uffff\1\40\1\36",
            "\1\43\3\uffff\1\44\1\45",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\1\50",
            "\1\54",
            "\1\57",
            "\1\62\7\uffff\1\61\5\uffff\1\60",
            "\1\63",
            "\1\67",
            "\1\70\20\uffff\1\72\6\uffff\1\71",
            "\1\73",
            "\1\74\3\uffff\1\75",
            "\32\42\4\uffff\1\42\1\uffff\32\42",
            "",
            "\0\100",
            "\0\100",
            "\1\101\4\uffff\1\102",
            "\1\104",
            "\1\105",
            "\1\106",
            "\1\107",
            "\1\110",
            "\1\111",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "\1\114\1\115",
            "\1\123\2\uffff\1\122\6\uffff\1\121",
            "\1\124\5\uffff\1\125",
            "\1\127\17\uffff\1\126",
            "\1\130",
            "\1\131",
            "\1\132",
            "\1\133\5\uffff\1\134",
            "\1\137\5\uffff\1\135\11\uffff\1\136",
            "\1\140",
            "\1\143",
            "\1\144",
            "\1\145",
            "\1\146",
            "\1\147",
            "\1\152\2\uffff\1\151",
            "\1\166",
            "\1\167",
            "\1\u0088\2\uffff\1\u0087",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\22\42\1\u008b\7\42",
            "",
            "",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\1\u0099",
            "\1\u009a",
            "\1\u009d",
            "\1\u009e",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\22\42\1\u009f\7\42",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\1\u00a6",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\22\42\1\u00ab\7\42",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\22\42\1\u00af\7\42",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "",
            "\1\u00b4",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "",
            "\1\u00b8",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\22\42\1\u00c0\7\42",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\22\42\1\u00c2\7\42",
            "\1\u00c6",
            "\1\u00c7",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "",
            "\1\u00ca\7\uffff\1\u00c9",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "",
            "\1\u00cd",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "",
            "",
            "",
            "",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\1\u00da",
            "\1\u00db",
            "\1\u00dc",
            "\1\u00dd",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "",
            "",
            "\1\u00e4",
            "\1\u00e5",
            "\1\u00e6",
            "\1\u00e7",
            "\1\u00e8",
            "\1\u00e9",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\1\u00ed",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\1\u00f9",
            "",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "",
            "\1\u0100",
            "\1\u0101",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\1\u0108\1\u0109",
            "\1\u010a",
            "\1\u010b",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
                        int LA12_26 = input.LA(1);
                        if ( ((LA12_26>='\u0000' && LA12_26<='\uFFFF')) ) {s = 64;}
                        else s = 29;
                        else if ( (LA12_0=='^') ) {s = 22;}
                        else if ( ((LA12_0>='A' && LA12_0<='E')||(LA12_0>='G' && LA12_0<='S')||(LA12_0>='U' && LA12_0<='Z')||LA12_0=='_'||(LA12_0>='a' && LA12_0<='b')||LA12_0=='e'||(LA12_0>='g' && LA12_0<='h')||(LA12_0>='j' && LA12_0<='l')||LA12_0=='n'||(LA12_0>='p' && LA12_0<='q')||(LA12_0>='w' && LA12_0<='z')) ) {s = 23;}
                        else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 24;}
                        else if ( (LA12_0=='\"') ) {s = 25;}
                        else if ( (LA12_0=='\'') ) {s = 26;}
                        else if ( (LA12_0=='/') ) {s = 27;}
                        else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 28;}
                        else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||LA12_0=='!'||(LA12_0>='#' && LA12_0<='&')||(LA12_0>='(' && LA12_0<=',')||LA12_0==':'||(LA12_0>='<' && LA12_0<='>')||LA12_0=='@'||LA12_0=='\\'||LA12_0=='`'||LA12_0=='|'||(LA12_0>='~' && LA12_0<='\uFFFF')) ) {s = 29;}
                        int LA12_25 = input.LA(1);
                        if ( ((LA12_25>='\u0000' && LA12_25<='\uFFFF')) ) {s = 64;}
                        else s = 29;
@@ -12,23 +12,31 @@
 
 @SuppressWarnings("all")
 public class InternalStateSpecificationLexer extends Lexer {
+    public static final int T__68=68;
     public static final int RULE_ID=5;
+    public static final int T__66=66;
+    public static final int T__67=67;
     public static final int T__29=29;
+    public static final int T__64=64;
     public static final int T__28=28;
+    public static final int T__65=65;
     public static final int T__27=27;
+    public static final int T__62=62;
     public static final int T__26=26;
+    public static final int T__63=63;
     public static final int T__25=25;
     public static final int T__24=24;
     public static final int T__23=23;
     public static final int T__22=22;
-    public static final int T__21=21;
     public static final int RULE_ANY_OTHER=10;
+    public static final int T__21=21;
     public static final int T__20=20;
-    public static final int T__60=60;
+    public static final int T__61=61;
     public static final int EOF=-1;
+    public static final int T__60=60;
     public static final int T__55=55;
-    public static final int T__19=19;
     public static final int T__56=56;
+    public static final int T__19=19;
     public static final int T__57=57;
     public static final int T__58=58;
     public static final int T__51=51;
@@ -709,10 +717,10 @@ public final void mT__41() throws RecognitionException {
         try {
             int _type = T__41;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:41:7: ( 'range' )
-            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:41:9: 'range'
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:41:7: ( '...' )
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:41:9: '...'
             {
-            match("range"); 
+            match("..."); 
 
 
             }
@@ -730,10 +738,10 @@ public final void mT__42() throws RecognitionException {
         try {
             int _type = T__42;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:42:7: ( '...' )
-            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:42:9: '...'
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:42:7: ( 'type' )
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:42:9: 'type'
             {
-            match("..."); 
+            match("type"); 
 
 
             }
@@ -751,10 +759,10 @@ public final void mT__43() throws RecognitionException {
         try {
             int _type = T__43;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:43:7: ( 'type' )
-            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:43:9: 'type'
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:43:7: ( 'range' )
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:43:9: 'range'
             {
-            match("type"); 
+            match("range"); 
 
 
             }
@@ -772,10 +780,10 @@ public final void mT__44() throws RecognitionException {
         try {
             int _type = T__44;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:44:7: ( 'values' )
-            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:44:9: 'values'
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:44:7: ( 'value-list' )
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:44:9: 'value-list'
             {
-            match("values"); 
+            match("value-list"); 
 
 
             }
@@ -1087,10 +1095,10 @@ public final void mT__59() throws RecognitionException {
         try {
             int _type = T__59;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:59:7: ( 'inferred' )
-            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:59:9: 'inferred'
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:59:7: ( 'value-exception' )
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:59:9: 'value-exception'
             {
-            match("inferred"); 
+            match("value-exception"); 
 
 
             }
@@ -1108,10 +1116,10 @@ public final void mT__60() throws RecognitionException {
         try {
             int _type = T__60;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:60:7: ( 'initial' )
-            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:60:9: 'initial'
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:60:7: ( 'granularity' )
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:60:9: 'granularity'
             {
-            match("initial"); 
+            match("granularity"); 
 
 
             }
@@ -1124,15 +1132,183 @@ public final void mT__60() throws RecognitionException {
     }
     // $ANTLR end "T__60"
 
+    // $ANTLR start "T__61"
+    public final void mT__61() throws RecognitionException {
+        try {
+            int _type = T__61;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:61:7: ( 'arrival-rate-avg' )
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:61:9: 'arrival-rate-avg'
+            {
+            match("arrival-rate-avg"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__61"
+
+    // $ANTLR start "T__62"
+    public final void mT__62() throws RecognitionException {
+        try {
+            int _type = T__62;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:62:7: ( 'arrival-rate-minimum' )
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:62:9: 'arrival-rate-minimum'
+            {
+            match("arrival-rate-minimum"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__62"
+
+    // $ANTLR start "T__63"
+    public final void mT__63() throws RecognitionException {
+        try {
+            int _type = T__63;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:63:7: ( 'arrival-rate-maximum' )
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:63:9: 'arrival-rate-maximum'
+            {
+            match("arrival-rate-maximum"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__63"
+
+    // $ANTLR start "T__64"
+    public final void mT__64() throws RecognitionException {
+        try {
+            int _type = T__64;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:64:7: ( 'obsolescence' )
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:64:9: 'obsolescence'
+            {
+            match("obsolescence"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__64"
+
+    // $ANTLR start "T__65"
+    public final void mT__65() throws RecognitionException {
+        try {
+            int _type = T__65;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:65:7: ( 'appears-in' )
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:65:9: 'appears-in'
+            {
+            match("appears-in"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__65"
+
+    // $ANTLR start "T__66"
+    public final void mT__66() throws RecognitionException {
+        try {
+            int _type = T__66;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:66:7: ( 'description' )
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:66:9: 'description'
+            {
+            match("description"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__66"
+
+    // $ANTLR start "T__67"
+    public final void mT__67() throws RecognitionException {
+        try {
+            int _type = T__67;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:67:7: ( 'inferred' )
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:67:9: 'inferred'
+            {
+            match("inferred"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__67"
+
+    // $ANTLR start "T__68"
+    public final void mT__68() throws RecognitionException {
+        try {
+            int _type = T__68;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:68:7: ( 'initial' )
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:68:9: 'initial'
+            {
+            match("initial"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__68"
+
     // $ANTLR start "RULE_ID"
     public final void mRULE_ID() throws RecognitionException {
         try {
             int _type = RULE_ID;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7966:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
-            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7966:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8564:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8564:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
             {
-            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7966:11: ( '^' )?
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8564:11: ( '^' )?
             int alt1=2;
             int LA1_0 = input.LA(1);
 
@@ -1141,7 +1317,7 @@ public final void mRULE_ID() throws RecognitionException {
             }
             switch (alt1) {
                 case 1 :
-                    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7966:11: '^'
+                    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8564:11: '^'
                     {
                     match('^'); 
 
@@ -1159,7 +1335,7 @@ public final void mRULE_ID() throws RecognitionException {
                 recover(mse);
                 throw mse;}
 
-            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7966:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8564:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
             loop2:
             do {
                 int alt2=2;
@@ -1208,10 +1384,10 @@ public final void mRULE_INT() throws RecognitionException {
         try {
             int _type = RULE_INT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7968:10: ( ( '0' .. '9' )+ )
-            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7968:12: ( '0' .. '9' )+
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8566:10: ( ( '0' .. '9' )+ )
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8566:12: ( '0' .. '9' )+
             {
-            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7968:12: ( '0' .. '9' )+
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8566:12: ( '0' .. '9' )+
             int cnt3=0;
             loop3:
             do {
@@ -1225,7 +1401,7 @@ public final void mRULE_INT() throws RecognitionException {
 
                 switch (alt3) {
             	case 1 :
-            	    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7968:13: '0' .. '9'
+            	    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8566:13: '0' .. '9'
             	    {
             	    matchRange('0','9'); 
 
@@ -1257,10 +1433,10 @@ public final void mRULE_STRING() throws RecognitionException {
         try {
             int _type = RULE_STRING;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7970:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
-            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7970:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8568:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8568:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
             {
-            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7970:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8568:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
             int alt6=2;
             int LA6_0 = input.LA(1);
 
@@ -1278,10 +1454,10 @@ else if ( (LA6_0=='\'') ) {
             }
             switch (alt6) {
                 case 1 :
-                    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7970:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+                    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8568:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
                     {
                     match('\"'); 
-                    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7970:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
+                    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8568:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
                     loop4:
                     do {
                         int alt4=3;
@@ -1297,7 +1473,7 @@ else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=
 
                         switch (alt4) {
                     	case 1 :
-                    	    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7970:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
+                    	    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8568: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') ) {
@@ -1313,7 +1489,7 @@ else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7970:66: ~ ( ( '\\\\' | '\"' ) )
+                    	    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8568:66: ~ ( ( '\\\\' | '\"' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -1338,10 +1514,10 @@ else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=
                     }
                     break;
                 case 2 :
-                    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7970:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+                    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8568:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
                     {
                     match('\''); 
-                    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7970:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
+                    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8568:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
                     loop5:
                     do {
                         int alt5=3;
@@ -1357,7 +1533,7 @@ else if ( ((LA5_0>='\u0000' && LA5_0<='&')||(LA5_0>='(' && LA5_0<='[')||(LA5_0>=
 
                         switch (alt5) {
                     	case 1 :
-                    	    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7970:92: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
+                    	    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8568: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') ) {
@@ -1373,7 +1549,7 @@ else if ( ((LA5_0>='\u0000' && LA5_0<='&')||(LA5_0>='(' && LA5_0<='[')||(LA5_0>=
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7970:137: ~ ( ( '\\\\' | '\\'' ) )
+                    	    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8568:137: ~ ( ( '\\\\' | '\\'' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -1416,12 +1592,12 @@ public final void mRULE_ML_COMMENT() throws RecognitionException {
         try {
             int _type = RULE_ML_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7972:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7972:19: '/*' ( options {greedy=false; } : . )* '*/'
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8570:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8570:19: '/*' ( options {greedy=false; } : . )* '*/'
             {
             match("/*"); 
 
-            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7972:24: ( options {greedy=false; } : . )*
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8570:24: ( options {greedy=false; } : . )*
             loop7:
             do {
                 int alt7=2;
@@ -1446,7 +1622,7 @@ else if ( ((LA7_0>='\u0000' && LA7_0<=')')||(LA7_0>='+' && LA7_0<='\uFFFF')) ) {
 
                 switch (alt7) {
             	case 1 :
-            	    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7972:52: .
+            	    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8570:52: .
             	    {
             	    matchAny(); 
 
@@ -1476,12 +1652,12 @@ public final void mRULE_SL_COMMENT() throws RecognitionException {
         try {
             int _type = RULE_SL_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7974:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
-            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7974:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8572:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8572:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
             {
             match("//"); 
 
-            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7974:24: (~ ( ( '\\n' | '\\r' ) ) )*
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8572:24: (~ ( ( '\\n' | '\\r' ) ) )*
             loop8:
             do {
                 int alt8=2;
@@ -1494,7 +1670,7 @@ public final void mRULE_SL_COMMENT() throws RecognitionException {
 
                 switch (alt8) {
             	case 1 :
-            	    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7974:24: ~ ( ( '\\n' | '\\r' ) )
+            	    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8572: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();
@@ -1514,7 +1690,7 @@ public final void mRULE_SL_COMMENT() throws RecognitionException {
                 }
             } while (true);
 
-            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7974:40: ( ( '\\r' )? '\\n' )?
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8572:40: ( ( '\\r' )? '\\n' )?
             int alt10=2;
             int LA10_0 = input.LA(1);
 
@@ -1523,9 +1699,9 @@ public final void mRULE_SL_COMMENT() throws RecognitionException {
             }
             switch (alt10) {
                 case 1 :
-                    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7974:41: ( '\\r' )? '\\n'
+                    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8572:41: ( '\\r' )? '\\n'
                     {
-                    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7974:41: ( '\\r' )?
+                    // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8572:41: ( '\\r' )?
                     int alt9=2;
                     int LA9_0 = input.LA(1);
 
@@ -1534,7 +1710,7 @@ public final void mRULE_SL_COMMENT() throws RecognitionException {
                     }
                     switch (alt9) {
                         case 1 :
-                            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7974:41: '\\r'
+                            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8572:41: '\\r'
                             {
                             match('\r'); 
 
@@ -1566,10 +1742,10 @@ public final void mRULE_WS() throws RecognitionException {
         try {
             int _type = RULE_WS;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7976:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
-            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7976:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8574:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8574:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             {
-            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7976:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8574:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             int cnt11=0;
             loop11:
             do {
@@ -1623,8 +1799,8 @@ public final void mRULE_ANY_OTHER() throws RecognitionException {
         try {
             int _type = RULE_ANY_OTHER;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7978:16: ( . )
-            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:7978:18: .
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8576:16: ( . )
+            // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:8576:18: .
             {
             matchAny(); 
 
@@ -1639,8 +1815,8 @@ public final void mRULE_ANY_OTHER() throws RecognitionException {
     // $ANTLR end "RULE_ANY_OTHER"
 
     public void mTokens() throws RecognitionException {
-        // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
-        int alt12=57;
+        // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+        int alt12=65;
         alt12 = dfa12.predict(input);
         switch (alt12) {
             case 1 :
@@ -1994,49 +2170,105 @@ public void mTokens() throws RecognitionException {
                 }
                 break;
             case 51 :
-                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:310: RULE_ID
+                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:310: T__61
                 {
-                mRULE_ID(); 
+                mT__61(); 
 
                 }
                 break;
             case 52 :
-                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:318: RULE_INT
+                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:316: T__62
                 {
-                mRULE_INT(); 
+                mT__62(); 
 
                 }
                 break;
             case 53 :
-                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:327: RULE_STRING
+                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:322: T__63
                 {
-                mRULE_STRING(); 
+                mT__63(); 
 
                 }
                 break;
             case 54 :
-                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:339: RULE_ML_COMMENT
+                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:328: T__64
                 {
-                mRULE_ML_COMMENT(); 
+                mT__64(); 
 
                 }
                 break;
             case 55 :
-                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:355: RULE_SL_COMMENT
+                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:334: T__65
                 {
-                mRULE_SL_COMMENT(); 
+                mT__65(); 
 
                 }
                 break;
             case 56 :
-                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:371: RULE_WS
+                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:340: T__66
                 {
-                mRULE_WS(); 
+                mT__66(); 
 
                 }
                 break;
             case 57 :
-                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:379: RULE_ANY_OTHER
+                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:346: T__67
+                {
+                mT__67(); 
+
+                }
+                break;
+            case 58 :
+                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:352: T__68
+                {
+                mT__68(); 
+
+                }
+                break;
+            case 59 :
+                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:358: RULE_ID
+                {
+                mRULE_ID(); 
+
+                }
+                break;
+            case 60 :
+                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:366: RULE_INT
+                {
+                mRULE_INT(); 
+
+                }
+                break;
+            case 61 :
+                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:375: RULE_STRING
+                {
+                mRULE_STRING(); 
+
+                }
+                break;
+            case 62 :
+                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:387: RULE_ML_COMMENT
+                {
+                mRULE_ML_COMMENT(); 
+
+                }
+                break;
+            case 63 :
+                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:403: RULE_SL_COMMENT
+                {
+                mRULE_SL_COMMENT(); 
+
+                }
+                break;
+            case 64 :
+                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:419: RULE_WS
+                {
+                mRULE_WS(); 
+
+                }
+                break;
+            case 65 :
+                // ../net.certware.intent.state.ui/src-gen/net/certware/intent/state/ui/contentassist/antlr/internal/InternalStateSpecification.g:1:427: RULE_ANY_OTHER
                 {
                 mRULE_ANY_OTHER(); 
 
@@ -2050,164 +2282,173 @@ public void mTokens() throws RecognitionException {
 
     protected DFA12 dfa12 = new DFA12(this);
     static final String DFA12_eotS =
-        "\1\uffff\2\42\1\46\1\47\1\51\2\uffff\1\42\2\uffff\3\42\3\uffff\5"+
-        "\42\1\35\2\uffff\3\35\2\uffff\4\42\1\uffff\3\42\6\uffff\1\42\2\uffff"+
-        "\5\42\3\uffff\10\42\5\uffff\50\42\1\u008c\2\uffff\7\42\1\u0094\3"+
-        "\42\1\u0098\6\42\1\u00a0\2\42\1\u00a3\6\42\1\u00aa\1\uffff\1\u00ac"+
-        "\2\42\1\u00b0\2\42\1\u00b3\1\uffff\1\42\1\u00b5\1\u00b6\1\uffff"+
-        "\6\42\1\u00bd\1\uffff\1\u00be\1\42\1\uffff\1\u00c1\1\u00c3\4\42"+
-        "\1\uffff\1\u00c8\1\uffff\2\42\1\u00cc\1\uffff\1\42\1\u00ce\1\uffff"+
-        "\1\42\2\uffff\6\42\2\uffff\1\42\1\u00d7\1\uffff\1\u00d8\1\uffff"+
-        "\4\42\1\uffff\1\42\1\u00de\1\42\1\uffff\1\42\1\uffff\10\42\2\uffff"+
-        "\2\42\1\u00eb\1\u00ec\1\42\1\uffff\1\u00ee\10\42\1\u00f7\1\u00f8"+
-        "\1\42\2\uffff\1\42\1\uffff\1\u00fb\2\42\1\uffff\1\42\1\uffff\2\42"+
-        "\2\uffff\2\42\1\uffff\1\u0103\1\42\1\u0105\1\u0106\1\42\3\uffff"+
-        "\1\42\2\uffff\1\42\2\uffff\1\u010c\1\u010d\2\uffff";
+        "\1\uffff\2\44\1\51\1\52\1\54\2\uffff\1\44\2\uffff\3\44\3\uffff\7"+
+        "\44\1\37\2\uffff\3\37\2\uffff\4\44\1\uffff\4\44\6\uffff\1\44\2\uffff"+
+        "\5\44\3\uffff\13\44\5\uffff\57\44\1\u009e\2\uffff\7\44\1\u00a6\3"+
+        "\44\1\u00aa\11\44\1\u00b5\2\44\1\u00b8\10\44\1\u00c1\1\uffff\1\u00c3"+
+        "\2\44\1\u00c7\2\44\1\u00ca\1\uffff\1\44\1\u00cc\1\u00cd\1\uffff"+
+        "\11\44\1\u00d7\1\uffff\1\u00d8\1\44\1\uffff\1\u00db\1\44\1\u00de"+
+        "\5\44\1\uffff\1\u00e4\1\uffff\2\44\2\uffff\1\44\1\u00eb\1\uffff"+
+        "\1\44\2\uffff\11\44\2\uffff\1\44\1\u00f7\1\uffff\1\44\1\u00f9\1"+
+        "\uffff\5\44\1\uffff\1\44\1\u0100\1\44\2\uffff\1\44\1\uffff\13\44"+
+        "\1\uffff\1\44\1\uffff\3\44\1\u0112\1\u0113\1\44\1\uffff\1\u0115"+
+        "\7\44\2\uffff\2\44\1\u0120\2\44\1\u0123\1\44\2\uffff\1\44\1\uffff"+
+        "\1\u0126\2\44\1\uffff\1\44\1\uffff\1\44\1\uffff\2\44\1\uffff\2\44"+
+        "\1\uffff\2\44\1\uffff\1\u0132\1\44\1\u0134\1\44\1\uffff\1\u0137"+
+        "\2\44\1\u013a\3\uffff\1\44\1\uffff\1\u013e\2\uffff\1\44\1\u0141"+
+        "\3\uffff\1\u0142\2\uffff\1\u0144\10\uffff";
     static final String DFA12_eofS =
-        "\u010e\uffff";
+        "\u0149\uffff";
     static final String DFA12_minS =
-        "\1\0\1\157\1\160\2\60\1\56\2\uffff\1\145\2\uffff\1\157\1\141\1\156"+
-        "\3\uffff\2\141\1\156\1\141\1\145\1\101\2\uffff\2\0\1\52\2\uffff"+
-        "\1\160\1\145\1\141\1\165\1\uffff\1\145\1\150\1\164\6\uffff\1\166"+
-        "\2\uffff\1\155\1\144\1\156\1\170\1\146\3\uffff\1\154\1\142\1\160"+
-        "\2\151\1\156\1\146\1\145\5\uffff\1\145\1\143\1\164\2\162\1\145\1"+
-        "\160\1\151\1\155\1\164\1\145\2\55\1\165\1\164\1\145\1\165\1\151"+
-        "\1\147\1\154\1\145\1\147\1\164\1\147\1\145\1\141\2\145\1\144\1\162"+
-        "\1\151\1\145\1\143\1\141\1\162\1\165\1\143\1\154\2\145\1\60\2\uffff"+
-        "\1\164\1\151\1\162\1\145\1\141\2\145\1\60\1\147\1\163\1\145\1\60"+
-        "\1\164\2\162\1\142\1\166\1\146\1\60\1\145\1\164\1\60\1\164\1\145"+
-        "\1\156\1\145\2\156\1\60\1\uffff\1\60\1\141\1\162\1\60\1\142\1\164"+
-        "\1\60\1\uffff\1\145\2\60\1\uffff\1\151\1\163\1\145\1\141\2\151\1"+
-        "\60\1\uffff\1\60\1\151\1\uffff\2\60\1\145\3\164\1\uffff\1\60\1\uffff"+
-        "\1\154\1\145\1\60\1\uffff\1\154\1\60\1\uffff\1\162\2\uffff\1\157"+
-        "\1\145\1\156\1\143\1\163\1\143\2\uffff\1\156\1\60\1\uffff\1\60\1"+
-        "\uffff\1\156\1\151\2\163\1\uffff\1\151\1\60\1\144\1\uffff\1\145"+
-        "\1\uffff\1\151\1\156\1\144\1\143\1\153\1\157\1\141\1\147\2\uffff"+
-        "\1\164\1\157\2\60\1\157\1\uffff\1\60\1\163\1\156\1\163\1\55\1\145"+
-        "\1\55\1\162\1\164\2\60\1\156\2\uffff\1\156\1\uffff\1\60\1\147\1"+
-        "\150\1\uffff\1\163\1\uffff\1\171\1\151\2\uffff\2\55\1\uffff\1\60"+
-        "\1\151\2\60\1\157\1\144\2\uffff\1\160\2\uffff\1\156\2\uffff\2\60"+
-        "\2\uffff";
+        "\1\0\1\157\1\142\2\60\1\56\2\uffff\1\145\2\uffff\1\157\1\141\1\156"+
+        "\3\uffff\2\141\1\156\1\141\1\145\1\162\1\160\1\101\2\uffff\2\0\1"+
+        "\52\2\uffff\1\160\1\145\1\141\1\165\1\uffff\1\145\1\150\1\164\1"+
+        "\163\6\uffff\1\163\2\uffff\1\155\1\144\1\156\1\170\1\146\3\uffff"+
+        "\1\154\1\142\1\160\2\151\1\156\1\146\1\145\1\141\1\162\1\160\5\uffff"+
+        "\1\145\1\143\1\164\2\162\1\145\1\160\1\157\1\151\1\143\1\155\1\164"+
+        "\1\145\2\55\1\165\1\164\1\145\1\165\1\151\1\147\1\154\1\145\1\147"+
+        "\1\164\1\147\1\145\1\141\2\145\1\144\1\156\1\151\1\145\1\162\1\151"+
+        "\1\145\1\143\1\141\1\162\1\165\1\154\1\143\1\162\1\154\2\145\1\60"+
+        "\2\uffff\1\164\1\151\1\162\1\145\1\141\2\145\1\60\1\147\1\163\1"+
+        "\145\1\60\1\164\2\162\1\142\1\165\1\166\1\141\1\166\1\146\1\60\1"+
+        "\145\1\164\1\60\1\164\2\145\1\151\1\156\1\145\2\156\1\60\1\uffff"+
+        "\1\60\1\141\1\162\1\55\1\142\1\164\1\60\1\uffff\1\145\2\60\1\uffff"+
+        "\1\151\1\163\1\145\1\141\1\154\1\141\1\162\2\151\1\60\1\uffff\1"+
+        "\60\1\151\1\uffff\1\60\1\163\1\60\1\160\1\145\3\164\1\uffff\1\60"+
+        "\1\uffff\1\154\2\145\1\uffff\1\154\1\60\1\uffff\1\162\2\uffff\1"+
+        "\157\1\145\1\156\1\143\1\141\1\154\2\163\1\143\2\uffff\1\156\1\60"+
+        "\1\uffff\1\143\1\60\1\uffff\1\164\1\156\1\151\2\163\1\uffff\1\151"+
+        "\1\60\1\144\2\uffff\1\145\1\uffff\1\151\1\156\1\144\1\143\1\153"+
+        "\1\162\2\55\1\157\1\141\1\147\1\uffff\1\145\1\uffff\1\151\1\164"+
+        "\1\157\2\60\1\157\1\uffff\1\60\1\163\1\156\1\163\1\55\1\145\1\55"+
+        "\1\151\1\162\1\uffff\1\162\1\164\1\60\1\156\1\157\1\60\1\156\2\uffff"+
+        "\1\156\1\uffff\1\60\1\147\1\150\1\uffff\1\163\1\uffff\1\164\1\141"+
+        "\1\171\1\151\1\uffff\1\143\1\156\1\uffff\2\55\1\uffff\1\60\1\151"+
+        "\1\60\1\171\1\164\1\60\1\157\1\145\1\60\1\144\2\uffff\1\160\1\uffff"+
+        "\1\60\1\145\1\uffff\1\156\1\60\3\uffff\1\60\1\uffff\1\55\1\60\2"+
+        "\uffff\1\141\2\uffff\1\141\2\uffff";
     static final String DFA12_maxS =
         "\1\uffff\2\165\2\172\1\56\2\uffff\1\145\2\uffff\2\157\1\156\3\uffff"+
-        "\1\141\1\171\1\156\2\145\1\172\2\uffff\2\uffff\1\57\2\uffff\1\160"+
-        "\1\145\1\141\1\165\1\uffff\1\145\1\150\1\164\6\uffff\1\166\2\uffff"+
-        "\1\156\1\144\1\156\1\170\1\160\3\uffff\2\162\1\160\2\151\1\164\1"+
-        "\166\1\145\5\uffff\1\145\1\143\1\164\2\162\1\145\1\160\1\151\1\160"+
-        "\1\164\1\145\2\55\1\165\1\164\1\145\1\165\1\151\1\147\1\154\1\145"+
-        "\1\147\1\164\1\147\1\145\1\141\2\145\1\144\1\162\1\151\1\145\1\143"+
-        "\1\141\1\162\1\165\1\143\1\157\2\145\1\172\2\uffff\1\164\1\151\1"+
-        "\162\1\145\1\141\2\145\1\172\1\147\1\163\1\145\1\172\1\164\2\162"+
-        "\1\142\1\166\1\146\1\172\1\145\1\164\1\172\1\164\1\145\1\156\1\145"+
-        "\2\156\1\172\1\uffff\1\172\1\141\1\162\1\172\1\142\1\164\1\172\1"+
-        "\uffff\1\145\2\172\1\uffff\1\151\1\163\1\145\1\141\2\151\1\172\1"+
-        "\uffff\1\172\1\151\1\uffff\2\172\1\145\3\164\1\uffff\1\172\1\uffff"+
-        "\1\164\1\145\1\172\1\uffff\1\154\1\172\1\uffff\1\162\2\uffff\1\157"+
-        "\1\145\1\156\1\143\1\163\1\143\2\uffff\1\156\1\172\1\uffff\1\172"+
-        "\1\uffff\1\156\1\151\2\163\1\uffff\1\151\1\172\1\144\1\uffff\1\145"+
-        "\1\uffff\1\151\1\156\1\144\1\143\1\153\1\157\1\141\1\147\2\uffff"+
+        "\1\141\1\171\1\156\2\145\2\162\1\172\2\uffff\2\uffff\1\57\2\uffff"+
+        "\1\160\1\145\1\141\1\165\1\uffff\1\145\1\150\1\164\1\163\6\uffff"+
+        "\1\166\2\uffff\1\156\1\144\1\156\1\170\1\160\3\uffff\2\162\1\160"+
+        "\2\151\1\164\1\166\1\145\1\141\1\162\1\160\5\uffff\1\145\1\143\1"+
+        "\164\2\162\1\145\1\160\1\157\1\151\1\143\1\160\1\164\1\145\2\55"+
+        "\1\165\1\164\1\145\1\165\1\151\1\147\1\154\1\145\1\147\1\164\1\147"+
+        "\1\145\1\141\2\145\1\144\1\156\1\151\1\145\1\162\1\151\1\145\1\143"+
+        "\1\141\1\162\1\165\1\154\1\143\1\162\1\157\2\145\1\172\2\uffff\1"+
+        "\164\1\151\1\162\1\145\1\141\2\145\1\172\1\147\1\163\1\145\1\172"+
+        "\1\164\2\162\1\142\1\165\1\166\1\141\1\166\1\146\1\172\1\145\1\164"+
+        "\1\172\1\164\2\145\1\151\1\156\1\145\2\156\1\172\1\uffff\1\172\1"+
+        "\141\1\162\1\172\1\142\1\164\1\172\1\uffff\1\145\2\172\1\uffff\1"+
+        "\151\1\163\1\145\1\141\1\154\1\141\1\162\2\151\1\172\1\uffff\1\172"+
+        "\1\151\1\uffff\1\172\1\163\1\172\1\160\1\145\3\164\1\uffff\1\172"+
+        "\1\uffff\1\164\1\145\1\154\1\uffff\1\154\1\172\1\uffff\1\162\2\uffff"+
+        "\1\157\1\145\1\156\1\143\1\141\1\154\2\163\1\143\2\uffff\1\156\1"+
+        "\172\1\uffff\1\143\1\172\1\uffff\1\164\1\156\1\151\2\163\1\uffff"+
+        "\1\151\1\172\1\144\2\uffff\1\145\1\uffff\1\151\1\156\1\144\1\143"+
+        "\1\153\1\162\2\55\1\157\1\141\1\147\1\uffff\1\145\1\uffff\1\151"+
         "\1\164\1\157\2\172\1\157\1\uffff\1\172\1\163\1\156\1\163\1\55\1"+
-        "\145\1\55\1\162\1\164\2\172\1\156\2\uffff\1\156\1\uffff\1\172\1"+
-        "\147\1\150\1\uffff\1\163\1\uffff\1\171\1\151\2\uffff\2\55\1\uffff"+
-        "\1\172\1\151\2\172\1\157\1\145\2\uffff\1\160\2\uffff\1\156\2\uffff"+
-        "\2\172\2\uffff";
+        "\145\1\55\1\151\1\162\1\uffff\1\162\1\164\1\172\1\156\1\157\1\172"+
+        "\1\156\2\uffff\1\156\1\uffff\1\172\1\147\1\150\1\uffff\1\163\1\uffff"+
+        "\1\164\1\141\1\171\1\151\1\uffff\1\143\1\156\1\uffff\2\55\1\uffff"+
+        "\1\172\1\151\1\172\1\171\1\164\1\172\1\157\1\145\1\172\1\145\2\uffff"+
+        "\1\160\1\uffff\1\172\1\145\1\uffff\1\156\1\172\3\uffff\1\172\1\uffff"+
+        "\1\55\1\172\2\uffff\1\155\2\uffff\1\151\2\uffff";
     static final String DFA12_acceptS =
-        "\6\uffff\1\7\1\11\1\uffff\1\13\1\14\3\uffff\1\22\1\24\1\25\6\uffff"+
-        "\1\63\1\64\3\uffff\1\70\1\71\4\uffff\1\63\3\uffff\1\4\1\5\1\40\1"+
-        "\6\1\7\1\11\1\uffff\1\13\1\14\5\uffff\1\22\1\24\1\25\10\uffff\1"+
-        "\64\1\65\1\66\1\67\1\70\51\uffff\1\51\1\52\35\uffff\1\26\7\uffff"+
-        "\1\41\3\uffff\1\43\7\uffff\1\23\2\uffff\1\3\6\uffff\1\16\1\uffff"+
-        "\1\30\3\uffff\1\32\2\uffff\1\36\1\uffff\1\35\1\37\6\uffff\1\17\1"+
-        "\31\2\uffff\1\33\1\uffff\1\27\4\uffff\1\20\3\uffff\1\42\1\uffff"+
-        "\1\34\10\uffff\1\21\1\12\5\uffff\1\62\14\uffff\1\56\1\57\1\uffff"+
-        "\1\61\3\uffff\1\54\1\uffff\1\53\2\uffff\1\2\1\15\2\uffff\1\47\6"+
-        "\uffff\1\44\1\60\1\uffff\1\55\1\1\1\uffff\1\45\1\46\2\uffff\1\50"+
-        "\1\10";
+        "\6\uffff\1\7\1\11\1\uffff\1\13\1\14\3\uffff\1\22\1\24\1\25\10\uffff"+
+        "\1\73\1\74\3\uffff\1\100\1\101\4\uffff\1\73\4\uffff\1\4\1\5\1\37"+
+        "\1\6\1\7\1\11\1\uffff\1\13\1\14\5\uffff\1\22\1\24\1\25\13\uffff"+
+        "\1\74\1\75\1\76\1\77\1\100\60\uffff\1\51\1\52\42\uffff\1\26\7\uffff"+
+        "\1\40\3\uffff\1\43\12\uffff\1\23\2\uffff\1\3\10\uffff\1\16\1\uffff"+
+        "\1\30\3\uffff\1\32\2\uffff\1\36\1\uffff\1\35\1\41\11\uffff\1\17"+
+        "\1\31\2\uffff\1\33\2\uffff\1\27\5\uffff\1\20\3\uffff\1\42\1\61\1"+
+        "\uffff\1\34\13\uffff\1\21\1\uffff\1\12\6\uffff\1\72\11\uffff\1\67"+
+        "\7\uffff\1\56\1\57\1\uffff\1\71\3\uffff\1\54\1\uffff\1\53\4\uffff"+
+        "\1\2\2\uffff\1\15\2\uffff\1\47\12\uffff\1\44\1\60\1\uffff\1\55\2"+
+        "\uffff\1\1\2\uffff\1\70\1\45\1\46\1\uffff\1\62\2\uffff\1\66\1\50"+
+        "\1\uffff\1\10\1\63\1\uffff\1\64\1\65";
     static final String DFA12_specialS =
-        "\1\1\30\uffff\1\2\1\0\u00f3\uffff}>";
+        "\1\1\32\uffff\1\0\1\2\u012c\uffff}>";
     static final String[] DFA12_transitionS = {
-            "\11\35\2\34\2\35\1\34\22\35\1\34\1\35\1\31\4\35\1\32\5\35\1"+
-            "\12\1\5\1\33\12\30\1\35\1\16\3\35\1\6\1\35\5\27\1\4\15\27\1"+
-            "\3\6\27\1\7\1\35\1\11\1\26\1\27\1\35\2\27\1\13\1\10\1\27\1\25"+
-            "\2\27\1\15\3\27\1\14\1\27\1\2\2\27\1\24\1\1\1\22\1\23\1\21\4"+
-            "\27\1\17\1\35\1\20\uff82\35",
-            "\1\41\1\37\3\uffff\1\40\1\36",
-            "\1\43\3\uffff\1\44\1\45",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\1\50",
+            "\11\37\2\36\2\37\1\36\22\37\1\36\1\37\1\33\4\37\1\34\5\37\1"+
+            "\12\1\5\1\35\12\32\1\37\1\16\3\37\1\6\1\37\5\31\1\4\15\31\1"+
+            "\3\6\31\1\7\1\37\1\11\1\30\1\31\1\37\1\27\1\31\1\13\1\10\1\31"+
+            "\1\25\1\26\1\31\1\15\3\31\1\14\1\31\1\2\2\31\1\24\1\1\1\22\1"+
+            "\23\1\21\4\31\1\17\1\37\1\20\uff82\37",
+            "\1\43\1\41\3\uffff\1\42\1\40",
+            "\1\50\15\uffff\1\45\3\uffff\1\46\1\47",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "\1\53",
             "",
             "",
-            "\1\54",
+            "\1\57",
             "",
             "",
-            "\1\57",
-            "\1\62\7\uffff\1\61\5\uffff\1\60",
-            "\1\63",
+            "\1\62",
+            "\1\65\7\uffff\1\64\5\uffff\1\63",
+            "\1\66",
             "",
             "",
             "",
-            "\1\67",
-            "\1\70\20\uffff\1\72\6\uffff\1\71",
-            "\1\73",
-            "\1\74\3\uffff\1\75",
+            "\1\72",
+            "\1\73\20\uffff\1\75\6\uffff\1\74",
             "\1\76",
-            "\32\42\4\uffff\1\42\1\uffff\32\42",
-            "",
+            "\1\77\3\uffff\1\100",
+            "\1\101",
+            "\1\102",
+            "\1\104\1\uffff\1\103",
+            "\32\44\4\uffff\1\44\1\uffff\32\44",
             "",
-            "\0\100",
-            "\0\100",
-            "\1\101\4\uffff\1\102",
             "",
+            "\0\106",
+            "\0\106",
+            "\1\107\4\uffff\1\110",
             "",
-            "\1\104",
-            "\1\105",
-            "\1\106",
-            "\1\107",
             "",
-            "\1\110",
-            "\1\111",
             "\1\112",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
             "\1\113",
+            "\1\114",
+            "\1\115",
             "",
-            "",
-            "\1\114\1\115",
             "\1\116",
             "\1\117",
             "\1\120",
-            "\1\123\2\uffff\1\122\6\uffff\1\121",
+            "\1\121",
+            "",
             "",
             "",
             "",
-            "\1\124\5\uffff\1\125",
-            "\1\127\17\uffff\1\126",
-            "\1\130",
-            "\1\131",
-            "\1\132",
-            "\1\133\5\uffff\1\134",
-            "\1\137\5\uffff\1\135\11\uffff\1\136",
-            "\1\140",
             "",
             "",
+            "\1\123\2\uffff\1\122",
+            "",
+            "",
+            "\1\124\1\125",
+            "\1\126",
+            "\1\127",
+            "\1\130",
+            "\1\133\2\uffff\1\132\6\uffff\1\131",
             "",
             "",
             "",
+            "\1\134\5\uffff\1\135",
+            "\1\137\17\uffff\1\136",
+            "\1\140",
             "\1\141",
             "\1\142",
-            "\1\143",
-            "\1\144",
-            "\1\145",
-            "\1\146",
-            "\1\147",
+            "\1\143\5\uffff\1\144",
+            "\1\147\5\uffff\1\145\11\uffff\1\146",
             "\1\150",
-            "\1\152\2\uffff\1\151",
+            "\1\151",
+            "\1\152",
             "\1\153",
+            "",
+            "",
+            "",
+            "",
+            "",
             "\1\154",
             "\1\155",
             "\1\156",
@@ -2218,8 +2459,7 @@ public void mTokens() throws RecognitionException {
             "\1\163",
             "\1\164",
             "\1\165",
-            "\1\166",
-            "\1\167",
+            "\1\167\2\uffff\1\166",
             "\1\170",
             "\1\171",
             "\1\172",
@@ -2235,169 +2475,234 @@ public void mTokens() throws RecognitionException {
             "\1\u0084",
             "\1\u0085",
             "\1\u0086",
-            "\1\u0088\2\uffff\1\u0087",
+            "\1\u0087",
+            "\1\u0088",
             "\1\u0089",
             "\1\u008a",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\22\42\1\u008b\7\42",
-            "",
-            "",
+            "\1\u008b",
+            "\1\u008c",
             "\1\u008d",
             "\1\u008e",
             "\1\u008f",
             "\1\u0090",
             "\1\u0091",
             "\1\u0092",
             "\1\u0093",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u0094",
             "\1\u0095",
             "\1\u0096",
             "\1\u0097",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\1\u0099",
-            "\1\u009a",
+            "\1\u0098",
+            "\1\u009a\2\uffff\1\u0099",
             "\1\u009b",
             "\1\u009c",
-            "\1\u009d",
-            "\1\u009e",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\22\42\1\u009f\7\42",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\22\44\1\u009d\7\44",
+            "",
+            "",
+            "\1\u009f",
+            "\1\u00a0",
             "\1\u00a1",
             "\1\u00a2",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u00a3",
             "\1\u00a4",
             "\1\u00a5",
-            "\1\u00a6",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
             "\1\u00a7",
             "\1\u00a8",
             "\1\u00a9",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\22\42\1\u00ab\7\42",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "\1\u00ab",
+            "\1\u00ac",
             "\1\u00ad",
             "\1\u00ae",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\22\42\1\u00af\7\42",
+            "\1\u00af",
+            "\1\u00b0",
             "\1\u00b1",
             "\1\u00b2",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "",
-            "\1\u00b4",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "",
+            "\1\u00b3",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\22\44\1\u00b4\7\44",
+            "\1\u00b6",
             "\1\u00b7",
-            "\1\u00b8",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
             "\1\u00b9",
             "\1\u00ba",
             "\1\u00bb",
             "\1\u00bc",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u00bd",
+            "\1\u00be",
             "\1\u00bf",
+            "\1\u00c0",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
             "",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\22\42\1\u00c0\7\42",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\22\42\1\u00c2\7\42",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\22\44\1\u00c2\7\44",
             "\1\u00c4",
             "\1\u00c5",
-            "\1\u00c6",
-            "\1\u00c7",
+            "\1\u00c6\2\uffff\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32"+
+            "\44",
+            "\1\u00c8",
+            "\1\u00c9",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
             "",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "",
-            "\1\u00ca\7\uffff\1\u00c9",
             "\1\u00cb",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "",
-            "\1\u00cd",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
             "",
+            "\1\u00ce",
             "\1\u00cf",
-            "",
-            "",
             "\1\u00d0",
             "\1\u00d1",
             "\1\u00d2",
             "\1\u00d3",
             "\1\u00d4",
             "\1\u00d5",
-            "",
-            "",
             "\1\u00d6",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
             "",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
             "\1\u00d9",
-            "\1\u00da",
-            "\1\u00db",
-            "\1\u00dc",
             "",
-            "\1\u00dd",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\22\44\1\u00da\7\44",
+            "\1\u00dc",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\22\44\1\u00dd\7\44",
             "\1\u00df",
-            "",
             "\1\u00e0",
-            "",
             "\1\u00e1",
             "\1\u00e2",
             "\1\u00e3",
-            "\1\u00e4",
-            "\1\u00e5",
-            "\1\u00e6",
-            "\1\u00e7",
-            "\1\u00e8",
             "",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "",
+            "\1\u00e6\7\uffff\1\u00e5",
+            "\1\u00e7",
+            "\1\u00e9\6\uffff\1\u00e8",
             "",
-            "\1\u00e9",
             "\1\u00ea",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\1\u00ed",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "",
+            "\1\u00ec",
+            "",
             "",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u00ed",
+            "\1\u00ee",
             "\1\u00ef",
             "\1\u00f0",
             "\1\u00f1",
             "\1\u00f2",
             "\1\u00f3",
             "\1\u00f4",
             "\1\u00f5",
+            "",
+            "",
             "\1\u00f6",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\1\u00f9",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
             "",
+            "\1\u00f8",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
             "",
             "\1\u00fa",
-            "",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u00fb",
             "\1\u00fc",
             "\1\u00fd",
-            "",
             "\1\u00fe",
             "",
             "\1\u00ff",
-            "\1\u0100",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "\1\u0101",
             "",
             "",
-            "\1\u0101",
             "\1\u0102",
             "",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u0103",
             "\1\u0104",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u0105",
+            "\1\u0106",
             "\1\u0107",
-            "\1\u0108\1\u0109",
+            "\1\u0108",
+            "\1\u0109",
+            "\1\u010a",
+            "\1\u010b",
+            "\1\u010c",
+            "\1\u010d",
             "",
+            "\1\u010e",
             "",
-            "\1\u010a",
+            "\1\u010f",
+            "\1\u0110",
+            "\1\u0111",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "\1\u0114",
             "",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "\1\u0116",
+            "\1\u0117",
+            "\1\u0118",
+            "\1\u0119",
+            "\1\u011a",
+            "\1\u011b",
+            "\1\u011c",
+            "\1\u011d",
             "",
-            "\1\u010b",
+            "\1\u011e",
+            "\1\u011f",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "\1\u0121",
+            "\1\u0122",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "\1\u0124",
+            "",
+            "",
+            "\1\u0125",
+            "",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "\1\u0127",
+            "\1\u0128",
+            "",
+            "\1\u0129",
+            "",
+            "\1\u012a",
+            "\1\u012b",
+            "\1\u012c",
+            "\1\u012d",
             "",
+            "\1\u012e",
+            "\1\u012f",
             "",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u0130",
+            "\1\u0131",
+            "",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "\1\u0133",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "\1\u0135",
+            "\1\u0136",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "\1\u0138",
+            "\1\u0139",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "\1\u013b\1\u013c",
+            "",
+            "",
+            "\1\u013d",
+            "",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "\1\u013f",
+            "",
+            "\1\u0140",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "",
+            "",
+            "",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "",
+            "\1\u0143",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "",
+            "",
+            "\1\u0145\13\uffff\1\u0146",
+            "",
+            "",
+            "\1\u0148\7\uffff\1\u0147",
             "",
             ""
     };
@@ -2432,19 +2737,19 @@ public DFA12(BaseRecognizer recognizer) {
             this.transition = DFA12_transition;
         }
         public String getDescription() {
-            return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+            return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             IntStream input = _input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA12_26 = input.LA(1);
+                        int LA12_27 = input.LA(1);
 
                         s = -1;
-                        if ( ((LA12_26>='\u0000' && LA12_26<='\uFFFF')) ) {s = 64;}
+                        if ( ((LA12_27>='\u0000' && LA12_27<='\uFFFF')) ) {s = 70;}
 
-                        else s = 29;
+                        else s = 31;
 
                         if ( s>=0 ) return s;
                         break;
@@ -2494,31 +2799,35 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc
 
                         else if ( (LA12_0=='f') ) {s = 21;}
 
-                        else if ( (LA12_0=='^') ) {s = 22;}
+                        else if ( (LA12_0=='g') ) {s = 22;}
+
+                        else if ( (LA12_0=='a') ) {s = 23;}
+
+                        else if ( (LA12_0=='^') ) {s = 24;}
 
-                        else if ( ((LA12_0>='A' && LA12_0<='E')||(LA12_0>='G' && LA12_0<='S')||(LA12_0>='U' && LA12_0<='Z')||LA12_0=='_'||(LA12_0>='a' && LA12_0<='b')||LA12_0=='e'||(LA12_0>='g' && LA12_0<='h')||(LA12_0>='j' && LA12_0<='l')||LA12_0=='n'||(LA12_0>='p' && LA12_0<='q')||(LA12_0>='w' && LA12_0<='z')) ) {s = 23;}
+                        else if ( ((LA12_0>='A' && LA12_0<='E')||(LA12_0>='G' && LA12_0<='S')||(LA12_0>='U' && LA12_0<='Z')||LA12_0=='_'||LA12_0=='b'||LA12_0=='e'||LA12_0=='h'||(LA12_0>='j' && LA12_0<='l')||LA12_0=='n'||(LA12_0>='p' && LA12_0<='q')||(LA12_0>='w' && LA12_0<='z')) ) {s = 25;}
 
-                        else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 24;}
+                        else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 26;}
 
-                        else if ( (LA12_0=='\"') ) {s = 25;}
+                        else if ( (LA12_0=='\"') ) {s = 27;}
 
-                        else if ( (LA12_0=='\'') ) {s = 26;}
+                        else if ( (LA12_0=='\'') ) {s = 28;}
 
-                        else if ( (LA12_0=='/') ) {s = 27;}
+                        else if ( (LA12_0=='/') ) {s = 29;}
 
-                        else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 28;}
+                        else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 30;}
 
-                        else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||LA12_0=='!'||(LA12_0>='#' && LA12_0<='&')||(LA12_0>='(' && LA12_0<=',')||LA12_0==':'||(LA12_0>='<' && LA12_0<='>')||LA12_0=='@'||LA12_0=='\\'||LA12_0=='`'||LA12_0=='|'||(LA12_0>='~' && LA12_0<='\uFFFF')) ) {s = 29;}
+                        else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||LA12_0=='!'||(LA12_0>='#' && LA12_0<='&')||(LA12_0>='(' && LA12_0<=',')||LA12_0==':'||(LA12_0>='<' && LA12_0<='>')||LA12_0=='@'||LA12_0=='\\'||LA12_0=='`'||LA12_0=='|'||(LA12_0>='~' && LA12_0<='\uFFFF')) ) {s = 31;}
 
                         if ( s>=0 ) return s;
                         break;
                     case 2 : 
-                        int LA12_25 = input.LA(1);
+                        int LA12_28 = input.LA(1);
 
                         s = -1;
-                        if ( ((LA12_25>='\u0000' && LA12_25<='\uFFFF')) ) {s = 64;}
+                        if ( ((LA12_28>='\u0000' && LA12_28<='\uFFFF')) ) {s = 70;}
 
-                        else s = 29;
+                        else s = 31;
 
                         if ( s>=0 ) return s;
                         break;
https://github.com/nasa/CertWare/raw/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state.ui%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2Fui%2Fcontentassist%2Fantlr%2Finternal%2FInternalStateSpecificationLexer.java
3e5946a316aefba89e7f97014fcf97f0d2d714d2
modified
https://github.com/nasa/CertWare/blob/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2FStateSpecification.ecore
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2FStateSpecification.ecore?ref=110fa3222ae2931978d7921dc8e6af8c7f43abd3
net.certware.intent.state/src-gen/net/certware/intent/state/StateSpecification.ecore
  <eClassifiers xsi:type="ecore:EClass" name="ValueRange">
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ValueList">
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Output">
    <eStructuralFeatures xsi:type="ecore:EReference" name="range" eType="#//ValueRange"
        containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="valueList" eType="#//ValueList"
        containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="range" eType="#//ValueRange"
        containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="valueList" eType="#//ValueList"
        containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="valueHandling" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="granularity" eType="#//BigUnitValue"
        containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="arrivalRateAvg" eType="#//BigUnitValue"
        containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="arrivalRateMinimum" eType="#//BigUnitValue"
        containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="arrivalRateMaximum" eType="#//BigUnitValue"
        containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="obsolescence" eType="#//BigUnitValue"
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="appearsIn" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="structure" eType="#//TriggerTable"
        containment="true"/>
  <eClassifiers xsi:type="ecore:EClass" name="Output">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="lower" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigDecimal"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="upper" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigDecimal"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="rangeType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="rangeUnits" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="values" unique="false"
        upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="rate" eType="#//BigUnitValue"
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="variables" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
@@ -103,13 +103,21 @@
     <eStructuralFeatures xsi:type="ecore:EReference" name="rows" upperBound="-1" eType="#//Trigger"
         containment="true"/>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Output">
+  <eClassifiers xsi:type="ecore:EClass" name="ValueRange">
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="lower" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigDecimal"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="upper" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigDecimal"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="rangeType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="rangeUnits" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="ValueList">
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="values" unique="false"
         upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Output">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="range" eType="#//ValueRange"
+        containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="valueList" eType="#//ValueList"
+        containment="true"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="rate" eType="#//BigUnitValue"
         containment="true"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="delay" eType="#//BigUnitValue"
@@ -132,16 +140,26 @@
         containment="true"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Input">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="lower" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigDecimal"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="upper" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigDecimal"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="rangeType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="rangeUnits" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="values" unique="false"
-        upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="rate" eType="#//BigUnitValue"
+    <eStructuralFeatures xsi:type="ecore:EReference" name="range" eType="#//ValueRange"
+        containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="valueList" eType="#//ValueList"
+        containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="valueHandling" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="granularity" eType="#//BigUnitValue"
+        containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="arrivalRateAvg" eType="#//BigUnitValue"
+        containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="arrivalRateMinimum" eType="#//BigUnitValue"
+        containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="arrivalRateMaximum" eType="#//BigUnitValue"
+        containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="obsolescence" eType="#//BigUnitValue"
         containment="true"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="variables" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="references" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="appearsIn" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="comments" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="structure" eType="#//TriggerTable"
+        containment="true"/>
   </eClassifiers>
 </ecore:EPackage>
https://github.com/nasa/CertWare/raw/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2FStateSpecification.ecore
919766651d67729923cdefcbbe8b9b694b9666bf
modified
https://github.com/nasa/CertWare/blob/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2FStateSpecification.genmodel
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2FStateSpecification.genmodel?ref=110fa3222ae2931978d7921dc8e6af8c7f43abd3
net.certware.intent.state/src-gen/net/certware/intent/state/StateSpecification.genmodel
    <genClasses ecoreClass="StateSpecification.ecore#//ValueRange">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute StateSpecification.ecore#//ValueRange/lower"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute StateSpecification.ecore#//ValueRange/upper"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute StateSpecification.ecore#//ValueRange/rangeType"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute StateSpecification.ecore#//ValueRange/rangeUnits"/>
    </genClasses>
    <genClasses ecoreClass="StateSpecification.ecore#//ValueList">
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute StateSpecification.ecore#//ValueList/values"/>
    </genClasses>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference StateSpecification.ecore#//Output/range"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference StateSpecification.ecore#//Output/valueList"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference StateSpecification.ecore#//Input/range"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference StateSpecification.ecore#//Input/valueList"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute StateSpecification.ecore#//Input/valueHandling"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference StateSpecification.ecore#//Input/granularity"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference StateSpecification.ecore#//Input/arrivalRateAvg"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference StateSpecification.ecore#//Input/arrivalRateMinimum"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference StateSpecification.ecore#//Input/arrivalRateMaximum"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference StateSpecification.ecore#//Input/obsolescence"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute StateSpecification.ecore#//Input/appearsIn"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute StateSpecification.ecore#//Input/description"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference StateSpecification.ecore#//Input/structure"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute StateSpecification.ecore#//Output/lower"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute StateSpecification.ecore#//Output/upper"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute StateSpecification.ecore#//Output/rangeType"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute StateSpecification.ecore#//Output/rangeUnits"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute StateSpecification.ecore#//Output/values"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute StateSpecification.ecore#//Input/lower"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute StateSpecification.ecore#//Input/upper"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute StateSpecification.ecore#//Input/rangeType"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute StateSpecification.ecore#//Input/rangeUnits"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute StateSpecification.ecore#//Input/values"/>
      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference StateSpecification.ecore#//Input/rate"/>
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute StateSpecification.ecore#//Input/variables"/>
@@ -92,12 +92,18 @@
     <genClasses ecoreClass="StateSpecification.ecore#//TriggerTable">
       <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference StateSpecification.ecore#//TriggerTable/rows"/>
     </genClasses>
+    <genClasses ecoreClass="StateSpecification.ecore#//ValueRange">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute StateSpecification.ecore#//ValueRange/lower"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute StateSpecification.ecore#//ValueRange/upper"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute StateSpecification.ecore#//ValueRange/rangeType"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute StateSpecification.ecore#//ValueRange/rangeUnits"/>
+    </genClasses>
+    <genClasses ecoreClass="StateSpecification.ecore#//ValueList">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute StateSpecification.ecore#//ValueList/values"/>
+    </genClasses>
     <genClasses ecoreClass="StateSpecification.ecore#//Output">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute StateSpecification.ecore#//Output/lower"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute StateSpecification.ecore#//Output/upper"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute StateSpecification.ecore#//Output/rangeType"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute StateSpecification.ecore#//Output/rangeUnits"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute StateSpecification.ecore#//Output/values"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference StateSpecification.ecore#//Output/range"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference StateSpecification.ecore#//Output/valueList"/>
       <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference StateSpecification.ecore#//Output/rate"/>
       <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference StateSpecification.ecore#//Output/delay"/>
       <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference StateSpecification.ecore#//Output/deadline"/>
@@ -114,15 +120,19 @@
       <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference StateSpecification.ecore#//Output/table"/>
     </genClasses>
     <genClasses ecoreClass="StateSpecification.ecore#//Input">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute StateSpecification.ecore#//Input/lower"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute StateSpecification.ecore#//Input/upper"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute StateSpecification.ecore#//Input/rangeType"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute StateSpecification.ecore#//Input/rangeUnits"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute StateSpecification.ecore#//Input/values"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference StateSpecification.ecore#//Input/rate"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute StateSpecification.ecore#//Input/variables"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference StateSpecification.ecore#//Input/range"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference StateSpecification.ecore#//Input/valueList"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute StateSpecification.ecore#//Input/valueHandling"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference StateSpecification.ecore#//Input/granularity"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference StateSpecification.ecore#//Input/arrivalRateAvg"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference StateSpecification.ecore#//Input/arrivalRateMinimum"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference StateSpecification.ecore#//Input/arrivalRateMaximum"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference StateSpecification.ecore#//Input/obsolescence"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute StateSpecification.ecore#//Input/references"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute StateSpecification.ecore#//Input/appearsIn"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute StateSpecification.ecore#//Input/description"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute StateSpecification.ecore#//Input/comments"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference StateSpecification.ecore#//Input/structure"/>
     </genClasses>
   </genPackages>
 </genmodel:GenModel>
https://github.com/nasa/CertWare/raw/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2FStateSpecification.genmodel
bf9e47920489e92b523c4a54b557a87a2e1f68a6
modified
https://github.com/nasa/CertWare/blob/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2Fparser%2Fantlr%2Finternal%2FInternalStateSpecification.g
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2Fparser%2Fantlr%2Finternal%2FInternalStateSpecification.g?ref=110fa3222ae2931978d7921dc8e6af8c7f43abd3
net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g
// Entry rule entryRuleValueRange
entryRuleValueRange returns [EObject current=null] 
	{ newCompositeNode(grammarAccess.getValueRangeRule()); }
	 iv_ruleValueRange=ruleValueRange 
	 { $current=$iv_ruleValueRange.current; } 
// Rule ValueRange
ruleValueRange returns [EObject current=null] 
(	otherlv_0='{' 
    	newLeafNode(otherlv_0, grammarAccess.getValueRangeAccess().getLeftCurlyBracketKeyword_0());
	        newCompositeNode(grammarAccess.getValueRangeAccess().getLowerBigDecimalTypeParserRuleCall_1_0()); 
		lv_lower_1_0=ruleBigDecimalType		{
	            $current = createModelElementForParent(grammarAccess.getValueRangeRule());
        		lv_lower_1_0, 
)	otherlv_2='...' 
    	newLeafNode(otherlv_2, grammarAccess.getValueRangeAccess().getFullStopFullStopFullStopKeyword_2());
	        newCompositeNode(grammarAccess.getValueRangeAccess().getUpperBigDecimalTypeParserRuleCall_3_0()); 
		lv_upper_3_0=ruleBigDecimalType		{
	            $current = createModelElementForParent(grammarAccess.getValueRangeRule());
        		lv_upper_3_0, 
)	otherlv_4='}' 
    	newLeafNode(otherlv_4, grammarAccess.getValueRangeAccess().getRightCurlyBracketKeyword_4());
	otherlv_5='type' 
    	newLeafNode(otherlv_5, grammarAccess.getValueRangeAccess().getTypeKeyword_5());
		lv_rangeType_6_0=RULE_STRING
			newLeafNode(lv_rangeType_6_0, grammarAccess.getValueRangeAccess().getRangeTypeSTRINGTerminalRuleCall_6_0()); 
	            $current = createModelElement(grammarAccess.getValueRangeRule());
        		lv_rangeType_6_0, 
)	otherlv_7='units' 
    	newLeafNode(otherlv_7, grammarAccess.getValueRangeAccess().getUnitsKeyword_7());
		lv_rangeUnits_8_0=RULE_STRING
			newLeafNode(lv_rangeUnits_8_0, grammarAccess.getValueRangeAccess().getRangeUnitsSTRINGTerminalRuleCall_8_0()); 
	            $current = createModelElement(grammarAccess.getValueRangeRule());
        		lv_rangeUnits_8_0, 
)	otherlv_9='}' 
    	newLeafNode(otherlv_9, grammarAccess.getValueRangeAccess().getRightCurlyBracketKeyword_9());
    }
)
;





// Entry rule entryRuleValueList
entryRuleValueList returns [EObject current=null] 
	:
	{ newCompositeNode(grammarAccess.getValueListRule()); }
	 iv_ruleValueList=ruleValueList 
	 { $current=$iv_ruleValueList.current; } 
	 EOF 
;

// Rule ValueList
ruleValueList returns [EObject current=null] 
    @init { enterRule(); 
    @after { leaveRule(); }:
(	otherlv_0='{' 
    	newLeafNode(otherlv_0, grammarAccess.getValueListAccess().getLeftCurlyBracketKeyword_0());
		lv_values_1_0=RULE_STRING
			newLeafNode(lv_values_1_0, grammarAccess.getValueListAccess().getValuesSTRINGTerminalRuleCall_1_0()); 
	            $current = createModelElement(grammarAccess.getValueListRule());
        		lv_values_1_0, 
)+	otherlv_2='}' 
    {
    	newLeafNode(otherlv_2, grammarAccess.getValueListAccess().getRightCurlyBracketKeyword_2());
    }
)
;





// Entry rule entryRuleOutput
entryRuleOutput returns [EObject current=null] 
	:
	{ newCompositeNode(grammarAccess.getOutputRule()); }
	 iv_ruleOutput=ruleOutput 
	 { $current=$iv_ruleOutput.current; } 
	 EOF 
;

// Rule Output
ruleOutput returns [EObject current=null] 
    @init { enterRule(); 
    }
    @after { leaveRule(); }:
((
    {
        $current = forceCreateModelElement(
            grammarAccess.getOutputAccess().getOutputAction_0(),
            $current);
    }
)(	otherlv_1='range' 
    {
    	newLeafNode(otherlv_1, grammarAccess.getOutputAccess().getRangeKeyword_1_0());
    }
(
(
		{ 
	        newCompositeNode(grammarAccess.getOutputAccess().getRangeValueRangeParserRuleCall_1_1_0()); 
	    }
		lv_range_2_0=ruleValueRange		{
	        if ($current==null) {
	            $current = createModelElementForParent(grammarAccess.getOutputRule());
	        }
       		set(
       			$current, 
       			"range",
        		lv_range_2_0, 
        		"ValueRange");
	        afterParserOrEnumRuleCall();
	    }

)
))?(	otherlv_3='value-list' 
    	newLeafNode(otherlv_3, grammarAccess.getOutputAccess().getValueListKeyword_2_0());
(
(
		{ 
	        newCompositeNode(grammarAccess.getOutputAccess().getValueListValueListParserRuleCall_2_1_0()); 
	    }
		lv_valueList_4_0=ruleValueList		{
	        if ($current==null) {
	            $current = createModelElementForParent(grammarAccess.getOutputRule());
	        }
       		set(
       			$current, 
       			"valueList",
        		lv_valueList_4_0, 
        		"ValueList");
	        afterParserOrEnumRuleCall();
	    }

)
))?(	otherlv_5='rate' 
    	newLeafNode(otherlv_5, grammarAccess.getOutputAccess().getRateKeyword_3_0());
	        newCompositeNode(grammarAccess.getOutputAccess().getRateBigUnitValueParserRuleCall_3_1_0()); 
		lv_rate_6_0=ruleBigUnitValue		{
        		lv_rate_6_0, 
))?(	otherlv_7='initiation-delay' 
    	newLeafNode(otherlv_7, grammarAccess.getOutputAccess().getInitiationDelayKeyword_4_0());
	        newCompositeNode(grammarAccess.getOutputAccess().getDelayBigUnitValueParserRuleCall_4_1_0()); 
		lv_delay_8_0=ruleBigUnitValue		{
        		lv_delay_8_0, 
))?(	otherlv_9='completion-deadline' 
    	newLeafNode(otherlv_9, grammarAccess.getOutputAccess().getCompletionDeadlineKeyword_5_0());
	        newCompositeNode(grammarAccess.getOutputAccess().getDeadlineBigUnitValueParserRuleCall_5_1_0()); 
		lv_deadline_10_0=ruleBigUnitValue		{
        		lv_deadline_10_0, 
))?(	otherlv_11='completion-exception' 
    	newLeafNode(otherlv_11, grammarAccess.getOutputAccess().getCompletionExceptionKeyword_6_0());
		lv_completionHandling_12_0=RULE_STRING
			newLeafNode(lv_completionHandling_12_0, grammarAccess.getOutputAccess().getCompletionHandlingSTRINGTerminalRuleCall_6_1_0()); 
        		lv_completionHandling_12_0, 
))?(	otherlv_13='variables' 
    	newLeafNode(otherlv_13, grammarAccess.getOutputAccess().getVariablesKeyword_7_0());
		lv_variables_14_0=RULE_STRING
			newLeafNode(lv_variables_14_0, grammarAccess.getOutputAccess().getVariablesSTRINGTerminalRuleCall_7_1_0()); 
        		lv_variables_14_0, 
))?(	otherlv_15='relationship' 
    	newLeafNode(otherlv_15, grammarAccess.getOutputAccess().getRelationshipKeyword_8_0());
		lv_relationship_16_0=RULE_STRING
			newLeafNode(lv_relationship_16_0, grammarAccess.getOutputAccess().getRelationshipSTRINGTerminalRuleCall_8_1_0()); 
        		lv_relationship_16_0, 
))?(	otherlv_17='min-response-time' 
    	newLeafNode(otherlv_17, grammarAccess.getOutputAccess().getMinResponseTimeKeyword_9_0());
	        newCompositeNode(grammarAccess.getOutputAccess().getMinResponseBigUnitValueParserRuleCall_9_1_0()); 
		lv_minResponse_18_0=ruleBigUnitValue		{
        		lv_minResponse_18_0, 
))?(	otherlv_19='max-response-time' 
    	newLeafNode(otherlv_19, grammarAccess.getOutputAccess().getMaxResponseTimeKeyword_10_0());
	        newCompositeNode(grammarAccess.getOutputAccess().getMaxResponseBigUnitValueParserRuleCall_10_1_0()); 
		lv_maxResponse_20_0=ruleBigUnitValue		{
        		lv_maxResponse_20_0, 
))?(	otherlv_21='feedback-exception' 
    	newLeafNode(otherlv_21, grammarAccess.getOutputAccess().getFeedbackExceptionKeyword_11_0());
		lv_feebackHandling_22_0=RULE_STRING
			newLeafNode(lv_feebackHandling_22_0, grammarAccess.getOutputAccess().getFeebackHandlingSTRINGTerminalRuleCall_11_1_0()); 
        		lv_feebackHandling_22_0, 
))?(	otherlv_23='reversed-by' 
    	newLeafNode(otherlv_23, grammarAccess.getOutputAccess().getReversedByKeyword_12_0());
		lv_reversed_24_0=RULE_STRING
			newLeafNode(lv_reversed_24_0, grammarAccess.getOutputAccess().getReversedSTRINGTerminalRuleCall_12_1_0()); 
        		lv_reversed_24_0, 
))?(	otherlv_25='references' 
    	newLeafNode(otherlv_25, grammarAccess.getOutputAccess().getReferencesKeyword_13_0());
		lv_references_26_0=RULE_STRING
			newLeafNode(lv_references_26_0, grammarAccess.getOutputAccess().getReferencesSTRINGTerminalRuleCall_13_1_0()); 
        		lv_references_26_0, 
))?(	otherlv_27='comments' 
    	newLeafNode(otherlv_27, grammarAccess.getOutputAccess().getCommentsKeyword_14_0());
		lv_comments_28_0=RULE_STRING
			newLeafNode(lv_comments_28_0, grammarAccess.getOutputAccess().getCommentsSTRINGTerminalRuleCall_14_1_0()); 
        		lv_comments_28_0, 
))?(	otherlv_29='contents' 
    	newLeafNode(otherlv_29, grammarAccess.getOutputAccess().getContentsKeyword_15_0());
		lv_contents_30_0=RULE_STRING
			newLeafNode(lv_contents_30_0, grammarAccess.getOutputAccess().getContentsSTRINGTerminalRuleCall_15_1_0()); 
        		lv_contents_30_0, 
))?(	otherlv_31='triggering' 
    	newLeafNode(otherlv_31, grammarAccess.getOutputAccess().getTriggeringKeyword_16_0());
	        newCompositeNode(grammarAccess.getOutputAccess().getTableTriggerTableParserRuleCall_16_1_0()); 
		lv_table_32_0=ruleTriggerTable		{
        		lv_table_32_0, 
)(	otherlv_1='range' 
    	newLeafNode(otherlv_1, grammarAccess.getInputAccess().getRangeKeyword_1_0());
	        newCompositeNode(grammarAccess.getInputAccess().getRangeValueRangeParserRuleCall_1_1_0()); 
		lv_range_2_0=ruleValueRange		{
       			"range",
        		lv_range_2_0, 
        		"ValueRange");
))?(	otherlv_3='value-list' 
    	newLeafNode(otherlv_3, grammarAccess.getInputAccess().getValueListKeyword_2_0());
	        newCompositeNode(grammarAccess.getInputAccess().getValueListValueListParserRuleCall_2_1_0()); 
		lv_valueList_4_0=ruleValueList		{
       			"valueList",
        		lv_valueList_4_0, 
        		"ValueList");
))?(	otherlv_5='value-exception' 
    	newLeafNode(otherlv_5, grammarAccess.getInputAccess().getValueExceptionKeyword_3_0());
		lv_valueHandling_6_0=RULE_STRING
			newLeafNode(lv_valueHandling_6_0, grammarAccess.getInputAccess().getValueHandlingSTRINGTerminalRuleCall_3_1_0()); 
       			"valueHandling",
        		lv_valueHandling_6_0, 
))?(	otherlv_7='granularity' 
    	newLeafNode(otherlv_7, grammarAccess.getInputAccess().getGranularityKeyword_4_0());
		{ 
	        newCompositeNode(grammarAccess.getInputAccess().getGranularityBigUnitValueParserRuleCall_4_1_0()); 
	    }
		lv_granularity_8_0=ruleBigUnitValue		{
	            $current = createModelElementForParent(grammarAccess.getInputRule());
       		set(
       			"granularity",
        		lv_granularity_8_0, 
        		"BigUnitValue");
	        afterParserOrEnumRuleCall();
))?(	otherlv_9='arrival-rate-avg' 
    	newLeafNode(otherlv_9, grammarAccess.getInputAccess().getArrivalRateAvgKeyword_5_0());
(
(
		{ 
	        newCompositeNode(grammarAccess.getInputAccess().getArrivalRateAvgBigUnitValueParserRuleCall_5_1_0()); 
	    }
		lv_arrivalRateAvg_10_0=ruleBigUnitValue		{
	        if ($current==null) {
	            $current = createModelElementForParent(grammarAccess.getInputRule());
	        }
       		set(
       			$current, 
       			"arrivalRateAvg",
        		lv_arrivalRateAvg_10_0, 
        		"BigUnitValue");
	        afterParserOrEnumRuleCall();
	    }

)
))?(	otherlv_11='arrival-rate-minimum' 
    	newLeafNode(otherlv_11, grammarAccess.getInputAccess().getArrivalRateMinimumKeyword_6_0());
		{ 
	        newCompositeNode(grammarAccess.getInputAccess().getArrivalRateMinimumBigUnitValueParserRuleCall_6_1_0()); 
	    }
		lv_arrivalRateMinimum_12_0=ruleBigUnitValue		{
	            $current = createModelElementForParent(grammarAccess.getInputRule());
       		set(
       			"arrivalRateMinimum",
        		lv_arrivalRateMinimum_12_0, 
        		"BigUnitValue");
	        afterParserOrEnumRuleCall();
))?(	otherlv_13='arrival-rate-maximum' 
    	newLeafNode(otherlv_13, grammarAccess.getInputAccess().getArrivalRateMaximumKeyword_7_0());
(
(
		{ 
	        newCompositeNode(grammarAccess.getInputAccess().getArrivalRateMaximumBigUnitValueParserRuleCall_7_1_0()); 
	    }
		lv_arrivalRateMaximum_14_0=ruleBigUnitValue		{
	        if ($current==null) {
	            $current = createModelElementForParent(grammarAccess.getInputRule());
	        }
       		set(
       			$current, 
       			"arrivalRateMaximum",
        		lv_arrivalRateMaximum_14_0, 
        		"BigUnitValue");
	        afterParserOrEnumRuleCall();
	    }

)
))?(	otherlv_15='obsolescence' 
    	newLeafNode(otherlv_15, grammarAccess.getInputAccess().getObsolescenceKeyword_8_0());
	        newCompositeNode(grammarAccess.getInputAccess().getObsolescenceBigUnitValueParserRuleCall_8_1_0()); 
		lv_obsolescence_16_0=ruleBigUnitValue		{
       			"obsolescence",
        		lv_obsolescence_16_0, 
))?(	otherlv_17='references' 
    	newLeafNode(otherlv_17, grammarAccess.getInputAccess().getReferencesKeyword_9_0());
		lv_references_18_0=RULE_STRING
			newLeafNode(lv_references_18_0, grammarAccess.getInputAccess().getReferencesSTRINGTerminalRuleCall_9_1_0()); 
       			"references",
        		lv_references_18_0, 
))?(	otherlv_19='appears-in' 
    	newLeafNode(otherlv_19, grammarAccess.getInputAccess().getAppearsInKeyword_10_0());
		lv_appearsIn_20_0=RULE_STRING
			newLeafNode(lv_appearsIn_20_0, grammarAccess.getInputAccess().getAppearsInSTRINGTerminalRuleCall_10_1_0()); 
       			"appearsIn",
        		lv_appearsIn_20_0, 
        		"STRING");
	    }

)
))?(	otherlv_21='description' 
    {
    	newLeafNode(otherlv_21, grammarAccess.getInputAccess().getDescriptionKeyword_11_0());
    }
(
(
		lv_description_22_0=RULE_STRING
		{
			newLeafNode(lv_description_22_0, grammarAccess.getInputAccess().getDescriptionSTRINGTerminalRuleCall_11_1_0()); 
		}
		{
	        if ($current==null) {
	            $current = createModelElement(grammarAccess.getInputRule());
	        }
       		setWithLastConsumed(
       			$current, 
       			"description",
        		lv_description_22_0, 
))?(	otherlv_23='comments' 
    	newLeafNode(otherlv_23, grammarAccess.getInputAccess().getCommentsKeyword_12_0());
		lv_comments_24_0=RULE_STRING
			newLeafNode(lv_comments_24_0, grammarAccess.getInputAccess().getCommentsSTRINGTerminalRuleCall_12_1_0()); 
        		lv_comments_24_0, 
)
))?(	otherlv_25='triggering' 
    {
    	newLeafNode(otherlv_25, grammarAccess.getInputAccess().getTriggeringKeyword_13_0());
    }
(
(
		{ 
	        newCompositeNode(grammarAccess.getInputAccess().getStructureTriggerTableParserRuleCall_13_1_0()); 
	    }
		lv_structure_26_0=ruleTriggerTable		{
	        if ($current==null) {
	            $current = createModelElementForParent(grammarAccess.getInputRule());
	        }
       		set(
       			$current, 
       			"structure",
        		lv_structure_26_0, 
        		"TriggerTable");
	        afterParserOrEnumRuleCall();
	    }

// Entry rule entryRuleOutput
entryRuleOutput returns [EObject current=null] 
	{ newCompositeNode(grammarAccess.getOutputRule()); }
	 iv_ruleOutput=ruleOutput 
	 { $current=$iv_ruleOutput.current; } 
// Rule Output
ruleOutput returns [EObject current=null] 
((
    {
        $current = forceCreateModelElement(
            grammarAccess.getOutputAccess().getOutputAction_0(),
            $current);
    }
)((	otherlv_1='range' 
    {
    	newLeafNode(otherlv_1, grammarAccess.getOutputAccess().getRangeKeyword_1_0_0());
    }
	otherlv_2='{' 
    	newLeafNode(otherlv_2, grammarAccess.getOutputAccess().getLeftCurlyBracketKeyword_1_0_1());
	        newCompositeNode(grammarAccess.getOutputAccess().getLowerBigDecimalTypeParserRuleCall_1_0_2_0()); 
		lv_lower_3_0=ruleBigDecimalType		{
	            $current = createModelElementForParent(grammarAccess.getOutputRule());
        		lv_lower_3_0, 
)	otherlv_4='...' 
    	newLeafNode(otherlv_4, grammarAccess.getOutputAccess().getFullStopFullStopFullStopKeyword_1_0_3());
	        newCompositeNode(grammarAccess.getOutputAccess().getUpperBigDecimalTypeParserRuleCall_1_0_4_0()); 
		lv_upper_5_0=ruleBigDecimalType		{
	            $current = createModelElementForParent(grammarAccess.getOutputRule());
        		lv_upper_5_0, 
)	otherlv_6='}' 
    	newLeafNode(otherlv_6, grammarAccess.getOutputAccess().getRightCurlyBracketKeyword_1_0_5());
	otherlv_7='type' 
    	newLeafNode(otherlv_7, grammarAccess.getOutputAccess().getTypeKeyword_1_0_6());
		lv_rangeType_8_0=RULE_STRING
			newLeafNode(lv_rangeType_8_0, grammarAccess.getOutputAccess().getRangeTypeSTRINGTerminalRuleCall_1_0_7_0()); 
	            $current = createModelElement(grammarAccess.getOutputRule());
        		lv_rangeType_8_0, 
)	otherlv_9='units' 
    	newLeafNode(otherlv_9, grammarAccess.getOutputAccess().getUnitsKeyword_1_0_8());
		lv_rangeUnits_10_0=RULE_STRING
			newLeafNode(lv_rangeUnits_10_0, grammarAccess.getOutputAccess().getRangeUnitsSTRINGTerminalRuleCall_1_0_9_0()); 
	            $current = createModelElement(grammarAccess.getOutputRule());
        		lv_rangeUnits_10_0, 
))
    |(	otherlv_11='values' 
    	newLeafNode(otherlv_11, grammarAccess.getOutputAccess().getValuesKeyword_1_1_0());
	otherlv_12='{' 
    	newLeafNode(otherlv_12, grammarAccess.getOutputAccess().getLeftCurlyBracketKeyword_1_1_1());
		lv_values_13_0=RULE_STRING
			newLeafNode(lv_values_13_0, grammarAccess.getOutputAccess().getValuesSTRINGTerminalRuleCall_1_1_2_0()); 
	            $current = createModelElement(grammarAccess.getOutputRule());
        		lv_values_13_0, 
)*	otherlv_14='}' 
    	newLeafNode(otherlv_14, grammarAccess.getOutputAccess().getRightCurlyBracketKeyword_1_1_3());
))(	otherlv_15='rate' 
    	newLeafNode(otherlv_15, grammarAccess.getOutputAccess().getRateKeyword_2_0());
	        newCompositeNode(grammarAccess.getOutputAccess().getRateBigUnitValueParserRuleCall_2_1_0()); 
		lv_rate_16_0=ruleBigUnitValue		{
        		lv_rate_16_0, 
))?(	otherlv_17='initiation-delay' 
    	newLeafNode(otherlv_17, grammarAccess.getOutputAccess().getInitiationDelayKeyword_3_0());
	        newCompositeNode(grammarAccess.getOutputAccess().getDelayBigUnitValueParserRuleCall_3_1_0()); 
		lv_delay_18_0=ruleBigUnitValue		{
        		lv_delay_18_0, 
))?(	otherlv_19='completion-deadline' 
    	newLeafNode(otherlv_19, grammarAccess.getOutputAccess().getCompletionDeadlineKeyword_4_0());
	        newCompositeNode(grammarAccess.getOutputAccess().getDeadlineBigUnitValueParserRuleCall_4_1_0()); 
		lv_deadline_20_0=ruleBigUnitValue		{
        		lv_deadline_20_0, 
))?(	otherlv_21='completion-exception' 
    	newLeafNode(otherlv_21, grammarAccess.getOutputAccess().getCompletionExceptionKeyword_5_0());
		lv_completionHandling_22_0=RULE_STRING
			newLeafNode(lv_completionHandling_22_0, grammarAccess.getOutputAccess().getCompletionHandlingSTRINGTerminalRuleCall_5_1_0()); 
        		lv_completionHandling_22_0, 
))?(	otherlv_23='variables' 
    	newLeafNode(otherlv_23, grammarAccess.getOutputAccess().getVariablesKeyword_6_0());
		lv_variables_24_0=RULE_STRING
			newLeafNode(lv_variables_24_0, grammarAccess.getOutputAccess().getVariablesSTRINGTerminalRuleCall_6_1_0()); 
        		lv_variables_24_0, 
))?(	otherlv_25='relationship' 
    	newLeafNode(otherlv_25, grammarAccess.getOutputAccess().getRelationshipKeyword_7_0());
		lv_relationship_26_0=RULE_STRING
			newLeafNode(lv_relationship_26_0, grammarAccess.getOutputAccess().getRelationshipSTRINGTerminalRuleCall_7_1_0()); 
        		lv_relationship_26_0, 
))?(	otherlv_27='min-response-time' 
    	newLeafNode(otherlv_27, grammarAccess.getOutputAccess().getMinResponseTimeKeyword_8_0());
	        newCompositeNode(grammarAccess.getOutputAccess().getMinResponseBigUnitValueParserRuleCall_8_1_0()); 
		lv_minResponse_28_0=ruleBigUnitValue		{
        		lv_minResponse_28_0, 
))?(	otherlv_29='max-response-time' 
    	newLeafNode(otherlv_29, grammarAccess.getOutputAccess().getMaxResponseTimeKeyword_9_0());
	        newCompositeNode(grammarAccess.getOutputAccess().getMaxResponseBigUnitValueParserRuleCall_9_1_0()); 
		lv_maxResponse_30_0=ruleBigUnitValue		{
        		lv_maxResponse_30_0, 
))?(	otherlv_31='feedback-exception' 
    	newLeafNode(otherlv_31, grammarAccess.getOutputAccess().getFeedbackExceptionKeyword_10_0());
		lv_feebackHandling_32_0=RULE_STRING
			newLeafNode(lv_feebackHandling_32_0, grammarAccess.getOutputAccess().getFeebackHandlingSTRINGTerminalRuleCall_10_1_0()); 
        		lv_feebackHandling_32_0, 
))?(	otherlv_33='reversed-by' 
    	newLeafNode(otherlv_33, grammarAccess.getOutputAccess().getReversedByKeyword_11_0());
		lv_reversed_34_0=RULE_STRING
			newLeafNode(lv_reversed_34_0, grammarAccess.getOutputAccess().getReversedSTRINGTerminalRuleCall_11_1_0()); 
        		lv_reversed_34_0, 
))?(	otherlv_35='references' 
    	newLeafNode(otherlv_35, grammarAccess.getOutputAccess().getReferencesKeyword_12_0());
		lv_references_36_0=RULE_STRING
			newLeafNode(lv_references_36_0, grammarAccess.getOutputAccess().getReferencesSTRINGTerminalRuleCall_12_1_0()); 
        		lv_references_36_0, 
))?(	otherlv_37='comments' 
    	newLeafNode(otherlv_37, grammarAccess.getOutputAccess().getCommentsKeyword_13_0());
		lv_comments_38_0=RULE_STRING
			newLeafNode(lv_comments_38_0, grammarAccess.getOutputAccess().getCommentsSTRINGTerminalRuleCall_13_1_0()); 
        		lv_comments_38_0, 
))?(	otherlv_39='contents' 
    	newLeafNode(otherlv_39, grammarAccess.getOutputAccess().getContentsKeyword_14_0());
		lv_contents_40_0=RULE_STRING
			newLeafNode(lv_contents_40_0, grammarAccess.getOutputAccess().getContentsSTRINGTerminalRuleCall_14_1_0()); 
        		lv_contents_40_0, 
))?(	otherlv_41='triggering' 
    	newLeafNode(otherlv_41, grammarAccess.getOutputAccess().getTriggeringKeyword_15_0());
	        newCompositeNode(grammarAccess.getOutputAccess().getTableTriggerTableParserRuleCall_15_1_0()); 
		lv_table_42_0=ruleTriggerTable		{
        		lv_table_42_0, 
)((	otherlv_1='range' 
    {
    	newLeafNode(otherlv_1, grammarAccess.getInputAccess().getRangeKeyword_1_0_0());
    }
	otherlv_2='{' 
    	newLeafNode(otherlv_2, grammarAccess.getInputAccess().getLeftCurlyBracketKeyword_1_0_1());
	        newCompositeNode(grammarAccess.getInputAccess().getLowerBigDecimalTypeParserRuleCall_1_0_2_0()); 
		lv_lower_3_0=ruleBigDecimalType		{
       			"lower",
        		lv_lower_3_0, 
        		"BigDecimalType");
)	otherlv_4='...' 
    	newLeafNode(otherlv_4, grammarAccess.getInputAccess().getFullStopFullStopFullStopKeyword_1_0_3());
	        newCompositeNode(grammarAccess.getInputAccess().getUpperBigDecimalTypeParserRuleCall_1_0_4_0()); 
		lv_upper_5_0=ruleBigDecimalType		{
       			"upper",
        		lv_upper_5_0, 
        		"BigDecimalType");
)	otherlv_6='}' 
    {
    	newLeafNode(otherlv_6, grammarAccess.getInputAccess().getRightCurlyBracketKeyword_1_0_5());
    }
	otherlv_7='type' 
    	newLeafNode(otherlv_7, grammarAccess.getInputAccess().getTypeKeyword_1_0_6());
		lv_rangeType_8_0=RULE_STRING
			newLeafNode(lv_rangeType_8_0, grammarAccess.getInputAccess().getRangeTypeSTRINGTerminalRuleCall_1_0_7_0()); 
       			"rangeType",
        		lv_rangeType_8_0, 
)	otherlv_9='units' 
    	newLeafNode(otherlv_9, grammarAccess.getInputAccess().getUnitsKeyword_1_0_8());
		lv_rangeUnits_10_0=RULE_STRING
		{
			newLeafNode(lv_rangeUnits_10_0, grammarAccess.getInputAccess().getRangeUnitsSTRINGTerminalRuleCall_1_0_9_0()); 
		}
		{
	            $current = createModelElement(grammarAccess.getInputRule());
       		setWithLastConsumed(
       			"rangeUnits",
        		lv_rangeUnits_10_0, 
        		"STRING");
))
    |(	otherlv_11='values' 
    	newLeafNode(otherlv_11, grammarAccess.getInputAccess().getValuesKeyword_1_1_0());
	otherlv_12='{' 
    	newLeafNode(otherlv_12, grammarAccess.getInputAccess().getLeftCurlyBracketKeyword_1_1_1());
		lv_values_13_0=RULE_STRING
		{
			newLeafNode(lv_values_13_0, grammarAccess.getInputAccess().getValuesSTRINGTerminalRuleCall_1_1_2_0()); 
		}
		{
	            $current = createModelElement(grammarAccess.getInputRule());
       		addWithLastConsumed(
       			"values",
        		lv_values_13_0, 
        		"STRING");
)*	otherlv_14='}' 
    	newLeafNode(otherlv_14, grammarAccess.getInputAccess().getRightCurlyBracketKeyword_1_1_3());
))(	otherlv_15='rate' 
    	newLeafNode(otherlv_15, grammarAccess.getInputAccess().getRateKeyword_2_0());
	        newCompositeNode(grammarAccess.getInputAccess().getRateBigUnitValueParserRuleCall_2_1_0()); 
		lv_rate_16_0=ruleBigUnitValue		{
       			"rate",
        		lv_rate_16_0, 
))?(	otherlv_17='variables' 
    	newLeafNode(otherlv_17, grammarAccess.getInputAccess().getVariablesKeyword_3_0());
		lv_variables_18_0=RULE_STRING
			newLeafNode(lv_variables_18_0, grammarAccess.getInputAccess().getVariablesSTRINGTerminalRuleCall_3_1_0()); 
       			"variables",
        		lv_variables_18_0, 
))?(	otherlv_19='references' 
    	newLeafNode(otherlv_19, grammarAccess.getInputAccess().getReferencesKeyword_4_0());
		lv_references_20_0=RULE_STRING
			newLeafNode(lv_references_20_0, grammarAccess.getInputAccess().getReferencesSTRINGTerminalRuleCall_4_1_0()); 
       			"references",
        		lv_references_20_0, 
))?(	otherlv_21='comments' 
    	newLeafNode(otherlv_21, grammarAccess.getInputAccess().getCommentsKeyword_5_0());
		lv_comments_22_0=RULE_STRING
			newLeafNode(lv_comments_22_0, grammarAccess.getInputAccess().getCommentsSTRINGTerminalRuleCall_5_1_0()); 
        		lv_comments_22_0, 
@@ -1545,228 +1545,309 @@ ruleTriggerTable returns [EObject current=null]
 
 
 
-// Entry rule entryRuleOutput
-entryRuleOutput returns [EObject current=null] 
+// Entry rule entryRuleValueRange
+entryRuleValueRange returns [EObject current=null] 
 	:
-	{ newCompositeNode(grammarAccess.getOutputRule()); }
-	 iv_ruleOutput=ruleOutput 
-	 { $current=$iv_ruleOutput.current; } 
+	{ newCompositeNode(grammarAccess.getValueRangeRule()); }
+	 iv_ruleValueRange=ruleValueRange 
+	 { $current=$iv_ruleValueRange.current; } 
 	 EOF 
 ;
 
-// Rule Output
-ruleOutput returns [EObject current=null] 
+// Rule ValueRange
+ruleValueRange returns [EObject current=null] 
     @init { enterRule(); 
     }
     @after { leaveRule(); }:
-((
-    {
-        $current = forceCreateModelElement(
-            grammarAccess.getOutputAccess().getOutputAction_0(),
-            $current);
-    }
-)((	otherlv_1='range' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getOutputAccess().getRangeKeyword_1_0_0());
-    }
-	otherlv_2='{' 
+(	otherlv_0='{' 
     {
-    	newLeafNode(otherlv_2, grammarAccess.getOutputAccess().getLeftCurlyBracketKeyword_1_0_1());
+    	newLeafNode(otherlv_0, grammarAccess.getValueRangeAccess().getLeftCurlyBracketKeyword_0());
     }
 (
 (
 		{ 
-	        newCompositeNode(grammarAccess.getOutputAccess().getLowerBigDecimalTypeParserRuleCall_1_0_2_0()); 
+	        newCompositeNode(grammarAccess.getValueRangeAccess().getLowerBigDecimalTypeParserRuleCall_1_0()); 
 	    }
-		lv_lower_3_0=ruleBigDecimalType		{
+		lv_lower_1_0=ruleBigDecimalType		{
 	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getOutputRule());
+	            $current = createModelElementForParent(grammarAccess.getValueRangeRule());
 	        }
        		set(
        			$current, 
        			"lower",
-        		lv_lower_3_0, 
+        		lv_lower_1_0, 
         		"BigDecimalType");
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-)	otherlv_4='...' 
+)	otherlv_2='...' 
     {
-    	newLeafNode(otherlv_4, grammarAccess.getOutputAccess().getFullStopFullStopFullStopKeyword_1_0_3());
+    	newLeafNode(otherlv_2, grammarAccess.getValueRangeAccess().getFullStopFullStopFullStopKeyword_2());
     }
 (
 (
 		{ 
-	        newCompositeNode(grammarAccess.getOutputAccess().getUpperBigDecimalTypeParserRuleCall_1_0_4_0()); 
+	        newCompositeNode(grammarAccess.getValueRangeAccess().getUpperBigDecimalTypeParserRuleCall_3_0()); 
 	    }
-		lv_upper_5_0=ruleBigDecimalType		{
+		lv_upper_3_0=ruleBigDecimalType		{
 	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getOutputRule());
+	            $current = createModelElementForParent(grammarAccess.getValueRangeRule());
 	        }
        		set(
        			$current, 
        			"upper",
-        		lv_upper_5_0, 
+        		lv_upper_3_0, 
         		"BigDecimalType");
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-)	otherlv_6='}' 
+)	otherlv_4='}' 
     {
-    	newLeafNode(otherlv_6, grammarAccess.getOutputAccess().getRightCurlyBracketKeyword_1_0_5());
+    	newLeafNode(otherlv_4, grammarAccess.getValueRangeAccess().getRightCurlyBracketKeyword_4());
     }
-	otherlv_7='type' 
+	otherlv_5='type' 
     {
-    	newLeafNode(otherlv_7, grammarAccess.getOutputAccess().getTypeKeyword_1_0_6());
+    	newLeafNode(otherlv_5, grammarAccess.getValueRangeAccess().getTypeKeyword_5());
     }
 (
 (
-		lv_rangeType_8_0=RULE_STRING
+		lv_rangeType_6_0=RULE_STRING
 		{
-			newLeafNode(lv_rangeType_8_0, grammarAccess.getOutputAccess().getRangeTypeSTRINGTerminalRuleCall_1_0_7_0()); 
+			newLeafNode(lv_rangeType_6_0, grammarAccess.getValueRangeAccess().getRangeTypeSTRINGTerminalRuleCall_6_0()); 
 		}
 		{
 	        if ($current==null) {
-	            $current = createModelElement(grammarAccess.getOutputRule());
+	            $current = createModelElement(grammarAccess.getValueRangeRule());
 	        }
        		setWithLastConsumed(
        			$current, 
        			"rangeType",
-        		lv_rangeType_8_0, 
+        		lv_rangeType_6_0, 
         		"STRING");
 	    }
 
 )
-)	otherlv_9='units' 
+)	otherlv_7='units' 
     {
-    	newLeafNode(otherlv_9, grammarAccess.getOutputAccess().getUnitsKeyword_1_0_8());
+    	newLeafNode(otherlv_7, grammarAccess.getValueRangeAccess().getUnitsKeyword_7());
     }
 (
 (
-		lv_rangeUnits_10_0=RULE_STRING
+		lv_rangeUnits_8_0=RULE_STRING
 		{
-			newLeafNode(lv_rangeUnits_10_0, grammarAccess.getOutputAccess().getRangeUnitsSTRINGTerminalRuleCall_1_0_9_0()); 
+			newLeafNode(lv_rangeUnits_8_0, grammarAccess.getValueRangeAccess().getRangeUnitsSTRINGTerminalRuleCall_8_0()); 
 		}
 		{
 	        if ($current==null) {
-	            $current = createModelElement(grammarAccess.getOutputRule());
+	            $current = createModelElement(grammarAccess.getValueRangeRule());
 	        }
        		setWithLastConsumed(
        			$current, 
        			"rangeUnits",
-        		lv_rangeUnits_10_0, 
+        		lv_rangeUnits_8_0, 
         		"STRING");
 	    }
 
 )
-))
-    |(	otherlv_11='values' 
+)	otherlv_9='}' 
     {
-    	newLeafNode(otherlv_11, grammarAccess.getOutputAccess().getValuesKeyword_1_1_0());
+    	newLeafNode(otherlv_9, grammarAccess.getValueRangeAccess().getRightCurlyBracketKeyword_9());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleValueList
+entryRuleValueList returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getValueListRule()); }
+	 iv_ruleValueList=ruleValueList 
+	 { $current=$iv_ruleValueList.current; } 
+	 EOF 
+;
+
+// Rule ValueList
+ruleValueList returns [EObject current=null] 
+    @init { enterRule(); 
     }
-	otherlv_12='{' 
+    @after { leaveRule(); }:
+(	otherlv_0='{' 
     {
-    	newLeafNode(otherlv_12, grammarAccess.getOutputAccess().getLeftCurlyBracketKeyword_1_1_1());
+    	newLeafNode(otherlv_0, grammarAccess.getValueListAccess().getLeftCurlyBracketKeyword_0());
     }
 (
 (
-		lv_values_13_0=RULE_STRING
+		lv_values_1_0=RULE_STRING
 		{
-			newLeafNode(lv_values_13_0, grammarAccess.getOutputAccess().getValuesSTRINGTerminalRuleCall_1_1_2_0()); 
+			newLeafNode(lv_values_1_0, grammarAccess.getValueListAccess().getValuesSTRINGTerminalRuleCall_1_0()); 
 		}
 		{
 	        if ($current==null) {
-	            $current = createModelElement(grammarAccess.getOutputRule());
+	            $current = createModelElement(grammarAccess.getValueListRule());
 	        }
        		addWithLastConsumed(
        			$current, 
        			"values",
-        		lv_values_13_0, 
+        		lv_values_1_0, 
         		"STRING");
 	    }
 
 )
-)*	otherlv_14='}' 
+)+	otherlv_2='}' 
+    {
+    	newLeafNode(otherlv_2, grammarAccess.getValueListAccess().getRightCurlyBracketKeyword_2());
+    }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleOutput
+entryRuleOutput returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getOutputRule()); }
+	 iv_ruleOutput=ruleOutput 
+	 { $current=$iv_ruleOutput.current; } 
+	 EOF 
+;
+
+// Rule Output
+ruleOutput returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+((
+    {
+        $current = forceCreateModelElement(
+            grammarAccess.getOutputAccess().getOutputAction_0(),
+            $current);
+    }
+)(	otherlv_1='range' 
+    {
+    	newLeafNode(otherlv_1, grammarAccess.getOutputAccess().getRangeKeyword_1_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getOutputAccess().getRangeValueRangeParserRuleCall_1_1_0()); 
+	    }
+		lv_range_2_0=ruleValueRange		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getOutputRule());
+	        }
+       		set(
+       			$current, 
+       			"range",
+        		lv_range_2_0, 
+        		"ValueRange");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))?(	otherlv_3='value-list' 
     {
-    	newLeafNode(otherlv_14, grammarAccess.getOutputAccess().getRightCurlyBracketKeyword_1_1_3());
+    	newLeafNode(otherlv_3, grammarAccess.getOutputAccess().getValueListKeyword_2_0());
     }
-))(	otherlv_15='rate' 
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getOutputAccess().getValueListValueListParserRuleCall_2_1_0()); 
+	    }
+		lv_valueList_4_0=ruleValueList		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getOutputRule());
+	        }
+       		set(
+       			$current, 
+       			"valueList",
+        		lv_valueList_4_0, 
+        		"ValueList");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))?(	otherlv_5='rate' 
     {
-    	newLeafNode(otherlv_15, grammarAccess.getOutputAccess().getRateKeyword_2_0());
+    	newLeafNode(otherlv_5, grammarAccess.getOutputAccess().getRateKeyword_3_0());
     }
 (
 (
 		{ 
-	        newCompositeNode(grammarAccess.getOutputAccess().getRateBigUnitValueParserRuleCall_2_1_0()); 
+	        newCompositeNode(grammarAccess.getOutputAccess().getRateBigUnitValueParserRuleCall_3_1_0()); 
 	    }
-		lv_rate_16_0=ruleBigUnitValue		{
+		lv_rate_6_0=ruleBigUnitValue		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getOutputRule());
 	        }
        		set(
        			$current, 
        			"rate",
-        		lv_rate_16_0, 
+        		lv_rate_6_0, 
         		"BigUnitValue");
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-))?(	otherlv_17='initiation-delay' 
+))?(	otherlv_7='initiation-delay' 
     {
-    	newLeafNode(otherlv_17, grammarAccess.getOutputAccess().getInitiationDelayKeyword_3_0());
+    	newLeafNode(otherlv_7, grammarAccess.getOutputAccess().getInitiationDelayKeyword_4_0());
     }
 (
 (
 		{ 
-	        newCompositeNode(grammarAccess.getOutputAccess().getDelayBigUnitValueParserRuleCall_3_1_0()); 
+	        newCompositeNode(grammarAccess.getOutputAccess().getDelayBigUnitValueParserRuleCall_4_1_0()); 
 	    }
-		lv_delay_18_0=ruleBigUnitValue		{
+		lv_delay_8_0=ruleBigUnitValue		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getOutputRule());
 	        }
        		set(
        			$current, 
        			"delay",
-        		lv_delay_18_0, 
+        		lv_delay_8_0, 
         		"BigUnitValue");
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-))?(	otherlv_19='completion-deadline' 
+))?(	otherlv_9='completion-deadline' 
     {
-    	newLeafNode(otherlv_19, grammarAccess.getOutputAccess().getCompletionDeadlineKeyword_4_0());
+    	newLeafNode(otherlv_9, grammarAccess.getOutputAccess().getCompletionDeadlineKeyword_5_0());
     }
 (
 (
 		{ 
-	        newCompositeNode(grammarAccess.getOutputAccess().getDeadlineBigUnitValueParserRuleCall_4_1_0()); 
+	        newCompositeNode(grammarAccess.getOutputAccess().getDeadlineBigUnitValueParserRuleCall_5_1_0()); 
 	    }
-		lv_deadline_20_0=ruleBigUnitValue		{
+		lv_deadline_10_0=ruleBigUnitValue		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getOutputRule());
 	        }
        		set(
        			$current, 
        			"deadline",
-        		lv_deadline_20_0, 
+        		lv_deadline_10_0, 
         		"BigUnitValue");
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-))?(	otherlv_21='completion-exception' 
+))?(	otherlv_11='completion-exception' 
     {
-    	newLeafNode(otherlv_21, grammarAccess.getOutputAccess().getCompletionExceptionKeyword_5_0());
+    	newLeafNode(otherlv_11, grammarAccess.getOutputAccess().getCompletionExceptionKeyword_6_0());
     }
 (
 (
-		lv_completionHandling_22_0=RULE_STRING
+		lv_completionHandling_12_0=RULE_STRING
 		{
-			newLeafNode(lv_completionHandling_22_0, grammarAccess.getOutputAccess().getCompletionHandlingSTRINGTerminalRuleCall_5_1_0()); 
+			newLeafNode(lv_completionHandling_12_0, grammarAccess.getOutputAccess().getCompletionHandlingSTRINGTerminalRuleCall_6_1_0()); 
 		}
 		{
 	        if ($current==null) {
@@ -1775,20 +1856,20 @@ ruleOutput returns [EObject current=null]
        		setWithLastConsumed(
        			$current, 
        			"completionHandling",
-        		lv_completionHandling_22_0, 
+        		lv_completionHandling_12_0, 
         		"STRING");
 	    }
 
 )
-))?(	otherlv_23='variables' 
+))?(	otherlv_13='variables' 
     {
-    	newLeafNode(otherlv_23, grammarAccess.getOutputAccess().getVariablesKeyword_6_0());
+    	newLeafNode(otherlv_13, grammarAccess.getOutputAccess().getVariablesKeyword_7_0());
     }
 (
 (
-		lv_variables_24_0=RULE_STRING
+		lv_variables_14_0=RULE_STRING
 		{
-			newLeafNode(lv_variables_24_0, grammarAccess.getOutputAccess().getVariablesSTRINGTerminalRuleCall_6_1_0()); 
+			newLeafNode(lv_variables_14_0, grammarAccess.getOutputAccess().getVariablesSTRINGTerminalRuleCall_7_1_0()); 
 		}
 		{
 	        if ($current==null) {
@@ -1797,20 +1878,20 @@ ruleOutput returns [EObject current=null]
        		setWithLastConsumed(
        			$current, 
        			"variables",
-        		lv_variables_24_0, 
+        		lv_variables_14_0, 
         		"STRING");
 	    }
 
 )
-))?(	otherlv_25='relationship' 
+))?(	otherlv_15='relationship' 
     {
-    	newLeafNode(otherlv_25, grammarAccess.getOutputAccess().getRelationshipKeyword_7_0());
+    	newLeafNode(otherlv_15, grammarAccess.getOutputAccess().getRelationshipKeyword_8_0());
     }
 (
 (
-		lv_relationship_26_0=RULE_STRING
+		lv_relationship_16_0=RULE_STRING
 		{
-			newLeafNode(lv_relationship_26_0, grammarAccess.getOutputAccess().getRelationshipSTRINGTerminalRuleCall_7_1_0()); 
+			newLeafNode(lv_relationship_16_0, grammarAccess.getOutputAccess().getRelationshipSTRINGTerminalRuleCall_8_1_0()); 
 		}
 		{
 	        if ($current==null) {
@@ -1819,64 +1900,64 @@ ruleOutput returns [EObject current=null]
        		setWithLastConsumed(
        			$current, 
        			"relationship",
-        		lv_relationship_26_0, 
+        		lv_relationship_16_0, 
         		"STRING");
 	    }
 
 )
-))?(	otherlv_27='min-response-time' 
+))?(	otherlv_17='min-response-time' 
     {
-    	newLeafNode(otherlv_27, grammarAccess.getOutputAccess().getMinResponseTimeKeyword_8_0());
+    	newLeafNode(otherlv_17, grammarAccess.getOutputAccess().getMinResponseTimeKeyword_9_0());
     }
 (
 (
 		{ 
-	        newCompositeNode(grammarAccess.getOutputAccess().getMinResponseBigUnitValueParserRuleCall_8_1_0()); 
+	        newCompositeNode(grammarAccess.getOutputAccess().getMinResponseBigUnitValueParserRuleCall_9_1_0()); 
 	    }
-		lv_minResponse_28_0=ruleBigUnitValue		{
+		lv_minResponse_18_0=ruleBigUnitValue		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getOutputRule());
 	        }
        		set(
        			$current, 
        			"minResponse",
-        		lv_minResponse_28_0, 
+        		lv_minResponse_18_0, 
         		"BigUnitValue");
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-))?(	otherlv_29='max-response-time' 
+))?(	otherlv_19='max-response-time' 
     {
-    	newLeafNode(otherlv_29, grammarAccess.getOutputAccess().getMaxResponseTimeKeyword_9_0());
+    	newLeafNode(otherlv_19, grammarAccess.getOutputAccess().getMaxResponseTimeKeyword_10_0());
     }
 (
 (
 		{ 
-	        newCompositeNode(grammarAccess.getOutputAccess().getMaxResponseBigUnitValueParserRuleCall_9_1_0()); 
+	        newCompositeNode(grammarAccess.getOutputAccess().getMaxResponseBigUnitValueParserRuleCall_10_1_0()); 
 	    }
-		lv_maxResponse_30_0=ruleBigUnitValue		{
+		lv_maxResponse_20_0=ruleBigUnitValue		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getOutputRule());
 	        }
        		set(
        			$current, 
        			"maxResponse",
-        		lv_maxResponse_30_0, 
+        		lv_maxResponse_20_0, 
         		"BigUnitValue");
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-))?(	otherlv_31='feedback-exception' 
+))?(	otherlv_21='feedback-exception' 
     {
-    	newLeafNode(otherlv_31, grammarAccess.getOutputAccess().getFeedbackExceptionKeyword_10_0());
+    	newLeafNode(otherlv_21, grammarAccess.getOutputAccess().getFeedbackExceptionKeyword_11_0());
     }
 (
 (
-		lv_feebackHandling_32_0=RULE_STRING
+		lv_feebackHandling_22_0=RULE_STRING
 		{
-			newLeafNode(lv_feebackHandling_32_0, grammarAccess.getOutputAccess().getFeebackHandlingSTRINGTerminalRuleCall_10_1_0()); 
+			newLeafNode(lv_feebackHandling_22_0, grammarAccess.getOutputAccess().getFeebackHandlingSTRINGTerminalRuleCall_11_1_0()); 
 		}
 		{
 	        if ($current==null) {
@@ -1885,20 +1966,20 @@ ruleOutput returns [EObject current=null]
        		setWithLastConsumed(
        			$current, 
        			"feebackHandling",
-        		lv_feebackHandling_32_0, 
+        		lv_feebackHandling_22_0, 
         		"STRING");
 	    }
 
 )
-))?(	otherlv_33='reversed-by' 
+))?(	otherlv_23='reversed-by' 
     {
-    	newLeafNode(otherlv_33, grammarAccess.getOutputAccess().getReversedByKeyword_11_0());
+    	newLeafNode(otherlv_23, grammarAccess.getOutputAccess().getReversedByKeyword_12_0());
     }
 (
 (
-		lv_reversed_34_0=RULE_STRING
+		lv_reversed_24_0=RULE_STRING
 		{
-			newLeafNode(lv_reversed_34_0, grammarAccess.getOutputAccess().getReversedSTRINGTerminalRuleCall_11_1_0()); 
+			newLeafNode(lv_reversed_24_0, grammarAccess.getOutputAccess().getReversedSTRINGTerminalRuleCall_12_1_0()); 
 		}
 		{
 	        if ($current==null) {
@@ -1907,20 +1988,20 @@ ruleOutput returns [EObject current=null]
        		setWithLastConsumed(
        			$current, 
        			"reversed",
-        		lv_reversed_34_0, 
+        		lv_reversed_24_0, 
         		"STRING");
 	    }
 
 )
-))?(	otherlv_35='references' 
+))?(	otherlv_25='references' 
     {
-    	newLeafNode(otherlv_35, grammarAccess.getOutputAccess().getReferencesKeyword_12_0());
+    	newLeafNode(otherlv_25, grammarAccess.getOutputAccess().getReferencesKeyword_13_0());
     }
 (
 (
-		lv_references_36_0=RULE_STRING
+		lv_references_26_0=RULE_STRING
 		{
-			newLeafNode(lv_references_36_0, grammarAccess.getOutputAccess().getReferencesSTRINGTerminalRuleCall_12_1_0()); 
+			newLeafNode(lv_references_26_0, grammarAccess.getOutputAccess().getReferencesSTRINGTerminalRuleCall_13_1_0()); 
 		}
 		{
 	        if ($current==null) {
@@ -1929,20 +2010,20 @@ ruleOutput returns [EObject current=null]
        		setWithLastConsumed(
        			$current, 
        			"references",
-        		lv_references_36_0, 
+        		lv_references_26_0, 
         		"STRING");
 	    }
 
 )
-))?(	otherlv_37='comments' 
+))?(	otherlv_27='comments' 
     {
-    	newLeafNode(otherlv_37, grammarAccess.getOutputAccess().getCommentsKeyword_13_0());
+    	newLeafNode(otherlv_27, grammarAccess.getOutputAccess().getCommentsKeyword_14_0());
     }
 (
 (
-		lv_comments_38_0=RULE_STRING
+		lv_comments_28_0=RULE_STRING
 		{
-			newLeafNode(lv_comments_38_0, grammarAccess.getOutputAccess().getCommentsSTRINGTerminalRuleCall_13_1_0()); 
+			newLeafNode(lv_comments_28_0, grammarAccess.getOutputAccess().getCommentsSTRINGTerminalRuleCall_14_1_0()); 
 		}
 		{
 	        if ($current==null) {
@@ -1951,20 +2032,20 @@ ruleOutput returns [EObject current=null]
        		setWithLastConsumed(
        			$current, 
        			"comments",
-        		lv_comments_38_0, 
+        		lv_comments_28_0, 
         		"STRING");
 	    }
 
 )
-))?(	otherlv_39='contents' 
+))?(	otherlv_29='contents' 
     {
-    	newLeafNode(otherlv_39, grammarAccess.getOutputAccess().getContentsKeyword_14_0());
+    	newLeafNode(otherlv_29, grammarAccess.getOutputAccess().getContentsKeyword_15_0());
     }
 (
 (
-		lv_contents_40_0=RULE_STRING
+		lv_contents_30_0=RULE_STRING
 		{
-			newLeafNode(lv_contents_40_0, grammarAccess.getOutputAccess().getContentsSTRINGTerminalRuleCall_14_1_0()); 
+			newLeafNode(lv_contents_30_0, grammarAccess.getOutputAccess().getContentsSTRINGTerminalRuleCall_15_1_0()); 
 		}
 		{
 	        if ($current==null) {
@@ -1973,28 +2054,28 @@ ruleOutput returns [EObject current=null]
        		setWithLastConsumed(
        			$current, 
        			"contents",
-        		lv_contents_40_0, 
+        		lv_contents_30_0, 
         		"STRING");
 	    }
 
 )
-))?(	otherlv_41='triggering' 
+))?(	otherlv_31='triggering' 
     {
-    	newLeafNode(otherlv_41, grammarAccess.getOutputAccess().getTriggeringKeyword_15_0());
+    	newLeafNode(otherlv_31, grammarAccess.getOutputAccess().getTriggeringKeyword_16_0());
     }
 (
 (
 		{ 
-	        newCompositeNode(grammarAccess.getOutputAccess().getTableTriggerTableParserRuleCall_15_1_0()); 
+	        newCompositeNode(grammarAccess.getOutputAccess().getTableTriggerTableParserRuleCall_16_1_0()); 
 	    }
-		lv_table_42_0=ruleTriggerTable		{
+		lv_table_32_0=ruleTriggerTable		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getOutputRule());
 	        }
        		set(
        			$current, 
        			"table",
-        		lv_table_42_0, 
+        		lv_table_32_0, 
         		"TriggerTable");
 	        afterParserOrEnumRuleCall();
 	    }
@@ -2027,208 +2108,257 @@ ruleInput returns [EObject current=null]
             grammarAccess.getInputAccess().getInputAction_0(),
             $current);
     }
-)((	otherlv_1='range' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getInputAccess().getRangeKeyword_1_0_0());
-    }
-	otherlv_2='{' 
+)(	otherlv_1='range' 
     {
-    	newLeafNode(otherlv_2, grammarAccess.getInputAccess().getLeftCurlyBracketKeyword_1_0_1());
+    	newLeafNode(otherlv_1, grammarAccess.getInputAccess().getRangeKeyword_1_0());
     }
 (
 (
 		{ 
-	        newCompositeNode(grammarAccess.getInputAccess().getLowerBigDecimalTypeParserRuleCall_1_0_2_0()); 
+	        newCompositeNode(grammarAccess.getInputAccess().getRangeValueRangeParserRuleCall_1_1_0()); 
 	    }
-		lv_lower_3_0=ruleBigDecimalType		{
+		lv_range_2_0=ruleValueRange		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getInputRule());
 	        }
        		set(
        			$current, 
-       			"lower",
-        		lv_lower_3_0, 
-        		"BigDecimalType");
+       			"range",
+        		lv_range_2_0, 
+        		"ValueRange");
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-)	otherlv_4='...' 
+))?(	otherlv_3='value-list' 
     {
-    	newLeafNode(otherlv_4, grammarAccess.getInputAccess().getFullStopFullStopFullStopKeyword_1_0_3());
+    	newLeafNode(otherlv_3, grammarAccess.getInputAccess().getValueListKeyword_2_0());
     }
 (
 (
 		{ 
-	        newCompositeNode(grammarAccess.getInputAccess().getUpperBigDecimalTypeParserRuleCall_1_0_4_0()); 
+	        newCompositeNode(grammarAccess.getInputAccess().getValueListValueListParserRuleCall_2_1_0()); 
 	    }
-		lv_upper_5_0=ruleBigDecimalType		{
+		lv_valueList_4_0=ruleValueList		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getInputRule());
 	        }
        		set(
        			$current, 
-       			"upper",
-        		lv_upper_5_0, 
-        		"BigDecimalType");
+       			"valueList",
+        		lv_valueList_4_0, 
+        		"ValueList");
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-)	otherlv_6='}' 
-    {
-    	newLeafNode(otherlv_6, grammarAccess.getInputAccess().getRightCurlyBracketKeyword_1_0_5());
-    }
-	otherlv_7='type' 
+))?(	otherlv_5='value-exception' 
     {
-    	newLeafNode(otherlv_7, grammarAccess.getInputAccess().getTypeKeyword_1_0_6());
+    	newLeafNode(otherlv_5, grammarAccess.getInputAccess().getValueExceptionKeyword_3_0());
     }
 (
 (
-		lv_rangeType_8_0=RULE_STRING
+		lv_valueHandling_6_0=RULE_STRING
 		{
-			newLeafNode(lv_rangeType_8_0, grammarAccess.getInputAccess().getRangeTypeSTRINGTerminalRuleCall_1_0_7_0()); 
+			newLeafNode(lv_valueHandling_6_0, grammarAccess.getInputAccess().getValueHandlingSTRINGTerminalRuleCall_3_1_0()); 
 		}
 		{
 	        if ($current==null) {
 	            $current = createModelElement(grammarAccess.getInputRule());
 	        }
        		setWithLastConsumed(
        			$current, 
-       			"rangeType",
-        		lv_rangeType_8_0, 
+       			"valueHandling",
+        		lv_valueHandling_6_0, 
         		"STRING");
 	    }
 
 )
-)	otherlv_9='units' 
+))?(	otherlv_7='granularity' 
     {
-    	newLeafNode(otherlv_9, grammarAccess.getInputAccess().getUnitsKeyword_1_0_8());
+    	newLeafNode(otherlv_7, grammarAccess.getInputAccess().getGranularityKeyword_4_0());
     }
 (
 (
-		lv_rangeUnits_10_0=RULE_STRING
-		{
-			newLeafNode(lv_rangeUnits_10_0, grammarAccess.getInputAccess().getRangeUnitsSTRINGTerminalRuleCall_1_0_9_0()); 
-		}
-		{
+		{ 
+	        newCompositeNode(grammarAccess.getInputAccess().getGranularityBigUnitValueParserRuleCall_4_1_0()); 
+	    }
+		lv_granularity_8_0=ruleBigUnitValue		{
 	        if ($current==null) {
-	            $current = createModelElement(grammarAccess.getInputRule());
+	            $current = createModelElementForParent(grammarAccess.getInputRule());
 	        }
-       		setWithLastConsumed(
+       		set(
        			$current, 
-       			"rangeUnits",
-        		lv_rangeUnits_10_0, 
-        		"STRING");
+       			"granularity",
+        		lv_granularity_8_0, 
+        		"BigUnitValue");
+	        afterParserOrEnumRuleCall();
 	    }
 
 )
-))
-    |(	otherlv_11='values' 
+))?(	otherlv_9='arrival-rate-avg' 
     {
-    	newLeafNode(otherlv_11, grammarAccess.getInputAccess().getValuesKeyword_1_1_0());
+    	newLeafNode(otherlv_9, grammarAccess.getInputAccess().getArrivalRateAvgKeyword_5_0());
     }
-	otherlv_12='{' 
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getInputAccess().getArrivalRateAvgBigUnitValueParserRuleCall_5_1_0()); 
+	    }
+		lv_arrivalRateAvg_10_0=ruleBigUnitValue		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getInputRule());
+	        }
+       		set(
+       			$current, 
+       			"arrivalRateAvg",
+        		lv_arrivalRateAvg_10_0, 
+        		"BigUnitValue");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))?(	otherlv_11='arrival-rate-minimum' 
     {
-    	newLeafNode(otherlv_12, grammarAccess.getInputAccess().getLeftCurlyBracketKeyword_1_1_1());
+    	newLeafNode(otherlv_11, grammarAccess.getInputAccess().getArrivalRateMinimumKeyword_6_0());
     }
 (
 (
-		lv_values_13_0=RULE_STRING
-		{
-			newLeafNode(lv_values_13_0, grammarAccess.getInputAccess().getValuesSTRINGTerminalRuleCall_1_1_2_0()); 
-		}
-		{
+		{ 
+	        newCompositeNode(grammarAccess.getInputAccess().getArrivalRateMinimumBigUnitValueParserRuleCall_6_1_0()); 
+	    }
+		lv_arrivalRateMinimum_12_0=ruleBigUnitValue		{
 	        if ($current==null) {
-	            $current = createModelElement(grammarAccess.getInputRule());
+	            $current = createModelElementForParent(grammarAccess.getInputRule());
 	        }
-       		addWithLastConsumed(
+       		set(
        			$current, 
-       			"values",
-        		lv_values_13_0, 
-        		"STRING");
+       			"arrivalRateMinimum",
+        		lv_arrivalRateMinimum_12_0, 
+        		"BigUnitValue");
+	        afterParserOrEnumRuleCall();
 	    }
 
 )
-)*	otherlv_14='}' 
+))?(	otherlv_13='arrival-rate-maximum' 
     {
-    	newLeafNode(otherlv_14, grammarAccess.getInputAccess().getRightCurlyBracketKeyword_1_1_3());
+    	newLeafNode(otherlv_13, grammarAccess.getInputAccess().getArrivalRateMaximumKeyword_7_0());
     }
-))(	otherlv_15='rate' 
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getInputAccess().getArrivalRateMaximumBigUnitValueParserRuleCall_7_1_0()); 
+	    }
+		lv_arrivalRateMaximum_14_0=ruleBigUnitValue		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getInputRule());
+	        }
+       		set(
+       			$current, 
+       			"arrivalRateMaximum",
+        		lv_arrivalRateMaximum_14_0, 
+        		"BigUnitValue");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))?(	otherlv_15='obsolescence' 
     {
-    	newLeafNode(otherlv_15, grammarAccess.getInputAccess().getRateKeyword_2_0());
+    	newLeafNode(otherlv_15, grammarAccess.getInputAccess().getObsolescenceKeyword_8_0());
     }
 (
 (
 		{ 
-	        newCompositeNode(grammarAccess.getInputAccess().getRateBigUnitValueParserRuleCall_2_1_0()); 
+	        newCompositeNode(grammarAccess.getInputAccess().getObsolescenceBigUnitValueParserRuleCall_8_1_0()); 
 	    }
-		lv_rate_16_0=ruleBigUnitValue		{
+		lv_obsolescence_16_0=ruleBigUnitValue		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getInputRule());
 	        }
        		set(
        			$current, 
-       			"rate",
-        		lv_rate_16_0, 
+       			"obsolescence",
+        		lv_obsolescence_16_0, 
         		"BigUnitValue");
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-))?(	otherlv_17='variables' 
+))?(	otherlv_17='references' 
     {
-    	newLeafNode(otherlv_17, grammarAccess.getInputAccess().getVariablesKeyword_3_0());
+    	newLeafNode(otherlv_17, grammarAccess.getInputAccess().getReferencesKeyword_9_0());
     }
 (
 (
-		lv_variables_18_0=RULE_STRING
+		lv_references_18_0=RULE_STRING
 		{
-			newLeafNode(lv_variables_18_0, grammarAccess.getInputAccess().getVariablesSTRINGTerminalRuleCall_3_1_0()); 
+			newLeafNode(lv_references_18_0, grammarAccess.getInputAccess().getReferencesSTRINGTerminalRuleCall_9_1_0()); 
 		}
 		{
 	        if ($current==null) {
 	            $current = createModelElement(grammarAccess.getInputRule());
 	        }
        		setWithLastConsumed(
        			$current, 
-       			"variables",
-        		lv_variables_18_0, 
+       			"references",
+        		lv_references_18_0, 
         		"STRING");
 	    }
 
 )
-))?(	otherlv_19='references' 
+))?(	otherlv_19='appears-in' 
     {
-    	newLeafNode(otherlv_19, grammarAccess.getInputAccess().getReferencesKeyword_4_0());
+    	newLeafNode(otherlv_19, grammarAccess.getInputAccess().getAppearsInKeyword_10_0());
     }
 (
 (
-		lv_references_20_0=RULE_STRING
+		lv_appearsIn_20_0=RULE_STRING
 		{
-			newLeafNode(lv_references_20_0, grammarAccess.getInputAccess().getReferencesSTRINGTerminalRuleCall_4_1_0()); 
+			newLeafNode(lv_appearsIn_20_0, grammarAccess.getInputAccess().getAppearsInSTRINGTerminalRuleCall_10_1_0()); 
 		}
 		{
 	        if ($current==null) {
 	            $current = createModelElement(grammarAccess.getInputRule());
 	        }
        		setWithLastConsumed(
        			$current, 
-       			"references",
-        		lv_references_20_0, 
+       			"appearsIn",
+        		lv_appearsIn_20_0, 
+        		"STRING");
+	    }
+
+)
+))?(	otherlv_21='description' 
+    {
+    	newLeafNode(otherlv_21, grammarAccess.getInputAccess().getDescriptionKeyword_11_0());
+    }
+(
+(
+		lv_description_22_0=RULE_STRING
+		{
+			newLeafNode(lv_description_22_0, grammarAccess.getInputAccess().getDescriptionSTRINGTerminalRuleCall_11_1_0()); 
+		}
+		{
+	        if ($current==null) {
+	            $current = createModelElement(grammarAccess.getInputRule());
+	        }
+       		setWithLastConsumed(
+       			$current, 
+       			"description",
+        		lv_description_22_0, 
         		"STRING");
 	    }
 
 )
-))?(	otherlv_21='comments' 
+))?(	otherlv_23='comments' 
     {
-    	newLeafNode(otherlv_21, grammarAccess.getInputAccess().getCommentsKeyword_5_0());
+    	newLeafNode(otherlv_23, grammarAccess.getInputAccess().getCommentsKeyword_12_0());
     }
 (
 (
-		lv_comments_22_0=RULE_STRING
+		lv_comments_24_0=RULE_STRING
 		{
-			newLeafNode(lv_comments_22_0, grammarAccess.getInputAccess().getCommentsSTRINGTerminalRuleCall_5_1_0()); 
+			newLeafNode(lv_comments_24_0, grammarAccess.getInputAccess().getCommentsSTRINGTerminalRuleCall_12_1_0()); 
 		}
 		{
 	        if ($current==null) {
@@ -2237,10 +2367,32 @@ ruleInput returns [EObject current=null]
        		setWithLastConsumed(
        			$current, 
        			"comments",
-        		lv_comments_22_0, 
+        		lv_comments_24_0, 
         		"STRING");
 	    }
 
+)
+))?(	otherlv_25='triggering' 
+    {
+    	newLeafNode(otherlv_25, grammarAccess.getInputAccess().getTriggeringKeyword_13_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getInputAccess().getStructureTriggerTableParserRuleCall_13_1_0()); 
+	    }
+		lv_structure_26_0=ruleTriggerTable		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getInputRule());
+	        }
+       		set(
+       			$current, 
+       			"structure",
+        		lv_structure_26_0, 
+        		"TriggerTable");
+	        afterParserOrEnumRuleCall();
+	    }
+
 )
 ))?)
 ;
https://github.com/nasa/CertWare/raw/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2Fparser%2Fantlr%2Finternal%2FInternalStateSpecification.g
8150c2054ab24010568dd54b50457d89aeef5031
modified
https://github.com/nasa/CertWare/blob/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2Fparser%2Fantlr%2Finternal%2FInternalStateSpecification.tokens
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2Fparser%2Fantlr%2Finternal%2FInternalStateSpecification.tokens?ref=110fa3222ae2931978d7921dc8e6af8c7f43abd3
net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.tokens
T__68=68
T__66=66
T__67=67
T__64=64
T__65=65
T__62=62
T__63=63
T__61=61
'value-exception'=61
'type'=44
'value-list'=46
'...'=43
'arrival-rate-maximum'=65
'obsolescence'=66
'appears-in'=67
'granularity'=62
'arrival-rate-minimum'=64
'description'=68
'range'=45
'arrival-rate-avg'=63
'type'=45
'...'=44
'values'=46
'range'=43
@@ -1,7 +1,14 @@
+T__68=68
 RULE_ID=4
+T__66=66
+T__67=67
+T__64=64
 T__29=29
+T__65=65
 T__28=28
+T__62=62
 T__27=27
+T__63=63
 T__26=26
 T__25=25
 T__24=24
@@ -10,6 +17,7 @@ T__22=22
 RULE_ANY_OTHER=10
 T__21=21
 T__20=20
+T__61=61
 T__60=60
 T__55=55
 T__56=56
@@ -56,34 +64,39 @@ T__38=38
 T__39=39
 RULE_WS=9
 'rate'=47
+'value-exception'=61
 'F'=40
 'initiation-delay'=48
-'type'=45
+'type'=44
+'value-list'=46
 ';'=26
 'value'=34
 '.'=16
 'inputs'=23
 'comments'=58
 'max-response-time'=54
 '{'=28
-'...'=44
+'...'=43
 'triggering'=60
 'completion-deadline'=49
 'completion-exception'=50
 '?'=41
 'outputs'=24
+'arrival-rate-maximum'=65
 'device'=32
 '-'=15
 'variables'=51
 'input'=33
 ']'=14
 'other'=19
-'values'=46
+'obsolescence'=66
 'mode'=31
 'references'=57
 'T'=39
 'supervisory'=17
 'inferred'=25
+'appears-in'=67
+'granularity'=62
 'contents'=59
 'output'=36
 'relationship'=52
@@ -94,14 +107,17 @@ RULE_WS=9
 'initial'=30
 'target'=37
 'reversed-by'=56
+'arrival-rate-minimum'=64
 'specification'=11
 'min-response-time'=53
 '}'=29
 'states'=22
 'units'=38
-'range'=43
+'description'=68
+'range'=45
 'feedback-exception'=55
 'devices'=13
 'state'=27
 '['=12
+'arrival-rate-avg'=63
 'component'=20
https://github.com/nasa/CertWare/raw/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2Fparser%2Fantlr%2Finternal%2FInternalStateSpecification.tokens
3acaf2e76c3f09a75d6f94b5ca8167c8b2c44783
modified
https://github.com/nasa/CertWare/blob/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2Fparser%2Fantlr%2Finternal%2FInternalStateSpecificationLexer.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2Fparser%2Fantlr%2Finternal%2FInternalStateSpecificationLexer.java?ref=110fa3222ae2931978d7921dc8e6af8c7f43abd3
net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecificationLexer.java
    public static final int T__68=68;
    public static final int T__66=66;
    public static final int T__67=67;
    public static final int T__64=64;
    public static final int T__65=65;
    public static final int T__62=62;
    public static final int T__63=63;
    public static final int T__21=21;
    public static final int T__61=61;
    public static final int T__60=60;
    public static final int T__19=19;
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:43:7: ( '...' )
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:43:9: '...'
            match("..."); 
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:44:7: ( 'type' )
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:44:9: 'type'
            match("type"); 
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:45:7: ( 'range' )
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:45:9: 'range'
            match("range"); 
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:46:7: ( 'value-list' )
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:46:9: 'value-list'
            match("value-list"); 
    // $ANTLR start "T__61"
    public final void mT__61() throws RecognitionException {
        try {
            int _type = T__61;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:61:7: ( 'value-exception' )
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:61:9: 'value-exception'
            {
            match("value-exception"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__61"

    // $ANTLR start "T__62"
    public final void mT__62() throws RecognitionException {
        try {
            int _type = T__62;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:62:7: ( 'granularity' )
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:62:9: 'granularity'
            {
            match("granularity"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__62"

    // $ANTLR start "T__63"
    public final void mT__63() throws RecognitionException {
        try {
            int _type = T__63;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:63:7: ( 'arrival-rate-avg' )
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:63:9: 'arrival-rate-avg'
            {
            match("arrival-rate-avg"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__63"

    // $ANTLR start "T__64"
    public final void mT__64() throws RecognitionException {
        try {
            int _type = T__64;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:64:7: ( 'arrival-rate-minimum' )
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:64:9: 'arrival-rate-minimum'
            {
            match("arrival-rate-minimum"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__64"

    // $ANTLR start "T__65"
    public final void mT__65() throws RecognitionException {
        try {
            int _type = T__65;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:65:7: ( 'arrival-rate-maximum' )
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:65:9: 'arrival-rate-maximum'
            {
            match("arrival-rate-maximum"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__65"

    // $ANTLR start "T__66"
    public final void mT__66() throws RecognitionException {
        try {
            int _type = T__66;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:66:7: ( 'obsolescence' )
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:66:9: 'obsolescence'
            {
            match("obsolescence"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__66"

    // $ANTLR start "T__67"
    public final void mT__67() throws RecognitionException {
        try {
            int _type = T__67;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:67:7: ( 'appears-in' )
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:67:9: 'appears-in'
            {
            match("appears-in"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__67"

    // $ANTLR start "T__68"
    public final void mT__68() throws RecognitionException {
        try {
            int _type = T__68;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:68:7: ( 'description' )
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:68:9: 'description'
            {
            match("description"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__68"

            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2404:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2404:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2404:11: ( '^' )?
                    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2404:11: '^'
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2404:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2406:10: ( ( '0' .. '9' )+ )
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2406:12: ( '0' .. '9' )+
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2406:12: ( '0' .. '9' )+
            	    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2406:13: '0' .. '9'
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2408:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2408:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2408:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
                    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2408:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
                    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2408:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
                    	    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2408:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
                    	    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2408:66: ~ ( ( '\\\\' | '\"' ) )
                    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2408:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
                    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2408:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
                    	    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2408:92: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
                    	    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2408:137: ~ ( ( '\\\\' | '\\'' ) )
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2410:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2410:19: '/*' ( options {greedy=false; } : . )* '*/'
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2410:24: ( options {greedy=false; } : . )*
            	    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2410:52: .
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2412:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2412:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2412:24: (~ ( ( '\\n' | '\\r' ) ) )*
            	    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2412:24: ~ ( ( '\\n' | '\\r' ) )
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2412:40: ( ( '\\r' )? '\\n' )?
                    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2412:41: ( '\\r' )? '\\n'
                    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2412:41: ( '\\r' )?
                            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2412:41: '\\r'
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2414:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2414:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2414:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2416:16: ( . )
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2416:18: .
        // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
        int alt12=65;
                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:310: T__61
                mT__61(); 
                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:316: T__62
                mT__62(); 
                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:322: T__63
                mT__63(); 
                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:328: T__64
                mT__64(); 
                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:334: T__65
                mT__65(); 
                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:340: T__66
                mT__66(); 
                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:346: T__67
                {
                mT__67(); 

                }
                break;
            case 58 :
                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:352: T__68
                {
                mT__68(); 

                }
                break;
            case 59 :
                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:358: RULE_ID
                {
                mRULE_ID(); 

                }
                break;
            case 60 :
                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:366: RULE_INT
                {
                mRULE_INT(); 

                }
                break;
            case 61 :
                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:375: RULE_STRING
                {
                mRULE_STRING(); 

                }
                break;
            case 62 :
                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:387: RULE_ML_COMMENT
                {
                mRULE_ML_COMMENT(); 

                }
                break;
            case 63 :
                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:403: RULE_SL_COMMENT
                {
                mRULE_SL_COMMENT(); 

                }
                break;
            case 64 :
                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:419: RULE_WS
                {
                mRULE_WS(); 

                }
                break;
            case 65 :
                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:427: RULE_ANY_OTHER
        "\1\uffff\1\44\1\uffff\1\44\2\uffff\1\52\4\44\3\uffff\3\44\1\74\1"+
        "\75\1\uffff\4\44\1\37\2\uffff\3\37\2\uffff\4\44\2\uffff\1\44\4\uffff"+
        "\11\44\3\uffff\5\44\3\uffff\6\44\5\uffff\57\44\1\u009e\2\uffff\7"+
        "\44\1\u00a6\3\44\1\u00aa\11\44\1\u00b5\4\44\1\u00ba\6\44\1\u00c1"+
        "\1\uffff\1\u00c3\2\44\1\u00c7\2\44\1\u00ca\1\uffff\1\44\1\u00cc"+
        "\1\u00cd\1\uffff\11\44\1\u00d7\1\uffff\1\u00d8\1\u00da\2\44\1\uffff"+
        "\1\u00de\5\44\1\uffff\1\u00e4\1\uffff\2\44\2\uffff\1\44\1\u00eb"+
        "\1\uffff\1\44\2\uffff\11\44\2\uffff\1\u00f6\1\uffff\2\44\1\u00f9"+
        "\1\uffff\5\44\1\uffff\1\44\1\u0100\1\44\2\uffff\1\44\1\uffff\12"+
        "\44\1\uffff\2\44\1\uffff\3\44\1\u0112\1\u0113\1\u0114\1\uffff\10"+
        "\44\2\uffff\3\44\1\u0121\1\44\1\u0123\1\44\3\uffff\1\44\1\u0126"+
        "\2\44\1\uffff\1\44\1\uffff\1\44\1\uffff\3\44\1\uffff\1\44\1\uffff"+
        "\2\44\1\uffff\1\u0132\1\44\1\u0134\1\44\1\uffff\1\44\1\u0138\1\u0139"+
        "\1\44\3\uffff\1\44\1\uffff\1\u013e\1\uffff\1\44\2\uffff\1\u0141"+
        "\2\uffff\1\u0142\2\uffff\1\u0144\10\uffff";
        "\u0149\uffff";
        "\1\0\1\157\1\uffff\1\145\2\uffff\1\56\1\142\1\157\1\141\1\156\3"+
        "\uffff\2\141\1\156\2\60\1\uffff\1\141\1\145\1\162\1\160\1\101\2"+
        "\uffff\2\0\1\52\2\uffff\1\145\1\160\1\141\1\165\2\uffff\1\163\4"+
        "\uffff\1\145\1\150\1\164\1\163\1\155\1\144\1\156\1\170\1\146\3\uffff"+
        "\1\154\1\142\1\160\2\151\3\uffff\1\156\1\146\1\145\1\141\1\162\1"+
        "\160\5\uffff\1\143\1\145\1\164\1\162\1\151\1\143\1\162\1\145\1\160"+
        "\1\157\1\155\1\164\1\145\2\55\1\165\1\145\1\164\1\165\1\151\1\147"+
        "\1\154\1\145\1\147\1\164\1\147\1\145\1\141\2\145\1\144\1\156\1\151"+
        "\1\145\1\151\1\162\1\145\2\143\1\162\1\141\1\162\1\165\2\154\2\145"+
        "\1\145\1\60\1\164\2\162\1\142\1\165\1\166\1\141\1\146\1\166\1\60"+
        "\2\145\1\151\1\164\1\60\1\164\1\145\1\156\1\145\2\156\1\60\1\uffff"+
        "\1\60\1\162\1\141\1\55\1\142\1\164\1\60\1\uffff\1\145\2\60\1\uffff"+
        "\1\151\1\163\1\145\1\141\1\154\1\141\1\162\2\151\1\60\1\uffff\2"+
        "\60\1\160\1\151\1\uffff\1\60\1\163\1\145\3\164\1\uffff\1\60\1\uffff"+
        "\1\145\1\154\1\145\1\uffff\1\154\1\60\1\uffff\1\162\2\uffff\1\157"+
        "\1\145\1\156\1\143\1\141\1\154\1\163\1\143\1\163\2\uffff\1\60\1"+
        "\uffff\1\164\1\156\1\60\1\uffff\1\143\1\156\1\151\2\163\1\uffff"+
        "\1\144\1\60\1\151\2\uffff\1\145\1\uffff\1\151\1\156\1\144\1\143"+
        "\1\153\1\162\2\55\1\141\1\157\1\uffff\1\151\1\147\1\uffff\1\145"+
        "\1\164\1\157\3\60\1\uffff\1\157\1\163\1\156\1\163\1\55\1\145\1\55"+
        "\1\151\1\162\1\uffff\1\164\1\162\1\157\1\60\1\156\1\60\1\156\3\uffff"+
        "\1\156\1\60\1\147\1\150\1\uffff\1\163\1\uffff\1\164\1\141\1\151"+
        "\1\171\1\156\1\uffff\1\143\1\uffff\2\55\1\uffff\1\60\1\151\1\60"+
        "\1\171\1\164\1\157\2\60\1\145\1\144\2\uffff\1\160\1\uffff\1\60\1"+
        "\145\1\156\2\uffff\1\60\2\uffff\1\60\1\uffff\1\55\1\60\2\uffff\1"+
        "\141\2\uffff\1\141\2\uffff";
        "\1\141\1\171\1\156\2\172\1\uffff\2\145\2\162\1\172\2\uffff\2\uffff"+
        "\1\57\2\uffff\1\145\1\160\1\141\1\165\2\uffff\1\166\4\uffff\1\145"+
        "\1\150\1\164\1\163\1\156\1\144\1\156\1\170\1\160\3\uffff\2\162\1"+
        "\160\2\151\3\uffff\1\164\1\166\1\145\1\141\1\162\1\160\5\uffff\1"+
        "\143\1\145\1\164\1\162\1\151\1\143\1\162\1\145\1\160\1\157\1\160"+
        "\1\164\1\145\2\55\1\165\1\145\1\164\1\165\1\151\1\147\1\154\1\145"+
        "\1\147\1\164\1\147\1\145\1\141\2\145\1\144\1\156\1\151\1\145\1\151"+
        "\1\162\1\145\2\143\1\162\1\141\1\162\1\165\1\154\1\157\2\145\1\172"+
        "\2\uffff\1\164\1\162\1\151\1\145\1\141\2\145\1\172\1\147\1\163\1"+
        "\145\1\172\1\164\2\162\1\142\1\165\1\166\1\141\1\146\1\166\1\172"+
        "\2\145\1\151\1\164\1\172\1\164\1\145\1\156\1\145\2\156\1\172\1\uffff"+
        "\1\172\1\162\1\141\1\172\1\142\1\164\1\172\1\uffff\1\145\2\172\1"+
        "\uffff\1\151\1\163\1\145\1\141\1\154\1\141\1\162\2\151\1\172\1\uffff"+
        "\2\172\1\160\1\151\1\uffff\1\172\1\163\1\145\3\164\1\uffff\1\172"+
        "\1\uffff\1\145\1\164\1\154\1\uffff\1\154\1\172\1\uffff\1\162\2\uffff"+
        "\1\157\1\145\1\156\1\143\1\141\1\154\1\163\1\143\1\163\2\uffff\1"+
        "\172\1\uffff\1\164\1\156\1\172\1\uffff\1\143\1\156\1\151\2\163\1"+
        "\uffff\1\144\1\172\1\151\2\uffff\1\145\1\uffff\1\151\1\156\1\144"+
        "\1\143\1\153\1\162\2\55\1\141\1\157\1\uffff\1\151\1\147\1\uffff"+
        "\1\145\1\164\1\157\3\172\1\uffff\1\157\1\163\1\156\1\163\1\55\1"+
        "\145\1\55\1\151\1\162\1\uffff\1\164\1\162\1\157\1\172\1\156\1\172"+
        "\1\156\3\uffff\1\156\1\172\1\147\1\150\1\uffff\1\163\1\uffff\1\164"+
        "\1\141\1\151\1\171\1\156\1\uffff\1\143\1\uffff\2\55\1\uffff\1\172"+
        "\1\151\1\172\1\171\1\164\1\157\2\172\2\145\2\uffff\1\160\1\uffff"+
        "\1\172\1\145\1\156\2\uffff\1\172\2\uffff\1\172\1\uffff\1\55\1\172"+
        "\2\uffff\1\155\2\uffff\1\151\2\uffff";
        "\5\uffff\1\73\1\74\3\uffff\1\100\1\101\4\uffff\1\73\1\2\1\uffff"+
        "\1\4\1\5\1\41\1\6\11\uffff\1\20\1\22\1\23\5\uffff\1\35\1\36\1\37"+
        "\6\uffff\1\74\1\75\1\76\1\77\1\100\60\uffff\1\53\1\54\42\uffff\1"+
        "\25\7\uffff\1\42\3\uffff\1\45\12\uffff\1\21\4\uffff\1\11\6\uffff"+
        "\1\13\1\uffff\1\27\3\uffff\1\30\2\uffff\1\40\1\uffff\1\34\1\43\11"+
        "\uffff\1\14\1\31\1\uffff\1\26\3\uffff\1\32\5\uffff\1\15\3\uffff"+
        "\1\44\1\63\1\uffff\1\33\12\uffff\1\3\2\uffff\1\16\6\uffff\1\24\11"+
        "\uffff\1\71\7\uffff\1\60\1\61\1\17\4\uffff\1\56\1\uffff\1\55\5\uffff"+
        "\1\10\1\uffff\1\12\2\uffff\1\51\12\uffff\1\46\1\62\1\uffff\1\57"+
        "\3\uffff\1\7\1\72\1\uffff\1\47\1\50\1\uffff\1\64\2\uffff\1\70\1"+
        "\52\1\uffff\1\1\1\65\1\uffff\1\66\1\67";
        "\1\2\32\uffff\1\0\1\1\u012c\uffff}>";
            "\11\37\2\36\2\37\1\36\22\37\1\36\1\37\1\33\4\37\1\34\5\37\1"+
            "\5\1\6\1\35\12\32\1\37\1\13\3\37\1\23\1\37\5\31\1\22\15\31\1"+
            "\21\6\31\1\2\1\37\1\4\1\30\1\31\1\37\1\27\1\31\1\10\1\3\1\31"+
            "\1\25\1\26\1\31\1\12\3\31\1\11\1\31\1\7\2\31\1\24\1\1\1\17\1"+
            "\20\1\16\4\31\1\14\1\37\1\15\uff82\37",
            "\1\43\1\40\3\uffff\1\42\1\41",
            "\1\46",
            "\1\51",
            "\1\56\15\uffff\1\53\3\uffff\1\54\1\55",
            "\1\57",
            "\1\62\7\uffff\1\61\5\uffff\1\60",
            "\1\63",
            "\1\67",
            "\1\70\20\uffff\1\72\6\uffff\1\71",
            "\1\73",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\1\77\3\uffff\1\100",
            "\1\101",
            "\1\102",
            "\1\104\1\uffff\1\103",
            "\32\44\4\uffff\1\44\1\uffff\32\44",
            "\0\106",
            "\0\106",
            "\1\107\4\uffff\1\110",
            "\1\112",
            "\1\113",
            "\1\114",
            "\1\115",
            "\1\117\2\uffff\1\116",
            "\1\121",
            "\1\122",
            "\1\123",
            "\1\124\1\125",
            "\1\126",
            "\1\127",
            "\1\130",
            "\1\132\2\uffff\1\133\6\uffff\1\131",
            "\1\134\5\uffff\1\135",
            "\1\137\17\uffff\1\136",
            "\1\140",
            "\1\141",
            "\1\142",
            "\1\143\5\uffff\1\144",
            "\1\147\5\uffff\1\145\11\uffff\1\146",
            "\1\150",
            "\1\151",
            "\1\152",
            "\1\153",
            "\1\167\2\uffff\1\166",
            "\1\u0087",
            "\1\u0088",
            "\1\u008b",
            "\1\u008c",
            "\1\u0094",
            "\1\u0098",
            "\1\u009a\2\uffff\1\u0099",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\22\44\1\u009d\7\44",
            "",
            "",
            "\1\u009f",
            "\1\u00a0",
            "\1\u00a4",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\1\u00ab",
            "\1\u00ac",
            "\1\u00af",
            "\1\u00b0",
            "\1\u00b3",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\22\44\1\u00b4\7\44",
            "\1\u00b6",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\1\u00bd",
            "\1\u00be",
            "\1\u00bf",
            "\1\u00c0",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\22\44\1\u00c2\7\44",
            "\1\u00c6\2\uffff\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32"+
            "\44",
            "\1\u00c8",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\1\u00cb",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\1\u00ce",
            "\1\u00d6",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\22\44\1\u00d9\7\44",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\22\44\1\u00dd\7\44",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "",
            "\1\u00e5",
            "\1\u00e6\7\uffff\1\u00e7",
            "\1\u00e9\6\uffff\1\u00e8",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "",
            "\1\u00ec",
            "",
            "\1\u00ed",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "",
            "\1\u00f7",
            "\1\u00f8",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\1\u00fb",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\1\u0101",
            "\1\u0103",
            "\1\u0105",
            "\1\u0107",
            "\1\u0108",
            "\1\u0109",
            "\1\u010a",
            "\1\u010b",
            "\1\u010c",
            "\1\u010d",
            "\1\u010e",
            "\1\u010f",
            "\1\u0110",
            "\1\u0111",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\1\u0115",
            "\1\u0116",
            "\1\u0117",
            "\1\u0118",
            "\1\u0119",
            "\1\u011a",
            "\1\u011b",
            "\1\u011c",
            "\1\u011d",
            "",
            "\1\u011e",
            "\1\u011f",
            "\1\u0120",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\1\u0122",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\1\u0124",
            "",
            "",
            "",
            "\1\u0125",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\1\u0127",
            "\1\u0128",
            "",
            "\1\u0129",
            "",
            "\1\u012a",
            "\1\u012b",
            "\1\u012c",
            "\1\u012d",
            "\1\u012e",
            "\1\u012f",
            "\1\u0130",
            "\1\u0131",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\1\u0133",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\1\u0135",
            "\1\u0136",
            "\1\u0137",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\1\u013a",
            "\1\u013b\1\u013c",
            "",
            "",
            "\1\u013d",
            "",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "\1\u013f",
            "\1\u0140",
            "",
            "",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "",
            "",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "",
            "\1\u0143",
            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
            "",
            "",
            "\1\u0145\13\uffff\1\u0146",
            "",
            "",
            "\1\u0148\7\uffff\1\u0147",
            return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
                        int LA12_27 = input.LA(1);
                        if ( ((LA12_27>='\u0000' && LA12_27<='\uFFFF')) ) {s = 70;}
                        else s = 31;
                        int LA12_28 = input.LA(1);
                        if ( ((LA12_28>='\u0000' && LA12_28<='\uFFFF')) ) {s = 70;}
                        else s = 31;
                        else if ( (LA12_0=='g') ) {s = 22;}

                        else if ( (LA12_0=='a') ) {s = 23;}

                        else if ( (LA12_0=='^') ) {s = 24;}
                        else if ( ((LA12_0>='A' && LA12_0<='E')||(LA12_0>='G' && LA12_0<='S')||(LA12_0>='U' && LA12_0<='Z')||LA12_0=='_'||LA12_0=='b'||LA12_0=='e'||LA12_0=='h'||(LA12_0>='j' && LA12_0<='l')||LA12_0=='n'||(LA12_0>='p' && LA12_0<='q')||(LA12_0>='w' && LA12_0<='z')) ) {s = 25;}
                        else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 26;}
                        else if ( (LA12_0=='\"') ) {s = 27;}
                        else if ( (LA12_0=='\'') ) {s = 28;}
                        else if ( (LA12_0=='/') ) {s = 29;}
                        else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 30;}
                        else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||LA12_0=='!'||(LA12_0>='#' && LA12_0<='&')||(LA12_0>='(' && LA12_0<=',')||LA12_0==':'||(LA12_0>='<' && LA12_0<='>')||LA12_0=='@'||LA12_0=='\\'||LA12_0=='`'||LA12_0=='|'||(LA12_0>='~' && LA12_0<='\uFFFF')) ) {s = 31;}
    public static final int T__21=21;
    public static final int T__60=60;
    public static final int T__19=19;
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:43:7: ( 'range' )
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:43:9: 'range'
            match("range"); 
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:44:7: ( '...' )
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:44:9: '...'
            match("..."); 
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:45:7: ( 'type' )
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:45:9: 'type'
            match("type"); 
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:46:7: ( 'values' )
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:46:9: 'values'
            match("values"); 
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2252:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2252:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2252:11: ( '^' )?
                    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2252:11: '^'
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2252:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2254:10: ( ( '0' .. '9' )+ )
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2254:12: ( '0' .. '9' )+
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2254:12: ( '0' .. '9' )+
            	    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2254:13: '0' .. '9'
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2256:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2256:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2256:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
                    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2256:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
                    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2256:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
                    	    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2256:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
                    	    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2256:66: ~ ( ( '\\\\' | '\"' ) )
                    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2256:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
                    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2256:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
                    	    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2256:92: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
                    	    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2256:137: ~ ( ( '\\\\' | '\\'' ) )
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2258:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2258:19: '/*' ( options {greedy=false; } : . )* '*/'
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2258:24: ( options {greedy=false; } : . )*
            	    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2258:52: .
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2260:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2260:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2260:24: (~ ( ( '\\n' | '\\r' ) ) )*
            	    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2260:24: ~ ( ( '\\n' | '\\r' ) )
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2260:40: ( ( '\\r' )? '\\n' )?
                    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2260:41: ( '\\r' )? '\\n'
                    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2260:41: ( '\\r' )?
                            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2260:41: '\\r'
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2262:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2262:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2262:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2264:16: ( . )
            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2264:18: .
        // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
        int alt12=57;
                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:310: RULE_ID
                mRULE_ID(); 
                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:318: RULE_INT
                mRULE_INT(); 
                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:327: RULE_STRING
                mRULE_STRING(); 
                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:339: RULE_ML_COMMENT
                mRULE_ML_COMMENT(); 
                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:355: RULE_SL_COMMENT
                mRULE_SL_COMMENT(); 
                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:371: RULE_WS
                mRULE_WS(); 
                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:379: RULE_ANY_OTHER
        "\1\uffff\1\42\1\uffff\1\42\2\uffff\1\50\4\42\3\uffff\3\42\1\71\1"+
        "\72\1\uffff\2\42\1\35\2\uffff\3\35\2\uffff\4\42\2\uffff\1\42\4\uffff"+
        "\10\42\3\uffff\5\42\3\uffff\3\42\5\uffff\50\42\1\u008c\2\uffff\7"+
        "\42\1\u0094\3\42\1\u0098\6\42\1\u00a0\3\42\1\u00a4\5\42\1\u00aa"+
        "\1\uffff\1\u00ac\2\42\1\u00b0\2\42\1\u00b3\1\uffff\1\42\1\u00b5"+
        "\1\u00b6\1\uffff\6\42\1\u00bd\1\uffff\1\u00be\1\u00c0\1\42\1\uffff"+
        "\1\u00c3\4\42\1\uffff\1\u00c8\1\uffff\2\42\1\u00cc\1\uffff\1\42"+
        "\1\u00ce\1\uffff\1\42\2\uffff\6\42\2\uffff\1\u00d6\1\uffff\1\42"+
        "\1\u00d8\1\uffff\4\42\1\uffff\1\42\1\u00de\1\42\1\uffff\1\42\1\uffff"+
        "\7\42\1\uffff\1\42\1\uffff\2\42\1\u00eb\1\u00ec\1\u00ed\1\uffff"+
        "\11\42\1\u00f7\1\u00f8\1\42\3\uffff\1\42\1\u00fb\2\42\1\uffff\1"+
        "\42\1\uffff\2\42\2\uffff\2\42\1\uffff\1\u0103\1\42\1\u0105\1\42"+
        "\1\u0107\3\uffff\1\42\1\uffff\1\42\3\uffff\1\u010c\1\u010d\2\uffff";
        "\u010e\uffff";
        "\1\0\1\157\1\uffff\1\145\2\uffff\1\56\1\160\1\157\1\141\1\156\3"+
        "\uffff\2\141\1\156\2\60\1\uffff\1\141\1\145\1\101\2\uffff\2\0\1"+
        "\52\2\uffff\1\145\1\160\1\141\1\165\2\uffff\1\166\4\uffff\1\145"+
        "\1\150\1\164\1\155\1\144\1\156\1\170\1\146\3\uffff\1\154\1\142\1"+
        "\160\2\151\3\uffff\1\156\1\146\1\145\5\uffff\1\143\1\145\1\164\1"+
        "\162\1\151\1\162\1\145\1\160\1\155\1\164\1\145\2\55\1\165\1\145"+
        "\1\164\1\165\1\151\1\147\1\154\1\145\1\147\1\164\1\147\1\145\1\141"+
        "\2\145\1\144\1\151\1\162\1\145\2\143\1\141\1\162\1\165\1\154\2\145"+
        "\1\145\1\60\1\164\2\162\1\142\1\146\1\166\1\60\2\145\1\164\1\60"+
        "\1\164\1\156\1\145\2\156\1\60\1\uffff\1\60\1\162\1\141\1\60\1\142"+
        "\1\164\1\60\1\uffff\1\145\2\60\1\uffff\1\151\1\163\1\145\1\141\2"+
        "\151\1\60\1\uffff\2\60\1\151\1\uffff\1\60\1\145\3\164\1\uffff\1"+
        "\60\1\uffff\1\145\1\154\1\60\1\uffff\1\154\1\60\1\uffff\1\162\2"+
        "\uffff\1\157\1\145\1\156\2\143\1\163\2\uffff\1\60\1\uffff\1\156"+
        "\1\60\1\uffff\1\156\1\151\2\163\1\uffff\1\144\1\60\1\151\1\uffff"+
        "\1\145\1\uffff\1\151\1\156\1\144\1\143\1\153\1\141\1\157\1\uffff"+
        "\1\147\1\uffff\1\164\1\157\3\60\1\uffff\1\157\1\163\1\156\1\163"+
        "\1\55\1\145\1\55\1\164\1\162\2\60\1\156\3\uffff\1\156\1\60\1\147"+
        "\1\150\1\uffff\1\163\1\uffff\1\151\1\171\2\uffff\2\55\1\uffff\1"+
        "\60\1\151\1\60\1\157\1\60\1\144\2\uffff\1\160\1\uffff\1\156\3\uffff"+
        "\2\60\2\uffff";
        "\1\141\1\171\1\156\2\172\1\uffff\2\145\1\172\2\uffff\2\uffff\1\57"+
        "\2\uffff\1\145\1\160\1\141\1\165\2\uffff\1\166\4\uffff\1\145\1\150"+
        "\1\164\1\156\1\144\1\156\1\170\1\160\3\uffff\2\162\1\160\2\151\3"+
        "\uffff\1\164\1\166\1\145\5\uffff\1\143\1\145\1\164\1\162\1\151\1"+
        "\162\1\145\2\160\1\164\1\145\2\55\1\165\1\145\1\164\1\165\1\151"+
        "\1\147\1\154\1\145\1\147\1\164\1\147\1\145\1\141\2\145\1\144\1\151"+
        "\1\162\1\145\2\143\1\141\1\162\1\165\1\157\2\145\1\172\2\uffff\1"+
        "\164\1\162\1\151\1\145\1\141\2\145\1\172\1\147\1\163\1\145\1\172"+
        "\1\164\2\162\1\142\1\146\1\166\1\172\2\145\1\164\1\172\1\164\1\156"+
        "\1\145\2\156\1\172\1\uffff\1\172\1\162\1\141\1\172\1\142\1\164\1"+
        "\172\1\uffff\1\145\2\172\1\uffff\1\151\1\163\1\145\1\141\2\151\1"+
        "\172\1\uffff\2\172\1\151\1\uffff\1\172\1\145\3\164\1\uffff\1\172"+
        "\1\uffff\1\145\1\164\1\172\1\uffff\1\154\1\172\1\uffff\1\162\2\uffff"+
        "\1\157\1\145\1\156\2\143\1\163\2\uffff\1\172\1\uffff\1\156\1\172"+
        "\1\uffff\1\156\1\151\2\163\1\uffff\1\144\1\172\1\151\1\uffff\1\145"+
        "\1\uffff\1\151\1\156\1\144\1\143\1\153\1\141\1\157\1\uffff\1\147"+
        "\1\uffff\1\164\1\157\3\172\1\uffff\1\157\1\163\1\156\1\163\1\55"+
        "\1\145\1\55\1\164\1\162\2\172\1\156\3\uffff\1\156\1\172\1\147\1"+
        "\150\1\uffff\1\163\1\uffff\1\151\1\171\2\uffff\2\55\1\uffff\1\172"+
        "\1\151\1\172\1\157\1\172\1\145\2\uffff\1\160\1\uffff\1\156\3\uffff"+
        "\2\172\2\uffff";
        "\3\uffff\1\63\1\64\3\uffff\1\70\1\71\4\uffff\1\63\1\2\1\uffff\1"+
        "\4\1\5\1\42\1\6\10\uffff\1\20\1\22\1\23\5\uffff\1\35\1\36\1\37\3"+
        "\uffff\1\64\1\65\1\66\1\67\1\70\51\uffff\1\53\1\54\35\uffff\1\25"+
        "\7\uffff\1\43\3\uffff\1\45\7\uffff\1\21\3\uffff\1\11\5\uffff\1\13"+
        "\1\uffff\1\27\3\uffff\1\30\2\uffff\1\40\1\uffff\1\34\1\41\6\uffff"+
        "\1\14\1\31\1\uffff\1\26\2\uffff\1\32\4\uffff\1\15\3\uffff\1\44\1"+
        "\uffff\1\33\7\uffff\1\3\1\uffff\1\16\5\uffff\1\24\14\uffff\1\60"+
        "\1\61\1\17\4\uffff\1\56\1\uffff\1\55\2\uffff\1\10\1\12\2\uffff\1"+
        "\51\6\uffff\1\46\1\62\1\uffff\1\57\1\uffff\1\7\1\47\1\50\2\uffff"+
        "\1\52\1\1";
        "\1\2\30\uffff\1\1\1\0\u00f3\uffff}>";
            "\11\35\2\34\2\35\1\34\22\35\1\34\1\35\1\31\4\35\1\32\5\35\1"+
            "\5\1\6\1\33\12\30\1\35\1\13\3\35\1\23\1\35\5\27\1\22\15\27\1"+
            "\21\6\27\1\2\1\35\1\4\1\26\1\27\1\35\2\27\1\10\1\3\1\27\1\25"+
            "\2\27\1\12\3\27\1\11\1\27\1\7\2\27\1\24\1\1\1\17\1\20\1\16\4"+
            "\27\1\14\1\35\1\15\uff82\35",
            "\1\41\1\36\3\uffff\1\40\1\37",
            "\1\44",
            "\1\47",
            "\1\51\3\uffff\1\52\1\53",
            "\1\54",
            "\1\57\7\uffff\1\56\5\uffff\1\55",
            "\1\60",
            "\1\64",
            "\1\65\20\uffff\1\67\6\uffff\1\66",
            "\1\70",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\1\74\3\uffff\1\75",
            "\1\76",
            "\32\42\4\uffff\1\42\1\uffff\32\42",
            "\0\100",
            "\0\100",
            "\1\101\4\uffff\1\102",
            "\1\104",
            "\1\105",
            "\1\106",
            "\1\107",
            "\1\110",
            "\1\111",
            "\1\112",
            "\1\113",
            "\1\114\1\115",
            "\1\116",
            "\1\117",
            "\1\122\2\uffff\1\123\6\uffff\1\121",
            "\1\124\5\uffff\1\125",
            "\1\127\17\uffff\1\126",
            "\1\130",
            "\1\131",
            "\1\132",
            "\1\133\5\uffff\1\134",
            "\1\137\5\uffff\1\135\11\uffff\1\136",
            "\1\140",
            "\1\141",
            "\1\142",
            "\1\143",
            "\1\144",
            "\1\145",
            "\1\146",
            "\1\147",
            "\1\150",
            "\1\152\2\uffff\1\151",
            "\1\153",
            "\1\166",
            "\1\167",
            "\1\u0088\2\uffff\1\u0087",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\22\42\1\u008b\7\42",
            "",
            "",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\1\u0099",
            "\1\u009a",
            "\1\u009d",
            "\1\u009e",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\22\42\1\u009f\7\42",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\1\u00a6",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\22\42\1\u00ab\7\42",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\22\42\1\u00af\7\42",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "",
            "\1\u00b4",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "",
            "\1\u00ba",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\22\42\1\u00bf\7\42",
            "\1\u00c1",
            "",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\22\42\1\u00c2\7\42",
            "\1\u00c6",
            "\1\u00c7",
            "",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "",
            "\1\u00ca\7\uffff\1\u00cb",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\1\u00cd",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "",
            "",
            "",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "",
            "\1\u00d7",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "",
            "\1\u00d9",
            "\1\u00da",
            "\1\u00dd",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "",
            "",
            "\1\u00e4",
            "\1\u00e5",
            "\1\u00e6",
            "\1\u00e7",
            "\1\u00e8",
            "\1\u00e9",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\1\u00f6",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\1\u00f9",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "",
            "\1\u0100",
            "\1\u0101",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\1\u0108\1\u0109",
            "\1\u010a",
            "\1\u010b",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
            return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
                        int LA12_26 = input.LA(1);
                        if ( ((LA12_26>='\u0000' && LA12_26<='\uFFFF')) ) {s = 64;}
                        else s = 29;
                        int LA12_25 = input.LA(1);
                        if ( ((LA12_25>='\u0000' && LA12_25<='\uFFFF')) ) {s = 64;}
                        else s = 29;
                        else if ( (LA12_0=='^') ) {s = 22;}
                        else if ( ((LA12_0>='A' && LA12_0<='E')||(LA12_0>='G' && LA12_0<='S')||(LA12_0>='U' && LA12_0<='Z')||LA12_0=='_'||(LA12_0>='a' && LA12_0<='b')||LA12_0=='e'||(LA12_0>='g' && LA12_0<='h')||(LA12_0>='j' && LA12_0<='l')||LA12_0=='n'||(LA12_0>='p' && LA12_0<='q')||(LA12_0>='w' && LA12_0<='z')) ) {s = 23;}
                        else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 24;}
                        else if ( (LA12_0=='\"') ) {s = 25;}
                        else if ( (LA12_0=='\'') ) {s = 26;}
                        else if ( (LA12_0=='/') ) {s = 27;}
                        else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 28;}
                        else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||LA12_0=='!'||(LA12_0>='#' && LA12_0<='&')||(LA12_0>='(' && LA12_0<=',')||LA12_0==':'||(LA12_0>='<' && LA12_0<='>')||LA12_0=='@'||LA12_0=='\\'||LA12_0=='`'||LA12_0=='|'||(LA12_0>='~' && LA12_0<='\uFFFF')) ) {s = 29;}
@@ -12,23 +12,31 @@
 
 @SuppressWarnings("all")
 public class InternalStateSpecificationLexer extends Lexer {
+    public static final int T__68=68;
     public static final int RULE_ID=4;
+    public static final int T__66=66;
+    public static final int T__67=67;
     public static final int T__29=29;
+    public static final int T__64=64;
     public static final int T__28=28;
+    public static final int T__65=65;
     public static final int T__27=27;
+    public static final int T__62=62;
     public static final int T__26=26;
+    public static final int T__63=63;
     public static final int T__25=25;
     public static final int T__24=24;
     public static final int T__23=23;
     public static final int T__22=22;
-    public static final int T__21=21;
     public static final int RULE_ANY_OTHER=10;
+    public static final int T__21=21;
     public static final int T__20=20;
-    public static final int T__60=60;
+    public static final int T__61=61;
     public static final int EOF=-1;
+    public static final int T__60=60;
     public static final int T__55=55;
-    public static final int T__19=19;
     public static final int T__56=56;
+    public static final int T__19=19;
     public static final int T__57=57;
     public static final int T__58=58;
     public static final int T__51=51;
@@ -751,10 +759,10 @@ public final void mT__43() throws RecognitionException {
         try {
             int _type = T__43;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:43:7: ( 'range' )
-            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:43:9: 'range'
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:43:7: ( '...' )
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:43:9: '...'
             {
-            match("range"); 
+            match("..."); 
 
 
             }
@@ -772,10 +780,10 @@ public final void mT__44() throws RecognitionException {
         try {
             int _type = T__44;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:44:7: ( '...' )
-            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:44:9: '...'
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:44:7: ( 'type' )
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:44:9: 'type'
             {
-            match("..."); 
+            match("type"); 
 
 
             }
@@ -793,10 +801,10 @@ public final void mT__45() throws RecognitionException {
         try {
             int _type = T__45;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:45:7: ( 'type' )
-            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:45:9: 'type'
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:45:7: ( 'range' )
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:45:9: 'range'
             {
-            match("type"); 
+            match("range"); 
 
 
             }
@@ -814,10 +822,10 @@ public final void mT__46() throws RecognitionException {
         try {
             int _type = T__46;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:46:7: ( 'values' )
-            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:46:9: 'values'
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:46:7: ( 'value-list' )
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:46:9: 'value-list'
             {
-            match("values"); 
+            match("value-list"); 
 
 
             }
@@ -1124,15 +1132,183 @@ public final void mT__60() throws RecognitionException {
     }
     // $ANTLR end "T__60"
 
+    // $ANTLR start "T__61"
+    public final void mT__61() throws RecognitionException {
+        try {
+            int _type = T__61;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:61:7: ( 'value-exception' )
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:61:9: 'value-exception'
+            {
+            match("value-exception"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__61"
+
+    // $ANTLR start "T__62"
+    public final void mT__62() throws RecognitionException {
+        try {
+            int _type = T__62;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:62:7: ( 'granularity' )
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:62:9: 'granularity'
+            {
+            match("granularity"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__62"
+
+    // $ANTLR start "T__63"
+    public final void mT__63() throws RecognitionException {
+        try {
+            int _type = T__63;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:63:7: ( 'arrival-rate-avg' )
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:63:9: 'arrival-rate-avg'
+            {
+            match("arrival-rate-avg"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__63"
+
+    // $ANTLR start "T__64"
+    public final void mT__64() throws RecognitionException {
+        try {
+            int _type = T__64;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:64:7: ( 'arrival-rate-minimum' )
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:64:9: 'arrival-rate-minimum'
+            {
+            match("arrival-rate-minimum"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__64"
+
+    // $ANTLR start "T__65"
+    public final void mT__65() throws RecognitionException {
+        try {
+            int _type = T__65;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:65:7: ( 'arrival-rate-maximum' )
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:65:9: 'arrival-rate-maximum'
+            {
+            match("arrival-rate-maximum"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__65"
+
+    // $ANTLR start "T__66"
+    public final void mT__66() throws RecognitionException {
+        try {
+            int _type = T__66;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:66:7: ( 'obsolescence' )
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:66:9: 'obsolescence'
+            {
+            match("obsolescence"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__66"
+
+    // $ANTLR start "T__67"
+    public final void mT__67() throws RecognitionException {
+        try {
+            int _type = T__67;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:67:7: ( 'appears-in' )
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:67:9: 'appears-in'
+            {
+            match("appears-in"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__67"
+
+    // $ANTLR start "T__68"
+    public final void mT__68() throws RecognitionException {
+        try {
+            int _type = T__68;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:68:7: ( 'description' )
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:68:9: 'description'
+            {
+            match("description"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__68"
+
     // $ANTLR start "RULE_ID"
     public final void mRULE_ID() throws RecognitionException {
         try {
             int _type = RULE_ID;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2252:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
-            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2252:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2404:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2404:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
             {
-            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2252:11: ( '^' )?
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2404:11: ( '^' )?
             int alt1=2;
             int LA1_0 = input.LA(1);
 
@@ -1141,7 +1317,7 @@ public final void mRULE_ID() throws RecognitionException {
             }
             switch (alt1) {
                 case 1 :
-                    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2252:11: '^'
+                    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2404:11: '^'
                     {
                     match('^'); 
 
@@ -1159,7 +1335,7 @@ public final void mRULE_ID() throws RecognitionException {
                 recover(mse);
                 throw mse;}
 
-            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2252:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2404:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
             loop2:
             do {
                 int alt2=2;
@@ -1208,10 +1384,10 @@ public final void mRULE_INT() throws RecognitionException {
         try {
             int _type = RULE_INT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2254:10: ( ( '0' .. '9' )+ )
-            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2254:12: ( '0' .. '9' )+
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2406:10: ( ( '0' .. '9' )+ )
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2406:12: ( '0' .. '9' )+
             {
-            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2254:12: ( '0' .. '9' )+
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2406:12: ( '0' .. '9' )+
             int cnt3=0;
             loop3:
             do {
@@ -1225,7 +1401,7 @@ public final void mRULE_INT() throws RecognitionException {
 
                 switch (alt3) {
             	case 1 :
-            	    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2254:13: '0' .. '9'
+            	    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2406:13: '0' .. '9'
             	    {
             	    matchRange('0','9'); 
 
@@ -1257,10 +1433,10 @@ public final void mRULE_STRING() throws RecognitionException {
         try {
             int _type = RULE_STRING;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2256:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
-            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2256:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2408:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2408:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
             {
-            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2256:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2408:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
             int alt6=2;
             int LA6_0 = input.LA(1);
 
@@ -1278,10 +1454,10 @@ else if ( (LA6_0=='\'') ) {
             }
             switch (alt6) {
                 case 1 :
-                    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2256:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+                    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2408:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
                     {
                     match('\"'); 
-                    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2256:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
+                    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2408:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
                     loop4:
                     do {
                         int alt4=3;
@@ -1297,7 +1473,7 @@ else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=
 
                         switch (alt4) {
                     	case 1 :
-                    	    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2256:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
+                    	    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2408: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') ) {
@@ -1313,7 +1489,7 @@ else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2256:66: ~ ( ( '\\\\' | '\"' ) )
+                    	    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2408:66: ~ ( ( '\\\\' | '\"' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -1338,10 +1514,10 @@ else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=
                     }
                     break;
                 case 2 :
-                    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2256:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+                    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2408:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
                     {
                     match('\''); 
-                    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2256:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
+                    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2408:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
                     loop5:
                     do {
                         int alt5=3;
@@ -1357,7 +1533,7 @@ else if ( ((LA5_0>='\u0000' && LA5_0<='&')||(LA5_0>='(' && LA5_0<='[')||(LA5_0>=
 
                         switch (alt5) {
                     	case 1 :
-                    	    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2256:92: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
+                    	    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2408: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') ) {
@@ -1373,7 +1549,7 @@ else if ( ((LA5_0>='\u0000' && LA5_0<='&')||(LA5_0>='(' && LA5_0<='[')||(LA5_0>=
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2256:137: ~ ( ( '\\\\' | '\\'' ) )
+                    	    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2408:137: ~ ( ( '\\\\' | '\\'' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -1416,12 +1592,12 @@ public final void mRULE_ML_COMMENT() throws RecognitionException {
         try {
             int _type = RULE_ML_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2258:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2258:19: '/*' ( options {greedy=false; } : . )* '*/'
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2410:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2410:19: '/*' ( options {greedy=false; } : . )* '*/'
             {
             match("/*"); 
 
-            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2258:24: ( options {greedy=false; } : . )*
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2410:24: ( options {greedy=false; } : . )*
             loop7:
             do {
                 int alt7=2;
@@ -1446,7 +1622,7 @@ else if ( ((LA7_0>='\u0000' && LA7_0<=')')||(LA7_0>='+' && LA7_0<='\uFFFF')) ) {
 
                 switch (alt7) {
             	case 1 :
-            	    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2258:52: .
+            	    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2410:52: .
             	    {
             	    matchAny(); 
 
@@ -1476,12 +1652,12 @@ public final void mRULE_SL_COMMENT() throws RecognitionException {
         try {
             int _type = RULE_SL_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2260:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
-            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2260:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2412:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2412:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
             {
             match("//"); 
 
-            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2260:24: (~ ( ( '\\n' | '\\r' ) ) )*
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2412:24: (~ ( ( '\\n' | '\\r' ) ) )*
             loop8:
             do {
                 int alt8=2;
@@ -1494,7 +1670,7 @@ public final void mRULE_SL_COMMENT() throws RecognitionException {
 
                 switch (alt8) {
             	case 1 :
-            	    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2260:24: ~ ( ( '\\n' | '\\r' ) )
+            	    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2412: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();
@@ -1514,7 +1690,7 @@ public final void mRULE_SL_COMMENT() throws RecognitionException {
                 }
             } while (true);
 
-            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2260:40: ( ( '\\r' )? '\\n' )?
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2412:40: ( ( '\\r' )? '\\n' )?
             int alt10=2;
             int LA10_0 = input.LA(1);
 
@@ -1523,9 +1699,9 @@ public final void mRULE_SL_COMMENT() throws RecognitionException {
             }
             switch (alt10) {
                 case 1 :
-                    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2260:41: ( '\\r' )? '\\n'
+                    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2412:41: ( '\\r' )? '\\n'
                     {
-                    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2260:41: ( '\\r' )?
+                    // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2412:41: ( '\\r' )?
                     int alt9=2;
                     int LA9_0 = input.LA(1);
 
@@ -1534,7 +1710,7 @@ public final void mRULE_SL_COMMENT() throws RecognitionException {
                     }
                     switch (alt9) {
                         case 1 :
-                            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2260:41: '\\r'
+                            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2412:41: '\\r'
                             {
                             match('\r'); 
 
@@ -1566,10 +1742,10 @@ public final void mRULE_WS() throws RecognitionException {
         try {
             int _type = RULE_WS;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2262:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
-            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2262:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2414:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2414:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             {
-            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2262:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2414:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             int cnt11=0;
             loop11:
             do {
@@ -1623,8 +1799,8 @@ public final void mRULE_ANY_OTHER() throws RecognitionException {
         try {
             int _type = RULE_ANY_OTHER;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2264:16: ( . )
-            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2264:18: .
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2416:16: ( . )
+            // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:2416:18: .
             {
             matchAny(); 
 
@@ -1639,8 +1815,8 @@ public final void mRULE_ANY_OTHER() throws RecognitionException {
     // $ANTLR end "RULE_ANY_OTHER"
 
     public void mTokens() throws RecognitionException {
-        // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
-        int alt12=57;
+        // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+        int alt12=65;
         alt12 = dfa12.predict(input);
         switch (alt12) {
             case 1 :
@@ -1994,49 +2170,105 @@ public void mTokens() throws RecognitionException {
                 }
                 break;
             case 51 :
-                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:310: RULE_ID
+                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:310: T__61
                 {
-                mRULE_ID(); 
+                mT__61(); 
 
                 }
                 break;
             case 52 :
-                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:318: RULE_INT
+                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:316: T__62
                 {
-                mRULE_INT(); 
+                mT__62(); 
 
                 }
                 break;
             case 53 :
-                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:327: RULE_STRING
+                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:322: T__63
                 {
-                mRULE_STRING(); 
+                mT__63(); 
 
                 }
                 break;
             case 54 :
-                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:339: RULE_ML_COMMENT
+                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:328: T__64
                 {
-                mRULE_ML_COMMENT(); 
+                mT__64(); 
 
                 }
                 break;
             case 55 :
-                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:355: RULE_SL_COMMENT
+                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:334: T__65
                 {
-                mRULE_SL_COMMENT(); 
+                mT__65(); 
 
                 }
                 break;
             case 56 :
-                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:371: RULE_WS
+                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:340: T__66
                 {
-                mRULE_WS(); 
+                mT__66(); 
 
                 }
                 break;
             case 57 :
-                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:379: RULE_ANY_OTHER
+                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:346: T__67
+                {
+                mT__67(); 
+
+                }
+                break;
+            case 58 :
+                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:352: T__68
+                {
+                mT__68(); 
+
+                }
+                break;
+            case 59 :
+                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:358: RULE_ID
+                {
+                mRULE_ID(); 
+
+                }
+                break;
+            case 60 :
+                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:366: RULE_INT
+                {
+                mRULE_INT(); 
+
+                }
+                break;
+            case 61 :
+                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:375: RULE_STRING
+                {
+                mRULE_STRING(); 
+
+                }
+                break;
+            case 62 :
+                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:387: RULE_ML_COMMENT
+                {
+                mRULE_ML_COMMENT(); 
+
+                }
+                break;
+            case 63 :
+                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:403: RULE_SL_COMMENT
+                {
+                mRULE_SL_COMMENT(); 
+
+                }
+                break;
+            case 64 :
+                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:419: RULE_WS
+                {
+                mRULE_WS(); 
+
+                }
+                break;
+            case 65 :
+                // ../net.certware.intent.state/src-gen/net/certware/intent/state/parser/antlr/internal/InternalStateSpecification.g:1:427: RULE_ANY_OTHER
                 {
                 mRULE_ANY_OTHER(); 
 
@@ -2050,164 +2282,173 @@ public void mTokens() throws RecognitionException {
 
     protected DFA12 dfa12 = new DFA12(this);
     static final String DFA12_eotS =
-        "\1\uffff\1\42\1\uffff\1\42\2\uffff\1\50\4\42\3\uffff\3\42\1\71\1"+
-        "\72\1\uffff\2\42\1\35\2\uffff\3\35\2\uffff\4\42\2\uffff\1\42\4\uffff"+
-        "\10\42\3\uffff\5\42\3\uffff\3\42\5\uffff\50\42\1\u008c\2\uffff\7"+
-        "\42\1\u0094\3\42\1\u0098\6\42\1\u00a0\3\42\1\u00a4\5\42\1\u00aa"+
-        "\1\uffff\1\u00ac\2\42\1\u00b0\2\42\1\u00b3\1\uffff\1\42\1\u00b5"+
-        "\1\u00b6\1\uffff\6\42\1\u00bd\1\uffff\1\u00be\1\u00c0\1\42\1\uffff"+
-        "\1\u00c3\4\42\1\uffff\1\u00c8\1\uffff\2\42\1\u00cc\1\uffff\1\42"+
-        "\1\u00ce\1\uffff\1\42\2\uffff\6\42\2\uffff\1\u00d6\1\uffff\1\42"+
-        "\1\u00d8\1\uffff\4\42\1\uffff\1\42\1\u00de\1\42\1\uffff\1\42\1\uffff"+
-        "\7\42\1\uffff\1\42\1\uffff\2\42\1\u00eb\1\u00ec\1\u00ed\1\uffff"+
-        "\11\42\1\u00f7\1\u00f8\1\42\3\uffff\1\42\1\u00fb\2\42\1\uffff\1"+
-        "\42\1\uffff\2\42\2\uffff\2\42\1\uffff\1\u0103\1\42\1\u0105\1\42"+
-        "\1\u0107\3\uffff\1\42\1\uffff\1\42\3\uffff\1\u010c\1\u010d\2\uffff";
+        "\1\uffff\1\44\1\uffff\1\44\2\uffff\1\52\4\44\3\uffff\3\44\1\74\1"+
+        "\75\1\uffff\4\44\1\37\2\uffff\3\37\2\uffff\4\44\2\uffff\1\44\4\uffff"+
+        "\11\44\3\uffff\5\44\3\uffff\6\44\5\uffff\57\44\1\u009e\2\uffff\7"+
+        "\44\1\u00a6\3\44\1\u00aa\11\44\1\u00b5\4\44\1\u00ba\6\44\1\u00c1"+
+        "\1\uffff\1\u00c3\2\44\1\u00c7\2\44\1\u00ca\1\uffff\1\44\1\u00cc"+
+        "\1\u00cd\1\uffff\11\44\1\u00d7\1\uffff\1\u00d8\1\u00da\2\44\1\uffff"+
+        "\1\u00de\5\44\1\uffff\1\u00e4\1\uffff\2\44\2\uffff\1\44\1\u00eb"+
+        "\1\uffff\1\44\2\uffff\11\44\2\uffff\1\u00f6\1\uffff\2\44\1\u00f9"+
+        "\1\uffff\5\44\1\uffff\1\44\1\u0100\1\44\2\uffff\1\44\1\uffff\12"+
+        "\44\1\uffff\2\44\1\uffff\3\44\1\u0112\1\u0113\1\u0114\1\uffff\10"+
+        "\44\2\uffff\3\44\1\u0121\1\44\1\u0123\1\44\3\uffff\1\44\1\u0126"+
+        "\2\44\1\uffff\1\44\1\uffff\1\44\1\uffff\3\44\1\uffff\1\44\1\uffff"+
+        "\2\44\1\uffff\1\u0132\1\44\1\u0134\1\44\1\uffff\1\44\1\u0138\1\u0139"+
+        "\1\44\3\uffff\1\44\1\uffff\1\u013e\1\uffff\1\44\2\uffff\1\u0141"+
+        "\2\uffff\1\u0142\2\uffff\1\u0144\10\uffff";
     static final String DFA12_eofS =
-        "\u010e\uffff";
+        "\u0149\uffff";
     static final String DFA12_minS =
-        "\1\0\1\157\1\uffff\1\145\2\uffff\1\56\1\160\1\157\1\141\1\156\3"+
-        "\uffff\2\141\1\156\2\60\1\uffff\1\141\1\145\1\101\2\uffff\2\0\1"+
-        "\52\2\uffff\1\145\1\160\1\141\1\165\2\uffff\1\166\4\uffff\1\145"+
-        "\1\150\1\164\1\155\1\144\1\156\1\170\1\146\3\uffff\1\154\1\142\1"+
-        "\160\2\151\3\uffff\1\156\1\146\1\145\5\uffff\1\143\1\145\1\164\1"+
-        "\162\1\151\1\162\1\145\1\160\1\155\1\164\1\145\2\55\1\165\1\145"+
-        "\1\164\1\165\1\151\1\147\1\154\1\145\1\147\1\164\1\147\1\145\1\141"+
-        "\2\145\1\144\1\151\1\162\1\145\2\143\1\141\1\162\1\165\1\154\2\145"+
+        "\1\0\1\157\1\uffff\1\145\2\uffff\1\56\1\142\1\157\1\141\1\156\3"+
+        "\uffff\2\141\1\156\2\60\1\uffff\1\141\1\145\1\162\1\160\1\101\2"+
+        "\uffff\2\0\1\52\2\uffff\1\145\1\160\1\141\1\165\2\uffff\1\163\4"+
+        "\uffff\1\145\1\150\1\164\1\163\1\155\1\144\1\156\1\170\1\146\3\uffff"+
+        "\1\154\1\142\1\160\2\151\3\uffff\1\156\1\146\1\145\1\141\1\162\1"+
+        "\160\5\uffff\1\143\1\145\1\164\1\162\1\151\1\143\1\162\1\145\1\160"+
+        "\1\157\1\155\1\164\1\145\2\55\1\165\1\145\1\164\1\165\1\151\1\147"+
+        "\1\154\1\145\1\147\1\164\1\147\1\145\1\141\2\145\1\144\1\156\1\151"+
+        "\1\145\1\151\1\162\1\145\2\143\1\162\1\141\1\162\1\165\2\154\2\145"+
         "\1\60\2\uffff\1\164\1\162\1\151\1\145\1\141\2\145\1\60\1\147\1\163"+
-        "\1\145\1\60\1\164\2\162\1\142\1\146\1\166\1\60\2\145\1\164\1\60"+
-        "\1\164\1\156\1\145\2\156\1\60\1\uffff\1\60\1\162\1\141\1\60\1\142"+
-        "\1\164\1\60\1\uffff\1\145\2\60\1\uffff\1\151\1\163\1\145\1\141\2"+
-        "\151\1\60\1\uffff\2\60\1\151\1\uffff\1\60\1\145\3\164\1\uffff\1"+
-        "\60\1\uffff\1\145\1\154\1\60\1\uffff\1\154\1\60\1\uffff\1\162\2"+
-        "\uffff\1\157\1\145\1\156\2\143\1\163\2\uffff\1\60\1\uffff\1\156"+
-        "\1\60\1\uffff\1\156\1\151\2\163\1\uffff\1\144\1\60\1\151\1\uffff"+
-        "\1\145\1\uffff\1\151\1\156\1\144\1\143\1\153\1\141\1\157\1\uffff"+
-        "\1\147\1\uffff\1\164\1\157\3\60\1\uffff\1\157\1\163\1\156\1\163"+
-        "\1\55\1\145\1\55\1\164\1\162\2\60\1\156\3\uffff\1\156\1\60\1\147"+
-        "\1\150\1\uffff\1\163\1\uffff\1\151\1\171\2\uffff\2\55\1\uffff\1"+
-        "\60\1\151\1\60\1\157\1\60\1\144\2\uffff\1\160\1\uffff\1\156\3\uffff"+
-        "\2\60\2\uffff";
+        "\1\145\1\60\1\164\2\162\1\142\1\165\1\166\1\141\1\146\1\166\1\60"+
+        "\2\145\1\151\1\164\1\60\1\164\1\145\1\156\1\145\2\156\1\60\1\uffff"+
+        "\1\60\1\162\1\141\1\55\1\142\1\164\1\60\1\uffff\1\145\2\60\1\uffff"+
+        "\1\151\1\163\1\145\1\141\1\154\1\141\1\162\2\151\1\60\1\uffff\2"+
+        "\60\1\160\1\151\1\uffff\1\60\1\163\1\145\3\164\1\uffff\1\60\1\uffff"+
+        "\1\145\1\154\1\145\1\uffff\1\154\1\60\1\uffff\1\162\2\uffff\1\157"+
+        "\1\145\1\156\1\143\1\141\1\154\1\163\1\143\1\163\2\uffff\1\60\1"+
+        "\uffff\1\164\1\156\1\60\1\uffff\1\143\1\156\1\151\2\163\1\uffff"+
+        "\1\144\1\60\1\151\2\uffff\1\145\1\uffff\1\151\1\156\1\144\1\143"+
+        "\1\153\1\162\2\55\1\141\1\157\1\uffff\1\151\1\147\1\uffff\1\145"+
+        "\1\164\1\157\3\60\1\uffff\1\157\1\163\1\156\1\163\1\55\1\145\1\55"+
+        "\1\151\1\162\1\uffff\1\164\1\162\1\157\1\60\1\156\1\60\1\156\3\uffff"+
+        "\1\156\1\60\1\147\1\150\1\uffff\1\163\1\uffff\1\164\1\141\1\151"+
+        "\1\171\1\156\1\uffff\1\143\1\uffff\2\55\1\uffff\1\60\1\151\1\60"+
+        "\1\171\1\164\1\157\2\60\1\145\1\144\2\uffff\1\160\1\uffff\1\60\1"+
+        "\145\1\156\2\uffff\1\60\2\uffff\1\60\1\uffff\1\55\1\60\2\uffff\1"+
+        "\141\2\uffff\1\141\2\uffff";
     static final String DFA12_maxS =
         "\1\uffff\1\165\1\uffff\1\145\2\uffff\1\56\1\165\2\157\1\156\3\uffff"+
-        "\1\141\1\171\1\156\2\172\1\uffff\2\145\1\172\2\uffff\2\uffff\1\57"+
-        "\2\uffff\1\145\1\160\1\141\1\165\2\uffff\1\166\4\uffff\1\145\1\150"+
-        "\1\164\1\156\1\144\1\156\1\170\1\160\3\uffff\2\162\1\160\2\151\3"+
-        "\uffff\1\164\1\166\1\145\5\uffff\1\143\1\145\1\164\1\162\1\151\1"+
-        "\162\1\145\2\160\1\164\1\145\2\55\1\165\1\145\1\164\1\165\1\151"+
-        "\1\147\1\154\1\145\1\147\1\164\1\147\1\145\1\141\2\145\1\144\1\151"+
-        "\1\162\1\145\2\143\1\141\1\162\1\165\1\157\2\145\1\172\2\uffff\1"+
-        "\164\1\162\1\151\1\145\1\141\2\145\1\172\1\147\1\163\1\145\1\172"+
-        "\1\164\2\162\1\142\1\146\1\166\1\172\2\145\1\164\1\172\1\164\1\156"+
-        "\1\145\2\156\1\172\1\uffff\1\172\1\162\1\141\1\172\1\142\1\164\1"+
-        "\172\1\uffff\1\145\2\172\1\uffff\1\151\1\163\1\145\1\141\2\151\1"+
-        "\172\1\uffff\2\172\1\151\1\uffff\1\172\1\145\3\164\1\uffff\1\172"+
-        "\1\uffff\1\145\1\164\1\172\1\uffff\1\154\1\172\1\uffff\1\162\2\uffff"+
-        "\1\157\1\145\1\156\2\143\1\163\2\uffff\1\172\1\uffff\1\156\1\172"+
-        "\1\uffff\1\156\1\151\2\163\1\uffff\1\144\1\172\1\151\1\uffff\1\145"+
-        "\1\uffff\1\151\1\156\1\144\1\143\1\153\1\141\1\157\1\uffff\1\147"+
-        "\1\uffff\1\164\1\157\3\172\1\uffff\1\157\1\163\1\156\1\163\1\55"+
-        "\1\145\1\55\1\164\1\162\2\172\1\156\3\uffff\1\156\1\172\1\147\1"+
-        "\150\1\uffff\1\163\1\uffff\1\151\1\171\2\uffff\2\55\1\uffff\1\172"+
-        "\1\151\1\172\1\157\1\172\1\145\2\uffff\1\160\1\uffff\1\156\3\uffff"+
-        "\2\172\2\uffff";
+        "\1\141\1\171\1\156\2\172\1\uffff\2\145\2\162\1\172\2\uffff\2\uffff"+
+        "\1\57\2\uffff\1\145\1\160\1\141\1\165\2\uffff\1\166\4\uffff\1\145"+
+        "\1\150\1\164\1\163\1\156\1\144\1\156\1\170\1\160\3\uffff\2\162\1"+
+        "\160\2\151\3\uffff\1\164\1\166\1\145\1\141\1\162\1\160\5\uffff\1"+
+        "\143\1\145\1\164\1\162\1\151\1\143\1\162\1\145\1\160\1\157\1\160"+
+        "\1\164\1\145\2\55\1\165\1\145\1\164\1\165\1\151\1\147\1\154\1\145"+
+        "\1\147\1\164\1\147\1\145\1\141\2\145\1\144\1\156\1\151\1\145\1\151"+
+        "\1\162\1\145\2\143\1\162\1\141\1\162\1\165\1\154\1\157\2\145\1\172"+
+        "\2\uffff\1\164\1\162\1\151\1\145\1\141\2\145\1\172\1\147\1\163\1"+
+        "\145\1\172\1\164\2\162\1\142\1\165\1\166\1\141\1\146\1\166\1\172"+
+        "\2\145\1\151\1\164\1\172\1\164\1\145\1\156\1\145\2\156\1\172\1\uffff"+
+        "\1\172\1\162\1\141\1\172\1\142\1\164\1\172\1\uffff\1\145\2\172\1"+
+        "\uffff\1\151\1\163\1\145\1\141\1\154\1\141\1\162\2\151\1\172\1\uffff"+
+        "\2\172\1\160\1\151\1\uffff\1\172\1\163\1\145\3\164\1\uffff\1\172"+
+        "\1\uffff\1\145\1\164\1\154\1\uffff\1\154\1\172\1\uffff\1\162\2\uffff"+
+        "\1\157\1\145\1\156\1\143\1\141\1\154\1\163\1\143\1\163\2\uffff\1"+
+        "\172\1\uffff\1\164\1\156\1\172\1\uffff\1\143\1\156\1\151\2\163\1"+
+        "\uffff\1\144\1\172\1\151\2\uffff\1\145\1\uffff\1\151\1\156\1\144"+
+        "\1\143\1\153\1\162\2\55\1\141\1\157\1\uffff\1\151\1\147\1\uffff"+
+        "\1\145\1\164\1\157\3\172\1\uffff\1\157\1\163\1\156\1\163\1\55\1"+
+        "\145\1\55\1\151\1\162\1\uffff\1\164\1\162\1\157\1\172\1\156\1\172"+
+        "\1\156\3\uffff\1\156\1\172\1\147\1\150\1\uffff\1\163\1\uffff\1\164"+
+        "\1\141\1\151\1\171\1\156\1\uffff\1\143\1\uffff\2\55\1\uffff\1\172"+
+        "\1\151\1\172\1\171\1\164\1\157\2\172\2\145\2\uffff\1\160\1\uffff"+
+        "\1\172\1\145\1\156\2\uffff\1\172\2\uffff\1\172\1\uffff\1\55\1\172"+
+        "\2\uffff\1\155\2\uffff\1\151\2\uffff";
     static final String DFA12_acceptS =
         "\2\uffff\1\2\1\uffff\1\4\1\5\5\uffff\1\20\1\22\1\23\5\uffff\1\37"+
-        "\3\uffff\1\63\1\64\3\uffff\1\70\1\71\4\uffff\1\63\1\2\1\uffff\1"+
-        "\4\1\5\1\42\1\6\10\uffff\1\20\1\22\1\23\5\uffff\1\35\1\36\1\37\3"+
-        "\uffff\1\64\1\65\1\66\1\67\1\70\51\uffff\1\53\1\54\35\uffff\1\25"+
-        "\7\uffff\1\43\3\uffff\1\45\7\uffff\1\21\3\uffff\1\11\5\uffff\1\13"+
-        "\1\uffff\1\27\3\uffff\1\30\2\uffff\1\40\1\uffff\1\34\1\41\6\uffff"+
-        "\1\14\1\31\1\uffff\1\26\2\uffff\1\32\4\uffff\1\15\3\uffff\1\44\1"+
-        "\uffff\1\33\7\uffff\1\3\1\uffff\1\16\5\uffff\1\24\14\uffff\1\60"+
-        "\1\61\1\17\4\uffff\1\56\1\uffff\1\55\2\uffff\1\10\1\12\2\uffff\1"+
-        "\51\6\uffff\1\46\1\62\1\uffff\1\57\1\uffff\1\7\1\47\1\50\2\uffff"+
-        "\1\52\1\1";
+        "\5\uffff\1\73\1\74\3\uffff\1\100\1\101\4\uffff\1\73\1\2\1\uffff"+
+        "\1\4\1\5\1\41\1\6\11\uffff\1\20\1\22\1\23\5\uffff\1\35\1\36\1\37"+
+        "\6\uffff\1\74\1\75\1\76\1\77\1\100\60\uffff\1\53\1\54\42\uffff\1"+
+        "\25\7\uffff\1\42\3\uffff\1\45\12\uffff\1\21\4\uffff\1\11\6\uffff"+
+        "\1\13\1\uffff\1\27\3\uffff\1\30\2\uffff\1\40\1\uffff\1\34\1\43\11"+
+        "\uffff\1\14\1\31\1\uffff\1\26\3\uffff\1\32\5\uffff\1\15\3\uffff"+
+        "\1\44\1\63\1\uffff\1\33\12\uffff\1\3\2\uffff\1\16\6\uffff\1\24\11"+
+        "\uffff\1\71\7\uffff\1\60\1\61\1\17\4\uffff\1\56\1\uffff\1\55\5\uffff"+
+        "\1\10\1\uffff\1\12\2\uffff\1\51\12\uffff\1\46\1\62\1\uffff\1\57"+
+        "\3\uffff\1\7\1\72\1\uffff\1\47\1\50\1\uffff\1\64\2\uffff\1\70\1"+
+        "\52\1\uffff\1\1\1\65\1\uffff\1\66\1\67";
     static final String DFA12_specialS =
-        "\1\2\30\uffff\1\1\1\0\u00f3\uffff}>";
+        "\1\2\32\uffff\1\0\1\1\u012c\uffff}>";
     static final String[] DFA12_transitionS = {
-            "\11\35\2\34\2\35\1\34\22\35\1\34\1\35\1\31\4\35\1\32\5\35\1"+
-            "\5\1\6\1\33\12\30\1\35\1\13\3\35\1\23\1\35\5\27\1\22\15\27\1"+
-            "\21\6\27\1\2\1\35\1\4\1\26\1\27\1\35\2\27\1\10\1\3\1\27\1\25"+
-            "\2\27\1\12\3\27\1\11\1\27\1\7\2\27\1\24\1\1\1\17\1\20\1\16\4"+
-            "\27\1\14\1\35\1\15\uff82\35",
-            "\1\41\1\36\3\uffff\1\40\1\37",
+            "\11\37\2\36\2\37\1\36\22\37\1\36\1\37\1\33\4\37\1\34\5\37\1"+
+            "\5\1\6\1\35\12\32\1\37\1\13\3\37\1\23\1\37\5\31\1\22\15\31\1"+
+            "\21\6\31\1\2\1\37\1\4\1\30\1\31\1\37\1\27\1\31\1\10\1\3\1\31"+
+            "\1\25\1\26\1\31\1\12\3\31\1\11\1\31\1\7\2\31\1\24\1\1\1\17\1"+
+            "\20\1\16\4\31\1\14\1\37\1\15\uff82\37",
+            "\1\43\1\40\3\uffff\1\42\1\41",
             "",
-            "\1\44",
+            "\1\46",
             "",
             "",
-            "\1\47",
-            "\1\51\3\uffff\1\52\1\53",
-            "\1\54",
-            "\1\57\7\uffff\1\56\5\uffff\1\55",
-            "\1\60",
+            "\1\51",
+            "\1\56\15\uffff\1\53\3\uffff\1\54\1\55",
+            "\1\57",
+            "\1\62\7\uffff\1\61\5\uffff\1\60",
+            "\1\63",
             "",
             "",
             "",
-            "\1\64",
-            "\1\65\20\uffff\1\67\6\uffff\1\66",
-            "\1\70",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\67",
+            "\1\70\20\uffff\1\72\6\uffff\1\71",
+            "\1\73",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
             "",
-            "\1\74\3\uffff\1\75",
-            "\1\76",
-            "\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\77\3\uffff\1\100",
+            "\1\101",
+            "\1\102",
+            "\1\104\1\uffff\1\103",
+            "\32\44\4\uffff\1\44\1\uffff\32\44",
             "",
             "",
-            "\0\100",
-            "\0\100",
-            "\1\101\4\uffff\1\102",
+            "\0\106",
+            "\0\106",
+            "\1\107\4\uffff\1\110",
             "",
             "",
-            "\1\104",
-            "\1\105",
-            "\1\106",
-            "\1\107",
+            "\1\112",
+            "\1\113",
+            "\1\114",
+            "\1\115",
             "",
             "",
-            "\1\110",
+            "\1\117\2\uffff\1\116",
             "",
             "",
             "",
             "",
-            "\1\111",
-            "\1\112",
-            "\1\113",
-            "\1\114\1\115",
-            "\1\116",
-            "\1\117",
             "\1\120",
-            "\1\122\2\uffff\1\123\6\uffff\1\121",
+            "\1\121",
+            "\1\122",
+            "\1\123",
+            "\1\124\1\125",
+            "\1\126",
+            "\1\127",
+            "\1\130",
+            "\1\132\2\uffff\1\133\6\uffff\1\131",
             "",
             "",
             "",
-            "\1\124\5\uffff\1\125",
-            "\1\127\17\uffff\1\126",
-            "\1\130",
-            "\1\131",
-            "\1\132",
+            "\1\134\5\uffff\1\135",
+            "\1\137\17\uffff\1\136",
+            "\1\140",
+            "\1\141",
+            "\1\142",
             "",
             "",
             "",
-            "\1\133\5\uffff\1\134",
-            "\1\137\5\uffff\1\135\11\uffff\1\136",
-            "\1\140",
+            "\1\143\5\uffff\1\144",
+            "\1\147\5\uffff\1\145\11\uffff\1\146",
+            "\1\150",
+            "\1\151",
+            "\1\152",
+            "\1\153",
             "",
             "",
             "",
             "",
             "",
-            "\1\141",
-            "\1\142",
-            "\1\143",
-            "\1\144",
-            "\1\145",
-            "\1\146",
-            "\1\147",
-            "\1\150",
-            "\1\152\2\uffff\1\151",
-            "\1\153",
             "\1\154",
             "\1\155",
             "\1\156",
@@ -2218,8 +2459,7 @@ public void mTokens() throws RecognitionException {
             "\1\163",
             "\1\164",
             "\1\165",
-            "\1\166",
-            "\1\167",
+            "\1\167\2\uffff\1\166",
             "\1\170",
             "\1\171",
             "\1\172",
@@ -2235,124 +2475,114 @@ public void mTokens() throws RecognitionException {
             "\1\u0084",
             "\1\u0085",
             "\1\u0086",
-            "\1\u0088\2\uffff\1\u0087",
+            "\1\u0087",
+            "\1\u0088",
             "\1\u0089",
             "\1\u008a",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\22\42\1\u008b\7\42",
-            "",
-            "",
+            "\1\u008b",
+            "\1\u008c",
             "\1\u008d",
             "\1\u008e",
             "\1\u008f",
             "\1\u0090",
             "\1\u0091",
             "\1\u0092",
             "\1\u0093",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u0094",
             "\1\u0095",
             "\1\u0096",
             "\1\u0097",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\1\u0099",
-            "\1\u009a",
+            "\1\u0098",
+            "\1\u009a\2\uffff\1\u0099",
             "\1\u009b",
             "\1\u009c",
-            "\1\u009d",
-            "\1\u009e",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\22\42\1\u009f\7\42",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\22\44\1\u009d\7\44",
+            "",
+            "",
+            "\1\u009f",
+            "\1\u00a0",
             "\1\u00a1",
             "\1\u00a2",
             "\1\u00a3",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u00a4",
             "\1\u00a5",
-            "\1\u00a6",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
             "\1\u00a7",
             "\1\u00a8",
             "\1\u00a9",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\22\42\1\u00ab\7\42",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "\1\u00ab",
+            "\1\u00ac",
             "\1\u00ad",
             "\1\u00ae",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\22\42\1\u00af\7\42",
+            "\1\u00af",
+            "\1\u00b0",
             "\1\u00b1",
             "\1\u00b2",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "",
-            "\1\u00b4",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "",
+            "\1\u00b3",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\22\44\1\u00b4\7\44",
+            "\1\u00b6",
             "\1\u00b7",
             "\1\u00b8",
             "\1\u00b9",
-            "\1\u00ba",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
             "\1\u00bb",
             "\1\u00bc",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u00bd",
+            "\1\u00be",
+            "\1\u00bf",
+            "\1\u00c0",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
             "",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\22\42\1\u00bf\7\42",
-            "\1\u00c1",
-            "",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\22\42\1\u00c2\7\42",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\22\44\1\u00c2\7\44",
             "\1\u00c4",
             "\1\u00c5",
-            "\1\u00c6",
-            "\1\u00c7",
-            "",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "",
+            "\1\u00c6\2\uffff\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32"+
+            "\44",
+            "\1\u00c8",
             "\1\u00c9",
-            "\1\u00ca\7\uffff\1\u00cb",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
             "",
-            "\1\u00cd",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u00cb",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
             "",
+            "\1\u00ce",
             "\1\u00cf",
-            "",
-            "",
             "\1\u00d0",
             "\1\u00d1",
             "\1\u00d2",
             "\1\u00d3",
             "\1\u00d4",
             "\1\u00d5",
+            "\1\u00d6",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
             "",
-            "",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "",
-            "\1\u00d7",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "",
-            "\1\u00d9",
-            "\1\u00da",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\22\44\1\u00d9\7\44",
             "\1\u00db",
             "\1\u00dc",
             "",
-            "\1\u00dd",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\22\44\1\u00dd\7\44",
             "\1\u00df",
-            "",
             "\1\u00e0",
-            "",
             "\1\u00e1",
             "\1\u00e2",
             "\1\u00e3",
-            "\1\u00e4",
-            "\1\u00e5",
-            "\1\u00e6",
-            "\1\u00e7",
             "",
-            "\1\u00e8",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "",
+            "\1\u00e5",
+            "\1\u00e6\7\uffff\1\u00e7",
+            "\1\u00e9\6\uffff\1\u00e8",
             "",
-            "\1\u00e9",
             "\1\u00ea",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "",
+            "\1\u00ec",
             "",
+            "",
+            "\1\u00ed",
             "\1\u00ee",
             "\1\u00ef",
             "\1\u00f0",
@@ -2361,43 +2591,118 @@ public void mTokens() throws RecognitionException {
             "\1\u00f3",
             "\1\u00f4",
             "\1\u00f5",
-            "\1\u00f6",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\1\u00f9",
             "",
             "",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "",
+            "\1\u00f7",
+            "\1\u00f8",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
             "",
             "\1\u00fa",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u00fb",
             "\1\u00fc",
             "\1\u00fd",
-            "",
             "\1\u00fe",
             "",
             "\1\u00ff",
-            "\1\u0100",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "\1\u0101",
             "",
             "",
-            "\1\u0101",
             "\1\u0102",
             "",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u0103",
             "\1\u0104",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u0105",
             "\1\u0106",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\1\u0108\1\u0109",
+            "\1\u0107",
+            "\1\u0108",
+            "\1\u0109",
+            "\1\u010a",
+            "\1\u010b",
+            "\1\u010c",
             "",
+            "\1\u010d",
+            "\1\u010e",
             "",
-            "\1\u010a",
+            "\1\u010f",
+            "\1\u0110",
+            "\1\u0111",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
             "",
-            "\1\u010b",
+            "\1\u0115",
+            "\1\u0116",
+            "\1\u0117",
+            "\1\u0118",
+            "\1\u0119",
+            "\1\u011a",
+            "\1\u011b",
+            "\1\u011c",
+            "\1\u011d",
+            "",
+            "\1\u011e",
+            "\1\u011f",
+            "\1\u0120",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "\1\u0122",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "\1\u0124",
+            "",
+            "",
+            "",
+            "\1\u0125",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "\1\u0127",
+            "\1\u0128",
+            "",
+            "\1\u0129",
+            "",
+            "\1\u012a",
+            "\1\u012b",
+            "\1\u012c",
+            "\1\u012d",
+            "\1\u012e",
             "",
+            "\1\u012f",
             "",
+            "\1\u0130",
+            "\1\u0131",
             "",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "\1\u0133",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "\1\u0135",
+            "\1\u0136",
+            "\1\u0137",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "\1\u013a",
+            "\1\u013b\1\u013c",
+            "",
+            "",
+            "\1\u013d",
+            "",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "\1\u013f",
+            "\1\u0140",
+            "",
+            "",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "",
+            "",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "",
+            "\1\u0143",
+            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "",
+            "",
+            "\1\u0145\13\uffff\1\u0146",
+            "",
+            "",
+            "\1\u0148\7\uffff\1\u0147",
             "",
             ""
     };
@@ -2432,29 +2737,29 @@ public DFA12(BaseRecognizer recognizer) {
             this.transition = DFA12_transition;
         }
         public String getDescription() {
-            return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+            return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             IntStream input = _input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA12_26 = input.LA(1);
+                        int LA12_27 = input.LA(1);
 
                         s = -1;
-                        if ( ((LA12_26>='\u0000' && LA12_26<='\uFFFF')) ) {s = 64;}
+                        if ( ((LA12_27>='\u0000' && LA12_27<='\uFFFF')) ) {s = 70;}
 
-                        else s = 29;
+                        else s = 31;
 
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA12_25 = input.LA(1);
+                        int LA12_28 = input.LA(1);
 
                         s = -1;
-                        if ( ((LA12_25>='\u0000' && LA12_25<='\uFFFF')) ) {s = 64;}
+                        if ( ((LA12_28>='\u0000' && LA12_28<='\uFFFF')) ) {s = 70;}
 
-                        else s = 29;
+                        else s = 31;
 
                         if ( s>=0 ) return s;
                         break;
@@ -2504,21 +2809,25 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc
 
                         else if ( (LA12_0=='f') ) {s = 21;}
 
-                        else if ( (LA12_0=='^') ) {s = 22;}
+                        else if ( (LA12_0=='g') ) {s = 22;}
+
+                        else if ( (LA12_0=='a') ) {s = 23;}
+
+                        else if ( (LA12_0=='^') ) {s = 24;}
 
-                        else if ( ((LA12_0>='A' && LA12_0<='E')||(LA12_0>='G' && LA12_0<='S')||(LA12_0>='U' && LA12_0<='Z')||LA12_0=='_'||(LA12_0>='a' && LA12_0<='b')||LA12_0=='e'||(LA12_0>='g' && LA12_0<='h')||(LA12_0>='j' && LA12_0<='l')||LA12_0=='n'||(LA12_0>='p' && LA12_0<='q')||(LA12_0>='w' && LA12_0<='z')) ) {s = 23;}
+                        else if ( ((LA12_0>='A' && LA12_0<='E')||(LA12_0>='G' && LA12_0<='S')||(LA12_0>='U' && LA12_0<='Z')||LA12_0=='_'||LA12_0=='b'||LA12_0=='e'||LA12_0=='h'||(LA12_0>='j' && LA12_0<='l')||LA12_0=='n'||(LA12_0>='p' && LA12_0<='q')||(LA12_0>='w' && LA12_0<='z')) ) {s = 25;}
 
-                        else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 24;}
+                        else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 26;}
 
-                        else if ( (LA12_0=='\"') ) {s = 25;}
+                        else if ( (LA12_0=='\"') ) {s = 27;}
 
-                        else if ( (LA12_0=='\'') ) {s = 26;}
+                        else if ( (LA12_0=='\'') ) {s = 28;}
 
-                        else if ( (LA12_0=='/') ) {s = 27;}
+                        else if ( (LA12_0=='/') ) {s = 29;}
 
-                        else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 28;}
+                        else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 30;}
 
-                        else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||LA12_0=='!'||(LA12_0>='#' && LA12_0<='&')||(LA12_0>='(' && LA12_0<=',')||LA12_0==':'||(LA12_0>='<' && LA12_0<='>')||LA12_0=='@'||LA12_0=='\\'||LA12_0=='`'||LA12_0=='|'||(LA12_0>='~' && LA12_0<='\uFFFF')) ) {s = 29;}
+                        else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||LA12_0=='!'||(LA12_0>='#' && LA12_0<='&')||(LA12_0>='(' && LA12_0<=',')||LA12_0==':'||(LA12_0>='<' && LA12_0<='>')||LA12_0=='@'||LA12_0=='\\'||LA12_0=='`'||LA12_0=='|'||(LA12_0>='~' && LA12_0<='\uFFFF')) ) {s = 31;}
 
                         if ( s>=0 ) return s;
                         break;
https://github.com/nasa/CertWare/raw/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2Fparser%2Fantlr%2Finternal%2FInternalStateSpecificationLexer.java
fee035f09cd8d8920ffc70542d854a07cd3f2aba
modified
https://github.com/nasa/CertWare/blob/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2Fserializer%2FStateSpecificationSemanticSequencer.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2Fserializer%2FStateSpecificationSemanticSequencer.java?ref=110fa3222ae2931978d7921dc8e6af8c7f43abd3
net.certware.intent.state/src-gen/net/certware/intent/state/serializer/StateSpecificationSemanticSequencer.java
import net.certware.intent.state.stateSpecification.ValueList;
import net.certware.intent.state.stateSpecification.ValueRange;
			case StateSpecificationPackage.VALUE_LIST:
				if(context == grammarAccess.getValueListRule()) {
					sequence_ValueList(context, (ValueList) semanticObject); 
					return; 
				}
				else break;
			case StateSpecificationPackage.VALUE_RANGE:
				if(context == grammarAccess.getValueRangeRule()) {
					sequence_ValueRange(context, (ValueRange) semanticObject); 
					return; 
				}
				else break;
	 *         range=ValueRange? 
	 *         valueList=ValueList? 
	 *         valueHandling=STRING? 
	 *         granularity=BigUnitValue? 
	 *         arrivalRateAvg=BigUnitValue? 
	 *         arrivalRateMinimum=BigUnitValue? 
	 *         arrivalRateMaximum=BigUnitValue? 
	 *         obsolescence=BigUnitValue? 
	 *         appearsIn=STRING? 
	 *         description=STRING? 
	 *         comments=STRING? 
	 *         structure=TriggerTable?
	 *         range=ValueRange? 
	 *         valueList=ValueList? 
	
	
	/**
	 * Constraint:
	 *     values+=STRING+
	 */
	protected void sequence_ValueList(EObject context, ValueList semanticObject) {
		genericSequencer.createSequence(context, semanticObject);
	}
	
	
	/**
	 * Constraint:
	 *     (lower=BigDecimalType upper=BigDecimalType rangeType=STRING rangeUnits=STRING)
	 */
	protected void sequence_ValueRange(EObject context, ValueRange semanticObject) {
		if(errorAcceptor != null) {
			if(transientValues.isValueTransient(semanticObject, StateSpecificationPackage.Literals.VALUE_RANGE__LOWER) == ValueTransient.YES)
				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, StateSpecificationPackage.Literals.VALUE_RANGE__LOWER));
			if(transientValues.isValueTransient(semanticObject, StateSpecificationPackage.Literals.VALUE_RANGE__UPPER) == ValueTransient.YES)
				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, StateSpecificationPackage.Literals.VALUE_RANGE__UPPER));
			if(transientValues.isValueTransient(semanticObject, StateSpecificationPackage.Literals.VALUE_RANGE__RANGE_TYPE) == ValueTransient.YES)
				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, StateSpecificationPackage.Literals.VALUE_RANGE__RANGE_TYPE));
			if(transientValues.isValueTransient(semanticObject, StateSpecificationPackage.Literals.VALUE_RANGE__RANGE_UNITS) == ValueTransient.YES)
				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, StateSpecificationPackage.Literals.VALUE_RANGE__RANGE_UNITS));
		}
		INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
		SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
		feeder.accept(grammarAccess.getValueRangeAccess().getLowerBigDecimalTypeParserRuleCall_1_0(), semanticObject.getLower());
		feeder.accept(grammarAccess.getValueRangeAccess().getUpperBigDecimalTypeParserRuleCall_3_0(), semanticObject.getUpper());
		feeder.accept(grammarAccess.getValueRangeAccess().getRangeTypeSTRINGTerminalRuleCall_6_0(), semanticObject.getRangeType());
		feeder.accept(grammarAccess.getValueRangeAccess().getRangeUnitsSTRINGTerminalRuleCall_8_0(), semanticObject.getRangeUnits());
		feeder.finish();
	}
EObject context  ValueList semanticObject
net.certware.intent.state/src-gen/net/certware/intent/state/serializer/StateSpecificationSemanticSequencer.java
genericSequencer.createSequence(context, semanticObject);
void sequence_ValueList(EObject context, ValueList semanticObject)
EObject context  ValueRange semanticObject
net.certware.intent.state/src-gen/net/certware/intent/state/serializer/StateSpecificationSemanticSequencer.java
if(errorAcceptor != null) {
			if(transientValues.isValueTransient(semanticObject, StateSpecificationPackage.Literals.VALUE_RANGE__LOWER) == ValueTransient.YES)
				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, StateSpecificationPackage.Literals.VALUE_RANGE__LOWER));
			if(transientValues.isValueTransient(semanticObject, StateSpecificationPackage.Literals.VALUE_RANGE__UPPER) == ValueTransient.YES)
				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, StateSpecificationPackage.Literals.VALUE_RANGE__UPPER));
			if(transientValues.isValueTransient(semanticObject, StateSpecificationPackage.Literals.VALUE_RANGE__RANGE_TYPE) == ValueTransient.YES)
				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, StateSpecificationPackage.Literals.VALUE_RANGE__RANGE_TYPE));
			if(transientValues.isValueTransient(semanticObject, StateSpecificationPackage.Literals.VALUE_RANGE__RANGE_UNITS) == ValueTransient.YES)
				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, StateSpecificationPackage.Literals.VALUE_RANGE__RANGE_UNITS));
void sequence_ValueRange(EObject context, ValueRange semanticObject)
	 *         ((lower=BigDecimalType upper=BigDecimalType rangeType=STRING rangeUnits=STRING) | values+=STRING*) 
	 *         rate=BigUnitValue? 
	 *         variables=STRING? 
	 *         comments=STRING?
	 *         ((lower=BigDecimalType upper=BigDecimalType rangeType=STRING rangeUnits=STRING) | values+=STRING*) 
@@ -25,6 +25,8 @@
 import net.certware.intent.state.stateSpecification.StateVariable;
 import net.certware.intent.state.stateSpecification.Trigger;
 import net.certware.intent.state.stateSpecification.TriggerTable;
+import net.certware.intent.state.stateSpecification.ValueList;
+import net.certware.intent.state.stateSpecification.ValueRange;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.xtext.serializer.acceptor.ISemanticSequenceAcceptor;
 import org.eclipse.xtext.serializer.acceptor.SequenceFeeder;
@@ -171,6 +173,18 @@ public void createSequence(EObject context, EObject semanticObject) {
 					return; 
 				}
 				else break;
+			case StateSpecificationPackage.VALUE_LIST:
+				if(context == grammarAccess.getValueListRule()) {
+					sequence_ValueList(context, (ValueList) semanticObject); 
+					return; 
+				}
+				else break;
+			case StateSpecificationPackage.VALUE_RANGE:
+				if(context == grammarAccess.getValueRangeRule()) {
+					sequence_ValueRange(context, (ValueRange) semanticObject); 
+					return; 
+				}
+				else break;
 			}
 		if (errorAcceptor != null) errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context));
 	}
@@ -251,11 +265,19 @@ protected void sequence_Device(EObject context, Device semanticObject) {
 	/**
 	 * Constraint:
 	 *     (
-	 *         ((lower=BigDecimalType upper=BigDecimalType rangeType=STRING rangeUnits=STRING) | values+=STRING*) 
-	 *         rate=BigUnitValue? 
-	 *         variables=STRING? 
+	 *         range=ValueRange? 
+	 *         valueList=ValueList? 
+	 *         valueHandling=STRING? 
+	 *         granularity=BigUnitValue? 
+	 *         arrivalRateAvg=BigUnitValue? 
+	 *         arrivalRateMinimum=BigUnitValue? 
+	 *         arrivalRateMaximum=BigUnitValue? 
+	 *         obsolescence=BigUnitValue? 
 	 *         references=STRING? 
-	 *         comments=STRING?
+	 *         appearsIn=STRING? 
+	 *         description=STRING? 
+	 *         comments=STRING? 
+	 *         structure=TriggerTable?
 	 *     )
 	 */
 	protected void sequence_Input(EObject context, Input semanticObject) {
@@ -302,7 +324,8 @@ protected void sequence_Mode(EObject context, Mode semanticObject) {
 	/**
 	 * Constraint:
 	 *     (
-	 *         ((lower=BigDecimalType upper=BigDecimalType rangeType=STRING rangeUnits=STRING) | values+=STRING*) 
+	 *         range=ValueRange? 
+	 *         valueList=ValueList? 
 	 *         rate=BigUnitValue? 
 	 *         delay=BigUnitValue? 
 	 *         deadline=BigUnitValue? 
@@ -394,4 +417,38 @@ protected void sequence_TriggerTable(EObject context, TriggerTable semanticObjec
 	protected void sequence_Trigger(EObject context, Trigger semanticObject) {
 		genericSequencer.createSequence(context, semanticObject);
 	}
+	
+	
+	/**
+	 * Constraint:
+	 *     values+=STRING+
+	 */
+	protected void sequence_ValueList(EObject context, ValueList semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
+	}
+	
+	
+	/**
+	 * Constraint:
+	 *     (lower=BigDecimalType upper=BigDecimalType rangeType=STRING rangeUnits=STRING)
+	 */
+	protected void sequence_ValueRange(EObject context, ValueRange semanticObject) {
+		if(errorAcceptor != null) {
+			if(transientValues.isValueTransient(semanticObject, StateSpecificationPackage.Literals.VALUE_RANGE__LOWER) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, StateSpecificationPackage.Literals.VALUE_RANGE__LOWER));
+			if(transientValues.isValueTransient(semanticObject, StateSpecificationPackage.Literals.VALUE_RANGE__UPPER) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, StateSpecificationPackage.Literals.VALUE_RANGE__UPPER));
+			if(transientValues.isValueTransient(semanticObject, StateSpecificationPackage.Literals.VALUE_RANGE__RANGE_TYPE) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, StateSpecificationPackage.Literals.VALUE_RANGE__RANGE_TYPE));
+			if(transientValues.isValueTransient(semanticObject, StateSpecificationPackage.Literals.VALUE_RANGE__RANGE_UNITS) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, StateSpecificationPackage.Literals.VALUE_RANGE__RANGE_UNITS));
+		}
+		INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+		SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+		feeder.accept(grammarAccess.getValueRangeAccess().getLowerBigDecimalTypeParserRuleCall_1_0(), semanticObject.getLower());
+		feeder.accept(grammarAccess.getValueRangeAccess().getUpperBigDecimalTypeParserRuleCall_3_0(), semanticObject.getUpper());
+		feeder.accept(grammarAccess.getValueRangeAccess().getRangeTypeSTRINGTerminalRuleCall_6_0(), semanticObject.getRangeType());
+		feeder.accept(grammarAccess.getValueRangeAccess().getRangeUnitsSTRINGTerminalRuleCall_8_0(), semanticObject.getRangeUnits());
+		feeder.finish();
+	}
 }
https://github.com/nasa/CertWare/raw/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2Fserializer%2FStateSpecificationSemanticSequencer.java
afb9712be0afe058ec6ef08f006a6debd2de0452
modified
https://github.com/nasa/CertWare/blob/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2Fservices%2FStateSpecificationGrammarAccess.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2Fservices%2FStateSpecificationGrammarAccess.java?ref=110fa3222ae2931978d7921dc8e6af8c7f43abd3
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
	public class ValueRangeElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ValueRange");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Keyword cLeftCurlyBracketKeyword_0 = (Keyword)cGroup.eContents().get(0);
		private final Assignment cLowerAssignment_1 = (Assignment)cGroup.eContents().get(1);
		private final RuleCall cLowerBigDecimalTypeParserRuleCall_1_0 = (RuleCall)cLowerAssignment_1.eContents().get(0);
		private final Keyword cFullStopFullStopFullStopKeyword_2 = (Keyword)cGroup.eContents().get(2);
		private final Assignment cUpperAssignment_3 = (Assignment)cGroup.eContents().get(3);
		private final RuleCall cUpperBigDecimalTypeParserRuleCall_3_0 = (RuleCall)cUpperAssignment_3.eContents().get(0);
		private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
		private final Keyword cTypeKeyword_5 = (Keyword)cGroup.eContents().get(5);
		private final Assignment cRangeTypeAssignment_6 = (Assignment)cGroup.eContents().get(6);
		private final RuleCall cRangeTypeSTRINGTerminalRuleCall_6_0 = (RuleCall)cRangeTypeAssignment_6.eContents().get(0);
		private final Keyword cUnitsKeyword_7 = (Keyword)cGroup.eContents().get(7);
		private final Assignment cRangeUnitsAssignment_8 = (Assignment)cGroup.eContents().get(8);
		private final RuleCall cRangeUnitsSTRINGTerminalRuleCall_8_0 = (RuleCall)cRangeUnitsAssignment_8.eContents().get(0);
		private final Keyword cRightCurlyBracketKeyword_9 = (Keyword)cGroup.eContents().get(9);
		
		//ValueRange:
		//	"{" lower=BigDecimalType "..." upper=BigDecimalType "}" "type" rangeType=STRING "units" rangeUnits=STRING "}";
		public ParserRule getRule() { return rule; }

		//"{" lower=BigDecimalType "..." upper=BigDecimalType "}" "type" rangeType=STRING "units" rangeUnits=STRING "}"
		public Group getGroup() { return cGroup; }

		//"{"
		public Keyword getLeftCurlyBracketKeyword_0() { return cLeftCurlyBracketKeyword_0; }

		//lower=BigDecimalType
		public Assignment getLowerAssignment_1() { return cLowerAssignment_1; }

		//BigDecimalType
		public RuleCall getLowerBigDecimalTypeParserRuleCall_1_0() { return cLowerBigDecimalTypeParserRuleCall_1_0; }

		//"..."
		public Keyword getFullStopFullStopFullStopKeyword_2() { return cFullStopFullStopFullStopKeyword_2; }

		//upper=BigDecimalType
		public Assignment getUpperAssignment_3() { return cUpperAssignment_3; }

		//BigDecimalType
		public RuleCall getUpperBigDecimalTypeParserRuleCall_3_0() { return cUpperBigDecimalTypeParserRuleCall_3_0; }

		//"}"
		public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }

		//"type"
		public Keyword getTypeKeyword_5() { return cTypeKeyword_5; }

		//rangeType=STRING
		public Assignment getRangeTypeAssignment_6() { return cRangeTypeAssignment_6; }

		//STRING
		public RuleCall getRangeTypeSTRINGTerminalRuleCall_6_0() { return cRangeTypeSTRINGTerminalRuleCall_6_0; }

		//"units"
		public Keyword getUnitsKeyword_7() { return cUnitsKeyword_7; }

		//rangeUnits=STRING
		public Assignment getRangeUnitsAssignment_8() { return cRangeUnitsAssignment_8; }

		//STRING
		public RuleCall getRangeUnitsSTRINGTerminalRuleCall_8_0() { return cRangeUnitsSTRINGTerminalRuleCall_8_0; }

		//"}"
		public Keyword getRightCurlyBracketKeyword_9() { return cRightCurlyBracketKeyword_9; }
	}

	public class ValueListElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ValueList");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Keyword cLeftCurlyBracketKeyword_0 = (Keyword)cGroup.eContents().get(0);
		private final Assignment cValuesAssignment_1 = (Assignment)cGroup.eContents().get(1);
		private final RuleCall cValuesSTRINGTerminalRuleCall_1_0 = (RuleCall)cValuesAssignment_1.eContents().get(0);
		private final Keyword cRightCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
		
		//ValueList:
		//	"{" values+=STRING+ "}";
		public ParserRule getRule() { return rule; }

		//"{" values+=STRING+ "}"
		public Group getGroup() { return cGroup; }

		//"{"
		public Keyword getLeftCurlyBracketKeyword_0() { return cLeftCurlyBracketKeyword_0; }

		//values+=STRING+
		public Assignment getValuesAssignment_1() { return cValuesAssignment_1; }

		//STRING
		public RuleCall getValuesSTRINGTerminalRuleCall_1_0() { return cValuesSTRINGTerminalRuleCall_1_0; }

		//"}"
		public Keyword getRightCurlyBracketKeyword_2() { return cRightCurlyBracketKeyword_2; }
	}

		private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
		private final Keyword cRangeKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
		private final Assignment cRangeAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
		private final RuleCall cRangeValueRangeParserRuleCall_1_1_0 = (RuleCall)cRangeAssignment_1_1.eContents().get(0);
		private final Keyword cValueListKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
		private final Assignment cValueListAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
		private final RuleCall cValueListValueListParserRuleCall_2_1_0 = (RuleCall)cValueListAssignment_2_1.eContents().get(0);
		private final Keyword cRateKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
		private final Assignment cRateAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
		private final RuleCall cRateBigUnitValueParserRuleCall_3_1_0 = (RuleCall)cRateAssignment_3_1.eContents().get(0);
		private final Keyword cInitiationDelayKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
		private final Assignment cDelayAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
		private final RuleCall cDelayBigUnitValueParserRuleCall_4_1_0 = (RuleCall)cDelayAssignment_4_1.eContents().get(0);
		private final Keyword cCompletionDeadlineKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
		private final Assignment cDeadlineAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1);
		private final RuleCall cDeadlineBigUnitValueParserRuleCall_5_1_0 = (RuleCall)cDeadlineAssignment_5_1.eContents().get(0);
		private final Keyword cCompletionExceptionKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0);
		private final Assignment cCompletionHandlingAssignment_6_1 = (Assignment)cGroup_6.eContents().get(1);
		private final RuleCall cCompletionHandlingSTRINGTerminalRuleCall_6_1_0 = (RuleCall)cCompletionHandlingAssignment_6_1.eContents().get(0);
		private final Keyword cVariablesKeyword_7_0 = (Keyword)cGroup_7.eContents().get(0);
		private final Assignment cVariablesAssignment_7_1 = (Assignment)cGroup_7.eContents().get(1);
		private final RuleCall cVariablesSTRINGTerminalRuleCall_7_1_0 = (RuleCall)cVariablesAssignment_7_1.eContents().get(0);
		private final Keyword cRelationshipKeyword_8_0 = (Keyword)cGroup_8.eContents().get(0);
		private final Assignment cRelationshipAssignment_8_1 = (Assignment)cGroup_8.eContents().get(1);
		private final RuleCall cRelationshipSTRINGTerminalRuleCall_8_1_0 = (RuleCall)cRelationshipAssignment_8_1.eContents().get(0);
		private final Keyword cMinResponseTimeKeyword_9_0 = (Keyword)cGroup_9.eContents().get(0);
		private final Assignment cMinResponseAssignment_9_1 = (Assignment)cGroup_9.eContents().get(1);
		private final RuleCall cMinResponseBigUnitValueParserRuleCall_9_1_0 = (RuleCall)cMinResponseAssignment_9_1.eContents().get(0);
		private final Keyword cMaxResponseTimeKeyword_10_0 = (Keyword)cGroup_10.eContents().get(0);
		private final Assignment cMaxResponseAssignment_10_1 = (Assignment)cGroup_10.eContents().get(1);
		private final RuleCall cMaxResponseBigUnitValueParserRuleCall_10_1_0 = (RuleCall)cMaxResponseAssignment_10_1.eContents().get(0);
		private final Keyword cFeedbackExceptionKeyword_11_0 = (Keyword)cGroup_11.eContents().get(0);
		private final Assignment cFeebackHandlingAssignment_11_1 = (Assignment)cGroup_11.eContents().get(1);
		private final RuleCall cFeebackHandlingSTRINGTerminalRuleCall_11_1_0 = (RuleCall)cFeebackHandlingAssignment_11_1.eContents().get(0);
		private final Keyword cReversedByKeyword_12_0 = (Keyword)cGroup_12.eContents().get(0);
		private final Assignment cReversedAssignment_12_1 = (Assignment)cGroup_12.eContents().get(1);
		private final RuleCall cReversedSTRINGTerminalRuleCall_12_1_0 = (RuleCall)cReversedAssignment_12_1.eContents().get(0);
		private final Keyword cReferencesKeyword_13_0 = (Keyword)cGroup_13.eContents().get(0);
		private final Assignment cReferencesAssignment_13_1 = (Assignment)cGroup_13.eContents().get(1);
		private final RuleCall cReferencesSTRINGTerminalRuleCall_13_1_0 = (RuleCall)cReferencesAssignment_13_1.eContents().get(0);
		private final Keyword cCommentsKeyword_14_0 = (Keyword)cGroup_14.eContents().get(0);
		private final Assignment cCommentsAssignment_14_1 = (Assignment)cGroup_14.eContents().get(1);
		private final RuleCall cCommentsSTRINGTerminalRuleCall_14_1_0 = (RuleCall)cCommentsAssignment_14_1.eContents().get(0);
		private final Keyword cContentsKeyword_15_0 = (Keyword)cGroup_15.eContents().get(0);
		private final Assignment cContentsAssignment_15_1 = (Assignment)cGroup_15.eContents().get(1);
		private final RuleCall cContentsSTRINGTerminalRuleCall_15_1_0 = (RuleCall)cContentsAssignment_15_1.eContents().get(0);
		private final Group cGroup_16 = (Group)cGroup.eContents().get(16);
		private final Keyword cTriggeringKeyword_16_0 = (Keyword)cGroup_16.eContents().get(0);
		private final Assignment cTableAssignment_16_1 = (Assignment)cGroup_16.eContents().get(1);
		private final RuleCall cTableTriggerTableParserRuleCall_16_1_0 = (RuleCall)cTableAssignment_16_1.eContents().get(0);
		//	{Output} ("range" range=ValueRange)? ("value-list" valueList=ValueList)? ("rate" rate=BigUnitValue)?
		//	("initiation-delay" delay=BigUnitValue)? ("completion-deadline" deadline=BigUnitValue)? ("completion-exception"
		//{Output} ("range" range=ValueRange)? ("value-list" valueList=ValueList)? ("rate" rate=BigUnitValue)? ("initiation-delay"
		//("range" range=ValueRange)?
		public Group getGroup_1() { return cGroup_1; }
		public Keyword getRangeKeyword_1_0() { return cRangeKeyword_1_0; }
		//range=ValueRange
		public Assignment getRangeAssignment_1_1() { return cRangeAssignment_1_1; }
		//ValueRange
		public RuleCall getRangeValueRangeParserRuleCall_1_1_0() { return cRangeValueRangeParserRuleCall_1_1_0; }
		//("value-list" valueList=ValueList)?
		public Group getGroup_2() { return cGroup_2; }
		//"value-list"
		public Keyword getValueListKeyword_2_0() { return cValueListKeyword_2_0; }
		//valueList=ValueList
		public Assignment getValueListAssignment_2_1() { return cValueListAssignment_2_1; }
		//ValueList
		public RuleCall getValueListValueListParserRuleCall_2_1_0() { return cValueListValueListParserRuleCall_2_1_0; }
		public Group getGroup_3() { return cGroup_3; }
		public Keyword getRateKeyword_3_0() { return cRateKeyword_3_0; }
		public Assignment getRateAssignment_3_1() { return cRateAssignment_3_1; }
		public RuleCall getRateBigUnitValueParserRuleCall_3_1_0() { return cRateBigUnitValueParserRuleCall_3_1_0; }
		public Group getGroup_4() { return cGroup_4; }
		public Keyword getInitiationDelayKeyword_4_0() { return cInitiationDelayKeyword_4_0; }
		public Assignment getDelayAssignment_4_1() { return cDelayAssignment_4_1; }
		public RuleCall getDelayBigUnitValueParserRuleCall_4_1_0() { return cDelayBigUnitValueParserRuleCall_4_1_0; }
		public Group getGroup_5() { return cGroup_5; }
		public Keyword getCompletionDeadlineKeyword_5_0() { return cCompletionDeadlineKeyword_5_0; }
		public Assignment getDeadlineAssignment_5_1() { return cDeadlineAssignment_5_1; }
		public RuleCall getDeadlineBigUnitValueParserRuleCall_5_1_0() { return cDeadlineBigUnitValueParserRuleCall_5_1_0; }
		public Group getGroup_6() { return cGroup_6; }
		public Keyword getCompletionExceptionKeyword_6_0() { return cCompletionExceptionKeyword_6_0; }
		public Assignment getCompletionHandlingAssignment_6_1() { return cCompletionHandlingAssignment_6_1; }
		public RuleCall getCompletionHandlingSTRINGTerminalRuleCall_6_1_0() { return cCompletionHandlingSTRINGTerminalRuleCall_6_1_0; }
		public Group getGroup_7() { return cGroup_7; }
		public Keyword getVariablesKeyword_7_0() { return cVariablesKeyword_7_0; }
		public Assignment getVariablesAssignment_7_1() { return cVariablesAssignment_7_1; }
		public RuleCall getVariablesSTRINGTerminalRuleCall_7_1_0() { return cVariablesSTRINGTerminalRuleCall_7_1_0; }
		public Group getGroup_8() { return cGroup_8; }
		public Keyword getRelationshipKeyword_8_0() { return cRelationshipKeyword_8_0; }
		public Assignment getRelationshipAssignment_8_1() { return cRelationshipAssignment_8_1; }
		public RuleCall getRelationshipSTRINGTerminalRuleCall_8_1_0() { return cRelationshipSTRINGTerminalRuleCall_8_1_0; }
		public Group getGroup_9() { return cGroup_9; }
		public Keyword getMinResponseTimeKeyword_9_0() { return cMinResponseTimeKeyword_9_0; }
		public Assignment getMinResponseAssignment_9_1() { return cMinResponseAssignment_9_1; }
		public RuleCall getMinResponseBigUnitValueParserRuleCall_9_1_0() { return cMinResponseBigUnitValueParserRuleCall_9_1_0; }
		public Group getGroup_10() { return cGroup_10; }
		public Keyword getMaxResponseTimeKeyword_10_0() { return cMaxResponseTimeKeyword_10_0; }
		public Assignment getMaxResponseAssignment_10_1() { return cMaxResponseAssignment_10_1; }
		public RuleCall getMaxResponseBigUnitValueParserRuleCall_10_1_0() { return cMaxResponseBigUnitValueParserRuleCall_10_1_0; }
		public Group getGroup_11() { return cGroup_11; }
		public Keyword getFeedbackExceptionKeyword_11_0() { return cFeedbackExceptionKeyword_11_0; }
		public Assignment getFeebackHandlingAssignment_11_1() { return cFeebackHandlingAssignment_11_1; }
		public RuleCall getFeebackHandlingSTRINGTerminalRuleCall_11_1_0() { return cFeebackHandlingSTRINGTerminalRuleCall_11_1_0; }
		public Group getGroup_12() { return cGroup_12; }
		public Keyword getReversedByKeyword_12_0() { return cReversedByKeyword_12_0; }
		public Assignment getReversedAssignment_12_1() { return cReversedAssignment_12_1; }
		public RuleCall getReversedSTRINGTerminalRuleCall_12_1_0() { return cReversedSTRINGTerminalRuleCall_12_1_0; }
		public Group getGroup_13() { return cGroup_13; }
		public Keyword getReferencesKeyword_13_0() { return cReferencesKeyword_13_0; }
		public Assignment getReferencesAssignment_13_1() { return cReferencesAssignment_13_1; }
		public RuleCall getReferencesSTRINGTerminalRuleCall_13_1_0() { return cReferencesSTRINGTerminalRuleCall_13_1_0; }
		public Group getGroup_14() { return cGroup_14; }
		public Keyword getCommentsKeyword_14_0() { return cCommentsKeyword_14_0; }
		public Assignment getCommentsAssignment_14_1() { return cCommentsAssignment_14_1; }
		public RuleCall getCommentsSTRINGTerminalRuleCall_14_1_0() { return cCommentsSTRINGTerminalRuleCall_14_1_0; }
		public Group getGroup_15() { return cGroup_15; }
		public Keyword getContentsKeyword_15_0() { return cContentsKeyword_15_0; }
		public Assignment getContentsAssignment_15_1() { return cContentsAssignment_15_1; }
		public RuleCall getContentsSTRINGTerminalRuleCall_15_1_0() { return cContentsSTRINGTerminalRuleCall_15_1_0; }
		public Group getGroup_16() { return cGroup_16; }
		public Keyword getTriggeringKeyword_16_0() { return cTriggeringKeyword_16_0; }
		public Assignment getTableAssignment_16_1() { return cTableAssignment_16_1; }
		public RuleCall getTableTriggerTableParserRuleCall_16_1_0() { return cTableTriggerTableParserRuleCall_16_1_0; }
		private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
		private final Keyword cRangeKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
		private final Assignment cRangeAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
		private final RuleCall cRangeValueRangeParserRuleCall_1_1_0 = (RuleCall)cRangeAssignment_1_1.eContents().get(0);
		private final Keyword cValueListKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
		private final Assignment cValueListAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
		private final RuleCall cValueListValueListParserRuleCall_2_1_0 = (RuleCall)cValueListAssignment_2_1.eContents().get(0);
		private final Keyword cValueExceptionKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
		private final Assignment cValueHandlingAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
		private final RuleCall cValueHandlingSTRINGTerminalRuleCall_3_1_0 = (RuleCall)cValueHandlingAssignment_3_1.eContents().get(0);
		private final Keyword cGranularityKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
		private final Assignment cGranularityAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
		private final RuleCall cGranularityBigUnitValueParserRuleCall_4_1_0 = (RuleCall)cGranularityAssignment_4_1.eContents().get(0);
		private final Keyword cArrivalRateAvgKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
		private final Assignment cArrivalRateAvgAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1);
		private final RuleCall cArrivalRateAvgBigUnitValueParserRuleCall_5_1_0 = (RuleCall)cArrivalRateAvgAssignment_5_1.eContents().get(0);
		private final Group cGroup_6 = (Group)cGroup.eContents().get(6);
		private final Keyword cArrivalRateMinimumKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0);
		private final Assignment cArrivalRateMinimumAssignment_6_1 = (Assignment)cGroup_6.eContents().get(1);
		private final RuleCall cArrivalRateMinimumBigUnitValueParserRuleCall_6_1_0 = (RuleCall)cArrivalRateMinimumAssignment_6_1.eContents().get(0);
		private final Group cGroup_7 = (Group)cGroup.eContents().get(7);
		private final Keyword cArrivalRateMaximumKeyword_7_0 = (Keyword)cGroup_7.eContents().get(0);
		private final Assignment cArrivalRateMaximumAssignment_7_1 = (Assignment)cGroup_7.eContents().get(1);
		private final RuleCall cArrivalRateMaximumBigUnitValueParserRuleCall_7_1_0 = (RuleCall)cArrivalRateMaximumAssignment_7_1.eContents().get(0);
		private final Group cGroup_8 = (Group)cGroup.eContents().get(8);
		private final Keyword cObsolescenceKeyword_8_0 = (Keyword)cGroup_8.eContents().get(0);
		private final Assignment cObsolescenceAssignment_8_1 = (Assignment)cGroup_8.eContents().get(1);
		private final RuleCall cObsolescenceBigUnitValueParserRuleCall_8_1_0 = (RuleCall)cObsolescenceAssignment_8_1.eContents().get(0);
		private final Group cGroup_9 = (Group)cGroup.eContents().get(9);
		private final Keyword cReferencesKeyword_9_0 = (Keyword)cGroup_9.eContents().get(0);
		private final Assignment cReferencesAssignment_9_1 = (Assignment)cGroup_9.eContents().get(1);
		private final RuleCall cReferencesSTRINGTerminalRuleCall_9_1_0 = (RuleCall)cReferencesAssignment_9_1.eContents().get(0);
		private final Group cGroup_10 = (Group)cGroup.eContents().get(10);
		private final Keyword cAppearsInKeyword_10_0 = (Keyword)cGroup_10.eContents().get(0);
		private final Assignment cAppearsInAssignment_10_1 = (Assignment)cGroup_10.eContents().get(1);
		private final RuleCall cAppearsInSTRINGTerminalRuleCall_10_1_0 = (RuleCall)cAppearsInAssignment_10_1.eContents().get(0);
		private final Group cGroup_11 = (Group)cGroup.eContents().get(11);
		private final Keyword cDescriptionKeyword_11_0 = (Keyword)cGroup_11.eContents().get(0);
		private final Assignment cDescriptionAssignment_11_1 = (Assignment)cGroup_11.eContents().get(1);
		private final RuleCall cDescriptionSTRINGTerminalRuleCall_11_1_0 = (RuleCall)cDescriptionAssignment_11_1.eContents().get(0);
		private final Group cGroup_12 = (Group)cGroup.eContents().get(12);
		private final Keyword cCommentsKeyword_12_0 = (Keyword)cGroup_12.eContents().get(0);
		private final Assignment cCommentsAssignment_12_1 = (Assignment)cGroup_12.eContents().get(1);
		private final RuleCall cCommentsSTRINGTerminalRuleCall_12_1_0 = (RuleCall)cCommentsAssignment_12_1.eContents().get(0);
		private final Group cGroup_13 = (Group)cGroup.eContents().get(13);
		private final Keyword cTriggeringKeyword_13_0 = (Keyword)cGroup_13.eContents().get(0);
		private final Assignment cStructureAssignment_13_1 = (Assignment)cGroup_13.eContents().get(1);
		private final RuleCall cStructureTriggerTableParserRuleCall_13_1_0 = (RuleCall)cStructureAssignment_13_1.eContents().get(0);
		//	{Input} ("range" range=ValueRange)? ("value-list" valueList=ValueList)? ("value-exception" valueHandling=STRING)?
		//	("granularity" granularity=BigUnitValue)? ("arrival-rate-avg" arrivalRateAvg=BigUnitValue)? ("arrival-rate-minimum"
		//	arrivalRateMinimum=BigUnitValue)? ("arrival-rate-maximum" arrivalRateMaximum=BigUnitValue)? ("obsolescence"
		//	obsolescence=BigUnitValue)? ("references" references=STRING)? ("appears-in" appearsIn=STRING)? ("description"
		//	description=STRING)? ("comments" comments=STRING)? ("triggering" structure=TriggerTable)?;
		//{Input} ("range" range=ValueRange)? ("value-list" valueList=ValueList)? ("value-exception" valueHandling=STRING)?
		//("granularity" granularity=BigUnitValue)? ("arrival-rate-avg" arrivalRateAvg=BigUnitValue)? ("arrival-rate-minimum"
		//arrivalRateMinimum=BigUnitValue)? ("arrival-rate-maximum" arrivalRateMaximum=BigUnitValue)? ("obsolescence"
		//obsolescence=BigUnitValue)? ("references" references=STRING)? ("appears-in" appearsIn=STRING)? ("description"
		//description=STRING)? ("comments" comments=STRING)? ("triggering" structure=TriggerTable)?
		//("range" range=ValueRange)?
		public Group getGroup_1() { return cGroup_1; }
		public Keyword getRangeKeyword_1_0() { return cRangeKeyword_1_0; }
		//range=ValueRange
		public Assignment getRangeAssignment_1_1() { return cRangeAssignment_1_1; }
		//ValueRange
		public RuleCall getRangeValueRangeParserRuleCall_1_1_0() { return cRangeValueRangeParserRuleCall_1_1_0; }
		//("value-list" valueList=ValueList)?
		public Group getGroup_2() { return cGroup_2; }
		//"value-list"
		public Keyword getValueListKeyword_2_0() { return cValueListKeyword_2_0; }
		//valueList=ValueList
		public Assignment getValueListAssignment_2_1() { return cValueListAssignment_2_1; }
		//ValueList
		public RuleCall getValueListValueListParserRuleCall_2_1_0() { return cValueListValueListParserRuleCall_2_1_0; }
		//("value-exception" valueHandling=STRING)?
		public Group getGroup_3() { return cGroup_3; }
		//"value-exception"
		public Keyword getValueExceptionKeyword_3_0() { return cValueExceptionKeyword_3_0; }
		//valueHandling=STRING
		public Assignment getValueHandlingAssignment_3_1() { return cValueHandlingAssignment_3_1; }
		public RuleCall getValueHandlingSTRINGTerminalRuleCall_3_1_0() { return cValueHandlingSTRINGTerminalRuleCall_3_1_0; }
		//("granularity" granularity=BigUnitValue)?
		public Group getGroup_4() { return cGroup_4; }
		//"granularity"
		public Keyword getGranularityKeyword_4_0() { return cGranularityKeyword_4_0; }
		//granularity=BigUnitValue
		public Assignment getGranularityAssignment_4_1() { return cGranularityAssignment_4_1; }
		//BigUnitValue
		public RuleCall getGranularityBigUnitValueParserRuleCall_4_1_0() { return cGranularityBigUnitValueParserRuleCall_4_1_0; }
		//("arrival-rate-avg" arrivalRateAvg=BigUnitValue)?
		public Group getGroup_5() { return cGroup_5; }
		//"arrival-rate-avg"
		public Keyword getArrivalRateAvgKeyword_5_0() { return cArrivalRateAvgKeyword_5_0; }
		//arrivalRateAvg=BigUnitValue
		public Assignment getArrivalRateAvgAssignment_5_1() { return cArrivalRateAvgAssignment_5_1; }
		//BigUnitValue
		public RuleCall getArrivalRateAvgBigUnitValueParserRuleCall_5_1_0() { return cArrivalRateAvgBigUnitValueParserRuleCall_5_1_0; }
		//("arrival-rate-minimum" arrivalRateMinimum=BigUnitValue)?
		public Group getGroup_6() { return cGroup_6; }
		//"arrival-rate-minimum"
		public Keyword getArrivalRateMinimumKeyword_6_0() { return cArrivalRateMinimumKeyword_6_0; }
		//arrivalRateMinimum=BigUnitValue
		public Assignment getArrivalRateMinimumAssignment_6_1() { return cArrivalRateMinimumAssignment_6_1; }
		//BigUnitValue
		public RuleCall getArrivalRateMinimumBigUnitValueParserRuleCall_6_1_0() { return cArrivalRateMinimumBigUnitValueParserRuleCall_6_1_0; }

		//("arrival-rate-maximum" arrivalRateMaximum=BigUnitValue)?
		public Group getGroup_7() { return cGroup_7; }

		//"arrival-rate-maximum"
		public Keyword getArrivalRateMaximumKeyword_7_0() { return cArrivalRateMaximumKeyword_7_0; }

		//arrivalRateMaximum=BigUnitValue
		public Assignment getArrivalRateMaximumAssignment_7_1() { return cArrivalRateMaximumAssignment_7_1; }
		public RuleCall getArrivalRateMaximumBigUnitValueParserRuleCall_7_1_0() { return cArrivalRateMaximumBigUnitValueParserRuleCall_7_1_0; }
		//("obsolescence" obsolescence=BigUnitValue)?
		public Group getGroup_8() { return cGroup_8; }
		//"obsolescence"
		public Keyword getObsolescenceKeyword_8_0() { return cObsolescenceKeyword_8_0; }
		//obsolescence=BigUnitValue
		public Assignment getObsolescenceAssignment_8_1() { return cObsolescenceAssignment_8_1; }
		//BigUnitValue
		public RuleCall getObsolescenceBigUnitValueParserRuleCall_8_1_0() { return cObsolescenceBigUnitValueParserRuleCall_8_1_0; }
		public Group getGroup_9() { return cGroup_9; }
		public Keyword getReferencesKeyword_9_0() { return cReferencesKeyword_9_0; }
		public Assignment getReferencesAssignment_9_1() { return cReferencesAssignment_9_1; }

		//STRING
		public RuleCall getReferencesSTRINGTerminalRuleCall_9_1_0() { return cReferencesSTRINGTerminalRuleCall_9_1_0; }

		//("appears-in" appearsIn=STRING)?
		public Group getGroup_10() { return cGroup_10; }

		//"appears-in"
		public Keyword getAppearsInKeyword_10_0() { return cAppearsInKeyword_10_0; }

		//appearsIn=STRING
		public Assignment getAppearsInAssignment_10_1() { return cAppearsInAssignment_10_1; }
		public RuleCall getAppearsInSTRINGTerminalRuleCall_10_1_0() { return cAppearsInSTRINGTerminalRuleCall_10_1_0; }

		//("description" description=STRING)?
		public Group getGroup_11() { return cGroup_11; }

		//"description"
		public Keyword getDescriptionKeyword_11_0() { return cDescriptionKeyword_11_0; }

		//description=STRING
		public Assignment getDescriptionAssignment_11_1() { return cDescriptionAssignment_11_1; }

		//STRING
		public RuleCall getDescriptionSTRINGTerminalRuleCall_11_1_0() { return cDescriptionSTRINGTerminalRuleCall_11_1_0; }
		public Group getGroup_12() { return cGroup_12; }
		public Keyword getCommentsKeyword_12_0() { return cCommentsKeyword_12_0; }
		public Assignment getCommentsAssignment_12_1() { return cCommentsAssignment_12_1; }
		public RuleCall getCommentsSTRINGTerminalRuleCall_12_1_0() { return cCommentsSTRINGTerminalRuleCall_12_1_0; }

		//("triggering" structure=TriggerTable)?
		public Group getGroup_13() { return cGroup_13; }

		//"triggering"
		public Keyword getTriggeringKeyword_13_0() { return cTriggeringKeyword_13_0; }

		//structure=TriggerTable
		public Assignment getStructureAssignment_13_1() { return cStructureAssignment_13_1; }

		//TriggerTable
		public RuleCall getStructureTriggerTableParserRuleCall_13_1_0() { return cStructureTriggerTableParserRuleCall_13_1_0; }
	private ValueRangeElements pValueRange;
	private ValueListElements pValueList;
	//ValueRange:
	//	"{" lower=BigDecimalType "..." upper=BigDecimalType "}" "type" rangeType=STRING "units" rangeUnits=STRING "}";
	public ValueRangeElements getValueRangeAccess() {
		return (pValueRange != null) ? pValueRange : (pValueRange = new ValueRangeElements());
	}
	
	public ParserRule getValueRangeRule() {
		return getValueRangeAccess().getRule();
	}

	//ValueList:
	//	"{" values+=STRING+ "}";
	public ValueListElements getValueListAccess() {
		return (pValueList != null) ? pValueList : (pValueList = new ValueListElements());
	}
	
	public ParserRule getValueListRule() {
		return getValueListAccess().getRule();
	}

	//	{Output} ("range" range=ValueRange)? ("value-list" valueList=ValueList)? ("rate" rate=BigUnitValue)?
	//	("initiation-delay" delay=BigUnitValue)? ("completion-deadline" deadline=BigUnitValue)? ("completion-exception"
	//	{Input} ("range" range=ValueRange)? ("value-list" valueList=ValueList)? ("value-exception" valueHandling=STRING)?
	//	("granularity" granularity=BigUnitValue)? ("arrival-rate-avg" arrivalRateAvg=BigUnitValue)? ("arrival-rate-minimum"
	//	arrivalRateMinimum=BigUnitValue)? ("arrival-rate-maximum" arrivalRateMaximum=BigUnitValue)? ("obsolescence"
	//	obsolescence=BigUnitValue)? ("references" references=STRING)? ("appears-in" appearsIn=STRING)? ("description"
	//	description=STRING)? ("comments" comments=STRING)? ("triggering" structure=TriggerTable)?;
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return rule;
ParserRule getRule()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup;
Group getGroup()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cLeftCurlyBracketKeyword_0;
Keyword getLeftCurlyBracketKeyword_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cLowerAssignment_1;
Assignment getLowerAssignment_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cLowerBigDecimalTypeParserRuleCall_1_0;
RuleCall getLowerBigDecimalTypeParserRuleCall_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cFullStopFullStopFullStopKeyword_2;
Keyword getFullStopFullStopFullStopKeyword_2()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cUpperAssignment_3;
Assignment getUpperAssignment_3()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cUpperBigDecimalTypeParserRuleCall_3_0;
RuleCall getUpperBigDecimalTypeParserRuleCall_3_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cRightCurlyBracketKeyword_4;
Keyword getRightCurlyBracketKeyword_4()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cTypeKeyword_5;
Keyword getTypeKeyword_5()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cRangeTypeAssignment_6;
Assignment getRangeTypeAssignment_6()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cRangeTypeSTRINGTerminalRuleCall_6_0;
RuleCall getRangeTypeSTRINGTerminalRuleCall_6_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cUnitsKeyword_7;
Keyword getUnitsKeyword_7()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cRangeUnitsAssignment_8;
Assignment getRangeUnitsAssignment_8()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cRangeUnitsSTRINGTerminalRuleCall_8_0;
RuleCall getRangeUnitsSTRINGTerminalRuleCall_8_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cRightCurlyBracketKeyword_9;
Keyword getRightCurlyBracketKeyword_9()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return rule;
ParserRule getRule()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup;
Group getGroup()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cLeftCurlyBracketKeyword_0;
Keyword getLeftCurlyBracketKeyword_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cValuesAssignment_1;
Assignment getValuesAssignment_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cValuesSTRINGTerminalRuleCall_1_0;
RuleCall getValuesSTRINGTerminalRuleCall_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cRightCurlyBracketKeyword_2;
Keyword getRightCurlyBracketKeyword_2()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_1;
Group getGroup_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cRangeKeyword_1_0;
Keyword getRangeKeyword_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cRangeAssignment_1_1;
Assignment getRangeAssignment_1_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cRangeValueRangeParserRuleCall_1_1_0;
RuleCall getRangeValueRangeParserRuleCall_1_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_2;
Group getGroup_2()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cValueListKeyword_2_0;
Keyword getValueListKeyword_2_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cValueListAssignment_2_1;
Assignment getValueListAssignment_2_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cValueListValueListParserRuleCall_2_1_0;
RuleCall getValueListValueListParserRuleCall_2_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_3;
Group getGroup_3()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cRateKeyword_3_0;
Keyword getRateKeyword_3_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cRateAssignment_3_1;
Assignment getRateAssignment_3_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cRateBigUnitValueParserRuleCall_3_1_0;
RuleCall getRateBigUnitValueParserRuleCall_3_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_4;
Group getGroup_4()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cInitiationDelayKeyword_4_0;
Keyword getInitiationDelayKeyword_4_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cDelayAssignment_4_1;
Assignment getDelayAssignment_4_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cDelayBigUnitValueParserRuleCall_4_1_0;
RuleCall getDelayBigUnitValueParserRuleCall_4_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_5;
Group getGroup_5()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cCompletionDeadlineKeyword_5_0;
Keyword getCompletionDeadlineKeyword_5_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cDeadlineAssignment_5_1;
Assignment getDeadlineAssignment_5_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cDeadlineBigUnitValueParserRuleCall_5_1_0;
RuleCall getDeadlineBigUnitValueParserRuleCall_5_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_6;
Group getGroup_6()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cCompletionExceptionKeyword_6_0;
Keyword getCompletionExceptionKeyword_6_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cCompletionHandlingAssignment_6_1;
Assignment getCompletionHandlingAssignment_6_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cCompletionHandlingSTRINGTerminalRuleCall_6_1_0;
RuleCall getCompletionHandlingSTRINGTerminalRuleCall_6_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_7;
Group getGroup_7()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cVariablesKeyword_7_0;
Keyword getVariablesKeyword_7_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cVariablesAssignment_7_1;
Assignment getVariablesAssignment_7_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cVariablesSTRINGTerminalRuleCall_7_1_0;
RuleCall getVariablesSTRINGTerminalRuleCall_7_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_8;
Group getGroup_8()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cRelationshipKeyword_8_0;
Keyword getRelationshipKeyword_8_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cRelationshipAssignment_8_1;
Assignment getRelationshipAssignment_8_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cRelationshipSTRINGTerminalRuleCall_8_1_0;
RuleCall getRelationshipSTRINGTerminalRuleCall_8_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_9;
Group getGroup_9()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cMinResponseTimeKeyword_9_0;
Keyword getMinResponseTimeKeyword_9_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cMinResponseAssignment_9_1;
Assignment getMinResponseAssignment_9_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cMinResponseBigUnitValueParserRuleCall_9_1_0;
RuleCall getMinResponseBigUnitValueParserRuleCall_9_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_10;
Group getGroup_10()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cMaxResponseTimeKeyword_10_0;
Keyword getMaxResponseTimeKeyword_10_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cMaxResponseAssignment_10_1;
Assignment getMaxResponseAssignment_10_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cMaxResponseBigUnitValueParserRuleCall_10_1_0;
RuleCall getMaxResponseBigUnitValueParserRuleCall_10_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_11;
Group getGroup_11()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cFeedbackExceptionKeyword_11_0;
Keyword getFeedbackExceptionKeyword_11_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cFeebackHandlingAssignment_11_1;
Assignment getFeebackHandlingAssignment_11_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cFeebackHandlingSTRINGTerminalRuleCall_11_1_0;
RuleCall getFeebackHandlingSTRINGTerminalRuleCall_11_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_12;
Group getGroup_12()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cReversedByKeyword_12_0;
Keyword getReversedByKeyword_12_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cReversedAssignment_12_1;
Assignment getReversedAssignment_12_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cReversedSTRINGTerminalRuleCall_12_1_0;
RuleCall getReversedSTRINGTerminalRuleCall_12_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_13;
Group getGroup_13()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cReferencesKeyword_13_0;
Keyword getReferencesKeyword_13_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cReferencesAssignment_13_1;
Assignment getReferencesAssignment_13_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cReferencesSTRINGTerminalRuleCall_13_1_0;
RuleCall getReferencesSTRINGTerminalRuleCall_13_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_14;
Group getGroup_14()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cCommentsKeyword_14_0;
Keyword getCommentsKeyword_14_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cCommentsAssignment_14_1;
Assignment getCommentsAssignment_14_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cCommentsSTRINGTerminalRuleCall_14_1_0;
RuleCall getCommentsSTRINGTerminalRuleCall_14_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_15;
Group getGroup_15()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cContentsKeyword_15_0;
Keyword getContentsKeyword_15_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cContentsAssignment_15_1;
Assignment getContentsAssignment_15_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cContentsSTRINGTerminalRuleCall_15_1_0;
RuleCall getContentsSTRINGTerminalRuleCall_15_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_16;
Group getGroup_16()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cTriggeringKeyword_16_0;
Keyword getTriggeringKeyword_16_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cTableAssignment_16_1;
Assignment getTableAssignment_16_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cTableTriggerTableParserRuleCall_16_1_0;
RuleCall getTableTriggerTableParserRuleCall_16_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_1;
Group getGroup_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cRangeKeyword_1_0;
Keyword getRangeKeyword_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cRangeAssignment_1_1;
Assignment getRangeAssignment_1_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cRangeValueRangeParserRuleCall_1_1_0;
RuleCall getRangeValueRangeParserRuleCall_1_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_2;
Group getGroup_2()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cValueListKeyword_2_0;
Keyword getValueListKeyword_2_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cValueListAssignment_2_1;
Assignment getValueListAssignment_2_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cValueListValueListParserRuleCall_2_1_0;
RuleCall getValueListValueListParserRuleCall_2_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_3;
Group getGroup_3()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cValueExceptionKeyword_3_0;
Keyword getValueExceptionKeyword_3_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cValueHandlingAssignment_3_1;
Assignment getValueHandlingAssignment_3_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cValueHandlingSTRINGTerminalRuleCall_3_1_0;
RuleCall getValueHandlingSTRINGTerminalRuleCall_3_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_4;
Group getGroup_4()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGranularityKeyword_4_0;
Keyword getGranularityKeyword_4_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGranularityAssignment_4_1;
Assignment getGranularityAssignment_4_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGranularityBigUnitValueParserRuleCall_4_1_0;
RuleCall getGranularityBigUnitValueParserRuleCall_4_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_5;
Group getGroup_5()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cArrivalRateAvgKeyword_5_0;
Keyword getArrivalRateAvgKeyword_5_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cArrivalRateAvgAssignment_5_1;
Assignment getArrivalRateAvgAssignment_5_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cArrivalRateAvgBigUnitValueParserRuleCall_5_1_0;
RuleCall getArrivalRateAvgBigUnitValueParserRuleCall_5_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_6;
Group getGroup_6()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cArrivalRateMinimumKeyword_6_0;
Keyword getArrivalRateMinimumKeyword_6_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cArrivalRateMinimumAssignment_6_1;
Assignment getArrivalRateMinimumAssignment_6_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cArrivalRateMinimumBigUnitValueParserRuleCall_6_1_0;
RuleCall getArrivalRateMinimumBigUnitValueParserRuleCall_6_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_7;
Group getGroup_7()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cArrivalRateMaximumKeyword_7_0;
Keyword getArrivalRateMaximumKeyword_7_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cArrivalRateMaximumAssignment_7_1;
Assignment getArrivalRateMaximumAssignment_7_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cArrivalRateMaximumBigUnitValueParserRuleCall_7_1_0;
RuleCall getArrivalRateMaximumBigUnitValueParserRuleCall_7_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_8;
Group getGroup_8()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cObsolescenceKeyword_8_0;
Keyword getObsolescenceKeyword_8_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cObsolescenceAssignment_8_1;
Assignment getObsolescenceAssignment_8_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cObsolescenceBigUnitValueParserRuleCall_8_1_0;
RuleCall getObsolescenceBigUnitValueParserRuleCall_8_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_9;
Group getGroup_9()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cReferencesKeyword_9_0;
Keyword getReferencesKeyword_9_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cReferencesAssignment_9_1;
Assignment getReferencesAssignment_9_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cReferencesSTRINGTerminalRuleCall_9_1_0;
RuleCall getReferencesSTRINGTerminalRuleCall_9_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_10;
Group getGroup_10()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cAppearsInKeyword_10_0;
Keyword getAppearsInKeyword_10_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cAppearsInAssignment_10_1;
Assignment getAppearsInAssignment_10_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cAppearsInSTRINGTerminalRuleCall_10_1_0;
RuleCall getAppearsInSTRINGTerminalRuleCall_10_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_11;
Group getGroup_11()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cDescriptionKeyword_11_0;
Keyword getDescriptionKeyword_11_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cDescriptionAssignment_11_1;
Assignment getDescriptionAssignment_11_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cDescriptionSTRINGTerminalRuleCall_11_1_0;
RuleCall getDescriptionSTRINGTerminalRuleCall_11_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_12;
Group getGroup_12()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cCommentsKeyword_12_0;
Keyword getCommentsKeyword_12_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cCommentsAssignment_12_1;
Assignment getCommentsAssignment_12_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cCommentsSTRINGTerminalRuleCall_12_1_0;
RuleCall getCommentsSTRINGTerminalRuleCall_12_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_13;
Group getGroup_13()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cTriggeringKeyword_13_0;
Keyword getTriggeringKeyword_13_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cStructureAssignment_13_1;
Assignment getStructureAssignment_13_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cStructureTriggerTableParserRuleCall_13_1_0;
RuleCall getStructureTriggerTableParserRuleCall_13_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return (pValueRange != null) ? pValueRange : (pValueRange = new ValueRangeElements());
ValueRangeElements getValueRangeAccess()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return getValueRangeAccess().getRule();
ParserRule getValueRangeRule()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return (pValueList != null) ? pValueList : (pValueList = new ValueListElements());
ValueListElements getValueListAccess()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return getValueListAccess().getRule();
ParserRule getValueListRule()
		private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
		private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0);
		private final Keyword cRangeKeyword_1_0_0 = (Keyword)cGroup_1_0.eContents().get(0);
		private final Keyword cLeftCurlyBracketKeyword_1_0_1 = (Keyword)cGroup_1_0.eContents().get(1);
		private final Assignment cLowerAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2);
		private final RuleCall cLowerBigDecimalTypeParserRuleCall_1_0_2_0 = (RuleCall)cLowerAssignment_1_0_2.eContents().get(0);
		private final Keyword cFullStopFullStopFullStopKeyword_1_0_3 = (Keyword)cGroup_1_0.eContents().get(3);
		private final Assignment cUpperAssignment_1_0_4 = (Assignment)cGroup_1_0.eContents().get(4);
		private final RuleCall cUpperBigDecimalTypeParserRuleCall_1_0_4_0 = (RuleCall)cUpperAssignment_1_0_4.eContents().get(0);
		private final Keyword cRightCurlyBracketKeyword_1_0_5 = (Keyword)cGroup_1_0.eContents().get(5);
		private final Keyword cTypeKeyword_1_0_6 = (Keyword)cGroup_1_0.eContents().get(6);
		private final Assignment cRangeTypeAssignment_1_0_7 = (Assignment)cGroup_1_0.eContents().get(7);
		private final RuleCall cRangeTypeSTRINGTerminalRuleCall_1_0_7_0 = (RuleCall)cRangeTypeAssignment_1_0_7.eContents().get(0);
		private final Keyword cUnitsKeyword_1_0_8 = (Keyword)cGroup_1_0.eContents().get(8);
		private final Assignment cRangeUnitsAssignment_1_0_9 = (Assignment)cGroup_1_0.eContents().get(9);
		private final RuleCall cRangeUnitsSTRINGTerminalRuleCall_1_0_9_0 = (RuleCall)cRangeUnitsAssignment_1_0_9.eContents().get(0);
		private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1);
		private final Keyword cValuesKeyword_1_1_0 = (Keyword)cGroup_1_1.eContents().get(0);
		private final Keyword cLeftCurlyBracketKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1);
		private final Assignment cValuesAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2);
		private final RuleCall cValuesSTRINGTerminalRuleCall_1_1_2_0 = (RuleCall)cValuesAssignment_1_1_2.eContents().get(0);
		private final Keyword cRightCurlyBracketKeyword_1_1_3 = (Keyword)cGroup_1_1.eContents().get(3);
		private final Keyword cRateKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
		private final Assignment cRateAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
		private final RuleCall cRateBigUnitValueParserRuleCall_2_1_0 = (RuleCall)cRateAssignment_2_1.eContents().get(0);
		private final Keyword cInitiationDelayKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
		private final Assignment cDelayAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
		private final RuleCall cDelayBigUnitValueParserRuleCall_3_1_0 = (RuleCall)cDelayAssignment_3_1.eContents().get(0);
		private final Keyword cCompletionDeadlineKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
		private final Assignment cDeadlineAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
		private final RuleCall cDeadlineBigUnitValueParserRuleCall_4_1_0 = (RuleCall)cDeadlineAssignment_4_1.eContents().get(0);
		private final Keyword cCompletionExceptionKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
		private final Assignment cCompletionHandlingAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1);
		private final RuleCall cCompletionHandlingSTRINGTerminalRuleCall_5_1_0 = (RuleCall)cCompletionHandlingAssignment_5_1.eContents().get(0);
		private final Keyword cVariablesKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0);
		private final Assignment cVariablesAssignment_6_1 = (Assignment)cGroup_6.eContents().get(1);
		private final RuleCall cVariablesSTRINGTerminalRuleCall_6_1_0 = (RuleCall)cVariablesAssignment_6_1.eContents().get(0);
		private final Keyword cRelationshipKeyword_7_0 = (Keyword)cGroup_7.eContents().get(0);
		private final Assignment cRelationshipAssignment_7_1 = (Assignment)cGroup_7.eContents().get(1);
		private final RuleCall cRelationshipSTRINGTerminalRuleCall_7_1_0 = (RuleCall)cRelationshipAssignment_7_1.eContents().get(0);
		private final Keyword cMinResponseTimeKeyword_8_0 = (Keyword)cGroup_8.eContents().get(0);
		private final Assignment cMinResponseAssignment_8_1 = (Assignment)cGroup_8.eContents().get(1);
		private final RuleCall cMinResponseBigUnitValueParserRuleCall_8_1_0 = (RuleCall)cMinResponseAssignment_8_1.eContents().get(0);
		private final Keyword cMaxResponseTimeKeyword_9_0 = (Keyword)cGroup_9.eContents().get(0);
		private final Assignment cMaxResponseAssignment_9_1 = (Assignment)cGroup_9.eContents().get(1);
		private final RuleCall cMaxResponseBigUnitValueParserRuleCall_9_1_0 = (RuleCall)cMaxResponseAssignment_9_1.eContents().get(0);
		private final Keyword cFeedbackExceptionKeyword_10_0 = (Keyword)cGroup_10.eContents().get(0);
		private final Assignment cFeebackHandlingAssignment_10_1 = (Assignment)cGroup_10.eContents().get(1);
		private final RuleCall cFeebackHandlingSTRINGTerminalRuleCall_10_1_0 = (RuleCall)cFeebackHandlingAssignment_10_1.eContents().get(0);
		private final Keyword cReversedByKeyword_11_0 = (Keyword)cGroup_11.eContents().get(0);
		private final Assignment cReversedAssignment_11_1 = (Assignment)cGroup_11.eContents().get(1);
		private final RuleCall cReversedSTRINGTerminalRuleCall_11_1_0 = (RuleCall)cReversedAssignment_11_1.eContents().get(0);
		private final Keyword cReferencesKeyword_12_0 = (Keyword)cGroup_12.eContents().get(0);
		private final Assignment cReferencesAssignment_12_1 = (Assignment)cGroup_12.eContents().get(1);
		private final RuleCall cReferencesSTRINGTerminalRuleCall_12_1_0 = (RuleCall)cReferencesAssignment_12_1.eContents().get(0);
		private final Keyword cCommentsKeyword_13_0 = (Keyword)cGroup_13.eContents().get(0);
		private final Assignment cCommentsAssignment_13_1 = (Assignment)cGroup_13.eContents().get(1);
		private final RuleCall cCommentsSTRINGTerminalRuleCall_13_1_0 = (RuleCall)cCommentsAssignment_13_1.eContents().get(0);
		private final Keyword cContentsKeyword_14_0 = (Keyword)cGroup_14.eContents().get(0);
		private final Assignment cContentsAssignment_14_1 = (Assignment)cGroup_14.eContents().get(1);
		private final RuleCall cContentsSTRINGTerminalRuleCall_14_1_0 = (RuleCall)cContentsAssignment_14_1.eContents().get(0);
		private final Keyword cTriggeringKeyword_15_0 = (Keyword)cGroup_15.eContents().get(0);
		private final Assignment cTableAssignment_15_1 = (Assignment)cGroup_15.eContents().get(1);
		private final RuleCall cTableTriggerTableParserRuleCall_15_1_0 = (RuleCall)cTableAssignment_15_1.eContents().get(0);
		//	{Output} ("range" "{" lower=BigDecimalType "..." upper=BigDecimalType "}" "type" rangeType=STRING "units"
		//	rangeUnits=STRING | "values" "{" values+=STRING* "}") ("rate" rate=BigUnitValue)? ("initiation-delay"
		//	delay=BigUnitValue)? ("completion-deadline" deadline=BigUnitValue)? ("completion-exception"
		//{Output} ("range" "{" lower=BigDecimalType "..." upper=BigDecimalType "}" "type" rangeType=STRING "units"
		//rangeUnits=STRING | "values" "{" values+=STRING* "}") ("rate" rate=BigUnitValue)? ("initiation-delay"
		//"range" "{" lower=BigDecimalType "..." upper=BigDecimalType "}" "type" rangeType=STRING "units" rangeUnits=STRING |
		//"values" "{" values+=STRING* "}"
		public Alternatives getAlternatives_1() { return cAlternatives_1; }

		//"range" "{" lower=BigDecimalType "..." upper=BigDecimalType "}" "type" rangeType=STRING "units" rangeUnits=STRING
		public Group getGroup_1_0() { return cGroup_1_0; }
		public Keyword getRangeKeyword_1_0_0() { return cRangeKeyword_1_0_0; }

		//"{"
		public Keyword getLeftCurlyBracketKeyword_1_0_1() { return cLeftCurlyBracketKeyword_1_0_1; }

		//lower=BigDecimalType
		public Assignment getLowerAssignment_1_0_2() { return cLowerAssignment_1_0_2; }

		//BigDecimalType
		public RuleCall getLowerBigDecimalTypeParserRuleCall_1_0_2_0() { return cLowerBigDecimalTypeParserRuleCall_1_0_2_0; }

		//"..."
		public Keyword getFullStopFullStopFullStopKeyword_1_0_3() { return cFullStopFullStopFullStopKeyword_1_0_3; }

		//upper=BigDecimalType
		public Assignment getUpperAssignment_1_0_4() { return cUpperAssignment_1_0_4; }

		//BigDecimalType
		public RuleCall getUpperBigDecimalTypeParserRuleCall_1_0_4_0() { return cUpperBigDecimalTypeParserRuleCall_1_0_4_0; }

		//"}"
		public Keyword getRightCurlyBracketKeyword_1_0_5() { return cRightCurlyBracketKeyword_1_0_5; }

		//"type"
		public Keyword getTypeKeyword_1_0_6() { return cTypeKeyword_1_0_6; }
		//rangeType=STRING
		public Assignment getRangeTypeAssignment_1_0_7() { return cRangeTypeAssignment_1_0_7; }
		//STRING
		public RuleCall getRangeTypeSTRINGTerminalRuleCall_1_0_7_0() { return cRangeTypeSTRINGTerminalRuleCall_1_0_7_0; }
		//"units"
		public Keyword getUnitsKeyword_1_0_8() { return cUnitsKeyword_1_0_8; }

		//rangeUnits=STRING
		public Assignment getRangeUnitsAssignment_1_0_9() { return cRangeUnitsAssignment_1_0_9; }

		//STRING
		public RuleCall getRangeUnitsSTRINGTerminalRuleCall_1_0_9_0() { return cRangeUnitsSTRINGTerminalRuleCall_1_0_9_0; }

		//"values" "{" values+=STRING* "}"
		public Group getGroup_1_1() { return cGroup_1_1; }

		//"values"
		public Keyword getValuesKeyword_1_1_0() { return cValuesKeyword_1_1_0; }

		//"{"
		public Keyword getLeftCurlyBracketKeyword_1_1_1() { return cLeftCurlyBracketKeyword_1_1_1; }
		//values+=STRING*
		public Assignment getValuesAssignment_1_1_2() { return cValuesAssignment_1_1_2; }
		//STRING
		public RuleCall getValuesSTRINGTerminalRuleCall_1_1_2_0() { return cValuesSTRINGTerminalRuleCall_1_1_2_0; }
		//"}"
		public Keyword getRightCurlyBracketKeyword_1_1_3() { return cRightCurlyBracketKeyword_1_1_3; }
		public Group getGroup_2() { return cGroup_2; }
		public Keyword getRateKeyword_2_0() { return cRateKeyword_2_0; }
		public Assignment getRateAssignment_2_1() { return cRateAssignment_2_1; }
		public RuleCall getRateBigUnitValueParserRuleCall_2_1_0() { return cRateBigUnitValueParserRuleCall_2_1_0; }
		public Group getGroup_3() { return cGroup_3; }
		public Keyword getInitiationDelayKeyword_3_0() { return cInitiationDelayKeyword_3_0; }
		public Assignment getDelayAssignment_3_1() { return cDelayAssignment_3_1; }
		public RuleCall getDelayBigUnitValueParserRuleCall_3_1_0() { return cDelayBigUnitValueParserRuleCall_3_1_0; }
		public Group getGroup_4() { return cGroup_4; }
		public Keyword getCompletionDeadlineKeyword_4_0() { return cCompletionDeadlineKeyword_4_0; }
		public Assignment getDeadlineAssignment_4_1() { return cDeadlineAssignment_4_1; }
		public RuleCall getDeadlineBigUnitValueParserRuleCall_4_1_0() { return cDeadlineBigUnitValueParserRuleCall_4_1_0; }
		public Group getGroup_5() { return cGroup_5; }
		public Keyword getCompletionExceptionKeyword_5_0() { return cCompletionExceptionKeyword_5_0; }
		public Assignment getCompletionHandlingAssignment_5_1() { return cCompletionHandlingAssignment_5_1; }
		public RuleCall getCompletionHandlingSTRINGTerminalRuleCall_5_1_0() { return cCompletionHandlingSTRINGTerminalRuleCall_5_1_0; }
		public Group getGroup_6() { return cGroup_6; }
		public Keyword getVariablesKeyword_6_0() { return cVariablesKeyword_6_0; }
		public Assignment getVariablesAssignment_6_1() { return cVariablesAssignment_6_1; }
		public RuleCall getVariablesSTRINGTerminalRuleCall_6_1_0() { return cVariablesSTRINGTerminalRuleCall_6_1_0; }
		public Group getGroup_7() { return cGroup_7; }
		public Keyword getRelationshipKeyword_7_0() { return cRelationshipKeyword_7_0; }
		public Assignment getRelationshipAssignment_7_1() { return cRelationshipAssignment_7_1; }
		public RuleCall getRelationshipSTRINGTerminalRuleCall_7_1_0() { return cRelationshipSTRINGTerminalRuleCall_7_1_0; }
		public Group getGroup_8() { return cGroup_8; }
		public Keyword getMinResponseTimeKeyword_8_0() { return cMinResponseTimeKeyword_8_0; }
		public Assignment getMinResponseAssignment_8_1() { return cMinResponseAssignment_8_1; }
		public RuleCall getMinResponseBigUnitValueParserRuleCall_8_1_0() { return cMinResponseBigUnitValueParserRuleCall_8_1_0; }
		public Group getGroup_9() { return cGroup_9; }
		public Keyword getMaxResponseTimeKeyword_9_0() { return cMaxResponseTimeKeyword_9_0; }
		public Assignment getMaxResponseAssignment_9_1() { return cMaxResponseAssignment_9_1; }
		public RuleCall getMaxResponseBigUnitValueParserRuleCall_9_1_0() { return cMaxResponseBigUnitValueParserRuleCall_9_1_0; }
		public Group getGroup_10() { return cGroup_10; }
		public Keyword getFeedbackExceptionKeyword_10_0() { return cFeedbackExceptionKeyword_10_0; }
		public Assignment getFeebackHandlingAssignment_10_1() { return cFeebackHandlingAssignment_10_1; }
		public RuleCall getFeebackHandlingSTRINGTerminalRuleCall_10_1_0() { return cFeebackHandlingSTRINGTerminalRuleCall_10_1_0; }
		public Group getGroup_11() { return cGroup_11; }
		public Keyword getReversedByKeyword_11_0() { return cReversedByKeyword_11_0; }
		public Assignment getReversedAssignment_11_1() { return cReversedAssignment_11_1; }
		public RuleCall getReversedSTRINGTerminalRuleCall_11_1_0() { return cReversedSTRINGTerminalRuleCall_11_1_0; }
		public Group getGroup_12() { return cGroup_12; }
		public Keyword getReferencesKeyword_12_0() { return cReferencesKeyword_12_0; }
		public Assignment getReferencesAssignment_12_1() { return cReferencesAssignment_12_1; }
		public RuleCall getReferencesSTRINGTerminalRuleCall_12_1_0() { return cReferencesSTRINGTerminalRuleCall_12_1_0; }
		public Group getGroup_13() { return cGroup_13; }
		public Keyword getCommentsKeyword_13_0() { return cCommentsKeyword_13_0; }
		public Assignment getCommentsAssignment_13_1() { return cCommentsAssignment_13_1; }
		public RuleCall getCommentsSTRINGTerminalRuleCall_13_1_0() { return cCommentsSTRINGTerminalRuleCall_13_1_0; }
		public Group getGroup_14() { return cGroup_14; }
		public Keyword getContentsKeyword_14_0() { return cContentsKeyword_14_0; }
		public Assignment getContentsAssignment_14_1() { return cContentsAssignment_14_1; }
		public RuleCall getContentsSTRINGTerminalRuleCall_14_1_0() { return cContentsSTRINGTerminalRuleCall_14_1_0; }
		public Group getGroup_15() { return cGroup_15; }
		public Keyword getTriggeringKeyword_15_0() { return cTriggeringKeyword_15_0; }
		public Assignment getTableAssignment_15_1() { return cTableAssignment_15_1; }
		public RuleCall getTableTriggerTableParserRuleCall_15_1_0() { return cTableTriggerTableParserRuleCall_15_1_0; }
		private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
		private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0);
		private final Keyword cRangeKeyword_1_0_0 = (Keyword)cGroup_1_0.eContents().get(0);
		private final Keyword cLeftCurlyBracketKeyword_1_0_1 = (Keyword)cGroup_1_0.eContents().get(1);
		private final Assignment cLowerAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2);
		private final RuleCall cLowerBigDecimalTypeParserRuleCall_1_0_2_0 = (RuleCall)cLowerAssignment_1_0_2.eContents().get(0);
		private final Keyword cFullStopFullStopFullStopKeyword_1_0_3 = (Keyword)cGroup_1_0.eContents().get(3);
		private final Assignment cUpperAssignment_1_0_4 = (Assignment)cGroup_1_0.eContents().get(4);
		private final RuleCall cUpperBigDecimalTypeParserRuleCall_1_0_4_0 = (RuleCall)cUpperAssignment_1_0_4.eContents().get(0);
		private final Keyword cRightCurlyBracketKeyword_1_0_5 = (Keyword)cGroup_1_0.eContents().get(5);
		private final Keyword cTypeKeyword_1_0_6 = (Keyword)cGroup_1_0.eContents().get(6);
		private final Assignment cRangeTypeAssignment_1_0_7 = (Assignment)cGroup_1_0.eContents().get(7);
		private final RuleCall cRangeTypeSTRINGTerminalRuleCall_1_0_7_0 = (RuleCall)cRangeTypeAssignment_1_0_7.eContents().get(0);
		private final Keyword cUnitsKeyword_1_0_8 = (Keyword)cGroup_1_0.eContents().get(8);
		private final Assignment cRangeUnitsAssignment_1_0_9 = (Assignment)cGroup_1_0.eContents().get(9);
		private final RuleCall cRangeUnitsSTRINGTerminalRuleCall_1_0_9_0 = (RuleCall)cRangeUnitsAssignment_1_0_9.eContents().get(0);
		private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1);
		private final Keyword cValuesKeyword_1_1_0 = (Keyword)cGroup_1_1.eContents().get(0);
		private final Keyword cLeftCurlyBracketKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1);
		private final Assignment cValuesAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2);
		private final RuleCall cValuesSTRINGTerminalRuleCall_1_1_2_0 = (RuleCall)cValuesAssignment_1_1_2.eContents().get(0);
		private final Keyword cRightCurlyBracketKeyword_1_1_3 = (Keyword)cGroup_1_1.eContents().get(3);
		private final Keyword cRateKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
		private final Assignment cRateAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
		private final RuleCall cRateBigUnitValueParserRuleCall_2_1_0 = (RuleCall)cRateAssignment_2_1.eContents().get(0);
		private final Keyword cVariablesKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
		private final Assignment cVariablesAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
		private final RuleCall cVariablesSTRINGTerminalRuleCall_3_1_0 = (RuleCall)cVariablesAssignment_3_1.eContents().get(0);
		private final Keyword cReferencesKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
		private final Assignment cReferencesAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
		private final RuleCall cReferencesSTRINGTerminalRuleCall_4_1_0 = (RuleCall)cReferencesAssignment_4_1.eContents().get(0);
		private final Keyword cCommentsKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
		private final Assignment cCommentsAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1);
		private final RuleCall cCommentsSTRINGTerminalRuleCall_5_1_0 = (RuleCall)cCommentsAssignment_5_1.eContents().get(0);
		//	{Input} ("range" "{" lower=BigDecimalType "..." upper=BigDecimalType "}" "type" rangeType=STRING "units"
		//	rangeUnits=STRING | "values" "{" values+=STRING* "}") ("rate" rate=BigUnitValue)? ("variables" variables=STRING)?
		//	("references" references=STRING)? ("comments" comments=STRING)?;
		//{Input} ("range" "{" lower=BigDecimalType "..." upper=BigDecimalType "}" "type" rangeType=STRING "units"
		//rangeUnits=STRING | "values" "{" values+=STRING* "}") ("rate" rate=BigUnitValue)? ("variables" variables=STRING)?
		//("references" references=STRING)? ("comments" comments=STRING)?
		//"range" "{" lower=BigDecimalType "..." upper=BigDecimalType "}" "type" rangeType=STRING "units" rangeUnits=STRING |
		//"values" "{" values+=STRING* "}"
		public Alternatives getAlternatives_1() { return cAlternatives_1; }

		//"range" "{" lower=BigDecimalType "..." upper=BigDecimalType "}" "type" rangeType=STRING "units" rangeUnits=STRING
		public Group getGroup_1_0() { return cGroup_1_0; }
		public Keyword getRangeKeyword_1_0_0() { return cRangeKeyword_1_0_0; }
		//"{"
		public Keyword getLeftCurlyBracketKeyword_1_0_1() { return cLeftCurlyBracketKeyword_1_0_1; }
		//lower=BigDecimalType
		public Assignment getLowerAssignment_1_0_2() { return cLowerAssignment_1_0_2; }
		//BigDecimalType
		public RuleCall getLowerBigDecimalTypeParserRuleCall_1_0_2_0() { return cLowerBigDecimalTypeParserRuleCall_1_0_2_0; }
		//"..."
		public Keyword getFullStopFullStopFullStopKeyword_1_0_3() { return cFullStopFullStopFullStopKeyword_1_0_3; }
		//upper=BigDecimalType
		public Assignment getUpperAssignment_1_0_4() { return cUpperAssignment_1_0_4; }
		//BigDecimalType
		public RuleCall getUpperBigDecimalTypeParserRuleCall_1_0_4_0() { return cUpperBigDecimalTypeParserRuleCall_1_0_4_0; }
		//"}"
		public Keyword getRightCurlyBracketKeyword_1_0_5() { return cRightCurlyBracketKeyword_1_0_5; }
		//"type"
		public Keyword getTypeKeyword_1_0_6() { return cTypeKeyword_1_0_6; }
		//rangeType=STRING
		public Assignment getRangeTypeAssignment_1_0_7() { return cRangeTypeAssignment_1_0_7; }
		public RuleCall getRangeTypeSTRINGTerminalRuleCall_1_0_7_0() { return cRangeTypeSTRINGTerminalRuleCall_1_0_7_0; }
		//"units"
		public Keyword getUnitsKeyword_1_0_8() { return cUnitsKeyword_1_0_8; }
		//rangeUnits=STRING
		public Assignment getRangeUnitsAssignment_1_0_9() { return cRangeUnitsAssignment_1_0_9; }
		//STRING
		public RuleCall getRangeUnitsSTRINGTerminalRuleCall_1_0_9_0() { return cRangeUnitsSTRINGTerminalRuleCall_1_0_9_0; }
		//"values" "{" values+=STRING* "}"
		public Group getGroup_1_1() { return cGroup_1_1; }
		//"values"
		public Keyword getValuesKeyword_1_1_0() { return cValuesKeyword_1_1_0; }
		//"{"
		public Keyword getLeftCurlyBracketKeyword_1_1_1() { return cLeftCurlyBracketKeyword_1_1_1; }
		//values+=STRING*
		public Assignment getValuesAssignment_1_1_2() { return cValuesAssignment_1_1_2; }
		//STRING
		public RuleCall getValuesSTRINGTerminalRuleCall_1_1_2_0() { return cValuesSTRINGTerminalRuleCall_1_1_2_0; }
		//"}"
		public Keyword getRightCurlyBracketKeyword_1_1_3() { return cRightCurlyBracketKeyword_1_1_3; }
		//("rate" rate=BigUnitValue)?
		public Group getGroup_2() { return cGroup_2; }
		//"rate"
		public Keyword getRateKeyword_2_0() { return cRateKeyword_2_0; }
		//rate=BigUnitValue
		public Assignment getRateAssignment_2_1() { return cRateAssignment_2_1; }
		public RuleCall getRateBigUnitValueParserRuleCall_2_1_0() { return cRateBigUnitValueParserRuleCall_2_1_0; }
		//("variables" variables=STRING)?
		public Group getGroup_3() { return cGroup_3; }
		//"variables"
		public Keyword getVariablesKeyword_3_0() { return cVariablesKeyword_3_0; }
		//variables=STRING
		public Assignment getVariablesAssignment_3_1() { return cVariablesAssignment_3_1; }
		//STRING
		public RuleCall getVariablesSTRINGTerminalRuleCall_3_1_0() { return cVariablesSTRINGTerminalRuleCall_3_1_0; }
		public Group getGroup_4() { return cGroup_4; }
		public Keyword getReferencesKeyword_4_0() { return cReferencesKeyword_4_0; }
		public Assignment getReferencesAssignment_4_1() { return cReferencesAssignment_4_1; }
		public RuleCall getReferencesSTRINGTerminalRuleCall_4_1_0() { return cReferencesSTRINGTerminalRuleCall_4_1_0; }
		public Group getGroup_5() { return cGroup_5; }
		public Keyword getCommentsKeyword_5_0() { return cCommentsKeyword_5_0; }
		public Assignment getCommentsAssignment_5_1() { return cCommentsAssignment_5_1; }
		public RuleCall getCommentsSTRINGTerminalRuleCall_5_1_0() { return cCommentsSTRINGTerminalRuleCall_5_1_0; }
	//	{Output} ("range" "{" lower=BigDecimalType "..." upper=BigDecimalType "}" "type" rangeType=STRING "units"
	//	rangeUnits=STRING | "values" "{" values+=STRING* "}") ("rate" rate=BigUnitValue)? ("initiation-delay"
	//	delay=BigUnitValue)? ("completion-deadline" deadline=BigUnitValue)? ("completion-exception"
	//	{Input} ("range" "{" lower=BigDecimalType "..." upper=BigDecimalType "}" "type" rangeType=STRING "units"
	//	rangeUnits=STRING | "values" "{" values+=STRING* "}") ("rate" rate=BigUnitValue)? ("variables" variables=STRING)?
	//	("references" references=STRING)? ("comments" comments=STRING)?;
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cAlternatives_1;
Alternatives getAlternatives_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_1_0;
Group getGroup_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cRangeKeyword_1_0_0;
Keyword getRangeKeyword_1_0_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cLeftCurlyBracketKeyword_1_0_1;
Keyword getLeftCurlyBracketKeyword_1_0_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cLowerAssignment_1_0_2;
Assignment getLowerAssignment_1_0_2()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cLowerBigDecimalTypeParserRuleCall_1_0_2_0;
RuleCall getLowerBigDecimalTypeParserRuleCall_1_0_2_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cFullStopFullStopFullStopKeyword_1_0_3;
Keyword getFullStopFullStopFullStopKeyword_1_0_3()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cUpperAssignment_1_0_4;
Assignment getUpperAssignment_1_0_4()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cUpperBigDecimalTypeParserRuleCall_1_0_4_0;
RuleCall getUpperBigDecimalTypeParserRuleCall_1_0_4_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cRightCurlyBracketKeyword_1_0_5;
Keyword getRightCurlyBracketKeyword_1_0_5()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cTypeKeyword_1_0_6;
Keyword getTypeKeyword_1_0_6()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cRangeTypeAssignment_1_0_7;
Assignment getRangeTypeAssignment_1_0_7()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cRangeTypeSTRINGTerminalRuleCall_1_0_7_0;
RuleCall getRangeTypeSTRINGTerminalRuleCall_1_0_7_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cUnitsKeyword_1_0_8;
Keyword getUnitsKeyword_1_0_8()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cRangeUnitsAssignment_1_0_9;
Assignment getRangeUnitsAssignment_1_0_9()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cRangeUnitsSTRINGTerminalRuleCall_1_0_9_0;
RuleCall getRangeUnitsSTRINGTerminalRuleCall_1_0_9_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_1_1;
Group getGroup_1_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cValuesKeyword_1_1_0;
Keyword getValuesKeyword_1_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cLeftCurlyBracketKeyword_1_1_1;
Keyword getLeftCurlyBracketKeyword_1_1_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cValuesAssignment_1_1_2;
Assignment getValuesAssignment_1_1_2()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cValuesSTRINGTerminalRuleCall_1_1_2_0;
RuleCall getValuesSTRINGTerminalRuleCall_1_1_2_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cRightCurlyBracketKeyword_1_1_3;
Keyword getRightCurlyBracketKeyword_1_1_3()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_2;
Group getGroup_2()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cRateKeyword_2_0;
Keyword getRateKeyword_2_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cRateAssignment_2_1;
Assignment getRateAssignment_2_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cRateBigUnitValueParserRuleCall_2_1_0;
RuleCall getRateBigUnitValueParserRuleCall_2_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_3;
Group getGroup_3()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cInitiationDelayKeyword_3_0;
Keyword getInitiationDelayKeyword_3_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cDelayAssignment_3_1;
Assignment getDelayAssignment_3_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cDelayBigUnitValueParserRuleCall_3_1_0;
RuleCall getDelayBigUnitValueParserRuleCall_3_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_4;
Group getGroup_4()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cCompletionDeadlineKeyword_4_0;
Keyword getCompletionDeadlineKeyword_4_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cDeadlineAssignment_4_1;
Assignment getDeadlineAssignment_4_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cDeadlineBigUnitValueParserRuleCall_4_1_0;
RuleCall getDeadlineBigUnitValueParserRuleCall_4_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_5;
Group getGroup_5()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cCompletionExceptionKeyword_5_0;
Keyword getCompletionExceptionKeyword_5_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cCompletionHandlingAssignment_5_1;
Assignment getCompletionHandlingAssignment_5_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cCompletionHandlingSTRINGTerminalRuleCall_5_1_0;
RuleCall getCompletionHandlingSTRINGTerminalRuleCall_5_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_6;
Group getGroup_6()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cVariablesKeyword_6_0;
Keyword getVariablesKeyword_6_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cVariablesAssignment_6_1;
Assignment getVariablesAssignment_6_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cVariablesSTRINGTerminalRuleCall_6_1_0;
RuleCall getVariablesSTRINGTerminalRuleCall_6_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_7;
Group getGroup_7()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cRelationshipKeyword_7_0;
Keyword getRelationshipKeyword_7_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cRelationshipAssignment_7_1;
Assignment getRelationshipAssignment_7_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cRelationshipSTRINGTerminalRuleCall_7_1_0;
RuleCall getRelationshipSTRINGTerminalRuleCall_7_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_8;
Group getGroup_8()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cMinResponseTimeKeyword_8_0;
Keyword getMinResponseTimeKeyword_8_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cMinResponseAssignment_8_1;
Assignment getMinResponseAssignment_8_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cMinResponseBigUnitValueParserRuleCall_8_1_0;
RuleCall getMinResponseBigUnitValueParserRuleCall_8_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_9;
Group getGroup_9()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cMaxResponseTimeKeyword_9_0;
Keyword getMaxResponseTimeKeyword_9_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cMaxResponseAssignment_9_1;
Assignment getMaxResponseAssignment_9_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cMaxResponseBigUnitValueParserRuleCall_9_1_0;
RuleCall getMaxResponseBigUnitValueParserRuleCall_9_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_10;
Group getGroup_10()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cFeedbackExceptionKeyword_10_0;
Keyword getFeedbackExceptionKeyword_10_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cFeebackHandlingAssignment_10_1;
Assignment getFeebackHandlingAssignment_10_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cFeebackHandlingSTRINGTerminalRuleCall_10_1_0;
RuleCall getFeebackHandlingSTRINGTerminalRuleCall_10_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_11;
Group getGroup_11()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cReversedByKeyword_11_0;
Keyword getReversedByKeyword_11_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cReversedAssignment_11_1;
Assignment getReversedAssignment_11_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cReversedSTRINGTerminalRuleCall_11_1_0;
RuleCall getReversedSTRINGTerminalRuleCall_11_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_12;
Group getGroup_12()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cReferencesKeyword_12_0;
Keyword getReferencesKeyword_12_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cReferencesAssignment_12_1;
Assignment getReferencesAssignment_12_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cReferencesSTRINGTerminalRuleCall_12_1_0;
RuleCall getReferencesSTRINGTerminalRuleCall_12_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_13;
Group getGroup_13()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cCommentsKeyword_13_0;
Keyword getCommentsKeyword_13_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cCommentsAssignment_13_1;
Assignment getCommentsAssignment_13_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cCommentsSTRINGTerminalRuleCall_13_1_0;
RuleCall getCommentsSTRINGTerminalRuleCall_13_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_14;
Group getGroup_14()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cContentsKeyword_14_0;
Keyword getContentsKeyword_14_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cContentsAssignment_14_1;
Assignment getContentsAssignment_14_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cContentsSTRINGTerminalRuleCall_14_1_0;
RuleCall getContentsSTRINGTerminalRuleCall_14_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_15;
Group getGroup_15()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cTriggeringKeyword_15_0;
Keyword getTriggeringKeyword_15_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cTableAssignment_15_1;
Assignment getTableAssignment_15_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cTableTriggerTableParserRuleCall_15_1_0;
RuleCall getTableTriggerTableParserRuleCall_15_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cAlternatives_1;
Alternatives getAlternatives_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_1_0;
Group getGroup_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cRangeKeyword_1_0_0;
Keyword getRangeKeyword_1_0_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cLeftCurlyBracketKeyword_1_0_1;
Keyword getLeftCurlyBracketKeyword_1_0_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cLowerAssignment_1_0_2;
Assignment getLowerAssignment_1_0_2()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cLowerBigDecimalTypeParserRuleCall_1_0_2_0;
RuleCall getLowerBigDecimalTypeParserRuleCall_1_0_2_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cFullStopFullStopFullStopKeyword_1_0_3;
Keyword getFullStopFullStopFullStopKeyword_1_0_3()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cUpperAssignment_1_0_4;
Assignment getUpperAssignment_1_0_4()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cUpperBigDecimalTypeParserRuleCall_1_0_4_0;
RuleCall getUpperBigDecimalTypeParserRuleCall_1_0_4_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cRightCurlyBracketKeyword_1_0_5;
Keyword getRightCurlyBracketKeyword_1_0_5()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cTypeKeyword_1_0_6;
Keyword getTypeKeyword_1_0_6()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cRangeTypeAssignment_1_0_7;
Assignment getRangeTypeAssignment_1_0_7()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cRangeTypeSTRINGTerminalRuleCall_1_0_7_0;
RuleCall getRangeTypeSTRINGTerminalRuleCall_1_0_7_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cUnitsKeyword_1_0_8;
Keyword getUnitsKeyword_1_0_8()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cRangeUnitsAssignment_1_0_9;
Assignment getRangeUnitsAssignment_1_0_9()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cRangeUnitsSTRINGTerminalRuleCall_1_0_9_0;
RuleCall getRangeUnitsSTRINGTerminalRuleCall_1_0_9_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_1_1;
Group getGroup_1_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cValuesKeyword_1_1_0;
Keyword getValuesKeyword_1_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cLeftCurlyBracketKeyword_1_1_1;
Keyword getLeftCurlyBracketKeyword_1_1_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cValuesAssignment_1_1_2;
Assignment getValuesAssignment_1_1_2()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cValuesSTRINGTerminalRuleCall_1_1_2_0;
RuleCall getValuesSTRINGTerminalRuleCall_1_1_2_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cRightCurlyBracketKeyword_1_1_3;
Keyword getRightCurlyBracketKeyword_1_1_3()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_2;
Group getGroup_2()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cRateKeyword_2_0;
Keyword getRateKeyword_2_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cRateAssignment_2_1;
Assignment getRateAssignment_2_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cRateBigUnitValueParserRuleCall_2_1_0;
RuleCall getRateBigUnitValueParserRuleCall_2_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_3;
Group getGroup_3()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cVariablesKeyword_3_0;
Keyword getVariablesKeyword_3_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cVariablesAssignment_3_1;
Assignment getVariablesAssignment_3_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cVariablesSTRINGTerminalRuleCall_3_1_0;
RuleCall getVariablesSTRINGTerminalRuleCall_3_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_4;
Group getGroup_4()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cReferencesKeyword_4_0;
Keyword getReferencesKeyword_4_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cReferencesAssignment_4_1;
Assignment getReferencesAssignment_4_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cReferencesSTRINGTerminalRuleCall_4_1_0;
RuleCall getReferencesSTRINGTerminalRuleCall_4_1_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cGroup_5;
Group getGroup_5()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cCommentsKeyword_5_0;
Keyword getCommentsKeyword_5_0()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cCommentsAssignment_5_1;
Assignment getCommentsAssignment_5_1()
net.certware.intent.state/src-gen/net/certware/intent/state/services/StateSpecificationGrammarAccess.java
return cCommentsSTRINGTerminalRuleCall_5_1_0;
RuleCall getCommentsSTRINGTerminalRuleCall_5_1_0()
@@ -922,101 +922,181 @@ public class TriggerTableElements extends AbstractParserRuleElementFinder {
 		public RuleCall getRowsTriggerParserRuleCall_2_0() { return cRowsTriggerParserRuleCall_2_0; }
 	}
 
+	public class ValueRangeElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ValueRange");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cLeftCurlyBracketKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cLowerAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cLowerBigDecimalTypeParserRuleCall_1_0 = (RuleCall)cLowerAssignment_1.eContents().get(0);
+		private final Keyword cFullStopFullStopFullStopKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Assignment cUpperAssignment_3 = (Assignment)cGroup.eContents().get(3);
+		private final RuleCall cUpperBigDecimalTypeParserRuleCall_3_0 = (RuleCall)cUpperAssignment_3.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
+		private final Keyword cTypeKeyword_5 = (Keyword)cGroup.eContents().get(5);
+		private final Assignment cRangeTypeAssignment_6 = (Assignment)cGroup.eContents().get(6);
+		private final RuleCall cRangeTypeSTRINGTerminalRuleCall_6_0 = (RuleCall)cRangeTypeAssignment_6.eContents().get(0);
+		private final Keyword cUnitsKeyword_7 = (Keyword)cGroup.eContents().get(7);
+		private final Assignment cRangeUnitsAssignment_8 = (Assignment)cGroup.eContents().get(8);
+		private final RuleCall cRangeUnitsSTRINGTerminalRuleCall_8_0 = (RuleCall)cRangeUnitsAssignment_8.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_9 = (Keyword)cGroup.eContents().get(9);
+		
+		//ValueRange:
+		//	"{" lower=BigDecimalType "..." upper=BigDecimalType "}" "type" rangeType=STRING "units" rangeUnits=STRING "}";
+		public ParserRule getRule() { return rule; }
+
+		//"{" lower=BigDecimalType "..." upper=BigDecimalType "}" "type" rangeType=STRING "units" rangeUnits=STRING "}"
+		public Group getGroup() { return cGroup; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_0() { return cLeftCurlyBracketKeyword_0; }
+
+		//lower=BigDecimalType
+		public Assignment getLowerAssignment_1() { return cLowerAssignment_1; }
+
+		//BigDecimalType
+		public RuleCall getLowerBigDecimalTypeParserRuleCall_1_0() { return cLowerBigDecimalTypeParserRuleCall_1_0; }
+
+		//"..."
+		public Keyword getFullStopFullStopFullStopKeyword_2() { return cFullStopFullStopFullStopKeyword_2; }
+
+		//upper=BigDecimalType
+		public Assignment getUpperAssignment_3() { return cUpperAssignment_3; }
+
+		//BigDecimalType
+		public RuleCall getUpperBigDecimalTypeParserRuleCall_3_0() { return cUpperBigDecimalTypeParserRuleCall_3_0; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }
+
+		//"type"
+		public Keyword getTypeKeyword_5() { return cTypeKeyword_5; }
+
+		//rangeType=STRING
+		public Assignment getRangeTypeAssignment_6() { return cRangeTypeAssignment_6; }
+
+		//STRING
+		public RuleCall getRangeTypeSTRINGTerminalRuleCall_6_0() { return cRangeTypeSTRINGTerminalRuleCall_6_0; }
+
+		//"units"
+		public Keyword getUnitsKeyword_7() { return cUnitsKeyword_7; }
+
+		//rangeUnits=STRING
+		public Assignment getRangeUnitsAssignment_8() { return cRangeUnitsAssignment_8; }
+
+		//STRING
+		public RuleCall getRangeUnitsSTRINGTerminalRuleCall_8_0() { return cRangeUnitsSTRINGTerminalRuleCall_8_0; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_9() { return cRightCurlyBracketKeyword_9; }
+	}
+
+	public class ValueListElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ValueList");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cLeftCurlyBracketKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cValuesAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cValuesSTRINGTerminalRuleCall_1_0 = (RuleCall)cValuesAssignment_1.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		
+		//ValueList:
+		//	"{" values+=STRING+ "}";
+		public ParserRule getRule() { return rule; }
+
+		//"{" values+=STRING+ "}"
+		public Group getGroup() { return cGroup; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_0() { return cLeftCurlyBracketKeyword_0; }
+
+		//values+=STRING+
+		public Assignment getValuesAssignment_1() { return cValuesAssignment_1; }
+
+		//STRING
+		public RuleCall getValuesSTRINGTerminalRuleCall_1_0() { return cValuesSTRINGTerminalRuleCall_1_0; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_2() { return cRightCurlyBracketKeyword_2; }
+	}
+
 	public class OutputElements extends AbstractParserRuleElementFinder {
 		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Output");
 		private final Group cGroup = (Group)rule.eContents().get(1);
 		private final Action cOutputAction_0 = (Action)cGroup.eContents().get(0);
-		private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
-		private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0);
-		private final Keyword cRangeKeyword_1_0_0 = (Keyword)cGroup_1_0.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1_0_1 = (Keyword)cGroup_1_0.eContents().get(1);
-		private final Assignment cLowerAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2);
-		private final RuleCall cLowerBigDecimalTypeParserRuleCall_1_0_2_0 = (RuleCall)cLowerAssignment_1_0_2.eContents().get(0);
-		private final Keyword cFullStopFullStopFullStopKeyword_1_0_3 = (Keyword)cGroup_1_0.eContents().get(3);
-		private final Assignment cUpperAssignment_1_0_4 = (Assignment)cGroup_1_0.eContents().get(4);
-		private final RuleCall cUpperBigDecimalTypeParserRuleCall_1_0_4_0 = (RuleCall)cUpperAssignment_1_0_4.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_1_0_5 = (Keyword)cGroup_1_0.eContents().get(5);
-		private final Keyword cTypeKeyword_1_0_6 = (Keyword)cGroup_1_0.eContents().get(6);
-		private final Assignment cRangeTypeAssignment_1_0_7 = (Assignment)cGroup_1_0.eContents().get(7);
-		private final RuleCall cRangeTypeSTRINGTerminalRuleCall_1_0_7_0 = (RuleCall)cRangeTypeAssignment_1_0_7.eContents().get(0);
-		private final Keyword cUnitsKeyword_1_0_8 = (Keyword)cGroup_1_0.eContents().get(8);
-		private final Assignment cRangeUnitsAssignment_1_0_9 = (Assignment)cGroup_1_0.eContents().get(9);
-		private final RuleCall cRangeUnitsSTRINGTerminalRuleCall_1_0_9_0 = (RuleCall)cRangeUnitsAssignment_1_0_9.eContents().get(0);
-		private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1);
-		private final Keyword cValuesKeyword_1_1_0 = (Keyword)cGroup_1_1.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1);
-		private final Assignment cValuesAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2);
-		private final RuleCall cValuesSTRINGTerminalRuleCall_1_1_2_0 = (RuleCall)cValuesAssignment_1_1_2.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_1_1_3 = (Keyword)cGroup_1_1.eContents().get(3);
+		private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+		private final Keyword cRangeKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
+		private final Assignment cRangeAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
+		private final RuleCall cRangeValueRangeParserRuleCall_1_1_0 = (RuleCall)cRangeAssignment_1_1.eContents().get(0);
 		private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
-		private final Keyword cRateKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
-		private final Assignment cRateAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
-		private final RuleCall cRateBigUnitValueParserRuleCall_2_1_0 = (RuleCall)cRateAssignment_2_1.eContents().get(0);
+		private final Keyword cValueListKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
+		private final Assignment cValueListAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
+		private final RuleCall cValueListValueListParserRuleCall_2_1_0 = (RuleCall)cValueListAssignment_2_1.eContents().get(0);
 		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
-		private final Keyword cInitiationDelayKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
-		private final Assignment cDelayAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
-		private final RuleCall cDelayBigUnitValueParserRuleCall_3_1_0 = (RuleCall)cDelayAssignment_3_1.eContents().get(0);
+		private final Keyword cRateKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
+		private final Assignment cRateAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
+		private final RuleCall cRateBigUnitValueParserRuleCall_3_1_0 = (RuleCall)cRateAssignment_3_1.eContents().get(0);
 		private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
-		private final Keyword cCompletionDeadlineKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
-		private final Assignment cDeadlineAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
-		private final RuleCall cDeadlineBigUnitValueParserRuleCall_4_1_0 = (RuleCall)cDeadlineAssignment_4_1.eContents().get(0);
+		private final Keyword cInitiationDelayKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
+		private final Assignment cDelayAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
+		private final RuleCall cDelayBigUnitValueParserRuleCall_4_1_0 = (RuleCall)cDelayAssignment_4_1.eContents().get(0);
 		private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
-		private final Keyword cCompletionExceptionKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
-		private final Assignment cCompletionHandlingAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1);
-		private final RuleCall cCompletionHandlingSTRINGTerminalRuleCall_5_1_0 = (RuleCall)cCompletionHandlingAssignment_5_1.eContents().get(0);
+		private final Keyword cCompletionDeadlineKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
+		private final Assignment cDeadlineAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1);
+		private final RuleCall cDeadlineBigUnitValueParserRuleCall_5_1_0 = (RuleCall)cDeadlineAssignment_5_1.eContents().get(0);
 		private final Group cGroup_6 = (Group)cGroup.eContents().get(6);
-		private final Keyword cVariablesKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0);
-		private final Assignment cVariablesAssignment_6_1 = (Assignment)cGroup_6.eContents().get(1);
-		private final RuleCall cVariablesSTRINGTerminalRuleCall_6_1_0 = (RuleCall)cVariablesAssignment_6_1.eContents().get(0);
+		private final Keyword cCompletionExceptionKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0);
+		private final Assignment cCompletionHandlingAssignment_6_1 = (Assignment)cGroup_6.eContents().get(1);
+		private final RuleCall cCompletionHandlingSTRINGTerminalRuleCall_6_1_0 = (RuleCall)cCompletionHandlingAssignment_6_1.eContents().get(0);
 		private final Group cGroup_7 = (Group)cGroup.eContents().get(7);
-		private final Keyword cRelationshipKeyword_7_0 = (Keyword)cGroup_7.eContents().get(0);
-		private final Assignment cRelationshipAssignment_7_1 = (Assignment)cGroup_7.eContents().get(1);
-		private final RuleCall cRelationshipSTRINGTerminalRuleCall_7_1_0 = (RuleCall)cRelationshipAssignment_7_1.eContents().get(0);
+		private final Keyword cVariablesKeyword_7_0 = (Keyword)cGroup_7.eContents().get(0);
+		private final Assignment cVariablesAssignment_7_1 = (Assignment)cGroup_7.eContents().get(1);
+		private final RuleCall cVariablesSTRINGTerminalRuleCall_7_1_0 = (RuleCall)cVariablesAssignment_7_1.eContents().get(0);
 		private final Group cGroup_8 = (Group)cGroup.eContents().get(8);
-		private final Keyword cMinResponseTimeKeyword_8_0 = (Keyword)cGroup_8.eContents().get(0);
-		private final Assignment cMinResponseAssignment_8_1 = (Assignment)cGroup_8.eContents().get(1);
-		private final RuleCall cMinResponseBigUnitValueParserRuleCall_8_1_0 = (RuleCall)cMinResponseAssignment_8_1.eContents().get(0);
+		private final Keyword cRelationshipKeyword_8_0 = (Keyword)cGroup_8.eContents().get(0);
+		private final Assignment cRelationshipAssignment_8_1 = (Assignment)cGroup_8.eContents().get(1);
+		private final RuleCall cRelationshipSTRINGTerminalRuleCall_8_1_0 = (RuleCall)cRelationshipAssignment_8_1.eContents().get(0);
 		private final Group cGroup_9 = (Group)cGroup.eContents().get(9);
-		private final Keyword cMaxResponseTimeKeyword_9_0 = (Keyword)cGroup_9.eContents().get(0);
-		private final Assignment cMaxResponseAssignment_9_1 = (Assignment)cGroup_9.eContents().get(1);
-		private final RuleCall cMaxResponseBigUnitValueParserRuleCall_9_1_0 = (RuleCall)cMaxResponseAssignment_9_1.eContents().get(0);
+		private final Keyword cMinResponseTimeKeyword_9_0 = (Keyword)cGroup_9.eContents().get(0);
+		private final Assignment cMinResponseAssignment_9_1 = (Assignment)cGroup_9.eContents().get(1);
+		private final RuleCall cMinResponseBigUnitValueParserRuleCall_9_1_0 = (RuleCall)cMinResponseAssignment_9_1.eContents().get(0);
 		private final Group cGroup_10 = (Group)cGroup.eContents().get(10);
-		private final Keyword cFeedbackExceptionKeyword_10_0 = (Keyword)cGroup_10.eContents().get(0);
-		private final Assignment cFeebackHandlingAssignment_10_1 = (Assignment)cGroup_10.eContents().get(1);
-		private final RuleCall cFeebackHandlingSTRINGTerminalRuleCall_10_1_0 = (RuleCall)cFeebackHandlingAssignment_10_1.eContents().get(0);
+		private final Keyword cMaxResponseTimeKeyword_10_0 = (Keyword)cGroup_10.eContents().get(0);
+		private final Assignment cMaxResponseAssignment_10_1 = (Assignment)cGroup_10.eContents().get(1);
+		private final RuleCall cMaxResponseBigUnitValueParserRuleCall_10_1_0 = (RuleCall)cMaxResponseAssignment_10_1.eContents().get(0);
 		private final Group cGroup_11 = (Group)cGroup.eContents().get(11);
-		private final Keyword cReversedByKeyword_11_0 = (Keyword)cGroup_11.eContents().get(0);
-		private final Assignment cReversedAssignment_11_1 = (Assignment)cGroup_11.eContents().get(1);
-		private final RuleCall cReversedSTRINGTerminalRuleCall_11_1_0 = (RuleCall)cReversedAssignment_11_1.eContents().get(0);
+		private final Keyword cFeedbackExceptionKeyword_11_0 = (Keyword)cGroup_11.eContents().get(0);
+		private final Assignment cFeebackHandlingAssignment_11_1 = (Assignment)cGroup_11.eContents().get(1);
+		private final RuleCall cFeebackHandlingSTRINGTerminalRuleCall_11_1_0 = (RuleCall)cFeebackHandlingAssignment_11_1.eContents().get(0);
 		private final Group cGroup_12 = (Group)cGroup.eContents().get(12);
-		private final Keyword cReferencesKeyword_12_0 = (Keyword)cGroup_12.eContents().get(0);
-		private final Assignment cReferencesAssignment_12_1 = (Assignment)cGroup_12.eContents().get(1);
-		private final RuleCall cReferencesSTRINGTerminalRuleCall_12_1_0 = (RuleCall)cReferencesAssignment_12_1.eContents().get(0);
+		private final Keyword cReversedByKeyword_12_0 = (Keyword)cGroup_12.eContents().get(0);
+		private final Assignment cReversedAssignment_12_1 = (Assignment)cGroup_12.eContents().get(1);
+		private final RuleCall cReversedSTRINGTerminalRuleCall_12_1_0 = (RuleCall)cReversedAssignment_12_1.eContents().get(0);
 		private final Group cGroup_13 = (Group)cGroup.eContents().get(13);
-		private final Keyword cCommentsKeyword_13_0 = (Keyword)cGroup_13.eContents().get(0);
-		private final Assignment cCommentsAssignment_13_1 = (Assignment)cGroup_13.eContents().get(1);
-		private final RuleCall cCommentsSTRINGTerminalRuleCall_13_1_0 = (RuleCall)cCommentsAssignment_13_1.eContents().get(0);
+		private final Keyword cReferencesKeyword_13_0 = (Keyword)cGroup_13.eContents().get(0);
+		private final Assignment cReferencesAssignment_13_1 = (Assignment)cGroup_13.eContents().get(1);
+		private final RuleCall cReferencesSTRINGTerminalRuleCall_13_1_0 = (RuleCall)cReferencesAssignment_13_1.eContents().get(0);
 		private final Group cGroup_14 = (Group)cGroup.eContents().get(14);
-		private final Keyword cContentsKeyword_14_0 = (Keyword)cGroup_14.eContents().get(0);
-		private final Assignment cContentsAssignment_14_1 = (Assignment)cGroup_14.eContents().get(1);
-		private final RuleCall cContentsSTRINGTerminalRuleCall_14_1_0 = (RuleCall)cContentsAssignment_14_1.eContents().get(0);
+		private final Keyword cCommentsKeyword_14_0 = (Keyword)cGroup_14.eContents().get(0);
+		private final Assignment cCommentsAssignment_14_1 = (Assignment)cGroup_14.eContents().get(1);
+		private final RuleCall cCommentsSTRINGTerminalRuleCall_14_1_0 = (RuleCall)cCommentsAssignment_14_1.eContents().get(0);
 		private final Group cGroup_15 = (Group)cGroup.eContents().get(15);
-		private final Keyword cTriggeringKeyword_15_0 = (Keyword)cGroup_15.eContents().get(0);
-		private final Assignment cTableAssignment_15_1 = (Assignment)cGroup_15.eContents().get(1);
-		private final RuleCall cTableTriggerTableParserRuleCall_15_1_0 = (RuleCall)cTableAssignment_15_1.eContents().get(0);
+		private final Keyword cContentsKeyword_15_0 = (Keyword)cGroup_15.eContents().get(0);
+		private final Assignment cContentsAssignment_15_1 = (Assignment)cGroup_15.eContents().get(1);
+		private final RuleCall cContentsSTRINGTerminalRuleCall_15_1_0 = (RuleCall)cContentsAssignment_15_1.eContents().get(0);
+		private final Group cGroup_16 = (Group)cGroup.eContents().get(16);
+		private final Keyword cTriggeringKeyword_16_0 = (Keyword)cGroup_16.eContents().get(0);
+		private final Assignment cTableAssignment_16_1 = (Assignment)cGroup_16.eContents().get(1);
+		private final RuleCall cTableTriggerTableParserRuleCall_16_1_0 = (RuleCall)cTableAssignment_16_1.eContents().get(0);
 		
 		//Output:
-		//	{Output} ("range" "{" lower=BigDecimalType "..." upper=BigDecimalType "}" "type" rangeType=STRING "units"
-		//	rangeUnits=STRING | "values" "{" values+=STRING* "}") ("rate" rate=BigUnitValue)? ("initiation-delay"
-		//	delay=BigUnitValue)? ("completion-deadline" deadline=BigUnitValue)? ("completion-exception"
+		//	{Output} ("range" range=ValueRange)? ("value-list" valueList=ValueList)? ("rate" rate=BigUnitValue)?
+		//	("initiation-delay" delay=BigUnitValue)? ("completion-deadline" deadline=BigUnitValue)? ("completion-exception"
 		//	completionHandling=STRING)? ("variables" variables=STRING)? ("relationship" relationship=STRING)? ("min-response-time"
 		//	minResponse=BigUnitValue)? ("max-response-time" maxResponse=BigUnitValue)? ("feedback-exception"
 		//	feebackHandling=STRING)? ("reversed-by" reversed=STRING)? ("references" references=STRING)? ("comments"
 		//	comments=STRING)? ("contents" contents=STRING)? ("triggering" table=TriggerTable)?;
 		public ParserRule getRule() { return rule; }
 
-		//{Output} ("range" "{" lower=BigDecimalType "..." upper=BigDecimalType "}" "type" rangeType=STRING "units"
-		//rangeUnits=STRING | "values" "{" values+=STRING* "}") ("rate" rate=BigUnitValue)? ("initiation-delay"
+		//{Output} ("range" range=ValueRange)? ("value-list" valueList=ValueList)? ("rate" rate=BigUnitValue)? ("initiation-delay"
 		//delay=BigUnitValue)? ("completion-deadline" deadline=BigUnitValue)? ("completion-exception" completionHandling=STRING)?
 		//("variables" variables=STRING)? ("relationship" relationship=STRING)? ("min-response-time" minResponse=BigUnitValue)?
 		//("max-response-time" maxResponse=BigUnitValue)? ("feedback-exception" feebackHandling=STRING)? ("reversed-by"
@@ -1027,413 +1107,429 @@ public class OutputElements extends AbstractParserRuleElementFinder {
 		//{Output}
 		public Action getOutputAction_0() { return cOutputAction_0; }
 
-		//"range" "{" lower=BigDecimalType "..." upper=BigDecimalType "}" "type" rangeType=STRING "units" rangeUnits=STRING |
-		//"values" "{" values+=STRING* "}"
-		public Alternatives getAlternatives_1() { return cAlternatives_1; }
-
-		//"range" "{" lower=BigDecimalType "..." upper=BigDecimalType "}" "type" rangeType=STRING "units" rangeUnits=STRING
-		public Group getGroup_1_0() { return cGroup_1_0; }
+		//("range" range=ValueRange)?
+		public Group getGroup_1() { return cGroup_1; }
 
 		//"range"
-		public Keyword getRangeKeyword_1_0_0() { return cRangeKeyword_1_0_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1_0_1() { return cLeftCurlyBracketKeyword_1_0_1; }
-
-		//lower=BigDecimalType
-		public Assignment getLowerAssignment_1_0_2() { return cLowerAssignment_1_0_2; }
-
-		//BigDecimalType
-		public RuleCall getLowerBigDecimalTypeParserRuleCall_1_0_2_0() { return cLowerBigDecimalTypeParserRuleCall_1_0_2_0; }
-
-		//"..."
-		public Keyword getFullStopFullStopFullStopKeyword_1_0_3() { return cFullStopFullStopFullStopKeyword_1_0_3; }
-
-		//upper=BigDecimalType
-		public Assignment getUpperAssignment_1_0_4() { return cUpperAssignment_1_0_4; }
-
-		//BigDecimalType
-		public RuleCall getUpperBigDecimalTypeParserRuleCall_1_0_4_0() { return cUpperBigDecimalTypeParserRuleCall_1_0_4_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_1_0_5() { return cRightCurlyBracketKeyword_1_0_5; }
-
-		//"type"
-		public Keyword getTypeKeyword_1_0_6() { return cTypeKeyword_1_0_6; }
+		public Keyword getRangeKeyword_1_0() { return cRangeKeyword_1_0; }
 
-		//rangeType=STRING
-		public Assignment getRangeTypeAssignment_1_0_7() { return cRangeTypeAssignment_1_0_7; }
+		//range=ValueRange
+		public Assignment getRangeAssignment_1_1() { return cRangeAssignment_1_1; }
 
-		//STRING
-		public RuleCall getRangeTypeSTRINGTerminalRuleCall_1_0_7_0() { return cRangeTypeSTRINGTerminalRuleCall_1_0_7_0; }
+		//ValueRange
+		public RuleCall getRangeValueRangeParserRuleCall_1_1_0() { return cRangeValueRangeParserRuleCall_1_1_0; }
 
-		//"units"
-		public Keyword getUnitsKeyword_1_0_8() { return cUnitsKeyword_1_0_8; }
-
-		//rangeUnits=STRING
-		public Assignment getRangeUnitsAssignment_1_0_9() { return cRangeUnitsAssignment_1_0_9; }
-
-		//STRING
-		public RuleCall getRangeUnitsSTRINGTerminalRuleCall_1_0_9_0() { return cRangeUnitsSTRINGTerminalRuleCall_1_0_9_0; }
-
-		//"values" "{" values+=STRING* "}"
-		public Group getGroup_1_1() { return cGroup_1_1; }
-
-		//"values"
-		public Keyword getValuesKeyword_1_1_0() { return cValuesKeyword_1_1_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1_1_1() { return cLeftCurlyBracketKeyword_1_1_1; }
+		//("value-list" valueList=ValueList)?
+		public Group getGroup_2() { return cGroup_2; }
 
-		//values+=STRING*
-		public Assignment getValuesAssignment_1_1_2() { return cValuesAssignment_1_1_2; }
+		//"value-list"
+		public Keyword getValueListKeyword_2_0() { return cValueListKeyword_2_0; }
 
-		//STRING
-		public RuleCall getValuesSTRINGTerminalRuleCall_1_1_2_0() { return cValuesSTRINGTerminalRuleCall_1_1_2_0; }
+		//valueList=ValueList
+		public Assignment getValueListAssignment_2_1() { return cValueListAssignment_2_1; }
 
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_1_1_3() { return cRightCurlyBracketKeyword_1_1_3; }
+		//ValueList
+		public RuleCall getValueListValueListParserRuleCall_2_1_0() { return cValueListValueListParserRuleCall_2_1_0; }
 
 		//("rate" rate=BigUnitValue)?
-		public Group getGroup_2() { return cGroup_2; }
+		public Group getGroup_3() { return cGroup_3; }
 
 		//"rate"
-		public Keyword getRateKeyword_2_0() { return cRateKeyword_2_0; }
+		public Keyword getRateKeyword_3_0() { return cRateKeyword_3_0; }
 
 		//rate=BigUnitValue
-		public Assignment getRateAssignment_2_1() { return cRateAssignment_2_1; }
+		public Assignment getRateAssignment_3_1() { return cRateAssignment_3_1; }
 
 		//BigUnitValue
-		public RuleCall getRateBigUnitValueParserRuleCall_2_1_0() { return cRateBigUnitValueParserRuleCall_2_1_0; }
+		public RuleCall getRateBigUnitValueParserRuleCall_3_1_0() { return cRateBigUnitValueParserRuleCall_3_1_0; }
 
 		//("initiation-delay" delay=BigUnitValue)?
-		public Group getGroup_3() { return cGroup_3; }
+		public Group getGroup_4() { return cGroup_4; }
 
 		//"initiation-delay"
-		public Keyword getInitiationDelayKeyword_3_0() { return cInitiationDelayKeyword_3_0; }
+		public Keyword getInitiationDelayKeyword_4_0() { return cInitiationDelayKeyword_4_0; }
 
 		//delay=BigUnitValue
-		public Assignment getDelayAssignment_3_1() { return cDelayAssignment_3_1; }
+		public Assignment getDelayAssignment_4_1() { return cDelayAssignment_4_1; }
 
 		//BigUnitValue
-		public RuleCall getDelayBigUnitValueParserRuleCall_3_1_0() { return cDelayBigUnitValueParserRuleCall_3_1_0; }
+		public RuleCall getDelayBigUnitValueParserRuleCall_4_1_0() { return cDelayBigUnitValueParserRuleCall_4_1_0; }
 
 		//("completion-deadline" deadline=BigUnitValue)?
-		public Group getGroup_4() { return cGroup_4; }
+		public Group getGroup_5() { return cGroup_5; }
 
 		//"completion-deadline"
-		public Keyword getCompletionDeadlineKeyword_4_0() { return cCompletionDeadlineKeyword_4_0; }
+		public Keyword getCompletionDeadlineKeyword_5_0() { return cCompletionDeadlineKeyword_5_0; }
 
 		//deadline=BigUnitValue
-		public Assignment getDeadlineAssignment_4_1() { return cDeadlineAssignment_4_1; }
+		public Assignment getDeadlineAssignment_5_1() { return cDeadlineAssignment_5_1; }
 
 		//BigUnitValue
-		public RuleCall getDeadlineBigUnitValueParserRuleCall_4_1_0() { return cDeadlineBigUnitValueParserRuleCall_4_1_0; }
+		public RuleCall getDeadlineBigUnitValueParserRuleCall_5_1_0() { return cDeadlineBigUnitValueParserRuleCall_5_1_0; }
 
 		//("completion-exception" completionHandling=STRING)?
-		public Group getGroup_5() { return cGroup_5; }
+		public Group getGroup_6() { return cGroup_6; }
 
 		//"completion-exception"
-		public Keyword getCompletionExceptionKeyword_5_0() { return cCompletionExceptionKeyword_5_0; }
+		public Keyword getCompletionExceptionKeyword_6_0() { return cCompletionExceptionKeyword_6_0; }
 
 		//completionHandling=STRING
-		public Assignment getCompletionHandlingAssignment_5_1() { return cCompletionHandlingAssignment_5_1; }
+		public Assignment getCompletionHandlingAssignment_6_1() { return cCompletionHandlingAssignment_6_1; }
 
 		//STRING
-		public RuleCall getCompletionHandlingSTRINGTerminalRuleCall_5_1_0() { return cCompletionHandlingSTRINGTerminalRuleCall_5_1_0; }
+		public RuleCall getCompletionHandlingSTRINGTerminalRuleCall_6_1_0() { return cCompletionHandlingSTRINGTerminalRuleCall_6_1_0; }
 
 		//("variables" variables=STRING)?
-		public Group getGroup_6() { return cGroup_6; }
+		public Group getGroup_7() { return cGroup_7; }
 
 		//"variables"
-		public Keyword getVariablesKeyword_6_0() { return cVariablesKeyword_6_0; }
+		public Keyword getVariablesKeyword_7_0() { return cVariablesKeyword_7_0; }
 
 		//variables=STRING
-		public Assignment getVariablesAssignment_6_1() { return cVariablesAssignment_6_1; }
+		public Assignment getVariablesAssignment_7_1() { return cVariablesAssignment_7_1; }
 
 		//STRING
-		public RuleCall getVariablesSTRINGTerminalRuleCall_6_1_0() { return cVariablesSTRINGTerminalRuleCall_6_1_0; }
+		public RuleCall getVariablesSTRINGTerminalRuleCall_7_1_0() { return cVariablesSTRINGTerminalRuleCall_7_1_0; }
 
 		//("relationship" relationship=STRING)?
-		public Group getGroup_7() { return cGroup_7; }
+		public Group getGroup_8() { return cGroup_8; }
 
 		//"relationship"
-		public Keyword getRelationshipKeyword_7_0() { return cRelationshipKeyword_7_0; }
+		public Keyword getRelationshipKeyword_8_0() { return cRelationshipKeyword_8_0; }
 
 		//relationship=STRING
-		public Assignment getRelationshipAssignment_7_1() { return cRelationshipAssignment_7_1; }
+		public Assignment getRelationshipAssignment_8_1() { return cRelationshipAssignment_8_1; }
 
 		//STRING
-		public RuleCall getRelationshipSTRINGTerminalRuleCall_7_1_0() { return cRelationshipSTRINGTerminalRuleCall_7_1_0; }
+		public RuleCall getRelationshipSTRINGTerminalRuleCall_8_1_0() { return cRelationshipSTRINGTerminalRuleCall_8_1_0; }
 
 		//("min-response-time" minResponse=BigUnitValue)?
-		public Group getGroup_8() { return cGroup_8; }
+		public Group getGroup_9() { return cGroup_9; }
 
 		//"min-response-time"
-		public Keyword getMinResponseTimeKeyword_8_0() { return cMinResponseTimeKeyword_8_0; }
+		public Keyword getMinResponseTimeKeyword_9_0() { return cMinResponseTimeKeyword_9_0; }
 
 		//minResponse=BigUnitValue
-		public Assignment getMinResponseAssignment_8_1() { return cMinResponseAssignment_8_1; }
+		public Assignment getMinResponseAssignment_9_1() { return cMinResponseAssignment_9_1; }
 
 		//BigUnitValue
-		public RuleCall getMinResponseBigUnitValueParserRuleCall_8_1_0() { return cMinResponseBigUnitValueParserRuleCall_8_1_0; }
+		public RuleCall getMinResponseBigUnitValueParserRuleCall_9_1_0() { return cMinResponseBigUnitValueParserRuleCall_9_1_0; }
 
 		//("max-response-time" maxResponse=BigUnitValue)?
-		public Group getGroup_9() { return cGroup_9; }
+		public Group getGroup_10() { return cGroup_10; }
 
 		//"max-response-time"
-		public Keyword getMaxResponseTimeKeyword_9_0() { return cMaxResponseTimeKeyword_9_0; }
+		public Keyword getMaxResponseTimeKeyword_10_0() { return cMaxResponseTimeKeyword_10_0; }
 
 		//maxResponse=BigUnitValue
-		public Assignment getMaxResponseAssignment_9_1() { return cMaxResponseAssignment_9_1; }
+		public Assignment getMaxResponseAssignment_10_1() { return cMaxResponseAssignment_10_1; }
 
 		//BigUnitValue
-		public RuleCall getMaxResponseBigUnitValueParserRuleCall_9_1_0() { return cMaxResponseBigUnitValueParserRuleCall_9_1_0; }
+		public RuleCall getMaxResponseBigUnitValueParserRuleCall_10_1_0() { return cMaxResponseBigUnitValueParserRuleCall_10_1_0; }
 
 		//("feedback-exception" feebackHandling=STRING)?
-		public Group getGroup_10() { return cGroup_10; }
+		public Group getGroup_11() { return cGroup_11; }
 
 		//"feedback-exception"
-		public Keyword getFeedbackExceptionKeyword_10_0() { return cFeedbackExceptionKeyword_10_0; }
+		public Keyword getFeedbackExceptionKeyword_11_0() { return cFeedbackExceptionKeyword_11_0; }
 
 		//feebackHandling=STRING
-		public Assignment getFeebackHandlingAssignment_10_1() { return cFeebackHandlingAssignment_10_1; }
+		public Assignment getFeebackHandlingAssignment_11_1() { return cFeebackHandlingAssignment_11_1; }
 
 		//STRING
-		public RuleCall getFeebackHandlingSTRINGTerminalRuleCall_10_1_0() { return cFeebackHandlingSTRINGTerminalRuleCall_10_1_0; }
+		public RuleCall getFeebackHandlingSTRINGTerminalRuleCall_11_1_0() { return cFeebackHandlingSTRINGTerminalRuleCall_11_1_0; }
 
 		//("reversed-by" reversed=STRING)?
-		public Group getGroup_11() { return cGroup_11; }
+		public Group getGroup_12() { return cGroup_12; }
 
 		//"reversed-by"
-		public Keyword getReversedByKeyword_11_0() { return cReversedByKeyword_11_0; }
+		public Keyword getReversedByKeyword_12_0() { return cReversedByKeyword_12_0; }
 
 		//reversed=STRING
-		public Assignment getReversedAssignment_11_1() { return cReversedAssignment_11_1; }
+		public Assignment getReversedAssignment_12_1() { return cReversedAssignment_12_1; }
 
 		//STRING
-		public RuleCall getReversedSTRINGTerminalRuleCall_11_1_0() { return cReversedSTRINGTerminalRuleCall_11_1_0; }
+		public RuleCall getReversedSTRINGTerminalRuleCall_12_1_0() { return cReversedSTRINGTerminalRuleCall_12_1_0; }
 
 		//("references" references=STRING)?
-		public Group getGroup_12() { return cGroup_12; }
+		public Group getGroup_13() { return cGroup_13; }
 
 		//"references"
-		public Keyword getReferencesKeyword_12_0() { return cReferencesKeyword_12_0; }
+		public Keyword getReferencesKeyword_13_0() { return cReferencesKeyword_13_0; }
 
 		//references=STRING
-		public Assignment getReferencesAssignment_12_1() { return cReferencesAssignment_12_1; }
+		public Assignment getReferencesAssignment_13_1() { return cReferencesAssignment_13_1; }
 
 		//STRING
-		public RuleCall getReferencesSTRINGTerminalRuleCall_12_1_0() { return cReferencesSTRINGTerminalRuleCall_12_1_0; }
+		public RuleCall getReferencesSTRINGTerminalRuleCall_13_1_0() { return cReferencesSTRINGTerminalRuleCall_13_1_0; }
 
 		//("comments" comments=STRING)?
-		public Group getGroup_13() { return cGroup_13; }
+		public Group getGroup_14() { return cGroup_14; }
 
 		//"comments"
-		public Keyword getCommentsKeyword_13_0() { return cCommentsKeyword_13_0; }
+		public Keyword getCommentsKeyword_14_0() { return cCommentsKeyword_14_0; }
 
 		//comments=STRING
-		public Assignment getCommentsAssignment_13_1() { return cCommentsAssignment_13_1; }
+		public Assignment getCommentsAssignment_14_1() { return cCommentsAssignment_14_1; }
 
 		//STRING
-		public RuleCall getCommentsSTRINGTerminalRuleCall_13_1_0() { return cCommentsSTRINGTerminalRuleCall_13_1_0; }
+		public RuleCall getCommentsSTRINGTerminalRuleCall_14_1_0() { return cCommentsSTRINGTerminalRuleCall_14_1_0; }
 
 		//("contents" contents=STRING)?
-		public Group getGroup_14() { return cGroup_14; }
+		public Group getGroup_15() { return cGroup_15; }
 
 		//"contents"
-		public Keyword getContentsKeyword_14_0() { return cContentsKeyword_14_0; }
+		public Keyword getContentsKeyword_15_0() { return cContentsKeyword_15_0; }
 
 		//contents=STRING
-		public Assignment getContentsAssignment_14_1() { return cContentsAssignment_14_1; }
+		public Assignment getContentsAssignment_15_1() { return cContentsAssignment_15_1; }
 
 		//STRING
-		public RuleCall getContentsSTRINGTerminalRuleCall_14_1_0() { return cContentsSTRINGTerminalRuleCall_14_1_0; }
+		public RuleCall getContentsSTRINGTerminalRuleCall_15_1_0() { return cContentsSTRINGTerminalRuleCall_15_1_0; }
 
 		//("triggering" table=TriggerTable)?
-		public Group getGroup_15() { return cGroup_15; }
+		public Group getGroup_16() { return cGroup_16; }
 
 		//"triggering"
-		public Keyword getTriggeringKeyword_15_0() { return cTriggeringKeyword_15_0; }
+		public Keyword getTriggeringKeyword_16_0() { return cTriggeringKeyword_16_0; }
 
 		//table=TriggerTable
-		public Assignment getTableAssignment_15_1() { return cTableAssignment_15_1; }
+		public Assignment getTableAssignment_16_1() { return cTableAssignment_16_1; }
 
 		//TriggerTable
-		public RuleCall getTableTriggerTableParserRuleCall_15_1_0() { return cTableTriggerTableParserRuleCall_15_1_0; }
+		public RuleCall getTableTriggerTableParserRuleCall_16_1_0() { return cTableTriggerTableParserRuleCall_16_1_0; }
 	}
 
 	public class InputElements extends AbstractParserRuleElementFinder {
 		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Input");
 		private final Group cGroup = (Group)rule.eContents().get(1);
 		private final Action cInputAction_0 = (Action)cGroup.eContents().get(0);
-		private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
-		private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0);
-		private final Keyword cRangeKeyword_1_0_0 = (Keyword)cGroup_1_0.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1_0_1 = (Keyword)cGroup_1_0.eContents().get(1);
-		private final Assignment cLowerAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2);
-		private final RuleCall cLowerBigDecimalTypeParserRuleCall_1_0_2_0 = (RuleCall)cLowerAssignment_1_0_2.eContents().get(0);
-		private final Keyword cFullStopFullStopFullStopKeyword_1_0_3 = (Keyword)cGroup_1_0.eContents().get(3);
-		private final Assignment cUpperAssignment_1_0_4 = (Assignment)cGroup_1_0.eContents().get(4);
-		private final RuleCall cUpperBigDecimalTypeParserRuleCall_1_0_4_0 = (RuleCall)cUpperAssignment_1_0_4.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_1_0_5 = (Keyword)cGroup_1_0.eContents().get(5);
-		private final Keyword cTypeKeyword_1_0_6 = (Keyword)cGroup_1_0.eContents().get(6);
-		private final Assignment cRangeTypeAssignment_1_0_7 = (Assignment)cGroup_1_0.eContents().get(7);
-		private final RuleCall cRangeTypeSTRINGTerminalRuleCall_1_0_7_0 = (RuleCall)cRangeTypeAssignment_1_0_7.eContents().get(0);
-		private final Keyword cUnitsKeyword_1_0_8 = (Keyword)cGroup_1_0.eContents().get(8);
-		private final Assignment cRangeUnitsAssignment_1_0_9 = (Assignment)cGroup_1_0.eContents().get(9);
-		private final RuleCall cRangeUnitsSTRINGTerminalRuleCall_1_0_9_0 = (RuleCall)cRangeUnitsAssignment_1_0_9.eContents().get(0);
-		private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1);
-		private final Keyword cValuesKeyword_1_1_0 = (Keyword)cGroup_1_1.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1);
-		private final Assignment cValuesAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2);
-		private final RuleCall cValuesSTRINGTerminalRuleCall_1_1_2_0 = (RuleCall)cValuesAssignment_1_1_2.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_1_1_3 = (Keyword)cGroup_1_1.eContents().get(3);
+		private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+		private final Keyword cRangeKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
+		private final Assignment cRangeAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
+		private final RuleCall cRangeValueRangeParserRuleCall_1_1_0 = (RuleCall)cRangeAssignment_1_1.eContents().get(0);
 		private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
-		private final Keyword cRateKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
-		private final Assignment cRateAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
-		private final RuleCall cRateBigUnitValueParserRuleCall_2_1_0 = (RuleCall)cRateAssignment_2_1.eContents().get(0);
+		private final Keyword cValueListKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
+		private final Assignment cValueListAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
+		private final RuleCall cValueListValueListParserRuleCall_2_1_0 = (RuleCall)cValueListAssignment_2_1.eContents().get(0);
 		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
-		private final Keyword cVariablesKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
-		private final Assignment cVariablesAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
-		private final RuleCall cVariablesSTRINGTerminalRuleCall_3_1_0 = (RuleCall)cVariablesAssignment_3_1.eContents().get(0);
+		private final Keyword cValueExceptionKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
+		private final Assignment cValueHandlingAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
+		private final RuleCall cValueHandlingSTRINGTerminalRuleCall_3_1_0 = (RuleCall)cValueHandlingAssignment_3_1.eContents().get(0);
 		private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
-		private final Keyword cReferencesKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
-		private final Assignment cReferencesAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
-		private final RuleCall cReferencesSTRINGTerminalRuleCall_4_1_0 = (RuleCall)cReferencesAssignment_4_1.eContents().get(0);
+		private final Keyword cGranularityKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
+		private final Assignment cGranularityAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
+		private final RuleCall cGranularityBigUnitValueParserRuleCall_4_1_0 = (RuleCall)cGranularityAssignment_4_1.eContents().get(0);
 		private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
-		private final Keyword cCommentsKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
-		private final Assignment cCommentsAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1);
-		private final RuleCall cCommentsSTRINGTerminalRuleCall_5_1_0 = (RuleCall)cCommentsAssignment_5_1.eContents().get(0);
+		private final Keyword cArrivalRateAvgKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
+		private final Assignment cArrivalRateAvgAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1);
+		private final RuleCall cArrivalRateAvgBigUnitValueParserRuleCall_5_1_0 = (RuleCall)cArrivalRateAvgAssignment_5_1.eContents().get(0);
+		private final Group cGroup_6 = (Group)cGroup.eContents().get(6);
+		private final Keyword cArrivalRateMinimumKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0);
+		private final Assignment cArrivalRateMinimumAssignment_6_1 = (Assignment)cGroup_6.eContents().get(1);
+		private final RuleCall cArrivalRateMinimumBigUnitValueParserRuleCall_6_1_0 = (RuleCall)cArrivalRateMinimumAssignment_6_1.eContents().get(0);
+		private final Group cGroup_7 = (Group)cGroup.eContents().get(7);
+		private final Keyword cArrivalRateMaximumKeyword_7_0 = (Keyword)cGroup_7.eContents().get(0);
+		private final Assignment cArrivalRateMaximumAssignment_7_1 = (Assignment)cGroup_7.eContents().get(1);
+		private final RuleCall cArrivalRateMaximumBigUnitValueParserRuleCall_7_1_0 = (RuleCall)cArrivalRateMaximumAssignment_7_1.eContents().get(0);
+		private final Group cGroup_8 = (Group)cGroup.eContents().get(8);
+		private final Keyword cObsolescenceKeyword_8_0 = (Keyword)cGroup_8.eContents().get(0);
+		private final Assignment cObsolescenceAssignment_8_1 = (Assignment)cGroup_8.eContents().get(1);
+		private final RuleCall cObsolescenceBigUnitValueParserRuleCall_8_1_0 = (RuleCall)cObsolescenceAssignment_8_1.eContents().get(0);
+		private final Group cGroup_9 = (Group)cGroup.eContents().get(9);
+		private final Keyword cReferencesKeyword_9_0 = (Keyword)cGroup_9.eContents().get(0);
+		private final Assignment cReferencesAssignment_9_1 = (Assignment)cGroup_9.eContents().get(1);
+		private final RuleCall cReferencesSTRINGTerminalRuleCall_9_1_0 = (RuleCall)cReferencesAssignment_9_1.eContents().get(0);
+		private final Group cGroup_10 = (Group)cGroup.eContents().get(10);
+		private final Keyword cAppearsInKeyword_10_0 = (Keyword)cGroup_10.eContents().get(0);
+		private final Assignment cAppearsInAssignment_10_1 = (Assignment)cGroup_10.eContents().get(1);
+		private final RuleCall cAppearsInSTRINGTerminalRuleCall_10_1_0 = (RuleCall)cAppearsInAssignment_10_1.eContents().get(0);
+		private final Group cGroup_11 = (Group)cGroup.eContents().get(11);
+		private final Keyword cDescriptionKeyword_11_0 = (Keyword)cGroup_11.eContents().get(0);
+		private final Assignment cDescriptionAssignment_11_1 = (Assignment)cGroup_11.eContents().get(1);
+		private final RuleCall cDescriptionSTRINGTerminalRuleCall_11_1_0 = (RuleCall)cDescriptionAssignment_11_1.eContents().get(0);
+		private final Group cGroup_12 = (Group)cGroup.eContents().get(12);
+		private final Keyword cCommentsKeyword_12_0 = (Keyword)cGroup_12.eContents().get(0);
+		private final Assignment cCommentsAssignment_12_1 = (Assignment)cGroup_12.eContents().get(1);
+		private final RuleCall cCommentsSTRINGTerminalRuleCall_12_1_0 = (RuleCall)cCommentsAssignment_12_1.eContents().get(0);
+		private final Group cGroup_13 = (Group)cGroup.eContents().get(13);
+		private final Keyword cTriggeringKeyword_13_0 = (Keyword)cGroup_13.eContents().get(0);
+		private final Assignment cStructureAssignment_13_1 = (Assignment)cGroup_13.eContents().get(1);
+		private final RuleCall cStructureTriggerTableParserRuleCall_13_1_0 = (RuleCall)cStructureAssignment_13_1.eContents().get(0);
 		
 		//Input:
-		//	{Input} ("range" "{" lower=BigDecimalType "..." upper=BigDecimalType "}" "type" rangeType=STRING "units"
-		//	rangeUnits=STRING | "values" "{" values+=STRING* "}") ("rate" rate=BigUnitValue)? ("variables" variables=STRING)?
-		//	("references" references=STRING)? ("comments" comments=STRING)?;
+		//	{Input} ("range" range=ValueRange)? ("value-list" valueList=ValueList)? ("value-exception" valueHandling=STRING)?
+		//	("granularity" granularity=BigUnitValue)? ("arrival-rate-avg" arrivalRateAvg=BigUnitValue)? ("arrival-rate-minimum"
+		//	arrivalRateMinimum=BigUnitValue)? ("arrival-rate-maximum" arrivalRateMaximum=BigUnitValue)? ("obsolescence"
+		//	obsolescence=BigUnitValue)? ("references" references=STRING)? ("appears-in" appearsIn=STRING)? ("description"
+		//	description=STRING)? ("comments" comments=STRING)? ("triggering" structure=TriggerTable)?;
 		public ParserRule getRule() { return rule; }
 
-		//{Input} ("range" "{" lower=BigDecimalType "..." upper=BigDecimalType "}" "type" rangeType=STRING "units"
-		//rangeUnits=STRING | "values" "{" values+=STRING* "}") ("rate" rate=BigUnitValue)? ("variables" variables=STRING)?
-		//("references" references=STRING)? ("comments" comments=STRING)?
+		//{Input} ("range" range=ValueRange)? ("value-list" valueList=ValueList)? ("value-exception" valueHandling=STRING)?
+		//("granularity" granularity=BigUnitValue)? ("arrival-rate-avg" arrivalRateAvg=BigUnitValue)? ("arrival-rate-minimum"
+		//arrivalRateMinimum=BigUnitValue)? ("arrival-rate-maximum" arrivalRateMaximum=BigUnitValue)? ("obsolescence"
+		//obsolescence=BigUnitValue)? ("references" references=STRING)? ("appears-in" appearsIn=STRING)? ("description"
+		//description=STRING)? ("comments" comments=STRING)? ("triggering" structure=TriggerTable)?
 		public Group getGroup() { return cGroup; }
 
 		//{Input}
 		public Action getInputAction_0() { return cInputAction_0; }
 
-		//"range" "{" lower=BigDecimalType "..." upper=BigDecimalType "}" "type" rangeType=STRING "units" rangeUnits=STRING |
-		//"values" "{" values+=STRING* "}"
-		public Alternatives getAlternatives_1() { return cAlternatives_1; }
-
-		//"range" "{" lower=BigDecimalType "..." upper=BigDecimalType "}" "type" rangeType=STRING "units" rangeUnits=STRING
-		public Group getGroup_1_0() { return cGroup_1_0; }
+		//("range" range=ValueRange)?
+		public Group getGroup_1() { return cGroup_1; }
 
 		//"range"
-		public Keyword getRangeKeyword_1_0_0() { return cRangeKeyword_1_0_0; }
+		public Keyword getRangeKeyword_1_0() { return cRangeKeyword_1_0; }
 
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1_0_1() { return cLeftCurlyBracketKeyword_1_0_1; }
+		//range=ValueRange
+		public Assignment getRangeAssignment_1_1() { return cRangeAssignment_1_1; }
 
-		//lower=BigDecimalType
-		public Assignment getLowerAssignment_1_0_2() { return cLowerAssignment_1_0_2; }
+		//ValueRange
+		public RuleCall getRangeValueRangeParserRuleCall_1_1_0() { return cRangeValueRangeParserRuleCall_1_1_0; }
 
-		//BigDecimalType
-		public RuleCall getLowerBigDecimalTypeParserRuleCall_1_0_2_0() { return cLowerBigDecimalTypeParserRuleCall_1_0_2_0; }
+		//("value-list" valueList=ValueList)?
+		public Group getGroup_2() { return cGroup_2; }
 
-		//"..."
-		public Keyword getFullStopFullStopFullStopKeyword_1_0_3() { return cFullStopFullStopFullStopKeyword_1_0_3; }
+		//"value-list"
+		public Keyword getValueListKeyword_2_0() { return cValueListKeyword_2_0; }
 
-		//upper=BigDecimalType
-		public Assignment getUpperAssignment_1_0_4() { return cUpperAssignment_1_0_4; }
+		//valueList=ValueList
+		public Assignment getValueListAssignment_2_1() { return cValueListAssignment_2_1; }
 
-		//BigDecimalType
-		public RuleCall getUpperBigDecimalTypeParserRuleCall_1_0_4_0() { return cUpperBigDecimalTypeParserRuleCall_1_0_4_0; }
+		//ValueList
+		public RuleCall getValueListValueListParserRuleCall_2_1_0() { return cValueListValueListParserRuleCall_2_1_0; }
 
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_1_0_5() { return cRightCurlyBracketKeyword_1_0_5; }
+		//("value-exception" valueHandling=STRING)?
+		public Group getGroup_3() { return cGroup_3; }
 
-		//"type"
-		public Keyword getTypeKeyword_1_0_6() { return cTypeKeyword_1_0_6; }
+		//"value-exception"
+		public Keyword getValueExceptionKeyword_3_0() { return cValueExceptionKeyword_3_0; }
 
-		//rangeType=STRING
-		public Assignment getRangeTypeAssignment_1_0_7() { return cRangeTypeAssignment_1_0_7; }
+		//valueHandling=STRING
+		public Assignment getValueHandlingAssignment_3_1() { return cValueHandlingAssignment_3_1; }
 
 		//STRING
-		public RuleCall getRangeTypeSTRINGTerminalRuleCall_1_0_7_0() { return cRangeTypeSTRINGTerminalRuleCall_1_0_7_0; }
+		public RuleCall getValueHandlingSTRINGTerminalRuleCall_3_1_0() { return cValueHandlingSTRINGTerminalRuleCall_3_1_0; }
 
-		//"units"
-		public Keyword getUnitsKeyword_1_0_8() { return cUnitsKeyword_1_0_8; }
+		//("granularity" granularity=BigUnitValue)?
+		public Group getGroup_4() { return cGroup_4; }
 
-		//rangeUnits=STRING
-		public Assignment getRangeUnitsAssignment_1_0_9() { return cRangeUnitsAssignment_1_0_9; }
+		//"granularity"
+		public Keyword getGranularityKeyword_4_0() { return cGranularityKeyword_4_0; }
 
-		//STRING
-		public RuleCall getRangeUnitsSTRINGTerminalRuleCall_1_0_9_0() { return cRangeUnitsSTRINGTerminalRuleCall_1_0_9_0; }
+		//granularity=BigUnitValue
+		public Assignment getGranularityAssignment_4_1() { return cGranularityAssignment_4_1; }
 
-		//"values" "{" values+=STRING* "}"
-		public Group getGroup_1_1() { return cGroup_1_1; }
+		//BigUnitValue
+		public RuleCall getGranularityBigUnitValueParserRuleCall_4_1_0() { return cGranularityBigUnitValueParserRuleCall_4_1_0; }
 
-		//"values"
-		public Keyword getValuesKeyword_1_1_0() { return cValuesKeyword_1_1_0; }
+		//("arrival-rate-avg" arrivalRateAvg=BigUnitValue)?
+		public Group getGroup_5() { return cGroup_5; }
 
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_1_1_1() { return cLeftCurlyBracketKeyword_1_1_1; }
+		//"arrival-rate-avg"
+		public Keyword getArrivalRateAvgKeyword_5_0() { return cArrivalRateAvgKeyword_5_0; }
 
-		//values+=STRING*
-		public Assignment getValuesAssignment_1_1_2() { return cValuesAssignment_1_1_2; }
+		//arrivalRateAvg=BigUnitValue
+		public Assignment getArrivalRateAvgAssignment_5_1() { return cArrivalRateAvgAssignment_5_1; }
 
-		//STRING
-		public RuleCall getValuesSTRINGTerminalRuleCall_1_1_2_0() { return cValuesSTRINGTerminalRuleCall_1_1_2_0; }
+		//BigUnitValue
+		public RuleCall getArrivalRateAvgBigUnitValueParserRuleCall_5_1_0() { return cArrivalRateAvgBigUnitValueParserRuleCall_5_1_0; }
 
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_1_1_3() { return cRightCurlyBracketKeyword_1_1_3; }
+		//("arrival-rate-minimum" arrivalRateMinimum=BigUnitValue)?
+		public Group getGroup_6() { return cGroup_6; }
 
-		//("rate" rate=BigUnitValue)?
-		public Group getGroup_2() { return cGroup_2; }
+		//"arrival-rate-minimum"
+		public Keyword getArrivalRateMinimumKeyword_6_0() { return cArrivalRateMinimumKeyword_6_0; }
 
-		//"rate"
-		public Keyword getRateKeyword_2_0() { return cRateKeyword_2_0; }
+		//arrivalRateMinimum=BigUnitValue
+		public Assignment getArrivalRateMinimumAssignment_6_1() { return cArrivalRateMinimumAssignment_6_1; }
 
-		//rate=BigUnitValue
-		public Assignment getRateAssignment_2_1() { return cRateAssignment_2_1; }
+		//BigUnitValue
+		public RuleCall getArrivalRateMinimumBigUnitValueParserRuleCall_6_1_0() { return cArrivalRateMinimumBigUnitValueParserRuleCall_6_1_0; }
+
+		//("arrival-rate-maximum" arrivalRateMaximum=BigUnitValue)?
+		public Group getGroup_7() { return cGroup_7; }
+
+		//"arrival-rate-maximum"
+		public Keyword getArrivalRateMaximumKeyword_7_0() { return cArrivalRateMaximumKeyword_7_0; }
+
+		//arrivalRateMaximum=BigUnitValue
+		public Assignment getArrivalRateMaximumAssignment_7_1() { return cArrivalRateMaximumAssignment_7_1; }
 
 		//BigUnitValue
-		public RuleCall getRateBigUnitValueParserRuleCall_2_1_0() { return cRateBigUnitValueParserRuleCall_2_1_0; }
+		public RuleCall getArrivalRateMaximumBigUnitValueParserRuleCall_7_1_0() { return cArrivalRateMaximumBigUnitValueParserRuleCall_7_1_0; }
 
-		//("variables" variables=STRING)?
-		public Group getGroup_3() { return cGroup_3; }
+		//("obsolescence" obsolescence=BigUnitValue)?
+		public Group getGroup_8() { return cGroup_8; }
 
-		//"variables"
-		public Keyword getVariablesKeyword_3_0() { return cVariablesKeyword_3_0; }
+		//"obsolescence"
+		public Keyword getObsolescenceKeyword_8_0() { return cObsolescenceKeyword_8_0; }
 
-		//variables=STRING
-		public Assignment getVariablesAssignment_3_1() { return cVariablesAssignment_3_1; }
+		//obsolescence=BigUnitValue
+		public Assignment getObsolescenceAssignment_8_1() { return cObsolescenceAssignment_8_1; }
 
-		//STRING
-		public RuleCall getVariablesSTRINGTerminalRuleCall_3_1_0() { return cVariablesSTRINGTerminalRuleCall_3_1_0; }
+		//BigUnitValue
+		public RuleCall getObsolescenceBigUnitValueParserRuleCall_8_1_0() { return cObsolescenceBigUnitValueParserRuleCall_8_1_0; }
 
 		//("references" references=STRING)?
-		public Group getGroup_4() { return cGroup_4; }
+		public Group getGroup_9() { return cGroup_9; }
 
 		//"references"
-		public Keyword getReferencesKeyword_4_0() { return cReferencesKeyword_4_0; }
+		public Keyword getReferencesKeyword_9_0() { return cReferencesKeyword_9_0; }
 
 		//references=STRING
-		public Assignment getReferencesAssignment_4_1() { return cReferencesAssignment_4_1; }
+		public Assignment getReferencesAssignment_9_1() { return cReferencesAssignment_9_1; }
+
+		//STRING
+		public RuleCall getReferencesSTRINGTerminalRuleCall_9_1_0() { return cReferencesSTRINGTerminalRuleCall_9_1_0; }
+
+		//("appears-in" appearsIn=STRING)?
+		public Group getGroup_10() { return cGroup_10; }
+
+		//"appears-in"
+		public Keyword getAppearsInKeyword_10_0() { return cAppearsInKeyword_10_0; }
+
+		//appearsIn=STRING
+		public Assignment getAppearsInAssignment_10_1() { return cAppearsInAssignment_10_1; }
 
 		//STRING
-		public RuleCall getReferencesSTRINGTerminalRuleCall_4_1_0() { return cReferencesSTRINGTerminalRuleCall_4_1_0; }
+		public RuleCall getAppearsInSTRINGTerminalRuleCall_10_1_0() { return cAppearsInSTRINGTerminalRuleCall_10_1_0; }
+
+		//("description" description=STRING)?
+		public Group getGroup_11() { return cGroup_11; }
+
+		//"description"
+		public Keyword getDescriptionKeyword_11_0() { return cDescriptionKeyword_11_0; }
+
+		//description=STRING
+		public Assignment getDescriptionAssignment_11_1() { return cDescriptionAssignment_11_1; }
+
+		//STRING
+		public RuleCall getDescriptionSTRINGTerminalRuleCall_11_1_0() { return cDescriptionSTRINGTerminalRuleCall_11_1_0; }
 
 		//("comments" comments=STRING)?
-		public Group getGroup_5() { return cGroup_5; }
+		public Group getGroup_12() { return cGroup_12; }
 
 		//"comments"
-		public Keyword getCommentsKeyword_5_0() { return cCommentsKeyword_5_0; }
+		public Keyword getCommentsKeyword_12_0() { return cCommentsKeyword_12_0; }
 
 		//comments=STRING
-		public Assignment getCommentsAssignment_5_1() { return cCommentsAssignment_5_1; }
+		public Assignment getCommentsAssignment_12_1() { return cCommentsAssignment_12_1; }
 
 		//STRING
-		public RuleCall getCommentsSTRINGTerminalRuleCall_5_1_0() { return cCommentsSTRINGTerminalRuleCall_5_1_0; }
+		public RuleCall getCommentsSTRINGTerminalRuleCall_12_1_0() { return cCommentsSTRINGTerminalRuleCall_12_1_0; }
+
+		//("triggering" structure=TriggerTable)?
+		public Group getGroup_13() { return cGroup_13; }
+
+		//"triggering"
+		public Keyword getTriggeringKeyword_13_0() { return cTriggeringKeyword_13_0; }
+
+		//structure=TriggerTable
+		public Assignment getStructureAssignment_13_1() { return cStructureAssignment_13_1; }
+
+		//TriggerTable
+		public RuleCall getStructureTriggerTableParserRuleCall_13_1_0() { return cStructureTriggerTableParserRuleCall_13_1_0; }
 	}
 	
 	
@@ -1457,6 +1553,8 @@ public class InputElements extends AbstractParserRuleElementFinder {
 	private StateListElements pStateList;
 	private TriggerElements pTrigger;
 	private TriggerTableElements pTriggerTable;
+	private ValueRangeElements pValueRange;
+	private ValueListElements pValueList;
 	private OutputElements pOutput;
 	private InputElements pInput;
 	
@@ -1701,10 +1799,29 @@ public ParserRule getTriggerTableRule() {
 		return getTriggerTableAccess().getRule();
 	}
 
+	//ValueRange:
+	//	"{" lower=BigDecimalType "..." upper=BigDecimalType "}" "type" rangeType=STRING "units" rangeUnits=STRING "}";
+	public ValueRangeElements getValueRangeAccess() {
+		return (pValueRange != null) ? pValueRange : (pValueRange = new ValueRangeElements());
+	}
+	
+	public ParserRule getValueRangeRule() {
+		return getValueRangeAccess().getRule();
+	}
+
+	//ValueList:
+	//	"{" values+=STRING+ "}";
+	public ValueListElements getValueListAccess() {
+		return (pValueList != null) ? pValueList : (pValueList = new ValueListElements());
+	}
+	
+	public ParserRule getValueListRule() {
+		return getValueListAccess().getRule();
+	}
+
 	//Output:
-	//	{Output} ("range" "{" lower=BigDecimalType "..." upper=BigDecimalType "}" "type" rangeType=STRING "units"
-	//	rangeUnits=STRING | "values" "{" values+=STRING* "}") ("rate" rate=BigUnitValue)? ("initiation-delay"
-	//	delay=BigUnitValue)? ("completion-deadline" deadline=BigUnitValue)? ("completion-exception"
+	//	{Output} ("range" range=ValueRange)? ("value-list" valueList=ValueList)? ("rate" rate=BigUnitValue)?
+	//	("initiation-delay" delay=BigUnitValue)? ("completion-deadline" deadline=BigUnitValue)? ("completion-exception"
 	//	completionHandling=STRING)? ("variables" variables=STRING)? ("relationship" relationship=STRING)? ("min-response-time"
 	//	minResponse=BigUnitValue)? ("max-response-time" maxResponse=BigUnitValue)? ("feedback-exception"
 	//	feebackHandling=STRING)? ("reversed-by" reversed=STRING)? ("references" references=STRING)? ("comments"
@@ -1718,9 +1835,11 @@ public ParserRule getOutputRule() {
 	}
 
 	//Input:
-	//	{Input} ("range" "{" lower=BigDecimalType "..." upper=BigDecimalType "}" "type" rangeType=STRING "units"
-	//	rangeUnits=STRING | "values" "{" values+=STRING* "}") ("rate" rate=BigUnitValue)? ("variables" variables=STRING)?
-	//	("references" references=STRING)? ("comments" comments=STRING)?;
+	//	{Input} ("range" range=ValueRange)? ("value-list" valueList=ValueList)? ("value-exception" valueHandling=STRING)?
+	//	("granularity" granularity=BigUnitValue)? ("arrival-rate-avg" arrivalRateAvg=BigUnitValue)? ("arrival-rate-minimum"
+	//	arrivalRateMinimum=BigUnitValue)? ("arrival-rate-maximum" arrivalRateMaximum=BigUnitValue)? ("obsolescence"
+	//	obsolescence=BigUnitValue)? ("references" references=STRING)? ("appears-in" appearsIn=STRING)? ("description"
+	//	description=STRING)? ("comments" comments=STRING)? ("triggering" structure=TriggerTable)?;
 	public InputElements getInputAccess() {
 		return (pInput != null) ? pInput : (pInput = new InputElements());
 	}
https://github.com/nasa/CertWare/raw/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2Fservices%2FStateSpecificationGrammarAccess.java
c3b532fdec2b7cd0630959a9e055db1042614091
modified
https://github.com/nasa/CertWare/blob/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2FstateSpecification%2FInput.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2FstateSpecification%2FInput.java?ref=110fa3222ae2931978d7921dc8e6af8c7f43abd3
net.certware.intent.state/src-gen/net/certware/intent/state/stateSpecification/Input.java
 *   <li>{@link net.certware.intent.state.stateSpecification.Input#getRange <em>Range</em>}</li>
 *   <li>{@link net.certware.intent.state.stateSpecification.Input#getValueList <em>Value List</em>}</li>
 *   <li>{@link net.certware.intent.state.stateSpecification.Input#getValueHandling <em>Value Handling</em>}</li>
 *   <li>{@link net.certware.intent.state.stateSpecification.Input#getGranularity <em>Granularity</em>}</li>
 *   <li>{@link net.certware.intent.state.stateSpecification.Input#getArrivalRateAvg <em>Arrival Rate Avg</em>}</li>
 *   <li>{@link net.certware.intent.state.stateSpecification.Input#getArrivalRateMinimum <em>Arrival Rate Minimum</em>}</li>
 *   <li>{@link net.certware.intent.state.stateSpecification.Input#getArrivalRateMaximum <em>Arrival Rate Maximum</em>}</li>
 *   <li>{@link net.certware.intent.state.stateSpecification.Input#getObsolescence <em>Obsolescence</em>}</li>
 *   <li>{@link net.certware.intent.state.stateSpecification.Input#getAppearsIn <em>Appears In</em>}</li>
 *   <li>{@link net.certware.intent.state.stateSpecification.Input#getDescription <em>Description</em>}</li>
 *   <li>{@link net.certware.intent.state.stateSpecification.Input#getStructure <em>Structure</em>}</li>
   * Returns the value of the '<em><b>Range</b></em>' containment reference.
   * If the meaning of the '<em>Range</em>' containment reference isn't clear,
   * @return the value of the '<em>Range</em>' containment reference.
   * @see #setRange(ValueRange)
   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getInput_Range()
   * @model containment="true"
  ValueRange getRange();
   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Input#getRange <em>Range</em>}' containment reference.
   * @param value the new value of the '<em>Range</em>' containment reference.
   * @see #getRange()
  void setRange(ValueRange value);
   * Returns the value of the '<em><b>Value List</b></em>' containment reference.
   * If the meaning of the '<em>Value List</em>' containment reference isn't clear,
   * @return the value of the '<em>Value List</em>' containment reference.
   * @see #setValueList(ValueList)
   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getInput_ValueList()
   * @model containment="true"
  ValueList getValueList();
   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Input#getValueList <em>Value List</em>}' containment reference.
   * @param value the new value of the '<em>Value List</em>' containment reference.
   * @see #getValueList()
  void setValueList(ValueList value);
   * Returns the value of the '<em><b>Value Handling</b></em>' attribute.
   * If the meaning of the '<em>Value Handling</em>' attribute isn't clear,
   * @return the value of the '<em>Value Handling</em>' attribute.
   * @see #setValueHandling(String)
   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getInput_ValueHandling()
  String getValueHandling();
   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Input#getValueHandling <em>Value Handling</em>}' attribute.
   * @param value the new value of the '<em>Value Handling</em>' attribute.
   * @see #getValueHandling()
  void setValueHandling(String value);
   * Returns the value of the '<em><b>Granularity</b></em>' containment reference.
   * If the meaning of the '<em>Granularity</em>' containment reference isn't clear,
   * @return the value of the '<em>Granularity</em>' containment reference.
   * @see #setGranularity(BigUnitValue)
   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getInput_Granularity()
   * @model containment="true"
  BigUnitValue getGranularity();
   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Input#getGranularity <em>Granularity</em>}' containment reference.
   * @param value the new value of the '<em>Granularity</em>' containment reference.
   * @see #getGranularity()
  void setGranularity(BigUnitValue value);
   * Returns the value of the '<em><b>Arrival Rate Avg</b></em>' containment reference.
   * If the meaning of the '<em>Arrival Rate Avg</em>' containment reference isn't clear,
   * @return the value of the '<em>Arrival Rate Avg</em>' containment reference.
   * @see #setArrivalRateAvg(BigUnitValue)
   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getInput_ArrivalRateAvg()
   * @model containment="true"
  BigUnitValue getArrivalRateAvg();
   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Input#getArrivalRateAvg <em>Arrival Rate Avg</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Arrival Rate Avg</em>' containment reference.
   * @see #getArrivalRateAvg()
   * @generated
   */
  void setArrivalRateAvg(BigUnitValue value);

  /**
   * Returns the value of the '<em><b>Arrival Rate Minimum</b></em>' containment reference.
   * If the meaning of the '<em>Arrival Rate Minimum</em>' containment reference isn't clear,
   * @return the value of the '<em>Arrival Rate Minimum</em>' containment reference.
   * @see #setArrivalRateMinimum(BigUnitValue)
   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getInput_ArrivalRateMinimum()
  BigUnitValue getArrivalRateMinimum();
   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Input#getArrivalRateMinimum <em>Arrival Rate Minimum</em>}' containment reference.
   * @param value the new value of the '<em>Arrival Rate Minimum</em>' containment reference.
   * @see #getArrivalRateMinimum()
  void setArrivalRateMinimum(BigUnitValue value);
   * Returns the value of the '<em><b>Arrival Rate Maximum</b></em>' containment reference.
   * If the meaning of the '<em>Arrival Rate Maximum</em>' containment reference isn't clear,
   * @return the value of the '<em>Arrival Rate Maximum</em>' containment reference.
   * @see #setArrivalRateMaximum(BigUnitValue)
   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getInput_ArrivalRateMaximum()
   * @model containment="true"
  BigUnitValue getArrivalRateMaximum();
   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Input#getArrivalRateMaximum <em>Arrival Rate Maximum</em>}' containment reference.
   * @param value the new value of the '<em>Arrival Rate Maximum</em>' containment reference.
   * @see #getArrivalRateMaximum()
  void setArrivalRateMaximum(BigUnitValue value);

  /**
   * Returns the value of the '<em><b>Obsolescence</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <p>
   * If the meaning of the '<em>Obsolescence</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>Obsolescence</em>' containment reference.
   * @see #setObsolescence(BigUnitValue)
   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getInput_Obsolescence()
   * @model containment="true"
   * @generated
   */
  BigUnitValue getObsolescence();

  /**
   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Input#getObsolescence <em>Obsolescence</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Obsolescence</em>' containment reference.
   * @see #getObsolescence()
   * @generated
   */
  void setObsolescence(BigUnitValue value);
  /**
   * Returns the value of the '<em><b>Appears In</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <p>
   * If the meaning of the '<em>Appears In</em>' attribute isn't clear,
   * there really should be more of a description here...
   * </p>
   * <!-- end-user-doc -->
   * @return the value of the '<em>Appears In</em>' attribute.
   * @see #setAppearsIn(String)
   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getInput_AppearsIn()
   * @model
   * @generated
   */
  String getAppearsIn();

  /**
   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Input#getAppearsIn <em>Appears In</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Appears In</em>' attribute.
   * @see #getAppearsIn()
   * @generated
   */
  void setAppearsIn(String value);

  /**
   * Returns the value of the '<em><b>Description</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <p>
   * If the meaning of the '<em>Description</em>' attribute isn't clear,
   * there really should be more of a description here...
   * </p>
   * <!-- end-user-doc -->
   * @return the value of the '<em>Description</em>' attribute.
   * @see #setDescription(String)
   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getInput_Description()
   * @model
   * @generated
   */
  String getDescription();

  /**
   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Input#getDescription <em>Description</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Description</em>' attribute.
   * @see #getDescription()
   * @generated
   */
  void setDescription(String value);

  /**
   * Returns the value of the '<em><b>Structure</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <p>
   * If the meaning of the '<em>Structure</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>Structure</em>' containment reference.
   * @see #setStructure(TriggerTable)
   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getInput_Structure()
   * @model containment="true"
   * @generated
   */
  TriggerTable getStructure();

  /**
   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Input#getStructure <em>Structure</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Structure</em>' containment reference.
   * @see #getStructure()
   * @generated
   */
  void setStructure(TriggerTable value);

import java.math.BigDecimal;

import org.eclipse.emf.common.util.EList;

 *   <li>{@link net.certware.intent.state.stateSpecification.Input#getLower <em>Lower</em>}</li>
 *   <li>{@link net.certware.intent.state.stateSpecification.Input#getUpper <em>Upper</em>}</li>
 *   <li>{@link net.certware.intent.state.stateSpecification.Input#getRangeType <em>Range Type</em>}</li>
 *   <li>{@link net.certware.intent.state.stateSpecification.Input#getRangeUnits <em>Range Units</em>}</li>
 *   <li>{@link net.certware.intent.state.stateSpecification.Input#getValues <em>Values</em>}</li>
 *   <li>{@link net.certware.intent.state.stateSpecification.Input#getRate <em>Rate</em>}</li>
 *   <li>{@link net.certware.intent.state.stateSpecification.Input#getVariables <em>Variables</em>}</li>
   * Returns the value of the '<em><b>Lower</b></em>' attribute.
   * If the meaning of the '<em>Lower</em>' attribute isn't clear,
   * @return the value of the '<em>Lower</em>' attribute.
   * @see #setLower(BigDecimal)
   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getInput_Lower()
   * @model
  BigDecimal getLower();
   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Input#getLower <em>Lower</em>}' attribute.
   * @param value the new value of the '<em>Lower</em>' attribute.
   * @see #getLower()
  void setLower(BigDecimal value);
   * Returns the value of the '<em><b>Upper</b></em>' attribute.
   * If the meaning of the '<em>Upper</em>' attribute isn't clear,
   * @return the value of the '<em>Upper</em>' attribute.
   * @see #setUpper(BigDecimal)
   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getInput_Upper()
   * @model
  BigDecimal getUpper();
   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Input#getUpper <em>Upper</em>}' attribute.
   * @param value the new value of the '<em>Upper</em>' attribute.
   * @see #getUpper()
  void setUpper(BigDecimal value);
   * Returns the value of the '<em><b>Range Type</b></em>' attribute.
   * If the meaning of the '<em>Range Type</em>' attribute isn't clear,
   * @return the value of the '<em>Range Type</em>' attribute.
   * @see #setRangeType(String)
   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getInput_RangeType()
  String getRangeType();
   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Input#getRangeType <em>Range Type</em>}' attribute.
   * @param value the new value of the '<em>Range Type</em>' attribute.
   * @see #getRangeType()
  void setRangeType(String value);
   * Returns the value of the '<em><b>Range Units</b></em>' attribute.
   * If the meaning of the '<em>Range Units</em>' attribute isn't clear,
   * @return the value of the '<em>Range Units</em>' attribute.
   * @see #setRangeUnits(String)
   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getInput_RangeUnits()
   * @model
  String getRangeUnits();
   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Input#getRangeUnits <em>Range Units</em>}' attribute.
   * @param value the new value of the '<em>Range Units</em>' attribute.
   * @see #getRangeUnits()
  void setRangeUnits(String value);
   * Returns the value of the '<em><b>Values</b></em>' attribute list.
   * The list contents are of type {@link java.lang.String}.
   * If the meaning of the '<em>Values</em>' attribute list isn't clear,
   * @return the value of the '<em>Values</em>' attribute list.
   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getInput_Values()
   * @model unique="false"
  EList<String> getValues();
   * Returns the value of the '<em><b>Rate</b></em>' containment reference.
   * If the meaning of the '<em>Rate</em>' containment reference isn't clear,
   * @return the value of the '<em>Rate</em>' containment reference.
   * @see #setRate(BigUnitValue)
   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getInput_Rate()
  BigUnitValue getRate();
   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Input#getRate <em>Rate</em>}' containment reference.
   * @param value the new value of the '<em>Rate</em>' containment reference.
   * @see #getRate()
  void setRate(BigUnitValue value);
   * Returns the value of the '<em><b>Variables</b></em>' attribute.
   * If the meaning of the '<em>Variables</em>' attribute isn't clear,
   * @return the value of the '<em>Variables</em>' attribute.
   * @see #setVariables(String)
   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getInput_Variables()
   * @model
  String getVariables();
   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Input#getVariables <em>Variables</em>}' attribute.
   * @param value the new value of the '<em>Variables</em>' attribute.
   * @see #getVariables()
  void setVariables(String value);
@@ -2,10 +2,6 @@
  */
 package net.certware.intent.state.stateSpecification;
 
-import java.math.BigDecimal;
-
-import org.eclipse.emf.common.util.EList;
-
 import org.eclipse.emf.ecore.EObject;
 
 /**
@@ -16,15 +12,19 @@
  * <p>
  * The following features are supported:
  * <ul>
- *   <li>{@link net.certware.intent.state.stateSpecification.Input#getLower <em>Lower</em>}</li>
- *   <li>{@link net.certware.intent.state.stateSpecification.Input#getUpper <em>Upper</em>}</li>
- *   <li>{@link net.certware.intent.state.stateSpecification.Input#getRangeType <em>Range Type</em>}</li>
- *   <li>{@link net.certware.intent.state.stateSpecification.Input#getRangeUnits <em>Range Units</em>}</li>
- *   <li>{@link net.certware.intent.state.stateSpecification.Input#getValues <em>Values</em>}</li>
- *   <li>{@link net.certware.intent.state.stateSpecification.Input#getRate <em>Rate</em>}</li>
- *   <li>{@link net.certware.intent.state.stateSpecification.Input#getVariables <em>Variables</em>}</li>
+ *   <li>{@link net.certware.intent.state.stateSpecification.Input#getRange <em>Range</em>}</li>
+ *   <li>{@link net.certware.intent.state.stateSpecification.Input#getValueList <em>Value List</em>}</li>
+ *   <li>{@link net.certware.intent.state.stateSpecification.Input#getValueHandling <em>Value Handling</em>}</li>
+ *   <li>{@link net.certware.intent.state.stateSpecification.Input#getGranularity <em>Granularity</em>}</li>
+ *   <li>{@link net.certware.intent.state.stateSpecification.Input#getArrivalRateAvg <em>Arrival Rate Avg</em>}</li>
+ *   <li>{@link net.certware.intent.state.stateSpecification.Input#getArrivalRateMinimum <em>Arrival Rate Minimum</em>}</li>
+ *   <li>{@link net.certware.intent.state.stateSpecification.Input#getArrivalRateMaximum <em>Arrival Rate Maximum</em>}</li>
+ *   <li>{@link net.certware.intent.state.stateSpecification.Input#getObsolescence <em>Obsolescence</em>}</li>
  *   <li>{@link net.certware.intent.state.stateSpecification.Input#getReferences <em>References</em>}</li>
+ *   <li>{@link net.certware.intent.state.stateSpecification.Input#getAppearsIn <em>Appears In</em>}</li>
+ *   <li>{@link net.certware.intent.state.stateSpecification.Input#getDescription <em>Description</em>}</li>
  *   <li>{@link net.certware.intent.state.stateSpecification.Input#getComments <em>Comments</em>}</li>
+ *   <li>{@link net.certware.intent.state.stateSpecification.Input#getStructure <em>Structure</em>}</li>
  * </ul>
  * </p>
  *
@@ -35,176 +35,212 @@
 public interface Input extends EObject
 {
   /**
-   * Returns the value of the '<em><b>Lower</b></em>' attribute.
+   * Returns the value of the '<em><b>Range</b></em>' containment reference.
    * <!-- begin-user-doc -->
    * <p>
-   * If the meaning of the '<em>Lower</em>' attribute isn't clear,
+   * If the meaning of the '<em>Range</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>Lower</em>' attribute.
-   * @see #setLower(BigDecimal)
-   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getInput_Lower()
-   * @model
+   * @return the value of the '<em>Range</em>' containment reference.
+   * @see #setRange(ValueRange)
+   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getInput_Range()
+   * @model containment="true"
    * @generated
    */
-  BigDecimal getLower();
+  ValueRange getRange();
 
   /**
-   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Input#getLower <em>Lower</em>}' attribute.
+   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Input#getRange <em>Range</em>}' containment reference.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Lower</em>' attribute.
-   * @see #getLower()
+   * @param value the new value of the '<em>Range</em>' containment reference.
+   * @see #getRange()
    * @generated
    */
-  void setLower(BigDecimal value);
+  void setRange(ValueRange value);
 
   /**
-   * Returns the value of the '<em><b>Upper</b></em>' attribute.
+   * Returns the value of the '<em><b>Value List</b></em>' containment reference.
    * <!-- begin-user-doc -->
    * <p>
-   * If the meaning of the '<em>Upper</em>' attribute isn't clear,
+   * If the meaning of the '<em>Value List</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>Upper</em>' attribute.
-   * @see #setUpper(BigDecimal)
-   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getInput_Upper()
-   * @model
+   * @return the value of the '<em>Value List</em>' containment reference.
+   * @see #setValueList(ValueList)
+   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getInput_ValueList()
+   * @model containment="true"
    * @generated
    */
-  BigDecimal getUpper();
+  ValueList getValueList();
 
   /**
-   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Input#getUpper <em>Upper</em>}' attribute.
+   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Input#getValueList <em>Value List</em>}' containment reference.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Upper</em>' attribute.
-   * @see #getUpper()
+   * @param value the new value of the '<em>Value List</em>' containment reference.
+   * @see #getValueList()
    * @generated
    */
-  void setUpper(BigDecimal value);
+  void setValueList(ValueList value);
 
   /**
-   * Returns the value of the '<em><b>Range Type</b></em>' attribute.
+   * Returns the value of the '<em><b>Value Handling</b></em>' attribute.
    * <!-- begin-user-doc -->
    * <p>
-   * If the meaning of the '<em>Range Type</em>' attribute isn't clear,
+   * If the meaning of the '<em>Value Handling</em>' attribute isn't clear,
    * there really should be more of a description here...
    * </p>
    * <!-- end-user-doc -->
-   * @return the value of the '<em>Range Type</em>' attribute.
-   * @see #setRangeType(String)
-   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getInput_RangeType()
+   * @return the value of the '<em>Value Handling</em>' attribute.
+   * @see #setValueHandling(String)
+   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getInput_ValueHandling()
    * @model
    * @generated
    */
-  String getRangeType();
+  String getValueHandling();
 
   /**
-   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Input#getRangeType <em>Range Type</em>}' attribute.
+   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Input#getValueHandling <em>Value Handling</em>}' attribute.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Range Type</em>' attribute.
-   * @see #getRangeType()
+   * @param value the new value of the '<em>Value Handling</em>' attribute.
+   * @see #getValueHandling()
    * @generated
    */
-  void setRangeType(String value);
+  void setValueHandling(String value);
 
   /**
-   * Returns the value of the '<em><b>Range Units</b></em>' attribute.
+   * Returns the value of the '<em><b>Granularity</b></em>' containment reference.
    * <!-- begin-user-doc -->
    * <p>
-   * If the meaning of the '<em>Range Units</em>' attribute isn't clear,
+   * If the meaning of the '<em>Granularity</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>Range Units</em>' attribute.
-   * @see #setRangeUnits(String)
-   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getInput_RangeUnits()
-   * @model
+   * @return the value of the '<em>Granularity</em>' containment reference.
+   * @see #setGranularity(BigUnitValue)
+   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getInput_Granularity()
+   * @model containment="true"
    * @generated
    */
-  String getRangeUnits();
+  BigUnitValue getGranularity();
 
   /**
-   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Input#getRangeUnits <em>Range Units</em>}' attribute.
+   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Input#getGranularity <em>Granularity</em>}' containment reference.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Range Units</em>' attribute.
-   * @see #getRangeUnits()
+   * @param value the new value of the '<em>Granularity</em>' containment reference.
+   * @see #getGranularity()
    * @generated
    */
-  void setRangeUnits(String value);
+  void setGranularity(BigUnitValue value);
 
   /**
-   * Returns the value of the '<em><b>Values</b></em>' attribute list.
-   * The list contents are of type {@link java.lang.String}.
+   * Returns the value of the '<em><b>Arrival Rate Avg</b></em>' containment reference.
    * <!-- begin-user-doc -->
    * <p>
-   * If the meaning of the '<em>Values</em>' attribute list isn't clear,
+   * If the meaning of the '<em>Arrival Rate Avg</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>Values</em>' attribute list.
-   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getInput_Values()
-   * @model unique="false"
+   * @return the value of the '<em>Arrival Rate Avg</em>' containment reference.
+   * @see #setArrivalRateAvg(BigUnitValue)
+   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getInput_ArrivalRateAvg()
+   * @model containment="true"
    * @generated
    */
-  EList<String> getValues();
+  BigUnitValue getArrivalRateAvg();
 
   /**
-   * Returns the value of the '<em><b>Rate</b></em>' containment reference.
+   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Input#getArrivalRateAvg <em>Arrival Rate Avg</em>}' containment reference.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @param value the new value of the '<em>Arrival Rate Avg</em>' containment reference.
+   * @see #getArrivalRateAvg()
+   * @generated
+   */
+  void setArrivalRateAvg(BigUnitValue value);
+
+  /**
+   * Returns the value of the '<em><b>Arrival Rate Minimum</b></em>' containment reference.
    * <!-- begin-user-doc -->
    * <p>
-   * If the meaning of the '<em>Rate</em>' containment reference isn't clear,
+   * If the meaning of the '<em>Arrival Rate Minimum</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>Rate</em>' containment reference.
-   * @see #setRate(BigUnitValue)
-   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getInput_Rate()
+   * @return the value of the '<em>Arrival Rate Minimum</em>' containment reference.
+   * @see #setArrivalRateMinimum(BigUnitValue)
+   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getInput_ArrivalRateMinimum()
    * @model containment="true"
    * @generated
    */
-  BigUnitValue getRate();
+  BigUnitValue getArrivalRateMinimum();
 
   /**
-   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Input#getRate <em>Rate</em>}' containment reference.
+   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Input#getArrivalRateMinimum <em>Arrival Rate Minimum</em>}' containment reference.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Rate</em>' containment reference.
-   * @see #getRate()
+   * @param value the new value of the '<em>Arrival Rate Minimum</em>' containment reference.
+   * @see #getArrivalRateMinimum()
    * @generated
    */
-  void setRate(BigUnitValue value);
+  void setArrivalRateMinimum(BigUnitValue value);
 
   /**
-   * Returns the value of the '<em><b>Variables</b></em>' attribute.
+   * Returns the value of the '<em><b>Arrival Rate Maximum</b></em>' containment reference.
    * <!-- begin-user-doc -->
    * <p>
-   * If the meaning of the '<em>Variables</em>' attribute isn't clear,
+   * If the meaning of the '<em>Arrival Rate Maximum</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>Variables</em>' attribute.
-   * @see #setVariables(String)
-   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getInput_Variables()
-   * @model
+   * @return the value of the '<em>Arrival Rate Maximum</em>' containment reference.
+   * @see #setArrivalRateMaximum(BigUnitValue)
+   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getInput_ArrivalRateMaximum()
+   * @model containment="true"
    * @generated
    */
-  String getVariables();
+  BigUnitValue getArrivalRateMaximum();
 
   /**
-   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Input#getVariables <em>Variables</em>}' attribute.
+   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Input#getArrivalRateMaximum <em>Arrival Rate Maximum</em>}' containment reference.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Variables</em>' attribute.
-   * @see #getVariables()
+   * @param value the new value of the '<em>Arrival Rate Maximum</em>' containment reference.
+   * @see #getArrivalRateMaximum()
    * @generated
    */
-  void setVariables(String value);
+  void setArrivalRateMaximum(BigUnitValue value);
+
+  /**
+   * Returns the value of the '<em><b>Obsolescence</b></em>' containment reference.
+   * <!-- begin-user-doc -->
+   * <p>
+   * If the meaning of the '<em>Obsolescence</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>Obsolescence</em>' containment reference.
+   * @see #setObsolescence(BigUnitValue)
+   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getInput_Obsolescence()
+   * @model containment="true"
+   * @generated
+   */
+  BigUnitValue getObsolescence();
+
+  /**
+   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Input#getObsolescence <em>Obsolescence</em>}' containment reference.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @param value the new value of the '<em>Obsolescence</em>' containment reference.
+   * @see #getObsolescence()
+   * @generated
+   */
+  void setObsolescence(BigUnitValue value);
 
   /**
    * Returns the value of the '<em><b>References</b></em>' attribute.
@@ -232,6 +268,58 @@ public interface Input extends EObject
    */
   void setReferences(String value);
 
+  /**
+   * Returns the value of the '<em><b>Appears In</b></em>' attribute.
+   * <!-- begin-user-doc -->
+   * <p>
+   * If the meaning of the '<em>Appears In</em>' attribute isn't clear,
+   * there really should be more of a description here...
+   * </p>
+   * <!-- end-user-doc -->
+   * @return the value of the '<em>Appears In</em>' attribute.
+   * @see #setAppearsIn(String)
+   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getInput_AppearsIn()
+   * @model
+   * @generated
+   */
+  String getAppearsIn();
+
+  /**
+   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Input#getAppearsIn <em>Appears In</em>}' attribute.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @param value the new value of the '<em>Appears In</em>' attribute.
+   * @see #getAppearsIn()
+   * @generated
+   */
+  void setAppearsIn(String value);
+
+  /**
+   * Returns the value of the '<em><b>Description</b></em>' attribute.
+   * <!-- begin-user-doc -->
+   * <p>
+   * If the meaning of the '<em>Description</em>' attribute isn't clear,
+   * there really should be more of a description here...
+   * </p>
+   * <!-- end-user-doc -->
+   * @return the value of the '<em>Description</em>' attribute.
+   * @see #setDescription(String)
+   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getInput_Description()
+   * @model
+   * @generated
+   */
+  String getDescription();
+
+  /**
+   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Input#getDescription <em>Description</em>}' attribute.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @param value the new value of the '<em>Description</em>' attribute.
+   * @see #getDescription()
+   * @generated
+   */
+  void setDescription(String value);
+
   /**
    * Returns the value of the '<em><b>Comments</b></em>' attribute.
    * <!-- begin-user-doc -->
@@ -258,4 +346,30 @@ public interface Input extends EObject
    */
   void setComments(String value);
 
+  /**
+   * Returns the value of the '<em><b>Structure</b></em>' containment reference.
+   * <!-- begin-user-doc -->
+   * <p>
+   * If the meaning of the '<em>Structure</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>Structure</em>' containment reference.
+   * @see #setStructure(TriggerTable)
+   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getInput_Structure()
+   * @model containment="true"
+   * @generated
+   */
+  TriggerTable getStructure();
+
+  /**
+   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Input#getStructure <em>Structure</em>}' containment reference.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @param value the new value of the '<em>Structure</em>' containment reference.
+   * @see #getStructure()
+   * @generated
+   */
+  void setStructure(TriggerTable value);
+
 } // Input
https://github.com/nasa/CertWare/raw/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2FstateSpecification%2FInput.java
e0655e62eb5741a0d5efffb309444f3db46440af
modified
https://github.com/nasa/CertWare/blob/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2FstateSpecification%2FOutput.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2FstateSpecification%2FOutput.java?ref=110fa3222ae2931978d7921dc8e6af8c7f43abd3
net.certware.intent.state/src-gen/net/certware/intent/state/stateSpecification/Output.java
 *   <li>{@link net.certware.intent.state.stateSpecification.Output#getRange <em>Range</em>}</li>
 *   <li>{@link net.certware.intent.state.stateSpecification.Output#getValueList <em>Value List</em>}</li>
   * Returns the value of the '<em><b>Range</b></em>' containment reference.
   * If the meaning of the '<em>Range</em>' containment reference isn't clear,
   * @return the value of the '<em>Range</em>' containment reference.
   * @see #setRange(ValueRange)
   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getOutput_Range()
   * @model containment="true"
  ValueRange getRange();
   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Output#getRange <em>Range</em>}' containment reference.
   * @param value the new value of the '<em>Range</em>' containment reference.
   * @see #getRange()
  void setRange(ValueRange value);
   * Returns the value of the '<em><b>Value List</b></em>' containment reference.
   * If the meaning of the '<em>Value List</em>' containment reference isn't clear,
   * @return the value of the '<em>Value List</em>' containment reference.
   * @see #setValueList(ValueList)
   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getOutput_ValueList()
   * @model containment="true"
  ValueList getValueList();
   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Output#getValueList <em>Value List</em>}' containment reference.
   * @param value the new value of the '<em>Value List</em>' containment reference.
   * @see #getValueList()
  void setValueList(ValueList value);
import java.math.BigDecimal;

import org.eclipse.emf.common.util.EList;

 *   <li>{@link net.certware.intent.state.stateSpecification.Output#getLower <em>Lower</em>}</li>
 *   <li>{@link net.certware.intent.state.stateSpecification.Output#getUpper <em>Upper</em>}</li>
 *   <li>{@link net.certware.intent.state.stateSpecification.Output#getRangeType <em>Range Type</em>}</li>
 *   <li>{@link net.certware.intent.state.stateSpecification.Output#getRangeUnits <em>Range Units</em>}</li>
 *   <li>{@link net.certware.intent.state.stateSpecification.Output#getValues <em>Values</em>}</li>
   * Returns the value of the '<em><b>Lower</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <p>
   * If the meaning of the '<em>Lower</em>' attribute isn't clear,
   * there really should be more of a description here...
   * </p>
   * <!-- end-user-doc -->
   * @return the value of the '<em>Lower</em>' attribute.
   * @see #setLower(BigDecimal)
   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getOutput_Lower()
   * @model
   * @generated
   */
  BigDecimal getLower();

  /**
   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Output#getLower <em>Lower</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Lower</em>' attribute.
   * @see #getLower()
   * @generated
   */
  void setLower(BigDecimal value);

  /**
   * Returns the value of the '<em><b>Upper</b></em>' attribute.
   * If the meaning of the '<em>Upper</em>' attribute isn't clear,
   * @return the value of the '<em>Upper</em>' attribute.
   * @see #setUpper(BigDecimal)
   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getOutput_Upper()
   * @model
   * @generated
   */
  BigDecimal getUpper();

  /**
   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Output#getUpper <em>Upper</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Upper</em>' attribute.
   * @see #getUpper()
   * @generated
   */
  void setUpper(BigDecimal value);

  /**
   * Returns the value of the '<em><b>Range Type</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <p>
   * If the meaning of the '<em>Range Type</em>' attribute isn't clear,
   * there really should be more of a description here...
   * </p>
   * <!-- end-user-doc -->
   * @return the value of the '<em>Range Type</em>' attribute.
   * @see #setRangeType(String)
   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getOutput_RangeType()
   * @model
  String getRangeType();
   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Output#getRangeType <em>Range Type</em>}' attribute.
   * @param value the new value of the '<em>Range Type</em>' attribute.
   * @see #getRangeType()
  void setRangeType(String value);
   * Returns the value of the '<em><b>Range Units</b></em>' attribute.
   * If the meaning of the '<em>Range Units</em>' attribute isn't clear,
   * @return the value of the '<em>Range Units</em>' attribute.
   * @see #setRangeUnits(String)
   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getOutput_RangeUnits()
   * @model
   * @generated
   */
  String getRangeUnits();

  /**
   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Output#getRangeUnits <em>Range Units</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Range Units</em>' attribute.
   * @see #getRangeUnits()
  void setRangeUnits(String value);
   * Returns the value of the '<em><b>Values</b></em>' attribute list.
   * The list contents are of type {@link java.lang.String}.
   * <p>
   * If the meaning of the '<em>Values</em>' attribute list isn't clear,
   * there really should be more of a description here...
   * </p>
   * @return the value of the '<em>Values</em>' attribute list.
   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getOutput_Values()
   * @model unique="false"
  EList<String> getValues();
@@ -2,10 +2,6 @@
  */
 package net.certware.intent.state.stateSpecification;
 
-import java.math.BigDecimal;
-
-import org.eclipse.emf.common.util.EList;
-
 import org.eclipse.emf.ecore.EObject;
 
 /**
@@ -16,11 +12,8 @@
  * <p>
  * The following features are supported:
  * <ul>
- *   <li>{@link net.certware.intent.state.stateSpecification.Output#getLower <em>Lower</em>}</li>
- *   <li>{@link net.certware.intent.state.stateSpecification.Output#getUpper <em>Upper</em>}</li>
- *   <li>{@link net.certware.intent.state.stateSpecification.Output#getRangeType <em>Range Type</em>}</li>
- *   <li>{@link net.certware.intent.state.stateSpecification.Output#getRangeUnits <em>Range Units</em>}</li>
- *   <li>{@link net.certware.intent.state.stateSpecification.Output#getValues <em>Values</em>}</li>
+ *   <li>{@link net.certware.intent.state.stateSpecification.Output#getRange <em>Range</em>}</li>
+ *   <li>{@link net.certware.intent.state.stateSpecification.Output#getValueList <em>Value List</em>}</li>
  *   <li>{@link net.certware.intent.state.stateSpecification.Output#getRate <em>Rate</em>}</li>
  *   <li>{@link net.certware.intent.state.stateSpecification.Output#getDelay <em>Delay</em>}</li>
  *   <li>{@link net.certware.intent.state.stateSpecification.Output#getDeadline <em>Deadline</em>}</li>
@@ -45,124 +38,56 @@
 public interface Output extends EObject
 {
   /**
-   * Returns the value of the '<em><b>Lower</b></em>' attribute.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Lower</em>' attribute isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Lower</em>' attribute.
-   * @see #setLower(BigDecimal)
-   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getOutput_Lower()
-   * @model
-   * @generated
-   */
-  BigDecimal getLower();
-
-  /**
-   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Output#getLower <em>Lower</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Lower</em>' attribute.
-   * @see #getLower()
-   * @generated
-   */
-  void setLower(BigDecimal value);
-
-  /**
-   * Returns the value of the '<em><b>Upper</b></em>' attribute.
+   * Returns the value of the '<em><b>Range</b></em>' containment reference.
    * <!-- begin-user-doc -->
    * <p>
-   * If the meaning of the '<em>Upper</em>' attribute isn't clear,
+   * If the meaning of the '<em>Range</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>Upper</em>' attribute.
-   * @see #setUpper(BigDecimal)
-   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getOutput_Upper()
-   * @model
-   * @generated
-   */
-  BigDecimal getUpper();
-
-  /**
-   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Output#getUpper <em>Upper</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Upper</em>' attribute.
-   * @see #getUpper()
-   * @generated
-   */
-  void setUpper(BigDecimal value);
-
-  /**
-   * Returns the value of the '<em><b>Range Type</b></em>' attribute.
-   * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Range Type</em>' attribute isn't clear,
-   * there really should be more of a description here...
-   * </p>
-   * <!-- end-user-doc -->
-   * @return the value of the '<em>Range Type</em>' attribute.
-   * @see #setRangeType(String)
-   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getOutput_RangeType()
-   * @model
+   * @return the value of the '<em>Range</em>' containment reference.
+   * @see #setRange(ValueRange)
+   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getOutput_Range()
+   * @model containment="true"
    * @generated
    */
-  String getRangeType();
+  ValueRange getRange();
 
   /**
-   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Output#getRangeType <em>Range Type</em>}' attribute.
+   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Output#getRange <em>Range</em>}' containment reference.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Range Type</em>' attribute.
-   * @see #getRangeType()
+   * @param value the new value of the '<em>Range</em>' containment reference.
+   * @see #getRange()
    * @generated
    */
-  void setRangeType(String value);
+  void setRange(ValueRange value);
 
   /**
-   * Returns the value of the '<em><b>Range Units</b></em>' attribute.
+   * Returns the value of the '<em><b>Value List</b></em>' containment reference.
    * <!-- begin-user-doc -->
    * <p>
-   * If the meaning of the '<em>Range Units</em>' attribute isn't clear,
+   * If the meaning of the '<em>Value List</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>Range Units</em>' attribute.
-   * @see #setRangeUnits(String)
-   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getOutput_RangeUnits()
-   * @model
-   * @generated
-   */
-  String getRangeUnits();
-
-  /**
-   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Output#getRangeUnits <em>Range Units</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Range Units</em>' attribute.
-   * @see #getRangeUnits()
+   * @return the value of the '<em>Value List</em>' containment reference.
+   * @see #setValueList(ValueList)
+   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getOutput_ValueList()
+   * @model containment="true"
    * @generated
    */
-  void setRangeUnits(String value);
+  ValueList getValueList();
 
   /**
-   * Returns the value of the '<em><b>Values</b></em>' attribute list.
-   * The list contents are of type {@link java.lang.String}.
+   * Sets the value of the '{@link net.certware.intent.state.stateSpecification.Output#getValueList <em>Value List</em>}' containment reference.
    * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Values</em>' attribute list isn't clear,
-   * there really should be more of a description here...
-   * </p>
    * <!-- end-user-doc -->
-   * @return the value of the '<em>Values</em>' attribute list.
-   * @see net.certware.intent.state.stateSpecification.StateSpecificationPackage#getOutput_Values()
-   * @model unique="false"
+   * @param value the new value of the '<em>Value List</em>' containment reference.
+   * @see #getValueList()
    * @generated
    */
-  EList<String> getValues();
+  void setValueList(ValueList value);
 
   /**
    * Returns the value of the '<em><b>Rate</b></em>' containment reference.
https://github.com/nasa/CertWare/raw/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2FstateSpecification%2FOutput.java
19f61eef377e15acf2da9d5cb3f81dc5099bd3c7
modified
https://github.com/nasa/CertWare/blob/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2FstateSpecification%2FStateSpecificationFactory.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2FstateSpecification%2FStateSpecificationFactory.java?ref=110fa3222ae2931978d7921dc8e6af8c7f43abd3
net.certware.intent.state/src-gen/net/certware/intent/state/stateSpecification/StateSpecificationFactory.java
  /**
   * Returns a new object of class '<em>Value Range</em>'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return a new object of class '<em>Value Range</em>'.
   * @generated
   */
  ValueRange createValueRange();

  /**
   * Returns a new object of class '<em>Value List</em>'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return a new object of class '<em>Value List</em>'.
   * @generated
   */
  ValueList createValueList();

@@ -193,6 +193,24 @@ public interface StateSpecificationFactory extends EFactory
    */
   TriggerTable createTriggerTable();
 
+  /**
+   * Returns a new object of class '<em>Value Range</em>'.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @return a new object of class '<em>Value Range</em>'.
+   * @generated
+   */
+  ValueRange createValueRange();
+
+  /**
+   * Returns a new object of class '<em>Value List</em>'.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @return a new object of class '<em>Value List</em>'.
+   * @generated
+   */
+  ValueList createValueList();
+
   /**
    * Returns a new object of class '<em>Output</em>'.
    * <!-- begin-user-doc -->
https://github.com/nasa/CertWare/raw/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2FstateSpecification%2FStateSpecificationFactory.java
48832361f52cfc21fed1484cbf5515ba264dee2c
modified
https://github.com/nasa/CertWare/blob/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2FstateSpecification%2FStateSpecificationPackage.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2FstateSpecification%2FStateSpecificationPackage.java?ref=110fa3222ae2931978d7921dc8e6af8c7f43abd3
net.certware.intent.state/src-gen/net/certware/intent/state/stateSpecification/StateSpecificationPackage.java
   * The meta object id for the '{@link net.certware.intent.state.stateSpecification.impl.ValueRangeImpl <em>Value Range</em>}' class.
   * @see net.certware.intent.state.stateSpecification.impl.ValueRangeImpl
   * @see net.certware.intent.state.stateSpecification.impl.StateSpecificationPackageImpl#getValueRange()
  int VALUE_RANGE = 19;
  int VALUE_RANGE__LOWER = 0;
  int VALUE_RANGE__UPPER = 1;
  int VALUE_RANGE__RANGE_TYPE = 2;
  int VALUE_RANGE__RANGE_UNITS = 3;

  /**
   * The number of structural features of the '<em>Value Range</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int VALUE_RANGE_FEATURE_COUNT = 4;

  /**
   * The meta object id for the '{@link net.certware.intent.state.stateSpecification.impl.ValueListImpl <em>Value List</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see net.certware.intent.state.stateSpecification.impl.ValueListImpl
   * @see net.certware.intent.state.stateSpecification.impl.StateSpecificationPackageImpl#getValueList()
   * @generated
   */
  int VALUE_LIST = 20;
  int VALUE_LIST__VALUES = 0;

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

  /**
   * The meta object id for the '{@link net.certware.intent.state.stateSpecification.impl.OutputImpl <em>Output</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see net.certware.intent.state.stateSpecification.impl.OutputImpl
   * @see net.certware.intent.state.stateSpecification.impl.StateSpecificationPackageImpl#getOutput()
   * @generated
   */
  int OUTPUT = 21;

  /**
   * The feature id for the '<em><b>Range</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int OUTPUT__RANGE = 0;

  /**
   * The feature id for the '<em><b>Value List</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int OUTPUT__VALUE_LIST = 1;
  int OUTPUT__RATE = 2;
  int OUTPUT__DELAY = 3;
  int OUTPUT__DEADLINE = 4;
  int OUTPUT__COMPLETION_HANDLING = 5;
  int OUTPUT__VARIABLES = 6;
  int OUTPUT__RELATIONSHIP = 7;
  int OUTPUT__MIN_RESPONSE = 8;
  int OUTPUT__MAX_RESPONSE = 9;
  int OUTPUT__FEEBACK_HANDLING = 10;
  int OUTPUT__REVERSED = 11;
  int OUTPUT__REFERENCES = 12;
  int OUTPUT__COMMENTS = 13;
  int OUTPUT__CONTENTS = 14;
  int OUTPUT__TABLE = 15;
  int OUTPUT_FEATURE_COUNT = 16;
  int INPUT = 22;
   * The feature id for the '<em><b>Range</b></em>' containment reference.
  int INPUT__RANGE = 0;
   * The feature id for the '<em><b>Value List</b></em>' containment reference.
  int INPUT__VALUE_LIST = 1;
   * The feature id for the '<em><b>Value Handling</b></em>' attribute.
  int INPUT__VALUE_HANDLING = 2;
   * The feature id for the '<em><b>Granularity</b></em>' containment reference.
  int INPUT__GRANULARITY = 3;
   * The feature id for the '<em><b>Arrival Rate Avg</b></em>' containment reference.
  int INPUT__ARRIVAL_RATE_AVG = 4;
   * The feature id for the '<em><b>Arrival Rate Minimum</b></em>' containment reference.
  int INPUT__ARRIVAL_RATE_MINIMUM = 5;
   * The feature id for the '<em><b>Arrival Rate Maximum</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int INPUT__ARRIVAL_RATE_MAXIMUM = 6;

  /**
   * The feature id for the '<em><b>Obsolescence</b></em>' containment reference.
  int INPUT__OBSOLESCENCE = 7;
  int INPUT__REFERENCES = 8;

  /**
   * The feature id for the '<em><b>Appears In</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int INPUT__APPEARS_IN = 9;

  /**
   * The feature id for the '<em><b>Description</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int INPUT__DESCRIPTION = 10;
  int INPUT__COMMENTS = 11;

  /**
   * The feature id for the '<em><b>Structure</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int INPUT__STRUCTURE = 12;
  int INPUT_FEATURE_COUNT = 13;
   * Returns the meta object for class '{@link net.certware.intent.state.stateSpecification.ValueRange <em>Value Range</em>}'.
   * @return the meta object for class '<em>Value Range</em>'.
   * @see net.certware.intent.state.stateSpecification.ValueRange
  EClass getValueRange();
   * Returns the meta object for the attribute '{@link net.certware.intent.state.stateSpecification.ValueRange#getLower <em>Lower</em>}'.
   * @see net.certware.intent.state.stateSpecification.ValueRange#getLower()
   * @see #getValueRange()
  EAttribute getValueRange_Lower();
   * Returns the meta object for the attribute '{@link net.certware.intent.state.stateSpecification.ValueRange#getUpper <em>Upper</em>}'.
   * @see net.certware.intent.state.stateSpecification.ValueRange#getUpper()
   * @see #getValueRange()
  EAttribute getValueRange_Upper();
   * Returns the meta object for the attribute '{@link net.certware.intent.state.stateSpecification.ValueRange#getRangeType <em>Range Type</em>}'.
   * @see net.certware.intent.state.stateSpecification.ValueRange#getRangeType()
   * @see #getValueRange()
  EAttribute getValueRange_RangeType();
   * Returns the meta object for the attribute '{@link net.certware.intent.state.stateSpecification.ValueRange#getRangeUnits <em>Range Units</em>}'.
   * @see net.certware.intent.state.stateSpecification.ValueRange#getRangeUnits()
   * @see #getValueRange()
   * @generated
   */
  EAttribute getValueRange_RangeUnits();

  /**
   * Returns the meta object for class '{@link net.certware.intent.state.stateSpecification.ValueList <em>Value List</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Value List</em>'.
   * @see net.certware.intent.state.stateSpecification.ValueList
  EClass getValueList();
   * Returns the meta object for the attribute list '{@link net.certware.intent.state.stateSpecification.ValueList#getValues <em>Values</em>}'.
   * @see net.certware.intent.state.stateSpecification.ValueList#getValues()
   * @see #getValueList()
   * @generated
   */
  EAttribute getValueList_Values();

  /**
   * Returns the meta object for class '{@link net.certware.intent.state.stateSpecification.Output <em>Output</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Output</em>'.
   * @see net.certware.intent.state.stateSpecification.Output
   * @generated
   */
  EClass getOutput();

  /**
   * Returns the meta object for the containment reference '{@link net.certware.intent.state.stateSpecification.Output#getRange <em>Range</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Range</em>'.
   * @see net.certware.intent.state.stateSpecification.Output#getRange()
   * @see #getOutput()
   * @generated
   */
  EReference getOutput_Range();

  /**
   * Returns the meta object for the containment reference '{@link net.certware.intent.state.stateSpecification.Output#getValueList <em>Value List</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Value List</em>'.
   * @see net.certware.intent.state.stateSpecification.Output#getValueList()
  EReference getOutput_ValueList();
   * Returns the meta object for the containment reference '{@link net.certware.intent.state.stateSpecification.Input#getRange <em>Range</em>}'.
   * @return the meta object for the containment reference '<em>Range</em>'.
   * @see net.certware.intent.state.stateSpecification.Input#getRange()
  EReference getInput_Range();
   * Returns the meta object for the containment reference '{@link net.certware.intent.state.stateSpecification.Input#getValueList <em>Value List</em>}'.
   * @return the meta object for the containment reference '<em>Value List</em>'.
   * @see net.certware.intent.state.stateSpecification.Input#getValueList()
  EReference getInput_ValueList();
   * Returns the meta object for the attribute '{@link net.certware.intent.state.stateSpecification.Input#getValueHandling <em>Value Handling</em>}'.
   * @return the meta object for the attribute '<em>Value Handling</em>'.
   * @see net.certware.intent.state.stateSpecification.Input#getValueHandling()
  EAttribute getInput_ValueHandling();
   * Returns the meta object for the containment reference '{@link net.certware.intent.state.stateSpecification.Input#getGranularity <em>Granularity</em>}'.
   * @return the meta object for the containment reference '<em>Granularity</em>'.
   * @see net.certware.intent.state.stateSpecification.Input#getGranularity()
  EReference getInput_Granularity();
   * Returns the meta object for the containment reference '{@link net.certware.intent.state.stateSpecification.Input#getArrivalRateAvg <em>Arrival Rate Avg</em>}'.
   * @return the meta object for the containment reference '<em>Arrival Rate Avg</em>'.
   * @see net.certware.intent.state.stateSpecification.Input#getArrivalRateAvg()
  EReference getInput_ArrivalRateAvg();
   * Returns the meta object for the containment reference '{@link net.certware.intent.state.stateSpecification.Input#getArrivalRateMinimum <em>Arrival Rate Minimum</em>}'.
   * @return the meta object for the containment reference '<em>Arrival Rate Minimum</em>'.
   * @see net.certware.intent.state.stateSpecification.Input#getArrivalRateMinimum()
  EReference getInput_ArrivalRateMinimum();
   * Returns the meta object for the containment reference '{@link net.certware.intent.state.stateSpecification.Input#getArrivalRateMaximum <em>Arrival Rate Maximum</em>}'.
   * @return the meta object for the containment reference '<em>Arrival Rate Maximum</em>'.
   * @see net.certware.intent.state.stateSpecification.Input#getArrivalRateMaximum()
  EReference getInput_ArrivalRateMaximum();

  /**
   * Returns the meta object for the containment reference '{@link net.certware.intent.state.stateSpecification.Input#getObsolescence <em>Obsolescence</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Obsolescence</em>'.
   * @see net.certware.intent.state.stateSpecification.Input#getObsolescence()
   * @see #getInput()
   * @generated
   */
  EReference getInput_Obsolescence();
  /**
   * Returns the meta object for the attribute '{@link net.certware.intent.state.stateSpecification.Input#getAppearsIn <em>Appears In</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Appears In</em>'.
   * @see net.certware.intent.state.stateSpecification.Input#getAppearsIn()
   * @see #getInput()
   * @generated
   */
  EAttribute getInput_AppearsIn();

  /**
   * Returns the meta object for the attribute '{@link net.certware.intent.state.stateSpecification.Input#getDescription <em>Description</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Description</em>'.
   * @see net.certware.intent.state.stateSpecification.Input#getDescription()
   * @see #getInput()
   * @generated
   */
  EAttribute getInput_Description();

  /**
   * Returns the meta object for the containment reference '{@link net.certware.intent.state.stateSpecification.Input#getStructure <em>Structure</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Structure</em>'.
   * @see net.certware.intent.state.stateSpecification.Input#getStructure()
   * @see #getInput()
   * @generated
   */
  EReference getInput_Structure();

     * The meta object literal for the '{@link net.certware.intent.state.stateSpecification.impl.ValueRangeImpl <em>Value Range</em>}' class.
     * @see net.certware.intent.state.stateSpecification.impl.ValueRangeImpl
     * @see net.certware.intent.state.stateSpecification.impl.StateSpecificationPackageImpl#getValueRange()
    EClass VALUE_RANGE = eINSTANCE.getValueRange();
    EAttribute VALUE_RANGE__LOWER = eINSTANCE.getValueRange_Lower();
    EAttribute VALUE_RANGE__UPPER = eINSTANCE.getValueRange_Upper();
    EAttribute VALUE_RANGE__RANGE_TYPE = eINSTANCE.getValueRange_RangeType();
    EAttribute VALUE_RANGE__RANGE_UNITS = eINSTANCE.getValueRange_RangeUnits();

    /**
     * The meta object literal for the '{@link net.certware.intent.state.stateSpecification.impl.ValueListImpl <em>Value List</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see net.certware.intent.state.stateSpecification.impl.ValueListImpl
     * @see net.certware.intent.state.stateSpecification.impl.StateSpecificationPackageImpl#getValueList()
     * @generated
     */
    EClass VALUE_LIST = eINSTANCE.getValueList();
    EAttribute VALUE_LIST__VALUES = eINSTANCE.getValueList_Values();

    /**
     * The meta object literal for the '{@link net.certware.intent.state.stateSpecification.impl.OutputImpl <em>Output</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see net.certware.intent.state.stateSpecification.impl.OutputImpl
     * @see net.certware.intent.state.stateSpecification.impl.StateSpecificationPackageImpl#getOutput()
     * @generated
     */
    EClass OUTPUT = eINSTANCE.getOutput();

    /**
     * The meta object literal for the '<em><b>Range</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference OUTPUT__RANGE = eINSTANCE.getOutput_Range();

    /**
     * The meta object literal for the '<em><b>Value List</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference OUTPUT__VALUE_LIST = eINSTANCE.getOutput_ValueList();
     * The meta object literal for the '<em><b>Range</b></em>' containment reference feature.
    EReference INPUT__RANGE = eINSTANCE.getInput_Range();
     * The meta object literal for the '<em><b>Value List</b></em>' containment reference feature.
    EReference INPUT__VALUE_LIST = eINSTANCE.getInput_ValueList();
     * The meta object literal for the '<em><b>Value Handling</b></em>' attribute feature.
    EAttribute INPUT__VALUE_HANDLING = eINSTANCE.getInput_ValueHandling();
     * The meta object literal for the '<em><b>Granularity</b></em>' containment reference feature.
    EReference INPUT__GRANULARITY = eINSTANCE.getInput_Granularity();
     * The meta object literal for the '<em><b>Arrival Rate Avg</b></em>' containment reference feature.
    EReference INPUT__ARRIVAL_RATE_AVG = eINSTANCE.getInput_ArrivalRateAvg();
     * The meta object literal for the '<em><b>Arrival Rate Minimum</b></em>' containment reference feature.
    EReference INPUT__ARRIVAL_RATE_MINIMUM = eINSTANCE.getInput_ArrivalRateMinimum();
     * The meta object literal for the '<em><b>Arrival Rate Maximum</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference INPUT__ARRIVAL_RATE_MAXIMUM = eINSTANCE.getInput_ArrivalRateMaximum();

    /**
     * The meta object literal for the '<em><b>Obsolescence</b></em>' containment reference feature.
    EReference INPUT__OBSOLESCENCE = eINSTANCE.getInput_Obsolescence();
    /**
     * The meta object literal for the '<em><b>Appears In</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute INPUT__APPEARS_IN = eINSTANCE.getInput_AppearsIn();

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

    /**
     * The meta object literal for the '<em><b>Structure</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference INPUT__STRUCTURE = eINSTANCE.getInput_Structure();

   * The meta object id for the '{@link net.certware.intent.state.stateSpecification.impl.OutputImpl <em>Output</em>}' class.
   * @see net.certware.intent.state.stateSpecification.impl.OutputImpl
   * @see net.certware.intent.state.stateSpecification.impl.StateSpecificationPackageImpl#getOutput()
  int OUTPUT = 19;
  int OUTPUT__LOWER = 0;
  int OUTPUT__UPPER = 1;
  int OUTPUT__RANGE_TYPE = 2;
  int OUTPUT__RANGE_UNITS = 3;
  int OUTPUT__VALUES = 4;
  int OUTPUT__RATE = 5;
  int OUTPUT__DELAY = 6;
  int OUTPUT__DEADLINE = 7;
  int OUTPUT__COMPLETION_HANDLING = 8;
  int OUTPUT__VARIABLES = 9;
  int OUTPUT__RELATIONSHIP = 10;
  int OUTPUT__MIN_RESPONSE = 11;
  int OUTPUT__MAX_RESPONSE = 12;
  int OUTPUT__FEEBACK_HANDLING = 13;
  int OUTPUT__REVERSED = 14;
  int OUTPUT__REFERENCES = 15;
  int OUTPUT__COMMENTS = 16;
  int OUTPUT__CONTENTS = 17;
  int OUTPUT__TABLE = 18;
  int OUTPUT_FEATURE_COUNT = 19;
  int INPUT = 20;
   * The feature id for the '<em><b>Lower</b></em>' attribute.
  int INPUT__LOWER = 0;
   * The feature id for the '<em><b>Upper</b></em>' attribute.
  int INPUT__UPPER = 1;
   * The feature id for the '<em><b>Range Type</b></em>' attribute.
  int INPUT__RANGE_TYPE = 2;
   * The feature id for the '<em><b>Range Units</b></em>' attribute.
  int INPUT__RANGE_UNITS = 3;
   * The feature id for the '<em><b>Values</b></em>' attribute list.
  int INPUT__VALUES = 4;
   * The feature id for the '<em><b>Rate</b></em>' containment reference.
  int INPUT__RATE = 5;
   * The feature id for the '<em><b>Variables</b></em>' attribute.
  int INPUT__VARIABLES = 6;
  int INPUT__REFERENCES = 7;
  int INPUT__COMMENTS = 8;
  int INPUT_FEATURE_COUNT = 9;
   * Returns the meta object for class '{@link net.certware.intent.state.stateSpecification.Output <em>Output</em>}'.
   * @return the meta object for class '<em>Output</em>'.
   * @see net.certware.intent.state.stateSpecification.Output
  EClass getOutput();
   * Returns the meta object for the attribute '{@link net.certware.intent.state.stateSpecification.Output#getLower <em>Lower</em>}'.
   * @see net.certware.intent.state.stateSpecification.Output#getLower()
   * @see #getOutput()
  EAttribute getOutput_Lower();
   * Returns the meta object for the attribute '{@link net.certware.intent.state.stateSpecification.Output#getUpper <em>Upper</em>}'.
   * @see net.certware.intent.state.stateSpecification.Output#getUpper()
   * @see #getOutput()
  EAttribute getOutput_Upper();
   * Returns the meta object for the attribute '{@link net.certware.intent.state.stateSpecification.Output#getRangeType <em>Range Type</em>}'.
   * @see net.certware.intent.state.stateSpecification.Output#getRangeType()
   * @see #getOutput()
  EAttribute getOutput_RangeType();
   * Returns the meta object for the attribute '{@link net.certware.intent.state.stateSpecification.Output#getRangeUnits <em>Range Units</em>}'.
   * @see net.certware.intent.state.stateSpecification.Output#getRangeUnits()
   * @see #getOutput()
  EAttribute getOutput_RangeUnits();
   * Returns the meta object for the attribute list '{@link net.certware.intent.state.stateSpecification.Output#getValues <em>Values</em>}'.
   * @see net.certware.intent.state.stateSpecification.Output#getValues()
  EAttribute getOutput_Values();
   * Returns the meta object for the attribute '{@link net.certware.intent.state.stateSpecification.Input#getLower <em>Lower</em>}'.
   * @return the meta object for the attribute '<em>Lower</em>'.
   * @see net.certware.intent.state.stateSpecification.Input#getLower()
  EAttribute getInput_Lower();
   * Returns the meta object for the attribute '{@link net.certware.intent.state.stateSpecification.Input#getUpper <em>Upper</em>}'.
   * @return the meta object for the attribute '<em>Upper</em>'.
   * @see net.certware.intent.state.stateSpecification.Input#getUpper()
  EAttribute getInput_Upper();
   * Returns the meta object for the attribute '{@link net.certware.intent.state.stateSpecification.Input#getRangeType <em>Range Type</em>}'.
   * @return the meta object for the attribute '<em>Range Type</em>'.
   * @see net.certware.intent.state.stateSpecification.Input#getRangeType()
  EAttribute getInput_RangeType();
   * Returns the meta object for the attribute '{@link net.certware.intent.state.stateSpecification.Input#getRangeUnits <em>Range Units</em>}'.
   * @return the meta object for the attribute '<em>Range Units</em>'.
   * @see net.certware.intent.state.stateSpecification.Input#getRangeUnits()
  EAttribute getInput_RangeUnits();
   * Returns the meta object for the attribute list '{@link net.certware.intent.state.stateSpecification.Input#getValues <em>Values</em>}'.
   * @return the meta object for the attribute list '<em>Values</em>'.
   * @see net.certware.intent.state.stateSpecification.Input#getValues()
  EAttribute getInput_Values();
   * Returns the meta object for the containment reference '{@link net.certware.intent.state.stateSpecification.Input#getRate <em>Rate</em>}'.
   * @return the meta object for the containment reference '<em>Rate</em>'.
   * @see net.certware.intent.state.stateSpecification.Input#getRate()
  EReference getInput_Rate();
   * Returns the meta object for the attribute '{@link net.certware.intent.state.stateSpecification.Input#getVariables <em>Variables</em>}'.
   * @return the meta object for the attribute '<em>Variables</em>'.
   * @see net.certware.intent.state.stateSpecification.Input#getVariables()
  EAttribute getInput_Variables();
     * The meta object literal for the '{@link net.certware.intent.state.stateSpecification.impl.OutputImpl <em>Output</em>}' class.
     * @see net.certware.intent.state.stateSpecification.impl.OutputImpl
     * @see net.certware.intent.state.stateSpecification.impl.StateSpecificationPackageImpl#getOutput()
    EClass OUTPUT = eINSTANCE.getOutput();
    EAttribute OUTPUT__LOWER = eINSTANCE.getOutput_Lower();
    EAttribute OUTPUT__UPPER = eINSTANCE.getOutput_Upper();
    EAttribute OUTPUT__RANGE_TYPE = eINSTANCE.getOutput_RangeType();
    EAttribute OUTPUT__RANGE_UNITS = eINSTANCE.getOutput_RangeUnits();
    EAttribute OUTPUT__VALUES = eINSTANCE.getOutput_Values();
     * The meta object literal for the '<em><b>Lower</b></em>' attribute feature.
    EAttribute INPUT__LOWER = eINSTANCE.getInput_Lower();
     * The meta object literal for the '<em><b>Upper</b></em>' attribute feature.
    EAttribute INPUT__UPPER = eINSTANCE.getInput_Upper();
     * The meta object literal for the '<em><b>Range Type</b></em>' attribute feature.
    EAttribute INPUT__RANGE_TYPE = eINSTANCE.getInput_RangeType();
     * The meta object literal for the '<em><b>Range Units</b></em>' attribute feature.
    EAttribute INPUT__RANGE_UNITS = eINSTANCE.getInput_RangeUnits();
     * The meta object literal for the '<em><b>Values</b></em>' attribute list feature.
    EAttribute INPUT__VALUES = eINSTANCE.getInput_Values();
     * The meta object literal for the '<em><b>Rate</b></em>' containment reference feature.
    EReference INPUT__RATE = eINSTANCE.getInput_Rate();
     * The meta object literal for the '<em><b>Variables</b></em>' attribute feature.
    EAttribute INPUT__VARIABLES = eINSTANCE.getInput_Variables();
@@ -841,14 +841,14 @@ public interface StateSpecificationPackage extends EPackage
   int TRIGGER_TABLE_FEATURE_COUNT = 1;
 
   /**
-   * The meta object id for the '{@link net.certware.intent.state.stateSpecification.impl.OutputImpl <em>Output</em>}' class.
+   * The meta object id for the '{@link net.certware.intent.state.stateSpecification.impl.ValueRangeImpl <em>Value Range</em>}' class.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see net.certware.intent.state.stateSpecification.impl.OutputImpl
-   * @see net.certware.intent.state.stateSpecification.impl.StateSpecificationPackageImpl#getOutput()
+   * @see net.certware.intent.state.stateSpecification.impl.ValueRangeImpl
+   * @see net.certware.intent.state.stateSpecification.impl.StateSpecificationPackageImpl#getValueRange()
    * @generated
    */
-  int OUTPUT = 19;
+  int VALUE_RANGE = 19;
 
   /**
    * The feature id for the '<em><b>Lower</b></em>' attribute.
@@ -857,7 +857,7 @@ public interface StateSpecificationPackage extends EPackage
    * @generated
    * @ordered
    */
-  int OUTPUT__LOWER = 0;
+  int VALUE_RANGE__LOWER = 0;
 
   /**
    * The feature id for the '<em><b>Upper</b></em>' attribute.
@@ -866,7 +866,7 @@ public interface StateSpecificationPackage extends EPackage
    * @generated
    * @ordered
    */
-  int OUTPUT__UPPER = 1;
+  int VALUE_RANGE__UPPER = 1;
 
   /**
    * The feature id for the '<em><b>Range Type</b></em>' attribute.
@@ -875,7 +875,7 @@ public interface StateSpecificationPackage extends EPackage
    * @generated
    * @ordered
    */
-  int OUTPUT__RANGE_TYPE = 2;
+  int VALUE_RANGE__RANGE_TYPE = 2;
 
   /**
    * The feature id for the '<em><b>Range Units</b></em>' attribute.
@@ -884,7 +884,26 @@ public interface StateSpecificationPackage extends EPackage
    * @generated
    * @ordered
    */
-  int OUTPUT__RANGE_UNITS = 3;
+  int VALUE_RANGE__RANGE_UNITS = 3;
+
+  /**
+   * The number of structural features of the '<em>Value Range</em>' class.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   * @ordered
+   */
+  int VALUE_RANGE_FEATURE_COUNT = 4;
+
+  /**
+   * The meta object id for the '{@link net.certware.intent.state.stateSpecification.impl.ValueListImpl <em>Value List</em>}' class.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see net.certware.intent.state.stateSpecification.impl.ValueListImpl
+   * @see net.certware.intent.state.stateSpecification.impl.StateSpecificationPackageImpl#getValueList()
+   * @generated
+   */
+  int VALUE_LIST = 20;
 
   /**
    * The feature id for the '<em><b>Values</b></em>' attribute list.
@@ -893,7 +912,44 @@ public interface StateSpecificationPackage extends EPackage
    * @generated
    * @ordered
    */
-  int OUTPUT__VALUES = 4;
+  int VALUE_LIST__VALUES = 0;
+
+  /**
+   * The number of structural features of the '<em>Value List</em>' class.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   * @ordered
+   */
+  int VALUE_LIST_FEATURE_COUNT = 1;
+
+  /**
+   * The meta object id for the '{@link net.certware.intent.state.stateSpecification.impl.OutputImpl <em>Output</em>}' class.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see net.certware.intent.state.stateSpecification.impl.OutputImpl
+   * @see net.certware.intent.state.stateSpecification.impl.StateSpecificationPackageImpl#getOutput()
+   * @generated
+   */
+  int OUTPUT = 21;
+
+  /**
+   * The feature id for the '<em><b>Range</b></em>' containment reference.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   * @ordered
+   */
+  int OUTPUT__RANGE = 0;
+
+  /**
+   * The feature id for the '<em><b>Value List</b></em>' containment reference.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   * @ordered
+   */
+  int OUTPUT__VALUE_LIST = 1;
 
   /**
    * The feature id for the '<em><b>Rate</b></em>' containment reference.
@@ -902,7 +958,7 @@ public interface StateSpecificationPackage extends EPackage
    * @generated
    * @ordered
    */
-  int OUTPUT__RATE = 5;
+  int OUTPUT__RATE = 2;
 
   /**
    * The feature id for the '<em><b>Delay</b></em>' containment reference.
@@ -911,7 +967,7 @@ public interface StateSpecificationPackage extends EPackage
    * @generated
    * @ordered
    */
-  int OUTPUT__DELAY = 6;
+  int OUTPUT__DELAY = 3;
 
   /**
    * The feature id for the '<em><b>Deadline</b></em>' containment reference.
@@ -920,7 +976,7 @@ public interface StateSpecificationPackage extends EPackage
    * @generated
    * @ordered
    */
-  int OUTPUT__DEADLINE = 7;
+  int OUTPUT__DEADLINE = 4;
 
   /**
    * The feature id for the '<em><b>Completion Handling</b></em>' attribute.
@@ -929,7 +985,7 @@ public interface StateSpecificationPackage extends EPackage
    * @generated
    * @ordered
    */
-  int OUTPUT__COMPLETION_HANDLING = 8;
+  int OUTPUT__COMPLETION_HANDLING = 5;
 
   /**
    * The feature id for the '<em><b>Variables</b></em>' attribute.
@@ -938,7 +994,7 @@ public interface StateSpecificationPackage extends EPackage
    * @generated
    * @ordered
    */
-  int OUTPUT__VARIABLES = 9;
+  int OUTPUT__VARIABLES = 6;
 
   /**
    * The feature id for the '<em><b>Relationship</b></em>' attribute.
@@ -947,7 +1003,7 @@ public interface StateSpecificationPackage extends EPackage
    * @generated
    * @ordered
    */
-  int OUTPUT__RELATIONSHIP = 10;
+  int OUTPUT__RELATIONSHIP = 7;
 
   /**
    * The feature id for the '<em><b>Min Response</b></em>' containment reference.
@@ -956,7 +1012,7 @@ public interface StateSpecificationPackage extends EPackage
    * @generated
    * @ordered
    */
-  int OUTPUT__MIN_RESPONSE = 11;
+  int OUTPUT__MIN_RESPONSE = 8;
 
   /**
    * The feature id for the '<em><b>Max Response</b></em>' containment reference.
@@ -965,7 +1021,7 @@ public interface StateSpecificationPackage extends EPackage
    * @generated
    * @ordered
    */
-  int OUTPUT__MAX_RESPONSE = 12;
+  int OUTPUT__MAX_RESPONSE = 9;
 
   /**
    * The feature id for the '<em><b>Feeback Handling</b></em>' attribute.
@@ -974,7 +1030,7 @@ public interface StateSpecificationPackage extends EPackage
    * @generated
    * @ordered
    */
-  int OUTPUT__FEEBACK_HANDLING = 13;
+  int OUTPUT__FEEBACK_HANDLING = 10;
 
   /**
    * The feature id for the '<em><b>Reversed</b></em>' attribute.
@@ -983,7 +1039,7 @@ public interface StateSpecificationPackage extends EPackage
    * @generated
    * @ordered
    */
-  int OUTPUT__REVERSED = 14;
+  int OUTPUT__REVERSED = 11;
 
   /**
    * The feature id for the '<em><b>References</b></em>' attribute.
@@ -992,7 +1048,7 @@ public interface StateSpecificationPackage extends EPackage
    * @generated
    * @ordered
    */
-  int OUTPUT__REFERENCES = 15;
+  int OUTPUT__REFERENCES = 12;
 
   /**
    * The feature id for the '<em><b>Comments</b></em>' attribute.
@@ -1001,7 +1057,7 @@ public interface StateSpecificationPackage extends EPackage
    * @generated
    * @ordered
    */
-  int OUTPUT__COMMENTS = 16;
+  int OUTPUT__COMMENTS = 13;
 
   /**
    * The feature id for the '<em><b>Contents</b></em>' attribute.
@@ -1010,7 +1066,7 @@ public interface StateSpecificationPackage extends EPackage
    * @generated
    * @ordered
    */
-  int OUTPUT__CONTENTS = 17;
+  int OUTPUT__CONTENTS = 14;
 
   /**
    * The feature id for the '<em><b>Table</b></em>' containment reference.
@@ -1019,7 +1075,7 @@ public interface StateSpecificationPackage extends EPackage
    * @generated
    * @ordered
    */
-  int OUTPUT__TABLE = 18;
+  int OUTPUT__TABLE = 15;
 
   /**
    * The number of structural features of the '<em>Output</em>' class.
@@ -1028,7 +1084,7 @@ public interface StateSpecificationPackage extends EPackage
    * @generated
    * @ordered
    */
-  int OUTPUT_FEATURE_COUNT = 19;
+  int OUTPUT_FEATURE_COUNT = 16;
 
   /**
    * The meta object id for the '{@link net.certware.intent.state.stateSpecification.impl.InputImpl <em>Input</em>}' class.
@@ -1038,70 +1094,79 @@ public interface StateSpecificationPackage extends EPackage
    * @see net.certware.intent.state.stateSpecification.impl.StateSpecificationPackageImpl#getInput()
    * @generated
    */
-  int INPUT = 20;
+  int INPUT = 22;
 
   /**
-   * The feature id for the '<em><b>Lower</b></em>' attribute.
+   * The feature id for the '<em><b>Range</b></em>' containment reference.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    * @ordered
    */
-  int INPUT__LOWER = 0;
+  int INPUT__RANGE = 0;
 
   /**
-   * The feature id for the '<em><b>Upper</b></em>' attribute.
+   * The feature id for the '<em><b>Value List</b></em>' containment reference.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    * @ordered
    */
-  int INPUT__UPPER = 1;
+  int INPUT__VALUE_LIST = 1;
 
   /**
-   * The feature id for the '<em><b>Range Type</b></em>' attribute.
+   * The feature id for the '<em><b>Value Handling</b></em>' attribute.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    * @ordered
    */
-  int INPUT__RANGE_TYPE = 2;
+  int INPUT__VALUE_HANDLING = 2;
 
   /**
-   * The feature id for the '<em><b>Range Units</b></em>' attribute.
+   * The feature id for the '<em><b>Granularity</b></em>' containment reference.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    * @ordered
    */
-  int INPUT__RANGE_UNITS = 3;
+  int INPUT__GRANULARITY = 3;
 
   /**
-   * The feature id for the '<em><b>Values</b></em>' attribute list.
+   * The feature id for the '<em><b>Arrival Rate Avg</b></em>' containment reference.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    * @ordered
    */
-  int INPUT__VALUES = 4;
+  int INPUT__ARRIVAL_RATE_AVG = 4;
 
   /**
-   * The feature id for the '<em><b>Rate</b></em>' containment reference.
+   * The feature id for the '<em><b>Arrival Rate Minimum</b></em>' containment reference.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    * @ordered
    */
-  int INPUT__RATE = 5;
+  int INPUT__ARRIVAL_RATE_MINIMUM = 5;
 
   /**
-   * The feature id for the '<em><b>Variables</b></em>' attribute.
+   * The feature id for the '<em><b>Arrival Rate Maximum</b></em>' containment reference.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   * @ordered
+   */
+  int INPUT__ARRIVAL_RATE_MAXIMUM = 6;
+
+  /**
+   * The feature id for the '<em><b>Obsolescence</b></em>' containment reference.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    * @ordered
    */
-  int INPUT__VARIABLES = 6;
+  int INPUT__OBSOLESCENCE = 7;
 
   /**
    * The feature id for the '<em><b>References</b></em>' attribute.
@@ -1110,7 +1175,25 @@ public interface StateSpecificationPackage extends EPackage
    * @generated
    * @ordered
    */
-  int INPUT__REFERENCES = 7;
+  int INPUT__REFERENCES = 8;
+
+  /**
+   * The feature id for the '<em><b>Appears In</b></em>' attribute.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   * @ordered
+   */
+  int INPUT__APPEARS_IN = 9;
+
+  /**
+   * The feature id for the '<em><b>Description</b></em>' attribute.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   * @ordered
+   */
+  int INPUT__DESCRIPTION = 10;
 
   /**
    * The feature id for the '<em><b>Comments</b></em>' attribute.
@@ -1119,7 +1202,16 @@ public interface StateSpecificationPackage extends EPackage
    * @generated
    * @ordered
    */
-  int INPUT__COMMENTS = 8;
+  int INPUT__COMMENTS = 11;
+
+  /**
+   * The feature id for the '<em><b>Structure</b></em>' containment reference.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   * @ordered
+   */
+  int INPUT__STRUCTURE = 12;
 
   /**
    * The number of structural features of the '<em>Input</em>' class.
@@ -1128,7 +1220,7 @@ public interface StateSpecificationPackage extends EPackage
    * @generated
    * @ordered
    */
-  int INPUT_FEATURE_COUNT = 9;
+  int INPUT_FEATURE_COUNT = 13;
 
 
   /**
@@ -1839,69 +1931,111 @@ public interface StateSpecificationPackage extends EPackage
   EReference getTriggerTable_Rows();
 
   /**
-   * Returns the meta object for class '{@link net.certware.intent.state.stateSpecification.Output <em>Output</em>}'.
+   * Returns the meta object for class '{@link net.certware.intent.state.stateSpecification.ValueRange <em>Value Range</em>}'.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for class '<em>Output</em>'.
-   * @see net.certware.intent.state.stateSpecification.Output
+   * @return the meta object for class '<em>Value Range</em>'.
+   * @see net.certware.intent.state.stateSpecification.ValueRange
    * @generated
    */
-  EClass getOutput();
+  EClass getValueRange();
 
   /**
-   * Returns the meta object for the attribute '{@link net.certware.intent.state.stateSpecification.Output#getLower <em>Lower</em>}'.
+   * Returns the meta object for the attribute '{@link net.certware.intent.state.stateSpecification.ValueRange#getLower <em>Lower</em>}'.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @return the meta object for the attribute '<em>Lower</em>'.
-   * @see net.certware.intent.state.stateSpecification.Output#getLower()
-   * @see #getOutput()
+   * @see net.certware.intent.state.stateSpecification.ValueRange#getLower()
+   * @see #getValueRange()
    * @generated
    */
-  EAttribute getOutput_Lower();
+  EAttribute getValueRange_Lower();
 
   /**
-   * Returns the meta object for the attribute '{@link net.certware.intent.state.stateSpecification.Output#getUpper <em>Upper</em>}'.
+   * Returns the meta object for the attribute '{@link net.certware.intent.state.stateSpecification.ValueRange#getUpper <em>Upper</em>}'.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @return the meta object for the attribute '<em>Upper</em>'.
-   * @see net.certware.intent.state.stateSpecification.Output#getUpper()
-   * @see #getOutput()
+   * @see net.certware.intent.state.stateSpecification.ValueRange#getUpper()
+   * @see #getValueRange()
    * @generated
    */
-  EAttribute getOutput_Upper();
+  EAttribute getValueRange_Upper();
 
   /**
-   * Returns the meta object for the attribute '{@link net.certware.intent.state.stateSpecification.Output#getRangeType <em>Range Type</em>}'.
+   * Returns the meta object for the attribute '{@link net.certware.intent.state.stateSpecification.ValueRange#getRangeType <em>Range Type</em>}'.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @return the meta object for the attribute '<em>Range Type</em>'.
-   * @see net.certware.intent.state.stateSpecification.Output#getRangeType()
-   * @see #getOutput()
+   * @see net.certware.intent.state.stateSpecification.ValueRange#getRangeType()
+   * @see #getValueRange()
    * @generated
    */
-  EAttribute getOutput_RangeType();
+  EAttribute getValueRange_RangeType();
 
   /**
-   * Returns the meta object for the attribute '{@link net.certware.intent.state.stateSpecification.Output#getRangeUnits <em>Range Units</em>}'.
+   * Returns the meta object for the attribute '{@link net.certware.intent.state.stateSpecification.ValueRange#getRangeUnits <em>Range Units</em>}'.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @return the meta object for the attribute '<em>Range Units</em>'.
-   * @see net.certware.intent.state.stateSpecification.Output#getRangeUnits()
-   * @see #getOutput()
+   * @see net.certware.intent.state.stateSpecification.ValueRange#getRangeUnits()
+   * @see #getValueRange()
+   * @generated
+   */
+  EAttribute getValueRange_RangeUnits();
+
+  /**
+   * Returns the meta object for class '{@link net.certware.intent.state.stateSpecification.ValueList <em>Value List</em>}'.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @return the meta object for class '<em>Value List</em>'.
+   * @see net.certware.intent.state.stateSpecification.ValueList
    * @generated
    */
-  EAttribute getOutput_RangeUnits();
+  EClass getValueList();
 
   /**
-   * Returns the meta object for the attribute list '{@link net.certware.intent.state.stateSpecification.Output#getValues <em>Values</em>}'.
+   * Returns the meta object for the attribute list '{@link net.certware.intent.state.stateSpecification.ValueList#getValues <em>Values</em>}'.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @return the meta object for the attribute list '<em>Values</em>'.
-   * @see net.certware.intent.state.stateSpecification.Output#getValues()
+   * @see net.certware.intent.state.stateSpecification.ValueList#getValues()
+   * @see #getValueList()
+   * @generated
+   */
+  EAttribute getValueList_Values();
+
+  /**
+   * Returns the meta object for class '{@link net.certware.intent.state.stateSpecification.Output <em>Output</em>}'.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @return the meta object for class '<em>Output</em>'.
+   * @see net.certware.intent.state.stateSpecification.Output
+   * @generated
+   */
+  EClass getOutput();
+
+  /**
+   * Returns the meta object for the containment reference '{@link net.certware.intent.state.stateSpecification.Output#getRange <em>Range</em>}'.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @return the meta object for the containment reference '<em>Range</em>'.
+   * @see net.certware.intent.state.stateSpecification.Output#getRange()
+   * @see #getOutput()
+   * @generated
+   */
+  EReference getOutput_Range();
+
+  /**
+   * Returns the meta object for the containment reference '{@link net.certware.intent.state.stateSpecification.Output#getValueList <em>Value List</em>}'.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @return the meta object for the containment reference '<em>Value List</em>'.
+   * @see net.certware.intent.state.stateSpecification.Output#getValueList()
    * @see #getOutput()
    * @generated
    */
-  EAttribute getOutput_Values();
+  EReference getOutput_ValueList();
 
   /**
    * Returns the meta object for the containment reference '{@link net.certware.intent.state.stateSpecification.Output#getRate <em>Rate</em>}'.
@@ -2068,81 +2202,92 @@ public interface StateSpecificationPackage extends EPackage
   EClass getInput();
 
   /**
-   * Returns the meta object for the attribute '{@link net.certware.intent.state.stateSpecification.Input#getLower <em>Lower</em>}'.
+   * Returns the meta object for the containment reference '{@link net.certware.intent.state.stateSpecification.Input#getRange <em>Range</em>}'.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Lower</em>'.
-   * @see net.certware.intent.state.stateSpecification.Input#getLower()
+   * @return the meta object for the containment reference '<em>Range</em>'.
+   * @see net.certware.intent.state.stateSpecification.Input#getRange()
    * @see #getInput()
    * @generated
    */
-  EAttribute getInput_Lower();
+  EReference getInput_Range();
 
   /**
-   * Returns the meta object for the attribute '{@link net.certware.intent.state.stateSpecification.Input#getUpper <em>Upper</em>}'.
+   * Returns the meta object for the containment reference '{@link net.certware.intent.state.stateSpecification.Input#getValueList <em>Value List</em>}'.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Upper</em>'.
-   * @see net.certware.intent.state.stateSpecification.Input#getUpper()
+   * @return the meta object for the containment reference '<em>Value List</em>'.
+   * @see net.certware.intent.state.stateSpecification.Input#getValueList()
    * @see #getInput()
    * @generated
    */
-  EAttribute getInput_Upper();
+  EReference getInput_ValueList();
 
   /**
-   * Returns the meta object for the attribute '{@link net.certware.intent.state.stateSpecification.Input#getRangeType <em>Range Type</em>}'.
+   * Returns the meta object for the attribute '{@link net.certware.intent.state.stateSpecification.Input#getValueHandling <em>Value Handling</em>}'.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Range Type</em>'.
-   * @see net.certware.intent.state.stateSpecification.Input#getRangeType()
+   * @return the meta object for the attribute '<em>Value Handling</em>'.
+   * @see net.certware.intent.state.stateSpecification.Input#getValueHandling()
    * @see #getInput()
    * @generated
    */
-  EAttribute getInput_RangeType();
+  EAttribute getInput_ValueHandling();
 
   /**
-   * Returns the meta object for the attribute '{@link net.certware.intent.state.stateSpecification.Input#getRangeUnits <em>Range Units</em>}'.
+   * Returns the meta object for the containment reference '{@link net.certware.intent.state.stateSpecification.Input#getGranularity <em>Granularity</em>}'.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Range Units</em>'.
-   * @see net.certware.intent.state.stateSpecification.Input#getRangeUnits()
+   * @return the meta object for the containment reference '<em>Granularity</em>'.
+   * @see net.certware.intent.state.stateSpecification.Input#getGranularity()
    * @see #getInput()
    * @generated
    */
-  EAttribute getInput_RangeUnits();
+  EReference getInput_Granularity();
 
   /**
-   * Returns the meta object for the attribute list '{@link net.certware.intent.state.stateSpecification.Input#getValues <em>Values</em>}'.
+   * Returns the meta object for the containment reference '{@link net.certware.intent.state.stateSpecification.Input#getArrivalRateAvg <em>Arrival Rate Avg</em>}'.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the attribute list '<em>Values</em>'.
-   * @see net.certware.intent.state.stateSpecification.Input#getValues()
+   * @return the meta object for the containment reference '<em>Arrival Rate Avg</em>'.
+   * @see net.certware.intent.state.stateSpecification.Input#getArrivalRateAvg()
    * @see #getInput()
    * @generated
    */
-  EAttribute getInput_Values();
+  EReference getInput_ArrivalRateAvg();
 
   /**
-   * Returns the meta object for the containment reference '{@link net.certware.intent.state.stateSpecification.Input#getRate <em>Rate</em>}'.
+   * Returns the meta object for the containment reference '{@link net.certware.intent.state.stateSpecification.Input#getArrivalRateMinimum <em>Arrival Rate Minimum</em>}'.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the containment reference '<em>Rate</em>'.
-   * @see net.certware.intent.state.stateSpecification.Input#getRate()
+   * @return the meta object for the containment reference '<em>Arrival Rate Minimum</em>'.
+   * @see net.certware.intent.state.stateSpecification.Input#getArrivalRateMinimum()
    * @see #getInput()
    * @generated
    */
-  EReference getInput_Rate();
+  EReference getInput_ArrivalRateMinimum();
 
   /**
-   * Returns the meta object for the attribute '{@link net.certware.intent.state.stateSpecification.Input#getVariables <em>Variables</em>}'.
+   * Returns the meta object for the containment reference '{@link net.certware.intent.state.stateSpecification.Input#getArrivalRateMaximum <em>Arrival Rate Maximum</em>}'.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Variables</em>'.
-   * @see net.certware.intent.state.stateSpecification.Input#getVariables()
+   * @return the meta object for the containment reference '<em>Arrival Rate Maximum</em>'.
+   * @see net.certware.intent.state.stateSpecification.Input#getArrivalRateMaximum()
    * @see #getInput()
    * @generated
    */
-  EAttribute getInput_Variables();
+  EReference getInput_ArrivalRateMaximum();
+
+  /**
+   * Returns the meta object for the containment reference '{@link net.certware.intent.state.stateSpecification.Input#getObsolescence <em>Obsolescence</em>}'.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @return the meta object for the containment reference '<em>Obsolescence</em>'.
+   * @see net.certware.intent.state.stateSpecification.Input#getObsolescence()
+   * @see #getInput()
+   * @generated
+   */
+  EReference getInput_Obsolescence();
 
   /**
    * Returns the meta object for the attribute '{@link net.certware.intent.state.stateSpecification.Input#getReferences <em>References</em>}'.
@@ -2155,6 +2300,28 @@ public interface StateSpecificationPackage extends EPackage
    */
   EAttribute getInput_References();
 
+  /**
+   * Returns the meta object for the attribute '{@link net.certware.intent.state.stateSpecification.Input#getAppearsIn <em>Appears In</em>}'.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @return the meta object for the attribute '<em>Appears In</em>'.
+   * @see net.certware.intent.state.stateSpecification.Input#getAppearsIn()
+   * @see #getInput()
+   * @generated
+   */
+  EAttribute getInput_AppearsIn();
+
+  /**
+   * Returns the meta object for the attribute '{@link net.certware.intent.state.stateSpecification.Input#getDescription <em>Description</em>}'.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @return the meta object for the attribute '<em>Description</em>'.
+   * @see net.certware.intent.state.stateSpecification.Input#getDescription()
+   * @see #getInput()
+   * @generated
+   */
+  EAttribute getInput_Description();
+
   /**
    * Returns the meta object for the attribute '{@link net.certware.intent.state.stateSpecification.Input#getComments <em>Comments</em>}'.
    * <!-- begin-user-doc -->
@@ -2166,6 +2333,17 @@ public interface StateSpecificationPackage extends EPackage
    */
   EAttribute getInput_Comments();
 
+  /**
+   * Returns the meta object for the containment reference '{@link net.certware.intent.state.stateSpecification.Input#getStructure <em>Structure</em>}'.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @return the meta object for the containment reference '<em>Structure</em>'.
+   * @see net.certware.intent.state.stateSpecification.Input#getStructure()
+   * @see #getInput()
+   * @generated
+   */
+  EReference getInput_Structure();
+
   /**
    * Returns the factory that creates the instances of the model.
    * <!-- begin-user-doc -->
@@ -2756,54 +2934,90 @@ interface Literals
     EReference TRIGGER_TABLE__ROWS = eINSTANCE.getTriggerTable_Rows();
 
     /**
-     * The meta object literal for the '{@link net.certware.intent.state.stateSpecification.impl.OutputImpl <em>Output</em>}' class.
+     * The meta object literal for the '{@link net.certware.intent.state.stateSpecification.impl.ValueRangeImpl <em>Value Range</em>}' class.
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @see net.certware.intent.state.stateSpecification.impl.OutputImpl
-     * @see net.certware.intent.state.stateSpecification.impl.StateSpecificationPackageImpl#getOutput()
+     * @see net.certware.intent.state.stateSpecification.impl.ValueRangeImpl
+     * @see net.certware.intent.state.stateSpecification.impl.StateSpecificationPackageImpl#getValueRange()
      * @generated
      */
-    EClass OUTPUT = eINSTANCE.getOutput();
+    EClass VALUE_RANGE = eINSTANCE.getValueRange();
 
     /**
      * The meta object literal for the '<em><b>Lower</b></em>' attribute feature.
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
      * @generated
      */
-    EAttribute OUTPUT__LOWER = eINSTANCE.getOutput_Lower();
+    EAttribute VALUE_RANGE__LOWER = eINSTANCE.getValueRange_Lower();
 
     /**
      * The meta object literal for the '<em><b>Upper</b></em>' attribute feature.
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
      * @generated
      */
-    EAttribute OUTPUT__UPPER = eINSTANCE.getOutput_Upper();
+    EAttribute VALUE_RANGE__UPPER = eINSTANCE.getValueRange_Upper();
 
     /**
      * The meta object literal for the '<em><b>Range Type</b></em>' attribute feature.
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
      * @generated
      */
-    EAttribute OUTPUT__RANGE_TYPE = eINSTANCE.getOutput_RangeType();
+    EAttribute VALUE_RANGE__RANGE_TYPE = eINSTANCE.getValueRange_RangeType();
 
     /**
      * The meta object literal for the '<em><b>Range Units</b></em>' attribute feature.
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
      * @generated
      */
-    EAttribute OUTPUT__RANGE_UNITS = eINSTANCE.getOutput_RangeUnits();
+    EAttribute VALUE_RANGE__RANGE_UNITS = eINSTANCE.getValueRange_RangeUnits();
+
+    /**
+     * The meta object literal for the '{@link net.certware.intent.state.stateSpecification.impl.ValueListImpl <em>Value List</em>}' class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @see net.certware.intent.state.stateSpecification.impl.ValueListImpl
+     * @see net.certware.intent.state.stateSpecification.impl.StateSpecificationPackageImpl#getValueList()
+     * @generated
+     */
+    EClass VALUE_LIST = eINSTANCE.getValueList();
 
     /**
      * The meta object literal for the '<em><b>Values</b></em>' attribute list feature.
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
      * @generated
      */
-    EAttribute OUTPUT__VALUES = eINSTANCE.getOutput_Values();
+    EAttribute VALUE_LIST__VALUES = eINSTANCE.getValueList_Values();
+
+    /**
+     * The meta object literal for the '{@link net.certware.intent.state.stateSpecification.impl.OutputImpl <em>Output</em>}' class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @see net.certware.intent.state.stateSpecification.impl.OutputImpl
+     * @see net.certware.intent.state.stateSpecification.impl.StateSpecificationPackageImpl#getOutput()
+     * @generated
+     */
+    EClass OUTPUT = eINSTANCE.getOutput();
+
+    /**
+     * The meta object literal for the '<em><b>Range</b></em>' containment reference feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    EReference OUTPUT__RANGE = eINSTANCE.getOutput_Range();
+
+    /**
+     * The meta object literal for the '<em><b>Value List</b></em>' containment reference feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    EReference OUTPUT__VALUE_LIST = eINSTANCE.getOutput_ValueList();
 
     /**
      * The meta object literal for the '<em><b>Rate</b></em>' containment reference feature.
@@ -2928,60 +3142,68 @@ interface Literals
     EClass INPUT = eINSTANCE.getInput();
 
     /**
-     * The meta object literal for the '<em><b>Lower</b></em>' attribute feature.
+     * The meta object literal for the '<em><b>Range</b></em>' containment reference feature.
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
      * @generated
      */
-    EAttribute INPUT__LOWER = eINSTANCE.getInput_Lower();
+    EReference INPUT__RANGE = eINSTANCE.getInput_Range();
 
     /**
-     * The meta object literal for the '<em><b>Upper</b></em>' attribute feature.
+     * The meta object literal for the '<em><b>Value List</b></em>' containment reference feature.
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
      * @generated
      */
-    EAttribute INPUT__UPPER = eINSTANCE.getInput_Upper();
+    EReference INPUT__VALUE_LIST = eINSTANCE.getInput_ValueList();
 
     /**
-     * The meta object literal for the '<em><b>Range Type</b></em>' attribute feature.
+     * The meta object literal for the '<em><b>Value Handling</b></em>' attribute feature.
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
      * @generated
      */
-    EAttribute INPUT__RANGE_TYPE = eINSTANCE.getInput_RangeType();
+    EAttribute INPUT__VALUE_HANDLING = eINSTANCE.getInput_ValueHandling();
 
     /**
-     * The meta object literal for the '<em><b>Range Units</b></em>' attribute feature.
+     * The meta object literal for the '<em><b>Granularity</b></em>' containment reference feature.
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
      * @generated
      */
-    EAttribute INPUT__RANGE_UNITS = eINSTANCE.getInput_RangeUnits();
+    EReference INPUT__GRANULARITY = eINSTANCE.getInput_Granularity();
 
     /**
-     * The meta object literal for the '<em><b>Values</b></em>' attribute list feature.
+     * The meta object literal for the '<em><b>Arrival Rate Avg</b></em>' containment reference feature.
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
      * @generated
      */
-    EAttribute INPUT__VALUES = eINSTANCE.getInput_Values();
+    EReference INPUT__ARRIVAL_RATE_AVG = eINSTANCE.getInput_ArrivalRateAvg();
 
     /**
-     * The meta object literal for the '<em><b>Rate</b></em>' containment reference feature.
+     * The meta object literal for the '<em><b>Arrival Rate Minimum</b></em>' containment reference feature.
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
      * @generated
      */
-    EReference INPUT__RATE = eINSTANCE.getInput_Rate();
+    EReference INPUT__ARRIVAL_RATE_MINIMUM = eINSTANCE.getInput_ArrivalRateMinimum();
 
     /**
-     * The meta object literal for the '<em><b>Variables</b></em>' attribute feature.
+     * The meta object literal for the '<em><b>Arrival Rate Maximum</b></em>' containment reference feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    EReference INPUT__ARRIVAL_RATE_MAXIMUM = eINSTANCE.getInput_ArrivalRateMaximum();
+
+    /**
+     * The meta object literal for the '<em><b>Obsolescence</b></em>' containment reference feature.
      * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
      * @generated
      */
-    EAttribute INPUT__VARIABLES = eINSTANCE.getInput_Variables();
+    EReference INPUT__OBSOLESCENCE = eINSTANCE.getInput_Obsolescence();
 
     /**
      * The meta object literal for the '<em><b>References</b></em>' attribute feature.
@@ -2991,6 +3213,22 @@ interface Literals
      */
     EAttribute INPUT__REFERENCES = eINSTANCE.getInput_References();
 
+    /**
+     * The meta object literal for the '<em><b>Appears In</b></em>' attribute feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    EAttribute INPUT__APPEARS_IN = eINSTANCE.getInput_AppearsIn();
+
+    /**
+     * The meta object literal for the '<em><b>Description</b></em>' attribute feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    EAttribute INPUT__DESCRIPTION = eINSTANCE.getInput_Description();
+
     /**
      * The meta object literal for the '<em><b>Comments</b></em>' attribute feature.
      * <!-- begin-user-doc -->
@@ -2999,6 +3237,14 @@ interface Literals
      */
     EAttribute INPUT__COMMENTS = eINSTANCE.getInput_Comments();
 
+    /**
+     * The meta object literal for the '<em><b>Structure</b></em>' containment reference feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    EReference INPUT__STRUCTURE = eINSTANCE.getInput_Structure();
+
   }
 
 } //StateSpecificationPackage
https://github.com/nasa/CertWare/raw/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2FstateSpecification%2FStateSpecificationPackage.java
11ba0201c63d6a54b9aad6ceaac0b464e3cea048
modified
https://github.com/nasa/CertWare/blob/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2FstateSpecification%2Fimpl%2FInputImpl.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2FstateSpecification%2Fimpl%2FInputImpl.java?ref=110fa3222ae2931978d7921dc8e6af8c7f43abd3
net.certware.intent.state/src-gen/net/certware/intent/state/stateSpecification/impl/InputImpl.java
import net.certware.intent.state.stateSpecification.TriggerTable;
import net.certware.intent.state.stateSpecification.ValueList;
import net.certware.intent.state.stateSpecification.ValueRange;
 *   <li>{@link net.certware.intent.state.stateSpecification.impl.InputImpl#getRange <em>Range</em>}</li>
 *   <li>{@link net.certware.intent.state.stateSpecification.impl.InputImpl#getValueList <em>Value List</em>}</li>
 *   <li>{@link net.certware.intent.state.stateSpecification.impl.InputImpl#getValueHandling <em>Value Handling</em>}</li>
 *   <li>{@link net.certware.intent.state.stateSpecification.impl.InputImpl#getGranularity <em>Granularity</em>}</li>
 *   <li>{@link net.certware.intent.state.stateSpecification.impl.InputImpl#getArrivalRateAvg <em>Arrival Rate Avg</em>}</li>
 *   <li>{@link net.certware.intent.state.stateSpecification.impl.InputImpl#getArrivalRateMinimum <em>Arrival Rate Minimum</em>}</li>
 *   <li>{@link net.certware.intent.state.stateSpecification.impl.InputImpl#getArrivalRateMaximum <em>Arrival Rate Maximum</em>}</li>
 *   <li>{@link net.certware.intent.state.stateSpecification.impl.InputImpl#getObsolescence <em>Obsolescence</em>}</li>
 *   <li>{@link net.certware.intent.state.stateSpecification.impl.InputImpl#getAppearsIn <em>Appears In</em>}</li>
 *   <li>{@link net.certware.intent.state.stateSpecification.impl.InputImpl#getDescription <em>Description</em>}</li>
 *   <li>{@link net.certware.intent.state.stateSpecification.impl.InputImpl#getStructure <em>Structure</em>}</li>
   * The cached value of the '{@link #getRange() <em>Range</em>}' containment reference.
   * @see #getRange()
  protected ValueRange range;
   * The cached value of the '{@link #getValueList() <em>Value List</em>}' containment reference.
   * @see #getValueList()
  protected ValueList valueList;
   * The default value of the '{@link #getValueHandling() <em>Value Handling</em>}' attribute.
   * @see #getValueHandling()
  protected static final String VALUE_HANDLING_EDEFAULT = null;
   * The cached value of the '{@link #getValueHandling() <em>Value Handling</em>}' attribute.
   * @see #getValueHandling()
  protected String valueHandling = VALUE_HANDLING_EDEFAULT;
   * The cached value of the '{@link #getGranularity() <em>Granularity</em>}' containment reference.
   * @see #getGranularity()
  protected BigUnitValue granularity;
   * The cached value of the '{@link #getArrivalRateAvg() <em>Arrival Rate Avg</em>}' containment reference.
   * @see #getArrivalRateAvg()
  protected BigUnitValue arrivalRateAvg;
   * The cached value of the '{@link #getArrivalRateMinimum() <em>Arrival Rate Minimum</em>}' containment reference.
   * @see #getArrivalRateMinimum()
  protected BigUnitValue arrivalRateMinimum;
   * The cached value of the '{@link #getArrivalRateMaximum() <em>Arrival Rate Maximum</em>}' containment reference.
   * @see #getArrivalRateMaximum()
  protected BigUnitValue arrivalRateMaximum;
   * The cached value of the '{@link #getObsolescence() <em>Obsolescence</em>}' containment reference.
   * @see #getObsolescence()
  protected BigUnitValue obsolescence;
   * The default value of the '{@link #getReferences() <em>References</em>}' attribute.
   * @see #getReferences()
  protected static final String REFERENCES_EDEFAULT = null;
   * The cached value of the '{@link #getReferences() <em>References</em>}' attribute.
   * @see #getReferences()
  protected String references = REFERENCES_EDEFAULT;
   * The default value of the '{@link #getAppearsIn() <em>Appears In</em>}' attribute.
   * @see #getAppearsIn()
  protected static final String APPEARS_IN_EDEFAULT = null;
   * The cached value of the '{@link #getAppearsIn() <em>Appears In</em>}' attribute.
   * @see #getAppearsIn()
  protected String appearsIn = APPEARS_IN_EDEFAULT;
   * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
   * @see #getDescription()
  protected static final String DESCRIPTION_EDEFAULT = null;

  /**
   * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see #getDescription()
   * @generated
   * @ordered
   */
  protected String description = DESCRIPTION_EDEFAULT;
  /**
   * The cached value of the '{@link #getStructure() <em>Structure</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see #getStructure()
   * @generated
   * @ordered
   */
  protected TriggerTable structure;

  public ValueRange getRange()
  {
    return range;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public NotificationChain basicSetRange(ValueRange newRange, NotificationChain msgs)
  {
    ValueRange oldRange = range;
    range = newRange;
    if (eNotificationRequired())
    {
      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__RANGE, oldRange, newRange);
      if (msgs == null) msgs = notification; else msgs.add(notification);
    }
    return msgs;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public void setRange(ValueRange newRange)
  {
    if (newRange != range)
    {
      NotificationChain msgs = null;
      if (range != null)
        msgs = ((InternalEObject)range).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__RANGE, null, msgs);
      if (newRange != null)
        msgs = ((InternalEObject)newRange).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__RANGE, null, msgs);
      msgs = basicSetRange(newRange, msgs);
      if (msgs != null) msgs.dispatch();
    }
    else if (eNotificationRequired())
      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__RANGE, newRange, newRange));
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public ValueList getValueList()
  {
    return valueList;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public NotificationChain basicSetValueList(ValueList newValueList, NotificationChain msgs)
  {
    ValueList oldValueList = valueList;
    valueList = newValueList;
    if (eNotificationRequired())
    {
      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__VALUE_LIST, oldValueList, newValueList);
      if (msgs == null) msgs = notification; else msgs.add(notification);
    }
    return msgs;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public void setValueList(ValueList newValueList)
  {
    if (newValueList != valueList)
    {
      NotificationChain msgs = null;
      if (valueList != null)
        msgs = ((InternalEObject)valueList).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__VALUE_LIST, null, msgs);
      if (newValueList != null)
        msgs = ((InternalEObject)newValueList).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__VALUE_LIST, null, msgs);
      msgs = basicSetValueList(newValueList, msgs);
      if (msgs != null) msgs.dispatch();
    }
    else if (eNotificationRequired())
      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__VALUE_LIST, newValueList, newValueList));
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public String getValueHandling()
    return valueHandling;
  public void setValueHandling(String newValueHandling)
    String oldValueHandling = valueHandling;
    valueHandling = newValueHandling;
      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__VALUE_HANDLING, oldValueHandling, valueHandling));
  public BigUnitValue getGranularity()
    return granularity;
  public NotificationChain basicSetGranularity(BigUnitValue newGranularity, NotificationChain msgs)
    BigUnitValue oldGranularity = granularity;
    granularity = newGranularity;
    {
      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__GRANULARITY, oldGranularity, newGranularity);
      if (msgs == null) msgs = notification; else msgs.add(notification);
    }
    return msgs;
  public void setGranularity(BigUnitValue newGranularity)
    if (newGranularity != granularity)
    {
      NotificationChain msgs = null;
      if (granularity != null)
        msgs = ((InternalEObject)granularity).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__GRANULARITY, null, msgs);
      if (newGranularity != null)
        msgs = ((InternalEObject)newGranularity).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__GRANULARITY, null, msgs);
      msgs = basicSetGranularity(newGranularity, msgs);
      if (msgs != null) msgs.dispatch();
    }
    else if (eNotificationRequired())
      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__GRANULARITY, newGranularity, newGranularity));
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public BigUnitValue getArrivalRateAvg()
  {
    return arrivalRateAvg;
  public NotificationChain basicSetArrivalRateAvg(BigUnitValue newArrivalRateAvg, NotificationChain msgs)
    BigUnitValue oldArrivalRateAvg = arrivalRateAvg;
    arrivalRateAvg = newArrivalRateAvg;
    {
      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__ARRIVAL_RATE_AVG, oldArrivalRateAvg, newArrivalRateAvg);
      if (msgs == null) msgs = notification; else msgs.add(notification);
    }
    return msgs;
  public void setArrivalRateAvg(BigUnitValue newArrivalRateAvg)
    if (newArrivalRateAvg != arrivalRateAvg)
    {
      NotificationChain msgs = null;
      if (arrivalRateAvg != null)
        msgs = ((InternalEObject)arrivalRateAvg).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__ARRIVAL_RATE_AVG, null, msgs);
      if (newArrivalRateAvg != null)
        msgs = ((InternalEObject)newArrivalRateAvg).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__ARRIVAL_RATE_AVG, null, msgs);
      msgs = basicSetArrivalRateAvg(newArrivalRateAvg, msgs);
      if (msgs != null) msgs.dispatch();
    }
    else if (eNotificationRequired())
      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__ARRIVAL_RATE_AVG, newArrivalRateAvg, newArrivalRateAvg));
  public BigUnitValue getArrivalRateMinimum()
    return arrivalRateMinimum;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public NotificationChain basicSetArrivalRateMinimum(BigUnitValue newArrivalRateMinimum, NotificationChain msgs)
  {
    BigUnitValue oldArrivalRateMinimum = arrivalRateMinimum;
    arrivalRateMinimum = newArrivalRateMinimum;
    {
      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__ARRIVAL_RATE_MINIMUM, oldArrivalRateMinimum, newArrivalRateMinimum);
      if (msgs == null) msgs = notification; else msgs.add(notification);
    }
    return msgs;
  public void setArrivalRateMinimum(BigUnitValue newArrivalRateMinimum)
    if (newArrivalRateMinimum != arrivalRateMinimum)
      NotificationChain msgs = null;
      if (arrivalRateMinimum != null)
        msgs = ((InternalEObject)arrivalRateMinimum).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__ARRIVAL_RATE_MINIMUM, null, msgs);
      if (newArrivalRateMinimum != null)
        msgs = ((InternalEObject)newArrivalRateMinimum).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__ARRIVAL_RATE_MINIMUM, null, msgs);
      msgs = basicSetArrivalRateMinimum(newArrivalRateMinimum, msgs);
      if (msgs != null) msgs.dispatch();
    else if (eNotificationRequired())
      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__ARRIVAL_RATE_MINIMUM, newArrivalRateMinimum, newArrivalRateMinimum));
  public BigUnitValue getArrivalRateMaximum()
    return arrivalRateMaximum;
  public NotificationChain basicSetArrivalRateMaximum(BigUnitValue newArrivalRateMaximum, NotificationChain msgs)
    BigUnitValue oldArrivalRateMaximum = arrivalRateMaximum;
    arrivalRateMaximum = newArrivalRateMaximum;
      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__ARRIVAL_RATE_MAXIMUM, oldArrivalRateMaximum, newArrivalRateMaximum);
  public void setArrivalRateMaximum(BigUnitValue newArrivalRateMaximum)
    if (newArrivalRateMaximum != arrivalRateMaximum)
      if (arrivalRateMaximum != null)
        msgs = ((InternalEObject)arrivalRateMaximum).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__ARRIVAL_RATE_MAXIMUM, null, msgs);
      if (newArrivalRateMaximum != null)
        msgs = ((InternalEObject)newArrivalRateMaximum).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__ARRIVAL_RATE_MAXIMUM, null, msgs);
      msgs = basicSetArrivalRateMaximum(newArrivalRateMaximum, msgs);
      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__ARRIVAL_RATE_MAXIMUM, newArrivalRateMaximum, newArrivalRateMaximum));
  public BigUnitValue getObsolescence()
    return obsolescence;
  public NotificationChain basicSetObsolescence(BigUnitValue newObsolescence, NotificationChain msgs)
    BigUnitValue oldObsolescence = obsolescence;
    obsolescence = newObsolescence;
    {
      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__OBSOLESCENCE, oldObsolescence, newObsolescence);
      if (msgs == null) msgs = notification; else msgs.add(notification);
    }
    return msgs;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public void setObsolescence(BigUnitValue newObsolescence)
  {
    if (newObsolescence != obsolescence)
    {
      NotificationChain msgs = null;
      if (obsolescence != null)
        msgs = ((InternalEObject)obsolescence).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__OBSOLESCENCE, null, msgs);
      if (newObsolescence != null)
        msgs = ((InternalEObject)newObsolescence).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__OBSOLESCENCE, null, msgs);
      msgs = basicSetObsolescence(newObsolescence, msgs);
      if (msgs != null) msgs.dispatch();
    }
    else if (eNotificationRequired())
      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__OBSOLESCENCE, newObsolescence, newObsolescence));
  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public String getAppearsIn()
  {
    return appearsIn;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public void setAppearsIn(String newAppearsIn)
  {
    String oldAppearsIn = appearsIn;
    appearsIn = newAppearsIn;
    if (eNotificationRequired())
      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__APPEARS_IN, oldAppearsIn, appearsIn));
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public String getDescription()
  {
    return description;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public void setDescription(String newDescription)
  {
    String oldDescription = description;
    description = newDescription;
    if (eNotificationRequired())
      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__DESCRIPTION, oldDescription, description));
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public TriggerTable getStructure()
  {
    return structure;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public NotificationChain basicSetStructure(TriggerTable newStructure, NotificationChain msgs)
  {
    TriggerTable oldStructure = structure;
    structure = newStructure;
    if (eNotificationRequired())
    {
      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__STRUCTURE, oldStructure, newStructure);
      if (msgs == null) msgs = notification; else msgs.add(notification);
    }
    return msgs;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public void setStructure(TriggerTable newStructure)
  {
    if (newStructure != structure)
    {
      NotificationChain msgs = null;
      if (structure != null)
        msgs = ((InternalEObject)structure).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__STRUCTURE, null, msgs);
      if (newStructure != null)
        msgs = ((InternalEObject)newStructure).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__STRUCTURE, null, msgs);
      msgs = basicSetStructure(newStructure, msgs);
      if (msgs != null) msgs.dispatch();
    }
    else if (eNotificationRequired())
      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__STRUCTURE, newStructure, newStructure));
  }

      case StateSpecificationPackage.INPUT__RANGE:
        return basicSetRange(null, msgs);
      case StateSpecificationPackage.INPUT__VALUE_LIST:
        return basicSetValueList(null, msgs);
      case StateSpecificationPackage.INPUT__GRANULARITY:
        return basicSetGranularity(null, msgs);
      case StateSpecificationPackage.INPUT__ARRIVAL_RATE_AVG:
        return basicSetArrivalRateAvg(null, msgs);
      case StateSpecificationPackage.INPUT__ARRIVAL_RATE_MINIMUM:
        return basicSetArrivalRateMinimum(null, msgs);
      case StateSpecificationPackage.INPUT__ARRIVAL_RATE_MAXIMUM:
        return basicSetArrivalRateMaximum(null, msgs);
      case StateSpecificationPackage.INPUT__OBSOLESCENCE:
        return basicSetObsolescence(null, msgs);
      case StateSpecificationPackage.INPUT__STRUCTURE:
        return basicSetStructure(null, msgs);
      case StateSpecificationPackage.INPUT__RANGE:
        return getRange();
      case StateSpecificationPackage.INPUT__VALUE_LIST:
        return getValueList();
      case StateSpecificationPackage.INPUT__VALUE_HANDLING:
        return getValueHandling();
      case StateSpecificationPackage.INPUT__GRANULARITY:
        return getGranularity();
      case StateSpecificationPackage.INPUT__ARRIVAL_RATE_AVG:
        return getArrivalRateAvg();
      case StateSpecificationPackage.INPUT__ARRIVAL_RATE_MINIMUM:
        return getArrivalRateMinimum();
      case StateSpecificationPackage.INPUT__ARRIVAL_RATE_MAXIMUM:
        return getArrivalRateMaximum();
      case StateSpecificationPackage.INPUT__OBSOLESCENCE:
        return getObsolescence();
      case StateSpecificationPackage.INPUT__APPEARS_IN:
        return getAppearsIn();
      case StateSpecificationPackage.INPUT__DESCRIPTION:
        return getDescription();
      case StateSpecificationPackage.INPUT__STRUCTURE:
        return getStructure();
      case StateSpecificationPackage.INPUT__RANGE:
        setRange((ValueRange)newValue);
        return;
      case StateSpecificationPackage.INPUT__VALUE_LIST:
        setValueList((ValueList)newValue);
      case StateSpecificationPackage.INPUT__VALUE_HANDLING:
        setValueHandling((String)newValue);
      case StateSpecificationPackage.INPUT__GRANULARITY:
        setGranularity((BigUnitValue)newValue);
      case StateSpecificationPackage.INPUT__ARRIVAL_RATE_AVG:
        setArrivalRateAvg((BigUnitValue)newValue);
      case StateSpecificationPackage.INPUT__ARRIVAL_RATE_MINIMUM:
        setArrivalRateMinimum((BigUnitValue)newValue);
      case StateSpecificationPackage.INPUT__ARRIVAL_RATE_MAXIMUM:
        setArrivalRateMaximum((BigUnitValue)newValue);
      case StateSpecificationPackage.INPUT__OBSOLESCENCE:
        setObsolescence((BigUnitValue)newValue);
      case StateSpecificationPackage.INPUT__APPEARS_IN:
        setAppearsIn((String)newValue);
        return;
      case StateSpecificationPackage.INPUT__DESCRIPTION:
        setDescription((String)newValue);
        return;
      case StateSpecificationPackage.INPUT__STRUCTURE:
        setStructure((TriggerTable)newValue);
        return;
      case StateSpecificationPackage.INPUT__RANGE:
        setRange((ValueRange)null);
        return;
      case StateSpecificationPackage.INPUT__VALUE_LIST:
        setValueList((ValueList)null);
      case StateSpecificationPackage.INPUT__VALUE_HANDLING:
        setValueHandling(VALUE_HANDLING_EDEFAULT);
      case StateSpecificationPackage.INPUT__GRANULARITY:
        setGranularity((BigUnitValue)null);
      case StateSpecificationPackage.INPUT__ARRIVAL_RATE_AVG:
        setArrivalRateAvg((BigUnitValue)null);
      case StateSpecificationPackage.INPUT__ARRIVAL_RATE_MINIMUM:
        setArrivalRateMinimum((BigUnitValue)null);
      case StateSpecificationPackage.INPUT__ARRIVAL_RATE_MAXIMUM:
        setArrivalRateMaximum((BigUnitValue)null);
      case StateSpecificationPackage.INPUT__OBSOLESCENCE:
        setObsolescence((BigUnitValue)null);
      case StateSpecificationPackage.INPUT__APPEARS_IN:
        setAppearsIn(APPEARS_IN_EDEFAULT);
        return;
      case StateSpecificationPackage.INPUT__DESCRIPTION:
        setDescription(DESCRIPTION_EDEFAULT);
        return;
      case StateSpecificationPackage.INPUT__STRUCTURE:
        setStructure((TriggerTable)null);
        return;
      case StateSpecificationPackage.INPUT__RANGE:
        return range != null;
      case StateSpecificationPackage.INPUT__VALUE_LIST:
        return valueList != null;
      case StateSpecificationPackage.INPUT__VALUE_HANDLING:
        return VALUE_HANDLING_EDEFAULT == null ? valueHandling != null : !VALUE_HANDLING_EDEFAULT.equals(valueHandling);
      case StateSpecificationPackage.INPUT__GRANULARITY:
        return granularity != null;
      case StateSpecificationPackage.INPUT__ARRIVAL_RATE_AVG:
        return arrivalRateAvg != null;
      case StateSpecificationPackage.INPUT__ARRIVAL_RATE_MINIMUM:
        return arrivalRateMinimum != null;
      case StateSpecificationPackage.INPUT__ARRIVAL_RATE_MAXIMUM:
        return arrivalRateMaximum != null;
      case StateSpecificationPackage.INPUT__OBSOLESCENCE:
        return obsolescence != null;
      case StateSpecificationPackage.INPUT__APPEARS_IN:
        return APPEARS_IN_EDEFAULT == null ? appearsIn != null : !APPEARS_IN_EDEFAULT.equals(appearsIn);
      case StateSpecificationPackage.INPUT__DESCRIPTION:
        return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description);
      case StateSpecificationPackage.INPUT__STRUCTURE:
        return structure != null;
    result.append(" (valueHandling: ");
    result.append(valueHandling);
    result.append(", appearsIn: ");
    result.append(appearsIn);
    result.append(", description: ");
    result.append(description);
net.certware.intent.state/src-gen/net/certware/intent/state/stateSpecification/impl/InputImpl.java
return range;
ValueRange getRange()
ValueRange newRange  NotificationChain msgs
net.certware.intent.state/src-gen/net/certware/intent/state/stateSpecification/impl/InputImpl.java
ValueRange oldRange = range;
    range = newRange;
    if (eNotificationRequired())
    {
      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__RANGE, oldRange, newRange);
      if (msgs == null) msgs = notification; else msgs.add(notification);
NotificationChain basicSetRange(ValueRange newRange, NotificationChain msgs)
ValueRange newRange
net.certware.intent.state/src-gen/net/certware/intent/state/stateSpecification/impl/InputImpl.java
if (newRange != range)
    {
      NotificationChain msgs = null;
      if (range != null)
        msgs = ((InternalEObject)range).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__RANGE, null, msgs);
      if (newRange != null)
        msgs = ((InternalEObject)newRange).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__RANGE, null, msgs);
      msgs = basicSetRange(newRange, msgs);
      if (msgs != null) msgs.dispatch();
void setRange(ValueRange newRange)
net.certware.intent.state/src-gen/net/certware/intent/state/stateSpecification/impl/InputImpl.java
return valueList;
ValueList getValueList()
ValueList newValueList  NotificationChain msgs
net.certware.intent.state/src-gen/net/certware/intent/state/stateSpecification/impl/InputImpl.java
ValueList oldValueList = valueList;
    valueList = newValueList;
    if (eNotificationRequired())
    {
      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__VALUE_LIST, oldValueList, newValueList);
      if (msgs == null) msgs = notification; else msgs.add(notification);
NotificationChain basicSetValueList(ValueList newValueList, NotificationChain msgs)
ValueList newValueList
net.certware.intent.state/src-gen/net/certware/intent/state/stateSpecification/impl/InputImpl.java
if (newValueList != valueList)
    {
      NotificationChain msgs = null;
      if (valueList != null)
        msgs = ((InternalEObject)valueList).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__VALUE_LIST, null, msgs);
      if (newValueList != null)
        msgs = ((InternalEObject)newValueList).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__VALUE_LIST, null, msgs);
      msgs = basicSetValueList(newValueList, msgs);
      if (msgs != null) msgs.dispatch();
void setValueList(ValueList newValueList)
net.certware.intent.state/src-gen/net/certware/intent/state/stateSpecification/impl/InputImpl.java
return arrivalRateAvg;
  public NotificationChain basicSetArrivalRateAvg(BigUnitValue newArrivalRateAvg, NotificationChain msgs)
    BigUnitValue oldArrivalRateAvg = arrivalRateAvg;
    arrivalRateAvg = newArrivalRateAvg;
    {
      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__ARRIVAL_RATE_AVG, oldArrivalRateAvg, newArrivalRateAvg);
      if (msgs == null) msgs = notification; else msgs.add(notification);
BigUnitValue getArrivalRateAvg()
BigUnitValue newArrivalRateMinimum  NotificationChain msgs
net.certware.intent.state/src-gen/net/certware/intent/state/stateSpecification/impl/InputImpl.java
BigUnitValue oldArrivalRateMinimum = arrivalRateMinimum;
    arrivalRateMinimum = newArrivalRateMinimum;
    {
      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__ARRIVAL_RATE_MINIMUM, oldArrivalRateMinimum, newArrivalRateMinimum);
      if (msgs == null) msgs = notification; else msgs.add(notification);
NotificationChain basicSetArrivalRateMinimum(BigUnitValue newArrivalRateMinimum, NotificationChain msgs)
BigUnitValue newObsolescence
net.certware.intent.state/src-gen/net/certware/intent/state/stateSpecification/impl/InputImpl.java
if (newObsolescence != obsolescence)
    {
      NotificationChain msgs = null;
      if (obsolescence != null)
        msgs = ((InternalEObject)obsolescence).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__OBSOLESCENCE, null, msgs);
      if (newObsolescence != null)
        msgs = ((InternalEObject)newObsolescence).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__OBSOLESCENCE, null, msgs);
      msgs = basicSetObsolescence(newObsolescence, msgs);
      if (msgs != null) msgs.dispatch();
void setObsolescence(BigUnitValue newObsolescence)
net.certware.intent.state/src-gen/net/certware/intent/state/stateSpecification/impl/InputImpl.java
return appearsIn;
String getAppearsIn()
String newAppearsIn
net.certware.intent.state/src-gen/net/certware/intent/state/stateSpecification/impl/InputImpl.java
String oldAppearsIn = appearsIn;
    appearsIn = newAppearsIn;
    if (eNotificationRequired())
      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__APPEARS_IN, oldAppearsIn, appearsIn));
void setAppearsIn(String newAppearsIn)
net.certware.intent.state/src-gen/net/certware/intent/state/stateSpecification/impl/InputImpl.java
return description;
String getDescription()
String newDescription
net.certware.intent.state/src-gen/net/certware/intent/state/stateSpecification/impl/InputImpl.java
String oldDescription = description;
    description = newDescription;
    if (eNotificationRequired())
      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__DESCRIPTION, oldDescription, description));
void setDescription(String newDescription)
net.certware.intent.state/src-gen/net/certware/intent/state/stateSpecification/impl/InputImpl.java
return structure;
TriggerTable getStructure()
TriggerTable newStructure  NotificationChain msgs
net.certware.intent.state/src-gen/net/certware/intent/state/stateSpecification/impl/InputImpl.java
TriggerTable oldStructure = structure;
    structure = newStructure;
    if (eNotificationRequired())
    {
      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__STRUCTURE, oldStructure, newStructure);
      if (msgs == null) msgs = notification; else msgs.add(notification);
NotificationChain basicSetStructure(TriggerTable newStructure, NotificationChain msgs)
TriggerTable newStructure
net.certware.intent.state/src-gen/net/certware/intent/state/stateSpecification/impl/InputImpl.java
if (newStructure != structure)
    {
      NotificationChain msgs = null;
      if (structure != null)
        msgs = ((InternalEObject)structure).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__STRUCTURE, null, msgs);
      if (newStructure != null)
        msgs = ((InternalEObject)newStructure).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__STRUCTURE, null, msgs);
      msgs = basicSetStructure(newStructure, msgs);
      if (msgs != null) msgs.dispatch();
void setStructure(TriggerTable newStructure)
import java.math.BigDecimal;

import java.util.Collection;

import org.eclipse.emf.common.util.EList;

import org.eclipse.emf.ecore.util.EDataTypeEList;

 *   <li>{@link net.certware.intent.state.stateSpecification.impl.InputImpl#getLower <em>Lower</em>}</li>
 *   <li>{@link net.certware.intent.state.stateSpecification.impl.InputImpl#getUpper <em>Upper</em>}</li>
 *   <li>{@link net.certware.intent.state.stateSpecification.impl.InputImpl#getRangeType <em>Range Type</em>}</li>
 *   <li>{@link net.certware.intent.state.stateSpecification.impl.InputImpl#getRangeUnits <em>Range Units</em>}</li>
 *   <li>{@link net.certware.intent.state.stateSpecification.impl.InputImpl#getValues <em>Values</em>}</li>
 *   <li>{@link net.certware.intent.state.stateSpecification.impl.InputImpl#getRate <em>Rate</em>}</li>
 *   <li>{@link net.certware.intent.state.stateSpecification.impl.InputImpl#getVariables <em>Variables</em>}</li>
   * The default value of the '{@link #getLower() <em>Lower</em>}' attribute.
   * @see #getLower()
  protected static final BigDecimal LOWER_EDEFAULT = null;
   * The cached value of the '{@link #getLower() <em>Lower</em>}' attribute.
   * @see #getLower()
  protected BigDecimal lower = LOWER_EDEFAULT;
   * The default value of the '{@link #getUpper() <em>Upper</em>}' attribute.
   * @see #getUpper()
  protected static final BigDecimal UPPER_EDEFAULT = null;
   * The cached value of the '{@link #getUpper() <em>Upper</em>}' attribute.
   * @see #getUpper()
  protected BigDecimal upper = UPPER_EDEFAULT;
   * The default value of the '{@link #getRangeType() <em>Range Type</em>}' attribute.
   * @see #getRangeType()
  protected static final String RANGE_TYPE_EDEFAULT = null;
   * The cached value of the '{@link #getRangeType() <em>Range Type</em>}' attribute.
   * @see #getRangeType()
  protected String rangeType = RANGE_TYPE_EDEFAULT;
   * The default value of the '{@link #getRangeUnits() <em>Range Units</em>}' attribute.
   * @see #getRangeUnits()
  protected static final String RANGE_UNITS_EDEFAULT = null;
   * The cached value of the '{@link #getRangeUnits() <em>Range Units</em>}' attribute.
   * @see #getRangeUnits()
  protected String rangeUnits = RANGE_UNITS_EDEFAULT;
   * The cached value of the '{@link #getValues() <em>Values</em>}' attribute list.
   * @see #getValues()
  protected EList<String> values;
   * The cached value of the '{@link #getRate() <em>Rate</em>}' containment reference.
   * @see #getRate()
  protected BigUnitValue rate;
   * The default value of the '{@link #getVariables() <em>Variables</em>}' attribute.
   * @see #getVariables()
  protected static final String VARIABLES_EDEFAULT = null;
   * The cached value of the '{@link #getVariables() <em>Variables</em>}' attribute.
   * @see #getVariables()
  protected String variables = VARIABLES_EDEFAULT;
   * The default value of the '{@link #getReferences() <em>References</em>}' attribute.
   * @see #getReferences()
  protected static final String REFERENCES_EDEFAULT = null;
   * The cached value of the '{@link #getReferences() <em>References</em>}' attribute.
   * @see #getReferences()
  protected String references = REFERENCES_EDEFAULT;
  public BigDecimal getLower()
    return lower;
  public void setLower(BigDecimal newLower)
    BigDecimal oldLower = lower;
    lower = newLower;
      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__LOWER, oldLower, lower));
  public BigDecimal getUpper()
    return upper;
  public void setUpper(BigDecimal newUpper)
    BigDecimal oldUpper = upper;
    upper = newUpper;
      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__UPPER, oldUpper, upper));
  public String getRangeType()
    return rangeType;
  public void setRangeType(String newRangeType)
    String oldRangeType = rangeType;
    rangeType = newRangeType;
      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__RANGE_TYPE, oldRangeType, rangeType));
  public String getRangeUnits()
    return rangeUnits;
  public void setRangeUnits(String newRangeUnits)
    String oldRangeUnits = rangeUnits;
    rangeUnits = newRangeUnits;
      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__RANGE_UNITS, oldRangeUnits, rangeUnits));
  public EList<String> getValues()
    if (values == null)
      values = new EDataTypeEList<String>(String.class, this, StateSpecificationPackage.INPUT__VALUES);
    return values;
  public BigUnitValue getRate()
    return rate;
  public NotificationChain basicSetRate(BigUnitValue newRate, NotificationChain msgs)
    BigUnitValue oldRate = rate;
    rate = newRate;
      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__RATE, oldRate, newRate);
  public void setRate(BigUnitValue newRate)
    if (newRate != rate)
      if (rate != null)
        msgs = ((InternalEObject)rate).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__RATE, null, msgs);
      if (newRate != null)
        msgs = ((InternalEObject)newRate).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__RATE, null, msgs);
      msgs = basicSetRate(newRate, msgs);
      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__RATE, newRate, newRate));
  public String getVariables()
    return variables;
  public void setVariables(String newVariables)
    String oldVariables = variables;
    variables = newVariables;
      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__VARIABLES, oldVariables, variables));
      case StateSpecificationPackage.INPUT__RATE:
        return basicSetRate(null, msgs);
      case StateSpecificationPackage.INPUT__LOWER:
        return getLower();
      case StateSpecificationPackage.INPUT__UPPER:
        return getUpper();
      case StateSpecificationPackage.INPUT__RANGE_TYPE:
        return getRangeType();
      case StateSpecificationPackage.INPUT__RANGE_UNITS:
        return getRangeUnits();
      case StateSpecificationPackage.INPUT__VALUES:
        return getValues();
      case StateSpecificationPackage.INPUT__RATE:
        return getRate();
      case StateSpecificationPackage.INPUT__VARIABLES:
        return getVariables();
  @SuppressWarnings("unchecked")
      case StateSpecificationPackage.INPUT__LOWER:
        setLower((BigDecimal)newValue);
      case StateSpecificationPackage.INPUT__UPPER:
        setUpper((BigDecimal)newValue);
      case StateSpecificationPackage.INPUT__RANGE_TYPE:
        setRangeType((String)newValue);
      case StateSpecificationPackage.INPUT__RANGE_UNITS:
        setRangeUnits((String)newValue);
      case StateSpecificationPackage.INPUT__VALUES:
        getValues().clear();
        getValues().addAll((Collection<? extends String>)newValue);
      case StateSpecificationPackage.INPUT__RATE:
        setRate((BigUnitValue)newValue);
      case StateSpecificationPackage.INPUT__VARIABLES:
        setVariables((String)newValue);
      case StateSpecificationPackage.INPUT__LOWER:
        setLower(LOWER_EDEFAULT);
      case StateSpecificationPackage.INPUT__UPPER:
        setUpper(UPPER_EDEFAULT);
      case StateSpecificationPackage.INPUT__RANGE_TYPE:
        setRangeType(RANGE_TYPE_EDEFAULT);
      case StateSpecificationPackage.INPUT__RANGE_UNITS:
        setRangeUnits(RANGE_UNITS_EDEFAULT);
      case StateSpecificationPackage.INPUT__VALUES:
        getValues().clear();
      case StateSpecificationPackage.INPUT__RATE:
        setRate((BigUnitValue)null);
      case StateSpecificationPackage.INPUT__VARIABLES:
        setVariables(VARIABLES_EDEFAULT);
      case StateSpecificationPackage.INPUT__LOWER:
        return LOWER_EDEFAULT == null ? lower != null : !LOWER_EDEFAULT.equals(lower);
      case StateSpecificationPackage.INPUT__UPPER:
        return UPPER_EDEFAULT == null ? upper != null : !UPPER_EDEFAULT.equals(upper);
      case StateSpecificationPackage.INPUT__RANGE_TYPE:
        return RANGE_TYPE_EDEFAULT == null ? rangeType != null : !RANGE_TYPE_EDEFAULT.equals(rangeType);
      case StateSpecificationPackage.INPUT__RANGE_UNITS:
        return RANGE_UNITS_EDEFAULT == null ? rangeUnits != null : !RANGE_UNITS_EDEFAULT.equals(rangeUnits);
      case StateSpecificationPackage.INPUT__VALUES:
        return values != null && !values.isEmpty();
      case StateSpecificationPackage.INPUT__RATE:
        return rate != null;
      case StateSpecificationPackage.INPUT__VARIABLES:
        return VARIABLES_EDEFAULT == null ? variables != null : !VARIABLES_EDEFAULT.equals(variables);
    result.append(" (lower: ");
    result.append(lower);
    result.append(", upper: ");
    result.append(upper);
    result.append(", rangeType: ");
    result.append(rangeType);
    result.append(", rangeUnits: ");
    result.append(rangeUnits);
    result.append(", values: ");
    result.append(values);
    result.append(", variables: ");
    result.append(variables);
@@ -2,43 +2,42 @@
  */
 package net.certware.intent.state.stateSpecification.impl;
 
-import java.math.BigDecimal;
-
-import java.util.Collection;
-
 import net.certware.intent.state.stateSpecification.BigUnitValue;
 import net.certware.intent.state.stateSpecification.Input;
 import net.certware.intent.state.stateSpecification.StateSpecificationPackage;
+import net.certware.intent.state.stateSpecification.TriggerTable;
+import net.certware.intent.state.stateSpecification.ValueList;
+import net.certware.intent.state.stateSpecification.ValueRange;
 
 import org.eclipse.emf.common.notify.Notification;
 import org.eclipse.emf.common.notify.NotificationChain;
 
-import org.eclipse.emf.common.util.EList;
-
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.InternalEObject;
 
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
 import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
 
-import org.eclipse.emf.ecore.util.EDataTypeEList;
-
 /**
  * <!-- begin-user-doc -->
  * An implementation of the model object '<em><b>Input</b></em>'.
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
  * <ul>
- *   <li>{@link net.certware.intent.state.stateSpecification.impl.InputImpl#getLower <em>Lower</em>}</li>
- *   <li>{@link net.certware.intent.state.stateSpecification.impl.InputImpl#getUpper <em>Upper</em>}</li>
- *   <li>{@link net.certware.intent.state.stateSpecification.impl.InputImpl#getRangeType <em>Range Type</em>}</li>
- *   <li>{@link net.certware.intent.state.stateSpecification.impl.InputImpl#getRangeUnits <em>Range Units</em>}</li>
- *   <li>{@link net.certware.intent.state.stateSpecification.impl.InputImpl#getValues <em>Values</em>}</li>
- *   <li>{@link net.certware.intent.state.stateSpecification.impl.InputImpl#getRate <em>Rate</em>}</li>
- *   <li>{@link net.certware.intent.state.stateSpecification.impl.InputImpl#getVariables <em>Variables</em>}</li>
+ *   <li>{@link net.certware.intent.state.stateSpecification.impl.InputImpl#getRange <em>Range</em>}</li>
+ *   <li>{@link net.certware.intent.state.stateSpecification.impl.InputImpl#getValueList <em>Value List</em>}</li>
+ *   <li>{@link net.certware.intent.state.stateSpecification.impl.InputImpl#getValueHandling <em>Value Handling</em>}</li>
+ *   <li>{@link net.certware.intent.state.stateSpecification.impl.InputImpl#getGranularity <em>Granularity</em>}</li>
+ *   <li>{@link net.certware.intent.state.stateSpecification.impl.InputImpl#getArrivalRateAvg <em>Arrival Rate Avg</em>}</li>
+ *   <li>{@link net.certware.intent.state.stateSpecification.impl.InputImpl#getArrivalRateMinimum <em>Arrival Rate Minimum</em>}</li>
+ *   <li>{@link net.certware.intent.state.stateSpecification.impl.InputImpl#getArrivalRateMaximum <em>Arrival Rate Maximum</em>}</li>
+ *   <li>{@link net.certware.intent.state.stateSpecification.impl.InputImpl#getObsolescence <em>Obsolescence</em>}</li>
  *   <li>{@link net.certware.intent.state.stateSpecification.impl.InputImpl#getReferences <em>References</em>}</li>
+ *   <li>{@link net.certware.intent.state.stateSpecification.impl.InputImpl#getAppearsIn <em>Appears In</em>}</li>
+ *   <li>{@link net.certware.intent.state.stateSpecification.impl.InputImpl#getDescription <em>Description</em>}</li>
  *   <li>{@link net.certware.intent.state.stateSpecification.impl.InputImpl#getComments <em>Comments</em>}</li>
+ *   <li>{@link net.certware.intent.state.stateSpecification.impl.InputImpl#getStructure <em>Structure</em>}</li>
  * </ul>
  * </p>
  *
@@ -47,144 +46,154 @@
 public class InputImpl extends MinimalEObjectImpl.Container implements Input
 {
   /**
-   * The default value of the '{@link #getLower() <em>Lower</em>}' attribute.
+   * The cached value of the '{@link #getRange() <em>Range</em>}' containment reference.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getLower()
+   * @see #getRange()
    * @generated
    * @ordered
    */
-  protected static final BigDecimal LOWER_EDEFAULT = null;
+  protected ValueRange range;
 
   /**
-   * The cached value of the '{@link #getLower() <em>Lower</em>}' attribute.
+   * The cached value of the '{@link #getValueList() <em>Value List</em>}' containment reference.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getLower()
+   * @see #getValueList()
    * @generated
    * @ordered
    */
-  protected BigDecimal lower = LOWER_EDEFAULT;
+  protected ValueList valueList;
 
   /**
-   * The default value of the '{@link #getUpper() <em>Upper</em>}' attribute.
+   * The default value of the '{@link #getValueHandling() <em>Value Handling</em>}' attribute.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getUpper()
+   * @see #getValueHandling()
    * @generated
    * @ordered
    */
-  protected static final BigDecimal UPPER_EDEFAULT = null;
+  protected static final String VALUE_HANDLING_EDEFAULT = null;
 
   /**
-   * The cached value of the '{@link #getUpper() <em>Upper</em>}' attribute.
+   * The cached value of the '{@link #getValueHandling() <em>Value Handling</em>}' attribute.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getUpper()
+   * @see #getValueHandling()
    * @generated
    * @ordered
    */
-  protected BigDecimal upper = UPPER_EDEFAULT;
+  protected String valueHandling = VALUE_HANDLING_EDEFAULT;
 
   /**
-   * The default value of the '{@link #getRangeType() <em>Range Type</em>}' attribute.
+   * The cached value of the '{@link #getGranularity() <em>Granularity</em>}' containment reference.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getRangeType()
+   * @see #getGranularity()
    * @generated
    * @ordered
    */
-  protected static final String RANGE_TYPE_EDEFAULT = null;
+  protected BigUnitValue granularity;
 
   /**
-   * The cached value of the '{@link #getRangeType() <em>Range Type</em>}' attribute.
+   * The cached value of the '{@link #getArrivalRateAvg() <em>Arrival Rate Avg</em>}' containment reference.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getRangeType()
+   * @see #getArrivalRateAvg()
    * @generated
    * @ordered
    */
-  protected String rangeType = RANGE_TYPE_EDEFAULT;
+  protected BigUnitValue arrivalRateAvg;
 
   /**
-   * The default value of the '{@link #getRangeUnits() <em>Range Units</em>}' attribute.
+   * The cached value of the '{@link #getArrivalRateMinimum() <em>Arrival Rate Minimum</em>}' containment reference.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getRangeUnits()
+   * @see #getArrivalRateMinimum()
    * @generated
    * @ordered
    */
-  protected static final String RANGE_UNITS_EDEFAULT = null;
+  protected BigUnitValue arrivalRateMinimum;
 
   /**
-   * The cached value of the '{@link #getRangeUnits() <em>Range Units</em>}' attribute.
+   * The cached value of the '{@link #getArrivalRateMaximum() <em>Arrival Rate Maximum</em>}' containment reference.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getRangeUnits()
+   * @see #getArrivalRateMaximum()
    * @generated
    * @ordered
    */
-  protected String rangeUnits = RANGE_UNITS_EDEFAULT;
+  protected BigUnitValue arrivalRateMaximum;
 
   /**
-   * The cached value of the '{@link #getValues() <em>Values</em>}' attribute list.
+   * The cached value of the '{@link #getObsolescence() <em>Obsolescence</em>}' containment reference.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getValues()
+   * @see #getObsolescence()
    * @generated
    * @ordered
    */
-  protected EList<String> values;
+  protected BigUnitValue obsolescence;
 
   /**
-   * The cached value of the '{@link #getRate() <em>Rate</em>}' containment reference.
+   * The default value of the '{@link #getReferences() <em>References</em>}' attribute.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getRate()
+   * @see #getReferences()
    * @generated
    * @ordered
    */
-  protected BigUnitValue rate;
+  protected static final String REFERENCES_EDEFAULT = null;
 
   /**
-   * The default value of the '{@link #getVariables() <em>Variables</em>}' attribute.
+   * The cached value of the '{@link #getReferences() <em>References</em>}' attribute.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getVariables()
+   * @see #getReferences()
    * @generated
    * @ordered
    */
-  protected static final String VARIABLES_EDEFAULT = null;
+  protected String references = REFERENCES_EDEFAULT;
 
   /**
-   * The cached value of the '{@link #getVariables() <em>Variables</em>}' attribute.
+   * The default value of the '{@link #getAppearsIn() <em>Appears In</em>}' attribute.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getVariables()
+   * @see #getAppearsIn()
    * @generated
    * @ordered
    */
-  protected String variables = VARIABLES_EDEFAULT;
+  protected static final String APPEARS_IN_EDEFAULT = null;
 
   /**
-   * The default value of the '{@link #getReferences() <em>References</em>}' attribute.
+   * The cached value of the '{@link #getAppearsIn() <em>Appears In</em>}' attribute.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getReferences()
+   * @see #getAppearsIn()
    * @generated
    * @ordered
    */
-  protected static final String REFERENCES_EDEFAULT = null;
+  protected String appearsIn = APPEARS_IN_EDEFAULT;
 
   /**
-   * The cached value of the '{@link #getReferences() <em>References</em>}' attribute.
+   * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getReferences()
+   * @see #getDescription()
    * @generated
    * @ordered
    */
-  protected String references = REFERENCES_EDEFAULT;
+  protected static final String DESCRIPTION_EDEFAULT = null;
+
+  /**
+   * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #getDescription()
+   * @generated
+   * @ordered
+   */
+  protected String description = DESCRIPTION_EDEFAULT;
 
   /**
    * The default value of the '{@link #getComments() <em>Comments</em>}' attribute.
@@ -206,6 +215,16 @@ public class InputImpl extends MinimalEObjectImpl.Container implements Input
    */
   protected String comments = COMMENTS_EDEFAULT;
 
+  /**
+   * The cached value of the '{@link #getStructure() <em>Structure</em>}' containment reference.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #getStructure()
+   * @generated
+   * @ordered
+   */
+  protected TriggerTable structure;
+
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
@@ -232,129 +251,286 @@ protected EClass eStaticClass()
    * <!-- end-user-doc -->
    * @generated
    */
-  public BigDecimal getLower()
+  public ValueRange getRange()
+  {
+    return range;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public NotificationChain basicSetRange(ValueRange newRange, NotificationChain msgs)
+  {
+    ValueRange oldRange = range;
+    range = newRange;
+    if (eNotificationRequired())
+    {
+      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__RANGE, oldRange, newRange);
+      if (msgs == null) msgs = notification; else msgs.add(notification);
+    }
+    return msgs;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public void setRange(ValueRange newRange)
+  {
+    if (newRange != range)
+    {
+      NotificationChain msgs = null;
+      if (range != null)
+        msgs = ((InternalEObject)range).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__RANGE, null, msgs);
+      if (newRange != null)
+        msgs = ((InternalEObject)newRange).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__RANGE, null, msgs);
+      msgs = basicSetRange(newRange, msgs);
+      if (msgs != null) msgs.dispatch();
+    }
+    else if (eNotificationRequired())
+      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__RANGE, newRange, newRange));
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public ValueList getValueList()
+  {
+    return valueList;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public NotificationChain basicSetValueList(ValueList newValueList, NotificationChain msgs)
+  {
+    ValueList oldValueList = valueList;
+    valueList = newValueList;
+    if (eNotificationRequired())
+    {
+      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__VALUE_LIST, oldValueList, newValueList);
+      if (msgs == null) msgs = notification; else msgs.add(notification);
+    }
+    return msgs;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public void setValueList(ValueList newValueList)
+  {
+    if (newValueList != valueList)
+    {
+      NotificationChain msgs = null;
+      if (valueList != null)
+        msgs = ((InternalEObject)valueList).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__VALUE_LIST, null, msgs);
+      if (newValueList != null)
+        msgs = ((InternalEObject)newValueList).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__VALUE_LIST, null, msgs);
+      msgs = basicSetValueList(newValueList, msgs);
+      if (msgs != null) msgs.dispatch();
+    }
+    else if (eNotificationRequired())
+      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__VALUE_LIST, newValueList, newValueList));
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public String getValueHandling()
   {
-    return lower;
+    return valueHandling;
   }
 
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  public void setLower(BigDecimal newLower)
+  public void setValueHandling(String newValueHandling)
   {
-    BigDecimal oldLower = lower;
-    lower = newLower;
+    String oldValueHandling = valueHandling;
+    valueHandling = newValueHandling;
     if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__LOWER, oldLower, lower));
+      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__VALUE_HANDLING, oldValueHandling, valueHandling));
   }
 
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  public BigDecimal getUpper()
+  public BigUnitValue getGranularity()
   {
-    return upper;
+    return granularity;
   }
 
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  public void setUpper(BigDecimal newUpper)
+  public NotificationChain basicSetGranularity(BigUnitValue newGranularity, NotificationChain msgs)
   {
-    BigDecimal oldUpper = upper;
-    upper = newUpper;
+    BigUnitValue oldGranularity = granularity;
+    granularity = newGranularity;
     if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__UPPER, oldUpper, upper));
+    {
+      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__GRANULARITY, oldGranularity, newGranularity);
+      if (msgs == null) msgs = notification; else msgs.add(notification);
+    }
+    return msgs;
   }
 
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  public String getRangeType()
+  public void setGranularity(BigUnitValue newGranularity)
   {
-    return rangeType;
+    if (newGranularity != granularity)
+    {
+      NotificationChain msgs = null;
+      if (granularity != null)
+        msgs = ((InternalEObject)granularity).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__GRANULARITY, null, msgs);
+      if (newGranularity != null)
+        msgs = ((InternalEObject)newGranularity).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__GRANULARITY, null, msgs);
+      msgs = basicSetGranularity(newGranularity, msgs);
+      if (msgs != null) msgs.dispatch();
+    }
+    else if (eNotificationRequired())
+      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__GRANULARITY, newGranularity, newGranularity));
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public BigUnitValue getArrivalRateAvg()
+  {
+    return arrivalRateAvg;
   }
 
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  public void setRangeType(String newRangeType)
+  public NotificationChain basicSetArrivalRateAvg(BigUnitValue newArrivalRateAvg, NotificationChain msgs)
   {
-    String oldRangeType = rangeType;
-    rangeType = newRangeType;
+    BigUnitValue oldArrivalRateAvg = arrivalRateAvg;
+    arrivalRateAvg = newArrivalRateAvg;
     if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__RANGE_TYPE, oldRangeType, rangeType));
+    {
+      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__ARRIVAL_RATE_AVG, oldArrivalRateAvg, newArrivalRateAvg);
+      if (msgs == null) msgs = notification; else msgs.add(notification);
+    }
+    return msgs;
   }
 
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  public String getRangeUnits()
+  public void setArrivalRateAvg(BigUnitValue newArrivalRateAvg)
   {
-    return rangeUnits;
+    if (newArrivalRateAvg != arrivalRateAvg)
+    {
+      NotificationChain msgs = null;
+      if (arrivalRateAvg != null)
+        msgs = ((InternalEObject)arrivalRateAvg).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__ARRIVAL_RATE_AVG, null, msgs);
+      if (newArrivalRateAvg != null)
+        msgs = ((InternalEObject)newArrivalRateAvg).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__ARRIVAL_RATE_AVG, null, msgs);
+      msgs = basicSetArrivalRateAvg(newArrivalRateAvg, msgs);
+      if (msgs != null) msgs.dispatch();
+    }
+    else if (eNotificationRequired())
+      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__ARRIVAL_RATE_AVG, newArrivalRateAvg, newArrivalRateAvg));
   }
 
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  public void setRangeUnits(String newRangeUnits)
+  public BigUnitValue getArrivalRateMinimum()
   {
-    String oldRangeUnits = rangeUnits;
-    rangeUnits = newRangeUnits;
+    return arrivalRateMinimum;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public NotificationChain basicSetArrivalRateMinimum(BigUnitValue newArrivalRateMinimum, NotificationChain msgs)
+  {
+    BigUnitValue oldArrivalRateMinimum = arrivalRateMinimum;
+    arrivalRateMinimum = newArrivalRateMinimum;
     if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__RANGE_UNITS, oldRangeUnits, rangeUnits));
+    {
+      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__ARRIVAL_RATE_MINIMUM, oldArrivalRateMinimum, newArrivalRateMinimum);
+      if (msgs == null) msgs = notification; else msgs.add(notification);
+    }
+    return msgs;
   }
 
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  public EList<String> getValues()
+  public void setArrivalRateMinimum(BigUnitValue newArrivalRateMinimum)
   {
-    if (values == null)
+    if (newArrivalRateMinimum != arrivalRateMinimum)
     {
-      values = new EDataTypeEList<String>(String.class, this, StateSpecificationPackage.INPUT__VALUES);
+      NotificationChain msgs = null;
+      if (arrivalRateMinimum != null)
+        msgs = ((InternalEObject)arrivalRateMinimum).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__ARRIVAL_RATE_MINIMUM, null, msgs);
+      if (newArrivalRateMinimum != null)
+        msgs = ((InternalEObject)newArrivalRateMinimum).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__ARRIVAL_RATE_MINIMUM, null, msgs);
+      msgs = basicSetArrivalRateMinimum(newArrivalRateMinimum, msgs);
+      if (msgs != null) msgs.dispatch();
     }
-    return values;
+    else if (eNotificationRequired())
+      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__ARRIVAL_RATE_MINIMUM, newArrivalRateMinimum, newArrivalRateMinimum));
   }
 
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  public BigUnitValue getRate()
+  public BigUnitValue getArrivalRateMaximum()
   {
-    return rate;
+    return arrivalRateMaximum;
   }
 
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  public NotificationChain basicSetRate(BigUnitValue newRate, NotificationChain msgs)
+  public NotificationChain basicSetArrivalRateMaximum(BigUnitValue newArrivalRateMaximum, NotificationChain msgs)
   {
-    BigUnitValue oldRate = rate;
-    rate = newRate;
+    BigUnitValue oldArrivalRateMaximum = arrivalRateMaximum;
+    arrivalRateMaximum = newArrivalRateMaximum;
     if (eNotificationRequired())
     {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__RATE, oldRate, newRate);
+      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__ARRIVAL_RATE_MAXIMUM, oldArrivalRateMaximum, newArrivalRateMaximum);
       if (msgs == null) msgs = notification; else msgs.add(notification);
     }
     return msgs;
@@ -365,43 +541,68 @@ public NotificationChain basicSetRate(BigUnitValue newRate, NotificationChain ms
    * <!-- end-user-doc -->
    * @generated
    */
-  public void setRate(BigUnitValue newRate)
+  public void setArrivalRateMaximum(BigUnitValue newArrivalRateMaximum)
   {
-    if (newRate != rate)
+    if (newArrivalRateMaximum != arrivalRateMaximum)
     {
       NotificationChain msgs = null;
-      if (rate != null)
-        msgs = ((InternalEObject)rate).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__RATE, null, msgs);
-      if (newRate != null)
-        msgs = ((InternalEObject)newRate).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__RATE, null, msgs);
-      msgs = basicSetRate(newRate, msgs);
+      if (arrivalRateMaximum != null)
+        msgs = ((InternalEObject)arrivalRateMaximum).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__ARRIVAL_RATE_MAXIMUM, null, msgs);
+      if (newArrivalRateMaximum != null)
+        msgs = ((InternalEObject)newArrivalRateMaximum).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__ARRIVAL_RATE_MAXIMUM, null, msgs);
+      msgs = basicSetArrivalRateMaximum(newArrivalRateMaximum, msgs);
       if (msgs != null) msgs.dispatch();
     }
     else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__RATE, newRate, newRate));
+      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__ARRIVAL_RATE_MAXIMUM, newArrivalRateMaximum, newArrivalRateMaximum));
   }
 
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  public String getVariables()
+  public BigUnitValue getObsolescence()
   {
-    return variables;
+    return obsolescence;
   }
 
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  public void setVariables(String newVariables)
+  public NotificationChain basicSetObsolescence(BigUnitValue newObsolescence, NotificationChain msgs)
   {
-    String oldVariables = variables;
-    variables = newVariables;
+    BigUnitValue oldObsolescence = obsolescence;
+    obsolescence = newObsolescence;
     if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__VARIABLES, oldVariables, variables));
+    {
+      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__OBSOLESCENCE, oldObsolescence, newObsolescence);
+      if (msgs == null) msgs = notification; else msgs.add(notification);
+    }
+    return msgs;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public void setObsolescence(BigUnitValue newObsolescence)
+  {
+    if (newObsolescence != obsolescence)
+    {
+      NotificationChain msgs = null;
+      if (obsolescence != null)
+        msgs = ((InternalEObject)obsolescence).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__OBSOLESCENCE, null, msgs);
+      if (newObsolescence != null)
+        msgs = ((InternalEObject)newObsolescence).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__OBSOLESCENCE, null, msgs);
+      msgs = basicSetObsolescence(newObsolescence, msgs);
+      if (msgs != null) msgs.dispatch();
+    }
+    else if (eNotificationRequired())
+      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__OBSOLESCENCE, newObsolescence, newObsolescence));
   }
 
   /**
@@ -427,6 +628,52 @@ public void setReferences(String newReferences)
       eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__REFERENCES, oldReferences, references));
   }
 
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public String getAppearsIn()
+  {
+    return appearsIn;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public void setAppearsIn(String newAppearsIn)
+  {
+    String oldAppearsIn = appearsIn;
+    appearsIn = newAppearsIn;
+    if (eNotificationRequired())
+      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__APPEARS_IN, oldAppearsIn, appearsIn));
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public String getDescription()
+  {
+    return description;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public void setDescription(String newDescription)
+  {
+    String oldDescription = description;
+    description = newDescription;
+    if (eNotificationRequired())
+      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__DESCRIPTION, oldDescription, description));
+  }
+
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
@@ -450,6 +697,54 @@ public void setComments(String newComments)
       eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__COMMENTS, oldComments, comments));
   }
 
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public TriggerTable getStructure()
+  {
+    return structure;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public NotificationChain basicSetStructure(TriggerTable newStructure, NotificationChain msgs)
+  {
+    TriggerTable oldStructure = structure;
+    structure = newStructure;
+    if (eNotificationRequired())
+    {
+      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__STRUCTURE, oldStructure, newStructure);
+      if (msgs == null) msgs = notification; else msgs.add(notification);
+    }
+    return msgs;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public void setStructure(TriggerTable newStructure)
+  {
+    if (newStructure != structure)
+    {
+      NotificationChain msgs = null;
+      if (structure != null)
+        msgs = ((InternalEObject)structure).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__STRUCTURE, null, msgs);
+      if (newStructure != null)
+        msgs = ((InternalEObject)newStructure).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.INPUT__STRUCTURE, null, msgs);
+      msgs = basicSetStructure(newStructure, msgs);
+      if (msgs != null) msgs.dispatch();
+    }
+    else if (eNotificationRequired())
+      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.INPUT__STRUCTURE, newStructure, newStructure));
+  }
+
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
@@ -460,8 +755,22 @@ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID,
   {
     switch (featureID)
     {
-      case StateSpecificationPackage.INPUT__RATE:
-        return basicSetRate(null, msgs);
+      case StateSpecificationPackage.INPUT__RANGE:
+        return basicSetRange(null, msgs);
+      case StateSpecificationPackage.INPUT__VALUE_LIST:
+        return basicSetValueList(null, msgs);
+      case StateSpecificationPackage.INPUT__GRANULARITY:
+        return basicSetGranularity(null, msgs);
+      case StateSpecificationPackage.INPUT__ARRIVAL_RATE_AVG:
+        return basicSetArrivalRateAvg(null, msgs);
+      case StateSpecificationPackage.INPUT__ARRIVAL_RATE_MINIMUM:
+        return basicSetArrivalRateMinimum(null, msgs);
+      case StateSpecificationPackage.INPUT__ARRIVAL_RATE_MAXIMUM:
+        return basicSetArrivalRateMaximum(null, msgs);
+      case StateSpecificationPackage.INPUT__OBSOLESCENCE:
+        return basicSetObsolescence(null, msgs);
+      case StateSpecificationPackage.INPUT__STRUCTURE:
+        return basicSetStructure(null, msgs);
     }
     return super.eInverseRemove(otherEnd, featureID, msgs);
   }
@@ -476,24 +785,32 @@ public Object eGet(int featureID, boolean resolve, boolean coreType)
   {
     switch (featureID)
     {
-      case StateSpecificationPackage.INPUT__LOWER:
-        return getLower();
-      case StateSpecificationPackage.INPUT__UPPER:
-        return getUpper();
-      case StateSpecificationPackage.INPUT__RANGE_TYPE:
-        return getRangeType();
-      case StateSpecificationPackage.INPUT__RANGE_UNITS:
-        return getRangeUnits();
-      case StateSpecificationPackage.INPUT__VALUES:
-        return getValues();
-      case StateSpecificationPackage.INPUT__RATE:
-        return getRate();
-      case StateSpecificationPackage.INPUT__VARIABLES:
-        return getVariables();
+      case StateSpecificationPackage.INPUT__RANGE:
+        return getRange();
+      case StateSpecificationPackage.INPUT__VALUE_LIST:
+        return getValueList();
+      case StateSpecificationPackage.INPUT__VALUE_HANDLING:
+        return getValueHandling();
+      case StateSpecificationPackage.INPUT__GRANULARITY:
+        return getGranularity();
+      case StateSpecificationPackage.INPUT__ARRIVAL_RATE_AVG:
+        return getArrivalRateAvg();
+      case StateSpecificationPackage.INPUT__ARRIVAL_RATE_MINIMUM:
+        return getArrivalRateMinimum();
+      case StateSpecificationPackage.INPUT__ARRIVAL_RATE_MAXIMUM:
+        return getArrivalRateMaximum();
+      case StateSpecificationPackage.INPUT__OBSOLESCENCE:
+        return getObsolescence();
       case StateSpecificationPackage.INPUT__REFERENCES:
         return getReferences();
+      case StateSpecificationPackage.INPUT__APPEARS_IN:
+        return getAppearsIn();
+      case StateSpecificationPackage.INPUT__DESCRIPTION:
+        return getDescription();
       case StateSpecificationPackage.INPUT__COMMENTS:
         return getComments();
+      case StateSpecificationPackage.INPUT__STRUCTURE:
+        return getStructure();
     }
     return super.eGet(featureID, resolve, coreType);
   }
@@ -503,40 +820,50 @@ public Object eGet(int featureID, boolean resolve, boolean coreType)
    * <!-- end-user-doc -->
    * @generated
    */
-  @SuppressWarnings("unchecked")
   @Override
   public void eSet(int featureID, Object newValue)
   {
     switch (featureID)
     {
-      case StateSpecificationPackage.INPUT__LOWER:
-        setLower((BigDecimal)newValue);
+      case StateSpecificationPackage.INPUT__RANGE:
+        setRange((ValueRange)newValue);
+        return;
+      case StateSpecificationPackage.INPUT__VALUE_LIST:
+        setValueList((ValueList)newValue);
         return;
-      case StateSpecificationPackage.INPUT__UPPER:
-        setUpper((BigDecimal)newValue);
+      case StateSpecificationPackage.INPUT__VALUE_HANDLING:
+        setValueHandling((String)newValue);
         return;
-      case StateSpecificationPackage.INPUT__RANGE_TYPE:
-        setRangeType((String)newValue);
+      case StateSpecificationPackage.INPUT__GRANULARITY:
+        setGranularity((BigUnitValue)newValue);
         return;
-      case StateSpecificationPackage.INPUT__RANGE_UNITS:
-        setRangeUnits((String)newValue);
+      case StateSpecificationPackage.INPUT__ARRIVAL_RATE_AVG:
+        setArrivalRateAvg((BigUnitValue)newValue);
         return;
-      case StateSpecificationPackage.INPUT__VALUES:
-        getValues().clear();
-        getValues().addAll((Collection<? extends String>)newValue);
+      case StateSpecificationPackage.INPUT__ARRIVAL_RATE_MINIMUM:
+        setArrivalRateMinimum((BigUnitValue)newValue);
         return;
-      case StateSpecificationPackage.INPUT__RATE:
-        setRate((BigUnitValue)newValue);
+      case StateSpecificationPackage.INPUT__ARRIVAL_RATE_MAXIMUM:
+        setArrivalRateMaximum((BigUnitValue)newValue);
         return;
-      case StateSpecificationPackage.INPUT__VARIABLES:
-        setVariables((String)newValue);
+      case StateSpecificationPackage.INPUT__OBSOLESCENCE:
+        setObsolescence((BigUnitValue)newValue);
         return;
       case StateSpecificationPackage.INPUT__REFERENCES:
         setReferences((String)newValue);
         return;
+      case StateSpecificationPackage.INPUT__APPEARS_IN:
+        setAppearsIn((String)newValue);
+        return;
+      case StateSpecificationPackage.INPUT__DESCRIPTION:
+        setDescription((String)newValue);
+        return;
       case StateSpecificationPackage.INPUT__COMMENTS:
         setComments((String)newValue);
         return;
+      case StateSpecificationPackage.INPUT__STRUCTURE:
+        setStructure((TriggerTable)newValue);
+        return;
     }
     super.eSet(featureID, newValue);
   }
@@ -551,33 +878,45 @@ public void eUnset(int featureID)
   {
     switch (featureID)
     {
-      case StateSpecificationPackage.INPUT__LOWER:
-        setLower(LOWER_EDEFAULT);
+      case StateSpecificationPackage.INPUT__RANGE:
+        setRange((ValueRange)null);
+        return;
+      case StateSpecificationPackage.INPUT__VALUE_LIST:
+        setValueList((ValueList)null);
         return;
-      case StateSpecificationPackage.INPUT__UPPER:
-        setUpper(UPPER_EDEFAULT);
+      case StateSpecificationPackage.INPUT__VALUE_HANDLING:
+        setValueHandling(VALUE_HANDLING_EDEFAULT);
         return;
-      case StateSpecificationPackage.INPUT__RANGE_TYPE:
-        setRangeType(RANGE_TYPE_EDEFAULT);
+      case StateSpecificationPackage.INPUT__GRANULARITY:
+        setGranularity((BigUnitValue)null);
         return;
-      case StateSpecificationPackage.INPUT__RANGE_UNITS:
-        setRangeUnits(RANGE_UNITS_EDEFAULT);
+      case StateSpecificationPackage.INPUT__ARRIVAL_RATE_AVG:
+        setArrivalRateAvg((BigUnitValue)null);
         return;
-      case StateSpecificationPackage.INPUT__VALUES:
-        getValues().clear();
+      case StateSpecificationPackage.INPUT__ARRIVAL_RATE_MINIMUM:
+        setArrivalRateMinimum((BigUnitValue)null);
         return;
-      case StateSpecificationPackage.INPUT__RATE:
-        setRate((BigUnitValue)null);
+      case StateSpecificationPackage.INPUT__ARRIVAL_RATE_MAXIMUM:
+        setArrivalRateMaximum((BigUnitValue)null);
         return;
-      case StateSpecificationPackage.INPUT__VARIABLES:
-        setVariables(VARIABLES_EDEFAULT);
+      case StateSpecificationPackage.INPUT__OBSOLESCENCE:
+        setObsolescence((BigUnitValue)null);
         return;
       case StateSpecificationPackage.INPUT__REFERENCES:
         setReferences(REFERENCES_EDEFAULT);
         return;
+      case StateSpecificationPackage.INPUT__APPEARS_IN:
+        setAppearsIn(APPEARS_IN_EDEFAULT);
+        return;
+      case StateSpecificationPackage.INPUT__DESCRIPTION:
+        setDescription(DESCRIPTION_EDEFAULT);
+        return;
       case StateSpecificationPackage.INPUT__COMMENTS:
         setComments(COMMENTS_EDEFAULT);
         return;
+      case StateSpecificationPackage.INPUT__STRUCTURE:
+        setStructure((TriggerTable)null);
+        return;
     }
     super.eUnset(featureID);
   }
@@ -592,24 +931,32 @@ public boolean eIsSet(int featureID)
   {
     switch (featureID)
     {
-      case StateSpecificationPackage.INPUT__LOWER:
-        return LOWER_EDEFAULT == null ? lower != null : !LOWER_EDEFAULT.equals(lower);
-      case StateSpecificationPackage.INPUT__UPPER:
-        return UPPER_EDEFAULT == null ? upper != null : !UPPER_EDEFAULT.equals(upper);
-      case StateSpecificationPackage.INPUT__RANGE_TYPE:
-        return RANGE_TYPE_EDEFAULT == null ? rangeType != null : !RANGE_TYPE_EDEFAULT.equals(rangeType);
-      case StateSpecificationPackage.INPUT__RANGE_UNITS:
-        return RANGE_UNITS_EDEFAULT == null ? rangeUnits != null : !RANGE_UNITS_EDEFAULT.equals(rangeUnits);
-      case StateSpecificationPackage.INPUT__VALUES:
-        return values != null && !values.isEmpty();
-      case StateSpecificationPackage.INPUT__RATE:
-        return rate != null;
-      case StateSpecificationPackage.INPUT__VARIABLES:
-        return VARIABLES_EDEFAULT == null ? variables != null : !VARIABLES_EDEFAULT.equals(variables);
+      case StateSpecificationPackage.INPUT__RANGE:
+        return range != null;
+      case StateSpecificationPackage.INPUT__VALUE_LIST:
+        return valueList != null;
+      case StateSpecificationPackage.INPUT__VALUE_HANDLING:
+        return VALUE_HANDLING_EDEFAULT == null ? valueHandling != null : !VALUE_HANDLING_EDEFAULT.equals(valueHandling);
+      case StateSpecificationPackage.INPUT__GRANULARITY:
+        return granularity != null;
+      case StateSpecificationPackage.INPUT__ARRIVAL_RATE_AVG:
+        return arrivalRateAvg != null;
+      case StateSpecificationPackage.INPUT__ARRIVAL_RATE_MINIMUM:
+        return arrivalRateMinimum != null;
+      case StateSpecificationPackage.INPUT__ARRIVAL_RATE_MAXIMUM:
+        return arrivalRateMaximum != null;
+      case StateSpecificationPackage.INPUT__OBSOLESCENCE:
+        return obsolescence != null;
       case StateSpecificationPackage.INPUT__REFERENCES:
         return REFERENCES_EDEFAULT == null ? references != null : !REFERENCES_EDEFAULT.equals(references);
+      case StateSpecificationPackage.INPUT__APPEARS_IN:
+        return APPEARS_IN_EDEFAULT == null ? appearsIn != null : !APPEARS_IN_EDEFAULT.equals(appearsIn);
+      case StateSpecificationPackage.INPUT__DESCRIPTION:
+        return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description);
       case StateSpecificationPackage.INPUT__COMMENTS:
         return COMMENTS_EDEFAULT == null ? comments != null : !COMMENTS_EDEFAULT.equals(comments);
+      case StateSpecificationPackage.INPUT__STRUCTURE:
+        return structure != null;
     }
     return super.eIsSet(featureID);
   }
@@ -625,20 +972,14 @@ public String toString()
     if (eIsProxy()) return super.toString();
 
     StringBuffer result = new StringBuffer(super.toString());
-    result.append(" (lower: ");
-    result.append(lower);
-    result.append(", upper: ");
-    result.append(upper);
-    result.append(", rangeType: ");
-    result.append(rangeType);
-    result.append(", rangeUnits: ");
-    result.append(rangeUnits);
-    result.append(", values: ");
-    result.append(values);
-    result.append(", variables: ");
-    result.append(variables);
+    result.append(" (valueHandling: ");
+    result.append(valueHandling);
     result.append(", references: ");
     result.append(references);
+    result.append(", appearsIn: ");
+    result.append(appearsIn);
+    result.append(", description: ");
+    result.append(description);
     result.append(", comments: ");
     result.append(comments);
     result.append(')');
https://github.com/nasa/CertWare/raw/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2FstateSpecification%2Fimpl%2FInputImpl.java
9e2786b790946f34ee0d471076fdde9e2b10adc4
modified
https://github.com/nasa/CertWare/blob/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2FstateSpecification%2Fimpl%2FOutputImpl.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2FstateSpecification%2Fimpl%2FOutputImpl.java?ref=110fa3222ae2931978d7921dc8e6af8c7f43abd3
net.certware.intent.state/src-gen/net/certware/intent/state/stateSpecification/impl/OutputImpl.java
import net.certware.intent.state.stateSpecification.ValueList;
import net.certware.intent.state.stateSpecification.ValueRange;
 *   <li>{@link net.certware.intent.state.stateSpecification.impl.OutputImpl#getRange <em>Range</em>}</li>
 *   <li>{@link net.certware.intent.state.stateSpecification.impl.OutputImpl#getValueList <em>Value List</em>}</li>
   * The cached value of the '{@link #getRange() <em>Range</em>}' containment reference.
   * @see #getRange()
  protected ValueRange range;
   * The cached value of the '{@link #getValueList() <em>Value List</em>}' containment reference.
   * @see #getValueList()
  protected ValueList valueList;
  public ValueRange getRange()
    return range;
  public NotificationChain basicSetRange(ValueRange newRange, NotificationChain msgs)
    ValueRange oldRange = range;
    range = newRange;
    {
      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.OUTPUT__RANGE, oldRange, newRange);
      if (msgs == null) msgs = notification; else msgs.add(notification);
    }
    return msgs;
  public void setRange(ValueRange newRange)
    if (newRange != range)
    {
      NotificationChain msgs = null;
      if (range != null)
        msgs = ((InternalEObject)range).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.OUTPUT__RANGE, null, msgs);
      if (newRange != null)
        msgs = ((InternalEObject)newRange).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.OUTPUT__RANGE, null, msgs);
      msgs = basicSetRange(newRange, msgs);
      if (msgs != null) msgs.dispatch();
    }
    else if (eNotificationRequired())
      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.OUTPUT__RANGE, newRange, newRange));
  public ValueList getValueList()
    return valueList;
  public NotificationChain basicSetValueList(ValueList newValueList, NotificationChain msgs)
    ValueList oldValueList = valueList;
    valueList = newValueList;
    {
      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.OUTPUT__VALUE_LIST, oldValueList, newValueList);
      if (msgs == null) msgs = notification; else msgs.add(notification);
    }
    return msgs;
  public void setValueList(ValueList newValueList)
    if (newValueList != valueList)
      NotificationChain msgs = null;
      if (valueList != null)
        msgs = ((InternalEObject)valueList).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.OUTPUT__VALUE_LIST, null, msgs);
      if (newValueList != null)
        msgs = ((InternalEObject)newValueList).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.OUTPUT__VALUE_LIST, null, msgs);
      msgs = basicSetValueList(newValueList, msgs);
      if (msgs != null) msgs.dispatch();
    else if (eNotificationRequired())
      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.OUTPUT__VALUE_LIST, newValueList, newValueList));
      case StateSpecificationPackage.OUTPUT__RANGE:
        return basicSetRange(null, msgs);
      case StateSpecificationPackage.OUTPUT__VALUE_LIST:
        return basicSetValueList(null, msgs);
      case StateSpecificationPackage.OUTPUT__RANGE:
        return getRange();
      case StateSpecificationPackage.OUTPUT__VALUE_LIST:
        return getValueList();
      case StateSpecificationPackage.OUTPUT__RANGE:
        setRange((ValueRange)newValue);
      case StateSpecificationPackage.OUTPUT__VALUE_LIST:
        setValueList((ValueList)newValue);
      case StateSpecificationPackage.OUTPUT__RANGE:
        setRange((ValueRange)null);
      case StateSpecificationPackage.OUTPUT__VALUE_LIST:
        setValueList((ValueList)null);
      case StateSpecificationPackage.OUTPUT__RANGE:
        return range != null;
      case StateSpecificationPackage.OUTPUT__VALUE_LIST:
        return valueList != null;
    result.append(" (completionHandling: ");
import java.math.BigDecimal;

import java.util.Collection;

import org.eclipse.emf.common.util.EList;

import org.eclipse.emf.ecore.util.EDataTypeEList;

 *   <li>{@link net.certware.intent.state.stateSpecification.impl.OutputImpl#getLower <em>Lower</em>}</li>
 *   <li>{@link net.certware.intent.state.stateSpecification.impl.OutputImpl#getUpper <em>Upper</em>}</li>
 *   <li>{@link net.certware.intent.state.stateSpecification.impl.OutputImpl#getRangeType <em>Range Type</em>}</li>
 *   <li>{@link net.certware.intent.state.stateSpecification.impl.OutputImpl#getRangeUnits <em>Range Units</em>}</li>
 *   <li>{@link net.certware.intent.state.stateSpecification.impl.OutputImpl#getValues <em>Values</em>}</li>
   * The default value of the '{@link #getLower() <em>Lower</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see #getLower()
   * @generated
   * @ordered
   */
  protected static final BigDecimal LOWER_EDEFAULT = null;

  /**
   * The cached value of the '{@link #getLower() <em>Lower</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see #getLower()
   * @generated
   * @ordered
   */
  protected BigDecimal lower = LOWER_EDEFAULT;

  /**
   * The default value of the '{@link #getUpper() <em>Upper</em>}' attribute.
   * @see #getUpper()
  protected static final BigDecimal UPPER_EDEFAULT = null;
   * The cached value of the '{@link #getUpper() <em>Upper</em>}' attribute.
   * @see #getUpper()
  protected BigDecimal upper = UPPER_EDEFAULT;

  /**
   * The default value of the '{@link #getRangeType() <em>Range Type</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see #getRangeType()
   * @generated
   * @ordered
   */
  protected static final String RANGE_TYPE_EDEFAULT = null;

  /**
   * The cached value of the '{@link #getRangeType() <em>Range Type</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see #getRangeType()
   * @generated
   * @ordered
   */
  protected String rangeType = RANGE_TYPE_EDEFAULT;

  /**
   * The default value of the '{@link #getRangeUnits() <em>Range Units</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see #getRangeUnits()
   * @generated
   * @ordered
   */
  protected static final String RANGE_UNITS_EDEFAULT = null;

  /**
   * The cached value of the '{@link #getRangeUnits() <em>Range Units</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see #getRangeUnits()
   * @generated
   * @ordered
   */
  protected String rangeUnits = RANGE_UNITS_EDEFAULT;

  /**
   * The cached value of the '{@link #getValues() <em>Values</em>}' attribute list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see #getValues()
   * @generated
   * @ordered
   */
  protected EList<String> values;
  public BigDecimal getLower()
    return lower;
  public void setLower(BigDecimal newLower)
    BigDecimal oldLower = lower;
    lower = newLower;
      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.OUTPUT__LOWER, oldLower, lower));
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public BigDecimal getUpper()
  {
    return upper;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public void setUpper(BigDecimal newUpper)
  {
    BigDecimal oldUpper = upper;
    upper = newUpper;
    if (eNotificationRequired())
      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.OUTPUT__UPPER, oldUpper, upper));
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public String getRangeType()
  {
    return rangeType;
  public void setRangeType(String newRangeType)
    String oldRangeType = rangeType;
    rangeType = newRangeType;
    if (eNotificationRequired())
      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.OUTPUT__RANGE_TYPE, oldRangeType, rangeType));
  public String getRangeUnits()
    return rangeUnits;
  public void setRangeUnits(String newRangeUnits)
    String oldRangeUnits = rangeUnits;
    rangeUnits = newRangeUnits;
      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.OUTPUT__RANGE_UNITS, oldRangeUnits, rangeUnits));
  public EList<String> getValues()
    if (values == null)
      values = new EDataTypeEList<String>(String.class, this, StateSpecificationPackage.OUTPUT__VALUES);
    return values;
      case StateSpecificationPackage.OUTPUT__LOWER:
        return getLower();
      case StateSpecificationPackage.OUTPUT__UPPER:
        return getUpper();
      case StateSpecificationPackage.OUTPUT__RANGE_TYPE:
        return getRangeType();
      case StateSpecificationPackage.OUTPUT__RANGE_UNITS:
        return getRangeUnits();
      case StateSpecificationPackage.OUTPUT__VALUES:
        return getValues();
  @SuppressWarnings("unchecked")
      case StateSpecificationPackage.OUTPUT__LOWER:
        setLower((BigDecimal)newValue);
      case StateSpecificationPackage.OUTPUT__UPPER:
        setUpper((BigDecimal)newValue);
        return;
      case StateSpecificationPackage.OUTPUT__RANGE_TYPE:
        setRangeType((String)newValue);
        return;
      case StateSpecificationPackage.OUTPUT__RANGE_UNITS:
        setRangeUnits((String)newValue);
        return;
      case StateSpecificationPackage.OUTPUT__VALUES:
        getValues().clear();
        getValues().addAll((Collection<? extends String>)newValue);
      case StateSpecificationPackage.OUTPUT__LOWER:
        setLower(LOWER_EDEFAULT);
        return;
      case StateSpecificationPackage.OUTPUT__UPPER:
        setUpper(UPPER_EDEFAULT);
        return;
      case StateSpecificationPackage.OUTPUT__RANGE_TYPE:
        setRangeType(RANGE_TYPE_EDEFAULT);
        return;
      case StateSpecificationPackage.OUTPUT__RANGE_UNITS:
        setRangeUnits(RANGE_UNITS_EDEFAULT);
      case StateSpecificationPackage.OUTPUT__VALUES:
        getValues().clear();
      case StateSpecificationPackage.OUTPUT__LOWER:
        return LOWER_EDEFAULT == null ? lower != null : !LOWER_EDEFAULT.equals(lower);
      case StateSpecificationPackage.OUTPUT__UPPER:
        return UPPER_EDEFAULT == null ? upper != null : !UPPER_EDEFAULT.equals(upper);
      case StateSpecificationPackage.OUTPUT__RANGE_TYPE:
        return RANGE_TYPE_EDEFAULT == null ? rangeType != null : !RANGE_TYPE_EDEFAULT.equals(rangeType);
      case StateSpecificationPackage.OUTPUT__RANGE_UNITS:
        return RANGE_UNITS_EDEFAULT == null ? rangeUnits != null : !RANGE_UNITS_EDEFAULT.equals(rangeUnits);
      case StateSpecificationPackage.OUTPUT__VALUES:
        return values != null && !values.isEmpty();
    result.append(" (lower: ");
    result.append(lower);
    result.append(", upper: ");
    result.append(upper);
    result.append(", rangeType: ");
    result.append(rangeType);
    result.append(", rangeUnits: ");
    result.append(rangeUnits);
    result.append(", values: ");
    result.append(values);
    result.append(", completionHandling: ");
net.certware.intent.state/src-gen/net/certware/intent/state/stateSpecification/impl/OutputImpl.java
return upper;
BigDecimal getUpper()
BigDecimal newUpper
net.certware.intent.state/src-gen/net/certware/intent/state/stateSpecification/impl/OutputImpl.java
BigDecimal oldUpper = upper;
    upper = newUpper;
    if (eNotificationRequired())
      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.OUTPUT__UPPER, oldUpper, upper));
void setUpper(BigDecimal newUpper)
@@ -2,40 +2,31 @@
  */
 package net.certware.intent.state.stateSpecification.impl;
 
-import java.math.BigDecimal;
-
-import java.util.Collection;
-
 import net.certware.intent.state.stateSpecification.BigUnitValue;
 import net.certware.intent.state.stateSpecification.Output;
 import net.certware.intent.state.stateSpecification.StateSpecificationPackage;
 import net.certware.intent.state.stateSpecification.TriggerTable;
+import net.certware.intent.state.stateSpecification.ValueList;
+import net.certware.intent.state.stateSpecification.ValueRange;
 
 import org.eclipse.emf.common.notify.Notification;
 import org.eclipse.emf.common.notify.NotificationChain;
 
-import org.eclipse.emf.common.util.EList;
-
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.InternalEObject;
 
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
 import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
 
-import org.eclipse.emf.ecore.util.EDataTypeEList;
-
 /**
  * <!-- begin-user-doc -->
  * An implementation of the model object '<em><b>Output</b></em>'.
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
  * <ul>
- *   <li>{@link net.certware.intent.state.stateSpecification.impl.OutputImpl#getLower <em>Lower</em>}</li>
- *   <li>{@link net.certware.intent.state.stateSpecification.impl.OutputImpl#getUpper <em>Upper</em>}</li>
- *   <li>{@link net.certware.intent.state.stateSpecification.impl.OutputImpl#getRangeType <em>Range Type</em>}</li>
- *   <li>{@link net.certware.intent.state.stateSpecification.impl.OutputImpl#getRangeUnits <em>Range Units</em>}</li>
- *   <li>{@link net.certware.intent.state.stateSpecification.impl.OutputImpl#getValues <em>Values</em>}</li>
+ *   <li>{@link net.certware.intent.state.stateSpecification.impl.OutputImpl#getRange <em>Range</em>}</li>
+ *   <li>{@link net.certware.intent.state.stateSpecification.impl.OutputImpl#getValueList <em>Value List</em>}</li>
  *   <li>{@link net.certware.intent.state.stateSpecification.impl.OutputImpl#getRate <em>Rate</em>}</li>
  *   <li>{@link net.certware.intent.state.stateSpecification.impl.OutputImpl#getDelay <em>Delay</em>}</li>
  *   <li>{@link net.certware.intent.state.stateSpecification.impl.OutputImpl#getDeadline <em>Deadline</em>}</li>
@@ -58,94 +49,24 @@
 public class OutputImpl extends MinimalEObjectImpl.Container implements Output
 {
   /**
-   * The default value of the '{@link #getLower() <em>Lower</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getLower()
-   * @generated
-   * @ordered
-   */
-  protected static final BigDecimal LOWER_EDEFAULT = null;
-
-  /**
-   * The cached value of the '{@link #getLower() <em>Lower</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getLower()
-   * @generated
-   * @ordered
-   */
-  protected BigDecimal lower = LOWER_EDEFAULT;
-
-  /**
-   * The default value of the '{@link #getUpper() <em>Upper</em>}' attribute.
+   * The cached value of the '{@link #getRange() <em>Range</em>}' containment reference.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getUpper()
+   * @see #getRange()
    * @generated
    * @ordered
    */
-  protected static final BigDecimal UPPER_EDEFAULT = null;
+  protected ValueRange range;
 
   /**
-   * The cached value of the '{@link #getUpper() <em>Upper</em>}' attribute.
+   * The cached value of the '{@link #getValueList() <em>Value List</em>}' containment reference.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getUpper()
+   * @see #getValueList()
    * @generated
    * @ordered
    */
-  protected BigDecimal upper = UPPER_EDEFAULT;
-
-  /**
-   * The default value of the '{@link #getRangeType() <em>Range Type</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getRangeType()
-   * @generated
-   * @ordered
-   */
-  protected static final String RANGE_TYPE_EDEFAULT = null;
-
-  /**
-   * The cached value of the '{@link #getRangeType() <em>Range Type</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getRangeType()
-   * @generated
-   * @ordered
-   */
-  protected String rangeType = RANGE_TYPE_EDEFAULT;
-
-  /**
-   * The default value of the '{@link #getRangeUnits() <em>Range Units</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getRangeUnits()
-   * @generated
-   * @ordered
-   */
-  protected static final String RANGE_UNITS_EDEFAULT = null;
-
-  /**
-   * The cached value of the '{@link #getRangeUnits() <em>Range Units</em>}' attribute.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getRangeUnits()
-   * @generated
-   * @ordered
-   */
-  protected String rangeUnits = RANGE_UNITS_EDEFAULT;
-
-  /**
-   * The cached value of the '{@link #getValues() <em>Values</em>}' attribute list.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @see #getValues()
-   * @generated
-   * @ordered
-   */
-  protected EList<String> values;
+  protected ValueList valueList;
 
   /**
    * The cached value of the '{@link #getRate() <em>Rate</em>}' containment reference.
@@ -393,105 +314,95 @@ protected EClass eStaticClass()
    * <!-- end-user-doc -->
    * @generated
    */
-  public BigDecimal getLower()
+  public ValueRange getRange()
   {
-    return lower;
+    return range;
   }
 
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  public void setLower(BigDecimal newLower)
+  public NotificationChain basicSetRange(ValueRange newRange, NotificationChain msgs)
   {
-    BigDecimal oldLower = lower;
-    lower = newLower;
+    ValueRange oldRange = range;
+    range = newRange;
     if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.OUTPUT__LOWER, oldLower, lower));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public BigDecimal getUpper()
-  {
-    return upper;
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public void setUpper(BigDecimal newUpper)
-  {
-    BigDecimal oldUpper = upper;
-    upper = newUpper;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.OUTPUT__UPPER, oldUpper, upper));
-  }
-
-  /**
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  public String getRangeType()
-  {
-    return rangeType;
+    {
+      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.OUTPUT__RANGE, oldRange, newRange);
+      if (msgs == null) msgs = notification; else msgs.add(notification);
+    }
+    return msgs;
   }
 
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  public void setRangeType(String newRangeType)
+  public void setRange(ValueRange newRange)
   {
-    String oldRangeType = rangeType;
-    rangeType = newRangeType;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.OUTPUT__RANGE_TYPE, oldRangeType, rangeType));
+    if (newRange != range)
+    {
+      NotificationChain msgs = null;
+      if (range != null)
+        msgs = ((InternalEObject)range).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.OUTPUT__RANGE, null, msgs);
+      if (newRange != null)
+        msgs = ((InternalEObject)newRange).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.OUTPUT__RANGE, null, msgs);
+      msgs = basicSetRange(newRange, msgs);
+      if (msgs != null) msgs.dispatch();
+    }
+    else if (eNotificationRequired())
+      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.OUTPUT__RANGE, newRange, newRange));
   }
 
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  public String getRangeUnits()
+  public ValueList getValueList()
   {
-    return rangeUnits;
+    return valueList;
   }
 
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  public void setRangeUnits(String newRangeUnits)
+  public NotificationChain basicSetValueList(ValueList newValueList, NotificationChain msgs)
   {
-    String oldRangeUnits = rangeUnits;
-    rangeUnits = newRangeUnits;
+    ValueList oldValueList = valueList;
+    valueList = newValueList;
     if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.OUTPUT__RANGE_UNITS, oldRangeUnits, rangeUnits));
+    {
+      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.OUTPUT__VALUE_LIST, oldValueList, newValueList);
+      if (msgs == null) msgs = notification; else msgs.add(notification);
+    }
+    return msgs;
   }
 
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  public EList<String> getValues()
+  public void setValueList(ValueList newValueList)
   {
-    if (values == null)
+    if (newValueList != valueList)
     {
-      values = new EDataTypeEList<String>(String.class, this, StateSpecificationPackage.OUTPUT__VALUES);
+      NotificationChain msgs = null;
+      if (valueList != null)
+        msgs = ((InternalEObject)valueList).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.OUTPUT__VALUE_LIST, null, msgs);
+      if (newValueList != null)
+        msgs = ((InternalEObject)newValueList).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - StateSpecificationPackage.OUTPUT__VALUE_LIST, null, msgs);
+      msgs = basicSetValueList(newValueList, msgs);
+      if (msgs != null) msgs.dispatch();
     }
-    return values;
+    else if (eNotificationRequired())
+      eNotify(new ENotificationImpl(this, Notification.SET, StateSpecificationPackage.OUTPUT__VALUE_LIST, newValueList, newValueList));
   }
 
   /**
@@ -976,6 +887,10 @@ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID,
   {
     switch (featureID)
     {
+      case StateSpecificationPackage.OUTPUT__RANGE:
+        return basicSetRange(null, msgs);
+      case StateSpecificationPackage.OUTPUT__VALUE_LIST:
+        return basicSetValueList(null, msgs);
       case StateSpecificationPackage.OUTPUT__RATE:
         return basicSetRate(null, msgs);
       case StateSpecificationPackage.OUTPUT__DELAY:
@@ -1002,16 +917,10 @@ public Object eGet(int featureID, boolean resolve, boolean coreType)
   {
     switch (featureID)
     {
-      case StateSpecificationPackage.OUTPUT__LOWER:
-        return getLower();
-      case StateSpecificationPackage.OUTPUT__UPPER:
-        return getUpper();
-      case StateSpecificationPackage.OUTPUT__RANGE_TYPE:
-        return getRangeType();
-      case StateSpecificationPackage.OUTPUT__RANGE_UNITS:
-        return getRangeUnits();
-      case StateSpecificationPackage.OUTPUT__VALUES:
-        return getValues();
+      case StateSpecificationPackage.OUTPUT__RANGE:
+        return getRange();
+      case StateSpecificationPackage.OUTPUT__VALUE_LIST:
+        return getValueList();
       case StateSpecificationPackage.OUTPUT__RATE:
         return getRate();
       case StateSpecificationPackage.OUTPUT__DELAY:
@@ -1049,27 +958,16 @@ public Object eGet(int featureID, boolean resolve, boolean coreType)
    * <!-- end-user-doc -->
    * @generated
    */
-  @SuppressWarnings("unchecked")
   @Override
   public void eSet(int featureID, Object newValue)
   {
     switch (featureID)
     {
-      case StateSpecificationPackage.OUTPUT__LOWER:
-        setLower((BigDecimal)newValue);
+      case StateSpecificationPackage.OUTPUT__RANGE:
+        setRange((ValueRange)newValue);
         return;
-      case StateSpecificationPackage.OUTPUT__UPPER:
-        setUpper((BigDecimal)newValue);
-        return;
-      case StateSpecificationPackage.OUTPUT__RANGE_TYPE:
-        setRangeType((String)newValue);
-        return;
-      case StateSpecificationPackage.OUTPUT__RANGE_UNITS:
-        setRangeUnits((String)newValue);
-        return;
-      case StateSpecificationPackage.OUTPUT__VALUES:
-        getValues().clear();
-        getValues().addAll((Collection<? extends String>)newValue);
+      case StateSpecificationPackage.OUTPUT__VALUE_LIST:
+        setValueList((ValueList)newValue);
         return;
       case StateSpecificationPackage.OUTPUT__RATE:
         setRate((BigUnitValue)newValue);
@@ -1127,20 +1025,11 @@ public void eUnset(int featureID)
   {
     switch (featureID)
     {
-      case StateSpecificationPackage.OUTPUT__LOWER:
-        setLower(LOWER_EDEFAULT);
-        return;
-      case StateSpecificationPackage.OUTPUT__UPPER:
-        setUpper(UPPER_EDEFAULT);
-        return;
-      case StateSpecificationPackage.OUTPUT__RANGE_TYPE:
-        setRangeType(RANGE_TYPE_EDEFAULT);
-        return;
-      case StateSpecificationPackage.OUTPUT__RANGE_UNITS:
-        setRangeUnits(RANGE_UNITS_EDEFAULT);
+      case StateSpecificationPackage.OUTPUT__RANGE:
+        setRange((ValueRange)null);
         return;
-      case StateSpecificationPackage.OUTPUT__VALUES:
-        getValues().clear();
+      case StateSpecificationPackage.OUTPUT__VALUE_LIST:
+        setValueList((ValueList)null);
         return;
       case StateSpecificationPackage.OUTPUT__RATE:
         setRate((BigUnitValue)null);
@@ -1198,16 +1087,10 @@ public boolean eIsSet(int featureID)
   {
     switch (featureID)
     {
-      case StateSpecificationPackage.OUTPUT__LOWER:
-        return LOWER_EDEFAULT == null ? lower != null : !LOWER_EDEFAULT.equals(lower);
-      case StateSpecificationPackage.OUTPUT__UPPER:
-        return UPPER_EDEFAULT == null ? upper != null : !UPPER_EDEFAULT.equals(upper);
-      case StateSpecificationPackage.OUTPUT__RANGE_TYPE:
-        return RANGE_TYPE_EDEFAULT == null ? rangeType != null : !RANGE_TYPE_EDEFAULT.equals(rangeType);
-      case StateSpecificationPackage.OUTPUT__RANGE_UNITS:
-        return RANGE_UNITS_EDEFAULT == null ? rangeUnits != null : !RANGE_UNITS_EDEFAULT.equals(rangeUnits);
-      case StateSpecificationPackage.OUTPUT__VALUES:
-        return values != null && !values.isEmpty();
+      case StateSpecificationPackage.OUTPUT__RANGE:
+        return range != null;
+      case StateSpecificationPackage.OUTPUT__VALUE_LIST:
+        return valueList != null;
       case StateSpecificationPackage.OUTPUT__RATE:
         return rate != null;
       case StateSpecificationPackage.OUTPUT__DELAY:
@@ -1251,17 +1134,7 @@ public String toString()
     if (eIsProxy()) return super.toString();
 
     StringBuffer result = new StringBuffer(super.toString());
-    result.append(" (lower: ");
-    result.append(lower);
-    result.append(", upper: ");
-    result.append(upper);
-    result.append(", rangeType: ");
-    result.append(rangeType);
-    result.append(", rangeUnits: ");
-    result.append(rangeUnits);
-    result.append(", values: ");
-    result.append(values);
-    result.append(", completionHandling: ");
+    result.append(" (completionHandling: ");
     result.append(completionHandling);
     result.append(", variables: ");
     result.append(variables);
https://github.com/nasa/CertWare/raw/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2FstateSpecification%2Fimpl%2FOutputImpl.java
9634aed7be27ecd9a3681a5abb320d78fec80711
modified
https://github.com/nasa/CertWare/blob/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2FstateSpecification%2Fimpl%2FStateSpecificationFactoryImpl.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2FstateSpecification%2Fimpl%2FStateSpecificationFactoryImpl.java?ref=110fa3222ae2931978d7921dc8e6af8c7f43abd3
net.certware.intent.state/src-gen/net/certware/intent/state/stateSpecification/impl/StateSpecificationFactoryImpl.java
      case StateSpecificationPackage.VALUE_RANGE: return createValueRange();
      case StateSpecificationPackage.VALUE_LIST: return createValueList();
  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public ValueRange createValueRange()
  {
    ValueRangeImpl valueRange = new ValueRangeImpl();
    return valueRange;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public ValueList createValueList()
  {
    ValueListImpl valueList = new ValueListImpl();
    return valueList;
  }

net.certware.intent.state/src-gen/net/certware/intent/state/stateSpecification/impl/StateSpecificationFactoryImpl.java
ValueRangeImpl valueRange = new ValueRangeImpl();
    return valueRange;
ValueRange createValueRange()
net.certware.intent.state/src-gen/net/certware/intent/state/stateSpecification/impl/StateSpecificationFactoryImpl.java
ValueListImpl valueList = new ValueListImpl();
    return valueList;
ValueList createValueList()
@@ -83,6 +83,8 @@ public EObject create(EClass eClass)
       case StateSpecificationPackage.STATE_LIST: return createStateList();
       case StateSpecificationPackage.TRIGGER: return createTrigger();
       case StateSpecificationPackage.TRIGGER_TABLE: return createTriggerTable();
+      case StateSpecificationPackage.VALUE_RANGE: return createValueRange();
+      case StateSpecificationPackage.VALUE_LIST: return createValueList();
       case StateSpecificationPackage.OUTPUT: return createOutput();
       case StateSpecificationPackage.INPUT: return createInput();
       default:
@@ -299,6 +301,28 @@ public TriggerTable createTriggerTable()
     return triggerTable;
   }
 
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public ValueRange createValueRange()
+  {
+    ValueRangeImpl valueRange = new ValueRangeImpl();
+    return valueRange;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public ValueList createValueList()
+  {
+    ValueListImpl valueList = new ValueListImpl();
+    return valueList;
+  }
+
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
https://github.com/nasa/CertWare/raw/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2FstateSpecification%2Fimpl%2FStateSpecificationFactoryImpl.java
308f543622203c708b8a0e712f6a20b1dd71552a
modified
https://github.com/nasa/CertWare/blob/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2FstateSpecification%2Fimpl%2FStateSpecificationPackageImpl.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2FstateSpecification%2Fimpl%2FStateSpecificationPackageImpl.java?ref=110fa3222ae2931978d7921dc8e6af8c7f43abd3
net.certware.intent.state/src-gen/net/certware/intent/state/stateSpecification/impl/StateSpecificationPackageImpl.java
import net.certware.intent.state.stateSpecification.ValueList;
import net.certware.intent.state.stateSpecification.ValueRange;
  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass valueRangeEClass = null;

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

  public EClass getValueRange()
    return valueRangeEClass;
  }

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

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getValueRange_Upper()
  {
    return (EAttribute)valueRangeEClass.getEStructuralFeatures().get(1);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getValueRange_RangeType()
  {
    return (EAttribute)valueRangeEClass.getEStructuralFeatures().get(2);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getValueRange_RangeUnits()
  {
    return (EAttribute)valueRangeEClass.getEStructuralFeatures().get(3);
  public EClass getValueList()
    return valueListEClass;
  public EAttribute getValueList_Values()
    return (EAttribute)valueListEClass.getEStructuralFeatures().get(0);
  public EClass getOutput()
    return outputEClass;
  public EReference getOutput_Range()
    return (EReference)outputEClass.getEStructuralFeatures().get(0);
  public EReference getOutput_ValueList()
    return (EReference)outputEClass.getEStructuralFeatures().get(1);
    return (EReference)outputEClass.getEStructuralFeatures().get(2);
    return (EReference)outputEClass.getEStructuralFeatures().get(3);
    return (EReference)outputEClass.getEStructuralFeatures().get(4);
    return (EAttribute)outputEClass.getEStructuralFeatures().get(5);
    return (EAttribute)outputEClass.getEStructuralFeatures().get(6);
    return (EAttribute)outputEClass.getEStructuralFeatures().get(7);
    return (EReference)outputEClass.getEStructuralFeatures().get(8);
    return (EReference)outputEClass.getEStructuralFeatures().get(9);
    return (EAttribute)outputEClass.getEStructuralFeatures().get(10);
    return (EAttribute)outputEClass.getEStructuralFeatures().get(11);
    return (EAttribute)outputEClass.getEStructuralFeatures().get(12);
    return (EAttribute)outputEClass.getEStructuralFeatures().get(13);
    return (EAttribute)outputEClass.getEStructuralFeatures().get(14);
    return (EReference)outputEClass.getEStructuralFeatures().get(15);
  public EReference getInput_Range()
    return (EReference)inputEClass.getEStructuralFeatures().get(0);
  public EReference getInput_ValueList()
    return (EReference)inputEClass.getEStructuralFeatures().get(1);
  public EAttribute getInput_ValueHandling()
  public EReference getInput_Granularity()
    return (EReference)inputEClass.getEStructuralFeatures().get(3);
  public EReference getInput_ArrivalRateAvg()
    return (EReference)inputEClass.getEStructuralFeatures().get(4);
  public EReference getInput_ArrivalRateMinimum()
  public EReference getInput_ArrivalRateMaximum()
    return (EReference)inputEClass.getEStructuralFeatures().get(6);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getInput_Obsolescence()
  {
    return (EReference)inputEClass.getEStructuralFeatures().get(7);
    return (EAttribute)inputEClass.getEStructuralFeatures().get(8);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getInput_AppearsIn()
  {
    return (EAttribute)inputEClass.getEStructuralFeatures().get(9);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getInput_Description()
  {
    return (EAttribute)inputEClass.getEStructuralFeatures().get(10);
    return (EAttribute)inputEClass.getEStructuralFeatures().get(11);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getInput_Structure()
  {
    return (EReference)inputEClass.getEStructuralFeatures().get(12);
    valueRangeEClass = createEClass(VALUE_RANGE);
    createEAttribute(valueRangeEClass, VALUE_RANGE__LOWER);
    createEAttribute(valueRangeEClass, VALUE_RANGE__UPPER);
    createEAttribute(valueRangeEClass, VALUE_RANGE__RANGE_TYPE);
    createEAttribute(valueRangeEClass, VALUE_RANGE__RANGE_UNITS);

    valueListEClass = createEClass(VALUE_LIST);
    createEAttribute(valueListEClass, VALUE_LIST__VALUES);

    createEReference(outputEClass, OUTPUT__RANGE);
    createEReference(outputEClass, OUTPUT__VALUE_LIST);
    createEReference(inputEClass, INPUT__RANGE);
    createEReference(inputEClass, INPUT__VALUE_LIST);
    createEAttribute(inputEClass, INPUT__VALUE_HANDLING);
    createEReference(inputEClass, INPUT__GRANULARITY);
    createEReference(inputEClass, INPUT__ARRIVAL_RATE_AVG);
    createEReference(inputEClass, INPUT__ARRIVAL_RATE_MINIMUM);
    createEReference(inputEClass, INPUT__ARRIVAL_RATE_MAXIMUM);
    createEReference(inputEClass, INPUT__OBSOLESCENCE);
    createEAttribute(inputEClass, INPUT__APPEARS_IN);
    createEAttribute(inputEClass, INPUT__DESCRIPTION);
    createEReference(inputEClass, INPUT__STRUCTURE);
    initEClass(valueRangeEClass, ValueRange.class, "ValueRange", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getValueRange_Lower(), ecorePackage.getEBigDecimal(), "lower", null, 0, 1, ValueRange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getValueRange_Upper(), ecorePackage.getEBigDecimal(), "upper", null, 0, 1, ValueRange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getValueRange_RangeType(), ecorePackage.getEString(), "rangeType", null, 0, 1, ValueRange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getValueRange_RangeUnits(), ecorePackage.getEString(), "rangeUnits", null, 0, 1, ValueRange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(valueListEClass, ValueList.class, "ValueList", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getValueList_Values(), ecorePackage.getEString(), "values", null, 0, -1, ValueList.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEReference(getOutput_Range(), this.getValueRange(), null, "range", null, 0, 1, Output.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getOutput_ValueList(), this.getValueList(), null, "valueList", null, 0, 1, Output.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getInput_Range(), this.getValueRange(), null, "range", null, 0, 1, Input.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getInput_ValueList(), this.getValueList(), null, "valueList", null, 0, 1, Input.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getInput_ValueHandling(), ecorePackage.getEString(), "valueHandling", null, 0, 1, Input.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getInput_Granularity(), this.getBigUnitValue(), null, "granularity", null, 0, 1, Input.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getInput_ArrivalRateAvg(), this.getBigUnitValue(), null, "arrivalRateAvg", null, 0, 1, Input.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getInput_ArrivalRateMinimum(), this.getBigUnitValue(), null, "arrivalRateMinimum", null, 0, 1, Input.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getInput_ArrivalRateMaximum(), this.getBigUnitValue(), null, "arrivalRateMaximum", null, 0, 1, Input.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getInput_Obsolescence(), this.getBigUnitValue(), null, "obsolescence", null, 0, 1, Input.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getInput_AppearsIn(), ecorePackage.getEString(), "appearsIn", null, 0, 1, Input.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getInput_Description(), ecorePackage.getEString(), "description", null, 0, 1, Input.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getInput_Structure(), this.getTriggerTable(), null, "structure", null, 0, 1, Input.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
net.certware.intent.state/src-gen/net/certware/intent/state/stateSpecification/impl/StateSpecificationPackageImpl.java
return (EAttribute)valueRangeEClass.getEStructuralFeatures().get(0);
EAttribute getValueRange_Lower()
net.certware.intent.state/src-gen/net/certware/intent/state/stateSpecification/impl/StateSpecificationPackageImpl.java
return (EAttribute)valueRangeEClass.getEStructuralFeatures().get(1);
EAttribute getValueRange_Upper()
net.certware.intent.state/src-gen/net/certware/intent/state/stateSpecification/impl/StateSpecificationPackageImpl.java
return (EAttribute)valueRangeEClass.getEStructuralFeatures().get(2);
EAttribute getValueRange_RangeType()
net.certware.intent.state/src-gen/net/certware/intent/state/stateSpecification/impl/StateSpecificationPackageImpl.java
return (EAttribute)valueRangeEClass.getEStructuralFeatures().get(3);
  public EClass getValueList()
    return valueListEClass;
  public EAttribute getValueList_Values()
    return (EAttribute)valueListEClass.getEStructuralFeatures().get(0);
  public EClass getOutput()
    return outputEClass;
  public EReference getOutput_Range()
    return (EReference)outputEClass.getEStructuralFeatures().get(0);
  public EReference getOutput_ValueList()
    return (EReference)outputEClass.getEStructuralFeatures().get(1);
    return (EReference)outputEClass.getEStructuralFeatures().get(2);
    return (EReference)outputEClass.getEStructuralFeatures().get(3);
    return (EReference)outputEClass.getEStructuralFeatures().get(4);
    return (EAttribute)outputEClass.getEStructuralFeatures().get(5);
    return (EAttribute)outputEClass.getEStructuralFeatures().get(6);
    return (EAttribute)outputEClass.getEStructuralFeatures().get(7);
    return (EReference)outputEClass.getEStructuralFeatures().get(8);
    return (EReference)outputEClass.getEStructuralFeatures().get(9);
    return (EAttribute)outputEClass.getEStructuralFeatures().get(10);
    return (EAttribute)outputEClass.getEStructuralFeatures().get(11);
    return (EAttribute)outputEClass.getEStructuralFeatures().get(12);
    return (EAttribute)outputEClass.getEStructuralFeatures().get(13);
    return (EAttribute)outputEClass.getEStructuralFeatures().get(14);
    return (EReference)outputEClass.getEStructuralFeatures().get(15);
  public EReference getInput_Range()
    return (EReference)inputEClass.getEStructuralFeatures().get(0);
  public EReference getInput_ValueList()
    return (EReference)inputEClass.getEStructuralFeatures().get(1);
  public EAttribute getInput_ValueHandling()
  public EReference getInput_Granularity()
    return (EReference)inputEClass.getEStructuralFeatures().get(3);
  public EReference getInput_ArrivalRateAvg()
    return (EReference)inputEClass.getEStructuralFeatures().get(4);
  public EReference getInput_ArrivalRateMinimum()
  public EReference getInput_ArrivalRateMaximum()
    return (EReference)inputEClass.getEStructuralFeatures().get(6);
EAttribute getValueRange_RangeUnits()
net.certware.intent.state/src-gen/net/certware/intent/state/stateSpecification/impl/StateSpecificationPackageImpl.java
return (EReference)inputEClass.getEStructuralFeatures().get(7);
    return (EAttribute)inputEClass.getEStructuralFeatures().get(8);
EReference getInput_Obsolescence()
net.certware.intent.state/src-gen/net/certware/intent/state/stateSpecification/impl/StateSpecificationPackageImpl.java
return (EAttribute)inputEClass.getEStructuralFeatures().get(9);
EAttribute getInput_AppearsIn()
net.certware.intent.state/src-gen/net/certware/intent/state/stateSpecification/impl/StateSpecificationPackageImpl.java
return (EAttribute)inputEClass.getEStructuralFeatures().get(10);
    return (EAttribute)inputEClass.getEStructuralFeatures().get(11);
EAttribute getInput_Description()
  public EClass getOutput()
    return outputEClass;
  public EAttribute getOutput_Lower()
    return (EAttribute)outputEClass.getEStructuralFeatures().get(0);
  public EAttribute getOutput_Upper()
    return (EAttribute)outputEClass.getEStructuralFeatures().get(1);
  public EAttribute getOutput_RangeType()
    return (EAttribute)outputEClass.getEStructuralFeatures().get(2);
  public EAttribute getOutput_RangeUnits()
    return (EAttribute)outputEClass.getEStructuralFeatures().get(3);
  public EAttribute getOutput_Values()
    return (EAttribute)outputEClass.getEStructuralFeatures().get(4);
    return (EReference)outputEClass.getEStructuralFeatures().get(5);
    return (EReference)outputEClass.getEStructuralFeatures().get(6);
    return (EReference)outputEClass.getEStructuralFeatures().get(7);
    return (EAttribute)outputEClass.getEStructuralFeatures().get(8);
    return (EAttribute)outputEClass.getEStructuralFeatures().get(9);
    return (EAttribute)outputEClass.getEStructuralFeatures().get(10);
    return (EReference)outputEClass.getEStructuralFeatures().get(11);
    return (EReference)outputEClass.getEStructuralFeatures().get(12);
    return (EAttribute)outputEClass.getEStructuralFeatures().get(13);
    return (EAttribute)outputEClass.getEStructuralFeatures().get(14);
    return (EAttribute)outputEClass.getEStructuralFeatures().get(15);
    return (EAttribute)outputEClass.getEStructuralFeatures().get(16);
    return (EAttribute)outputEClass.getEStructuralFeatures().get(17);
    return (EReference)outputEClass.getEStructuralFeatures().get(18);
  public EAttribute getInput_Lower()
    return (EAttribute)inputEClass.getEStructuralFeatures().get(0);
  public EAttribute getInput_Upper()
    return (EAttribute)inputEClass.getEStructuralFeatures().get(1);
  public EAttribute getInput_RangeType()
  public EAttribute getInput_RangeUnits()
    return (EAttribute)inputEClass.getEStructuralFeatures().get(3);
  public EAttribute getInput_Values()
    return (EAttribute)inputEClass.getEStructuralFeatures().get(4);
  public EReference getInput_Rate()
  public EAttribute getInput_Variables()
    return (EAttribute)inputEClass.getEStructuralFeatures().get(6);
    return (EAttribute)inputEClass.getEStructuralFeatures().get(7);
    return (EAttribute)inputEClass.getEStructuralFeatures().get(8);
    createEAttribute(outputEClass, OUTPUT__LOWER);
    createEAttribute(outputEClass, OUTPUT__UPPER);
    createEAttribute(outputEClass, OUTPUT__RANGE_TYPE);
    createEAttribute(outputEClass, OUTPUT__RANGE_UNITS);
    createEAttribute(outputEClass, OUTPUT__VALUES);
    createEAttribute(inputEClass, INPUT__LOWER);
    createEAttribute(inputEClass, INPUT__UPPER);
    createEAttribute(inputEClass, INPUT__RANGE_TYPE);
    createEAttribute(inputEClass, INPUT__RANGE_UNITS);
    createEAttribute(inputEClass, INPUT__VALUES);
    createEReference(inputEClass, INPUT__RATE);
    createEAttribute(inputEClass, INPUT__VARIABLES);
    initEAttribute(getOutput_Lower(), ecorePackage.getEBigDecimal(), "lower", null, 0, 1, Output.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getOutput_Upper(), ecorePackage.getEBigDecimal(), "upper", null, 0, 1, Output.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getOutput_RangeType(), ecorePackage.getEString(), "rangeType", null, 0, 1, Output.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getOutput_RangeUnits(), ecorePackage.getEString(), "rangeUnits", null, 0, 1, Output.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getOutput_Values(), ecorePackage.getEString(), "values", null, 0, -1, Output.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getInput_Lower(), ecorePackage.getEBigDecimal(), "lower", null, 0, 1, Input.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getInput_Upper(), ecorePackage.getEBigDecimal(), "upper", null, 0, 1, Input.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getInput_RangeType(), ecorePackage.getEString(), "rangeType", null, 0, 1, Input.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getInput_RangeUnits(), ecorePackage.getEString(), "rangeUnits", null, 0, 1, Input.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getInput_Values(), ecorePackage.getEString(), "values", null, 0, -1, Input.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getInput_Rate(), this.getBigUnitValue(), null, "rate", null, 0, 1, Input.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getInput_Variables(), ecorePackage.getEString(), "variables", null, 0, 1, Input.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -25,6 +25,8 @@
 import net.certware.intent.state.stateSpecification.StateVariable;
 import net.certware.intent.state.stateSpecification.Trigger;
 import net.certware.intent.state.stateSpecification.TriggerTable;
+import net.certware.intent.state.stateSpecification.ValueList;
+import net.certware.intent.state.stateSpecification.ValueRange;
 
 import org.eclipse.emf.ecore.EAttribute;
 import org.eclipse.emf.ecore.EClass;
@@ -174,6 +176,20 @@ public class StateSpecificationPackageImpl extends EPackageImpl implements State
    */
   private EClass triggerTableEClass = null;
 
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  private EClass valueRangeEClass = null;
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  private EClass valueListEClass = null;
+
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
@@ -916,59 +932,99 @@ public EReference getTriggerTable_Rows()
    * <!-- end-user-doc -->
    * @generated
    */
-  public EClass getOutput()
+  public EClass getValueRange()
   {
-    return outputEClass;
+    return valueRangeEClass;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public EAttribute getValueRange_Lower()
+  {
+    return (EAttribute)valueRangeEClass.getEStructuralFeatures().get(0);
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public EAttribute getValueRange_Upper()
+  {
+    return (EAttribute)valueRangeEClass.getEStructuralFeatures().get(1);
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public EAttribute getValueRange_RangeType()
+  {
+    return (EAttribute)valueRangeEClass.getEStructuralFeatures().get(2);
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public EAttribute getValueRange_RangeUnits()
+  {
+    return (EAttribute)valueRangeEClass.getEStructuralFeatures().get(3);
   }
 
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  public EAttribute getOutput_Lower()
+  public EClass getValueList()
   {
-    return (EAttribute)outputEClass.getEStructuralFeatures().get(0);
+    return valueListEClass;
   }
 
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  public EAttribute getOutput_Upper()
+  public EAttribute getValueList_Values()
   {
-    return (EAttribute)outputEClass.getEStructuralFeatures().get(1);
+    return (EAttribute)valueListEClass.getEStructuralFeatures().get(0);
   }
 
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  public EAttribute getOutput_RangeType()
+  public EClass getOutput()
   {
-    return (EAttribute)outputEClass.getEStructuralFeatures().get(2);
+    return outputEClass;
   }
 
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  public EAttribute getOutput_RangeUnits()
+  public EReference getOutput_Range()
   {
-    return (EAttribute)outputEClass.getEStructuralFeatures().get(3);
+    return (EReference)outputEClass.getEStructuralFeatures().get(0);
   }
 
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  public EAttribute getOutput_Values()
+  public EReference getOutput_ValueList()
   {
-    return (EAttribute)outputEClass.getEStructuralFeatures().get(4);
+    return (EReference)outputEClass.getEStructuralFeatures().get(1);
   }
 
   /**
@@ -978,7 +1034,7 @@ public EAttribute getOutput_Values()
    */
   public EReference getOutput_Rate()
   {
-    return (EReference)outputEClass.getEStructuralFeatures().get(5);
+    return (EReference)outputEClass.getEStructuralFeatures().get(2);
   }
 
   /**
@@ -988,7 +1044,7 @@ public EReference getOutput_Rate()
    */
   public EReference getOutput_Delay()
   {
-    return (EReference)outputEClass.getEStructuralFeatures().get(6);
+    return (EReference)outputEClass.getEStructuralFeatures().get(3);
   }
 
   /**
@@ -998,7 +1054,7 @@ public EReference getOutput_Delay()
    */
   public EReference getOutput_Deadline()
   {
-    return (EReference)outputEClass.getEStructuralFeatures().get(7);
+    return (EReference)outputEClass.getEStructuralFeatures().get(4);
   }
 
   /**
@@ -1008,7 +1064,7 @@ public EReference getOutput_Deadline()
    */
   public EAttribute getOutput_CompletionHandling()
   {
-    return (EAttribute)outputEClass.getEStructuralFeatures().get(8);
+    return (EAttribute)outputEClass.getEStructuralFeatures().get(5);
   }
 
   /**
@@ -1018,7 +1074,7 @@ public EAttribute getOutput_CompletionHandling()
    */
   public EAttribute getOutput_Variables()
   {
-    return (EAttribute)outputEClass.getEStructuralFeatures().get(9);
+    return (EAttribute)outputEClass.getEStructuralFeatures().get(6);
   }
 
   /**
@@ -1028,7 +1084,7 @@ public EAttribute getOutput_Variables()
    */
   public EAttribute getOutput_Relationship()
   {
-    return (EAttribute)outputEClass.getEStructuralFeatures().get(10);
+    return (EAttribute)outputEClass.getEStructuralFeatures().get(7);
   }
 
   /**
@@ -1038,7 +1094,7 @@ public EAttribute getOutput_Relationship()
    */
   public EReference getOutput_MinResponse()
   {
-    return (EReference)outputEClass.getEStructuralFeatures().get(11);
+    return (EReference)outputEClass.getEStructuralFeatures().get(8);
   }
 
   /**
@@ -1048,7 +1104,7 @@ public EReference getOutput_MinResponse()
    */
   public EReference getOutput_MaxResponse()
   {
-    return (EReference)outputEClass.getEStructuralFeatures().get(12);
+    return (EReference)outputEClass.getEStructuralFeatures().get(9);
   }
 
   /**
@@ -1058,7 +1114,7 @@ public EReference getOutput_MaxResponse()
    */
   public EAttribute getOutput_FeebackHandling()
   {
-    return (EAttribute)outputEClass.getEStructuralFeatures().get(13);
+    return (EAttribute)outputEClass.getEStructuralFeatures().get(10);
   }
 
   /**
@@ -1068,7 +1124,7 @@ public EAttribute getOutput_FeebackHandling()
    */
   public EAttribute getOutput_Reversed()
   {
-    return (EAttribute)outputEClass.getEStructuralFeatures().get(14);
+    return (EAttribute)outputEClass.getEStructuralFeatures().get(11);
   }
 
   /**
@@ -1078,7 +1134,7 @@ public EAttribute getOutput_Reversed()
    */
   public EAttribute getOutput_References()
   {
-    return (EAttribute)outputEClass.getEStructuralFeatures().get(15);
+    return (EAttribute)outputEClass.getEStructuralFeatures().get(12);
   }
 
   /**
@@ -1088,7 +1144,7 @@ public EAttribute getOutput_References()
    */
   public EAttribute getOutput_Comments()
   {
-    return (EAttribute)outputEClass.getEStructuralFeatures().get(16);
+    return (EAttribute)outputEClass.getEStructuralFeatures().get(13);
   }
 
   /**
@@ -1098,7 +1154,7 @@ public EAttribute getOutput_Comments()
    */
   public EAttribute getOutput_Contents()
   {
-    return (EAttribute)outputEClass.getEStructuralFeatures().get(17);
+    return (EAttribute)outputEClass.getEStructuralFeatures().get(14);
   }
 
   /**
@@ -1108,7 +1164,7 @@ public EAttribute getOutput_Contents()
    */
   public EReference getOutput_Table()
   {
-    return (EReference)outputEClass.getEStructuralFeatures().get(18);
+    return (EReference)outputEClass.getEStructuralFeatures().get(15);
   }
 
   /**
@@ -1126,27 +1182,27 @@ public EClass getInput()
    * <!-- end-user-doc -->
    * @generated
    */
-  public EAttribute getInput_Lower()
+  public EReference getInput_Range()
   {
-    return (EAttribute)inputEClass.getEStructuralFeatures().get(0);
+    return (EReference)inputEClass.getEStructuralFeatures().get(0);
   }
 
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  public EAttribute getInput_Upper()
+  public EReference getInput_ValueList()
   {
-    return (EAttribute)inputEClass.getEStructuralFeatures().get(1);
+    return (EReference)inputEClass.getEStructuralFeatures().get(1);
   }
 
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  public EAttribute getInput_RangeType()
+  public EAttribute getInput_ValueHandling()
   {
     return (EAttribute)inputEClass.getEStructuralFeatures().get(2);
   }
@@ -1156,27 +1212,27 @@ public EAttribute getInput_RangeType()
    * <!-- end-user-doc -->
    * @generated
    */
-  public EAttribute getInput_RangeUnits()
+  public EReference getInput_Granularity()
   {
-    return (EAttribute)inputEClass.getEStructuralFeatures().get(3);
+    return (EReference)inputEClass.getEStructuralFeatures().get(3);
   }
 
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  public EAttribute getInput_Values()
+  public EReference getInput_ArrivalRateAvg()
   {
-    return (EAttribute)inputEClass.getEStructuralFeatures().get(4);
+    return (EReference)inputEClass.getEStructuralFeatures().get(4);
   }
 
   /**
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
-  public EReference getInput_Rate()
+  public EReference getInput_ArrivalRateMinimum()
   {
     return (EReference)inputEClass.getEStructuralFeatures().get(5);
   }
@@ -1186,9 +1242,19 @@ public EReference getInput_Rate()
    * <!-- end-user-doc -->
    * @generated
    */
-  public EAttribute getInput_Variables()
+  public EReference getInput_ArrivalRateMaximum()
   {
-    return (EAttribute)inputEClass.getEStructuralFeatures().get(6);
+    return (EReference)inputEClass.getEStructuralFeatures().get(6);
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public EReference getInput_Obsolescence()
+  {
+    return (EReference)inputEClass.getEStructuralFeatures().get(7);
   }
 
   /**
@@ -1198,7 +1264,27 @@ public EAttribute getInput_Variables()
    */
   public EAttribute getInput_References()
   {
-    return (EAttribute)inputEClass.getEStructuralFeatures().get(7);
+    return (EAttribute)inputEClass.getEStructuralFeatures().get(8);
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public EAttribute getInput_AppearsIn()
+  {
+    return (EAttribute)inputEClass.getEStructuralFeatures().get(9);
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public EAttribute getInput_Description()
+  {
+    return (EAttribute)inputEClass.getEStructuralFeatures().get(10);
   }
 
   /**
@@ -1208,7 +1294,17 @@ public EAttribute getInput_References()
    */
   public EAttribute getInput_Comments()
   {
-    return (EAttribute)inputEClass.getEStructuralFeatures().get(8);
+    return (EAttribute)inputEClass.getEStructuralFeatures().get(11);
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public EReference getInput_Structure()
+  {
+    return (EReference)inputEClass.getEStructuralFeatures().get(12);
   }
 
   /**
@@ -1326,12 +1422,18 @@ public void createPackageContents()
     triggerTableEClass = createEClass(TRIGGER_TABLE);
     createEReference(triggerTableEClass, TRIGGER_TABLE__ROWS);
 
+    valueRangeEClass = createEClass(VALUE_RANGE);
+    createEAttribute(valueRangeEClass, VALUE_RANGE__LOWER);
+    createEAttribute(valueRangeEClass, VALUE_RANGE__UPPER);
+    createEAttribute(valueRangeEClass, VALUE_RANGE__RANGE_TYPE);
+    createEAttribute(valueRangeEClass, VALUE_RANGE__RANGE_UNITS);
+
+    valueListEClass = createEClass(VALUE_LIST);
+    createEAttribute(valueListEClass, VALUE_LIST__VALUES);
+
     outputEClass = createEClass(OUTPUT);
-    createEAttribute(outputEClass, OUTPUT__LOWER);
-    createEAttribute(outputEClass, OUTPUT__UPPER);
-    createEAttribute(outputEClass, OUTPUT__RANGE_TYPE);
-    createEAttribute(outputEClass, OUTPUT__RANGE_UNITS);
-    createEAttribute(outputEClass, OUTPUT__VALUES);
+    createEReference(outputEClass, OUTPUT__RANGE);
+    createEReference(outputEClass, OUTPUT__VALUE_LIST);
     createEReference(outputEClass, OUTPUT__RATE);
     createEReference(outputEClass, OUTPUT__DELAY);
     createEReference(outputEClass, OUTPUT__DEADLINE);
@@ -1348,15 +1450,19 @@ public void createPackageContents()
     createEReference(outputEClass, OUTPUT__TABLE);
 
     inputEClass = createEClass(INPUT);
-    createEAttribute(inputEClass, INPUT__LOWER);
-    createEAttribute(inputEClass, INPUT__UPPER);
-    createEAttribute(inputEClass, INPUT__RANGE_TYPE);
-    createEAttribute(inputEClass, INPUT__RANGE_UNITS);
-    createEAttribute(inputEClass, INPUT__VALUES);
-    createEReference(inputEClass, INPUT__RATE);
-    createEAttribute(inputEClass, INPUT__VARIABLES);
+    createEReference(inputEClass, INPUT__RANGE);
+    createEReference(inputEClass, INPUT__VALUE_LIST);
+    createEAttribute(inputEClass, INPUT__VALUE_HANDLING);
+    createEReference(inputEClass, INPUT__GRANULARITY);
+    createEReference(inputEClass, INPUT__ARRIVAL_RATE_AVG);
+    createEReference(inputEClass, INPUT__ARRIVAL_RATE_MINIMUM);
+    createEReference(inputEClass, INPUT__ARRIVAL_RATE_MAXIMUM);
+    createEReference(inputEClass, INPUT__OBSOLESCENCE);
     createEAttribute(inputEClass, INPUT__REFERENCES);
+    createEAttribute(inputEClass, INPUT__APPEARS_IN);
+    createEAttribute(inputEClass, INPUT__DESCRIPTION);
     createEAttribute(inputEClass, INPUT__COMMENTS);
+    createEReference(inputEClass, INPUT__STRUCTURE);
   }
 
   /**
@@ -1475,12 +1581,18 @@ public void initializePackageContents()
     initEClass(triggerTableEClass, TriggerTable.class, "TriggerTable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
     initEReference(getTriggerTable_Rows(), this.getTrigger(), null, "rows", null, 0, -1, TriggerTable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
+    initEClass(valueRangeEClass, ValueRange.class, "ValueRange", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+    initEAttribute(getValueRange_Lower(), ecorePackage.getEBigDecimal(), "lower", null, 0, 1, ValueRange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+    initEAttribute(getValueRange_Upper(), ecorePackage.getEBigDecimal(), "upper", null, 0, 1, ValueRange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+    initEAttribute(getValueRange_RangeType(), ecorePackage.getEString(), "rangeType", null, 0, 1, ValueRange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+    initEAttribute(getValueRange_RangeUnits(), ecorePackage.getEString(), "rangeUnits", null, 0, 1, ValueRange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+    initEClass(valueListEClass, ValueList.class, "ValueList", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+    initEAttribute(getValueList_Values(), ecorePackage.getEString(), "values", null, 0, -1, ValueList.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
     initEClass(outputEClass, Output.class, "Output", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEAttribute(getOutput_Lower(), ecorePackage.getEBigDecimal(), "lower", null, 0, 1, Output.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEAttribute(getOutput_Upper(), ecorePackage.getEBigDecimal(), "upper", null, 0, 1, Output.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEAttribute(getOutput_RangeType(), ecorePackage.getEString(), "rangeType", null, 0, 1, Output.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEAttribute(getOutput_RangeUnits(), ecorePackage.getEString(), "rangeUnits", null, 0, 1, Output.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEAttribute(getOutput_Values(), ecorePackage.getEString(), "values", null, 0, -1, Output.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+    initEReference(getOutput_Range(), this.getValueRange(), null, "range", null, 0, 1, Output.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+    initEReference(getOutput_ValueList(), this.getValueList(), null, "valueList", null, 0, 1, Output.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
     initEReference(getOutput_Rate(), this.getBigUnitValue(), null, "rate", null, 0, 1, Output.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
     initEReference(getOutput_Delay(), this.getBigUnitValue(), null, "delay", null, 0, 1, Output.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
     initEReference(getOutput_Deadline(), this.getBigUnitValue(), null, "deadline", null, 0, 1, Output.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -1497,15 +1609,19 @@ public void initializePackageContents()
     initEReference(getOutput_Table(), this.getTriggerTable(), null, "table", null, 0, 1, Output.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
     initEClass(inputEClass, Input.class, "Input", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-    initEAttribute(getInput_Lower(), ecorePackage.getEBigDecimal(), "lower", null, 0, 1, Input.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEAttribute(getInput_Upper(), ecorePackage.getEBigDecimal(), "upper", null, 0, 1, Input.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEAttribute(getInput_RangeType(), ecorePackage.getEString(), "rangeType", null, 0, 1, Input.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEAttribute(getInput_RangeUnits(), ecorePackage.getEString(), "rangeUnits", null, 0, 1, Input.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEAttribute(getInput_Values(), ecorePackage.getEString(), "values", null, 0, -1, Input.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEReference(getInput_Rate(), this.getBigUnitValue(), null, "rate", null, 0, 1, Input.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEAttribute(getInput_Variables(), ecorePackage.getEString(), "variables", null, 0, 1, Input.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+    initEReference(getInput_Range(), this.getValueRange(), null, "range", null, 0, 1, Input.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+    initEReference(getInput_ValueList(), this.getValueList(), null, "valueList", null, 0, 1, Input.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+    initEAttribute(getInput_ValueHandling(), ecorePackage.getEString(), "valueHandling", null, 0, 1, Input.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+    initEReference(getInput_Granularity(), this.getBigUnitValue(), null, "granularity", null, 0, 1, Input.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+    initEReference(getInput_ArrivalRateAvg(), this.getBigUnitValue(), null, "arrivalRateAvg", null, 0, 1, Input.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+    initEReference(getInput_ArrivalRateMinimum(), this.getBigUnitValue(), null, "arrivalRateMinimum", null, 0, 1, Input.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+    initEReference(getInput_ArrivalRateMaximum(), this.getBigUnitValue(), null, "arrivalRateMaximum", null, 0, 1, Input.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+    initEReference(getInput_Obsolescence(), this.getBigUnitValue(), null, "obsolescence", null, 0, 1, Input.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
     initEAttribute(getInput_References(), ecorePackage.getEString(), "references", null, 0, 1, Input.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+    initEAttribute(getInput_AppearsIn(), ecorePackage.getEString(), "appearsIn", null, 0, 1, Input.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+    initEAttribute(getInput_Description(), ecorePackage.getEString(), "description", null, 0, 1, Input.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
     initEAttribute(getInput_Comments(), ecorePackage.getEString(), "comments", null, 0, 1, Input.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+    initEReference(getInput_Structure(), this.getTriggerTable(), null, "structure", null, 0, 1, Input.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
     // Create resource
     createResource(eNS_URI);
https://github.com/nasa/CertWare/raw/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2FstateSpecification%2Fimpl%2FStateSpecificationPackageImpl.java
8900568c257db08a2722d9f4c2016785c32e3a85
modified
https://github.com/nasa/CertWare/blob/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2FstateSpecification%2Futil%2FStateSpecificationAdapterFactory.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2FstateSpecification%2Futil%2FStateSpecificationAdapterFactory.java?ref=110fa3222ae2931978d7921dc8e6af8c7f43abd3
net.certware.intent.state/src-gen/net/certware/intent/state/stateSpecification/util/StateSpecificationAdapterFactory.java
      public Adapter caseValueRange(ValueRange object)
      {
        return createValueRangeAdapter();
      }
      @Override
      public Adapter caseValueList(ValueList object)
      {
        return createValueListAdapter();
      }
      @Override
  /**
   * Creates a new adapter for an object of class '{@link net.certware.intent.state.stateSpecification.ValueRange <em>Value Range</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.state.stateSpecification.ValueRange
   * @generated
   */
  public Adapter createValueRangeAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link net.certware.intent.state.stateSpecification.ValueList <em>Value List</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.state.stateSpecification.ValueList
   * @generated
   */
  public Adapter createValueListAdapter()
  {
    return null;
  }

ValueRange object
net.certware.intent.state/src-gen/net/certware/intent/state/stateSpecification/util/StateSpecificationAdapterFactory.java
return createValueRangeAdapter();
Adapter caseValueRange(ValueRange object)
ValueList object
net.certware.intent.state/src-gen/net/certware/intent/state/stateSpecification/util/StateSpecificationAdapterFactory.java
return createValueListAdapter();
Adapter caseValueList(ValueList object)
net.certware.intent.state/src-gen/net/certware/intent/state/stateSpecification/util/StateSpecificationAdapterFactory.java
return null;
Adapter createValueRangeAdapter()
net.certware.intent.state/src-gen/net/certware/intent/state/stateSpecification/util/StateSpecificationAdapterFactory.java
return null;
Adapter createValueListAdapter()
@@ -170,6 +170,16 @@ public Adapter caseTriggerTable(TriggerTable object)
         return createTriggerTableAdapter();
       }
       @Override
+      public Adapter caseValueRange(ValueRange object)
+      {
+        return createValueRangeAdapter();
+      }
+      @Override
+      public Adapter caseValueList(ValueList object)
+      {
+        return createValueListAdapter();
+      }
+      @Override
       public Adapter caseOutput(Output object)
       {
         return createOutputAdapter();
@@ -486,6 +496,36 @@ public Adapter createTriggerTableAdapter()
     return null;
   }
 
+  /**
+   * Creates a new adapter for an object of class '{@link net.certware.intent.state.stateSpecification.ValueRange <em>Value Range</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.state.stateSpecification.ValueRange
+   * @generated
+   */
+  public Adapter createValueRangeAdapter()
+  {
+    return null;
+  }
+
+  /**
+   * Creates a new adapter for an object of class '{@link net.certware.intent.state.stateSpecification.ValueList <em>Value List</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.state.stateSpecification.ValueList
+   * @generated
+   */
+  public Adapter createValueListAdapter()
+  {
+    return null;
+  }
+
   /**
    * Creates a new adapter for an object of class '{@link net.certware.intent.state.stateSpecification.Output <em>Output</em>}'.
    * <!-- begin-user-doc -->
https://github.com/nasa/CertWare/raw/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2FstateSpecification%2Futil%2FStateSpecificationAdapterFactory.java
2c3ef5aa638cfb18f3dfeb9a6a7118e099c068eb
modified
https://github.com/nasa/CertWare/blob/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2FstateSpecification%2Futil%2FStateSpecificationSwitch.java
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2FstateSpecification%2Futil%2FStateSpecificationSwitch.java?ref=110fa3222ae2931978d7921dc8e6af8c7f43abd3
net.certware.intent.state/src-gen/net/certware/intent/state/stateSpecification/util/StateSpecificationSwitch.java
      case StateSpecificationPackage.VALUE_RANGE:
      {
        ValueRange valueRange = (ValueRange)theEObject;
        T result = caseValueRange(valueRange);
        if (result == null) result = defaultCase(theEObject);
        return result;
      }
      case StateSpecificationPackage.VALUE_LIST:
      {
        ValueList valueList = (ValueList)theEObject;
        T result = caseValueList(valueList);
        if (result == null) result = defaultCase(theEObject);
        return result;
      }
  /**
   * Returns the result of interpreting the object as an instance of '<em>Value Range</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>Value Range</em>'.
   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
   * @generated
   */
  public T caseValueRange(ValueRange object)
  {
    return null;
  }

  /**
   * Returns the result of interpreting the object as an instance of '<em>Value List</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>Value List</em>'.
   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
   * @generated
   */
  public T caseValueList(ValueList object)
  {
    return null;
  }

ValueRange object
net.certware.intent.state/src-gen/net/certware/intent/state/stateSpecification/util/StateSpecificationSwitch.java
return null;
T caseValueRange(ValueRange object)
ValueList object
net.certware.intent.state/src-gen/net/certware/intent/state/stateSpecification/util/StateSpecificationSwitch.java
return null;
T caseValueList(ValueList object)
@@ -205,6 +205,20 @@ protected T doSwitch(int classifierID, EObject theEObject)
         if (result == null) result = defaultCase(theEObject);
         return result;
       }
+      case StateSpecificationPackage.VALUE_RANGE:
+      {
+        ValueRange valueRange = (ValueRange)theEObject;
+        T result = caseValueRange(valueRange);
+        if (result == null) result = defaultCase(theEObject);
+        return result;
+      }
+      case StateSpecificationPackage.VALUE_LIST:
+      {
+        ValueList valueList = (ValueList)theEObject;
+        T result = caseValueList(valueList);
+        if (result == null) result = defaultCase(theEObject);
+        return result;
+      }
       case StateSpecificationPackage.OUTPUT:
       {
         Output output = (Output)theEObject;
@@ -527,6 +541,38 @@ public T caseTriggerTable(TriggerTable object)
     return null;
   }
 
+  /**
+   * Returns the result of interpreting the object as an instance of '<em>Value Range</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>Value Range</em>'.
+   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+   * @generated
+   */
+  public T caseValueRange(ValueRange object)
+  {
+    return null;
+  }
+
+  /**
+   * Returns the result of interpreting the object as an instance of '<em>Value List</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>Value List</em>'.
+   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+   * @generated
+   */
+  public T caseValueList(ValueList object)
+  {
+    return null;
+  }
+
   /**
    * Returns the result of interpreting the object as an instance of '<em>Output</em>'.
    * <!-- begin-user-doc -->
https://github.com/nasa/CertWare/raw/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state%2Fsrc-gen%2Fnet%2Fcertware%2Fintent%2Fstate%2FstateSpecification%2Futil%2FStateSpecificationSwitch.java
6254690f4afb17db174a9578a333671a2c76a7e8
modified
https://github.com/nasa/CertWare/blob/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state%2Fsrc%2Fnet%2Fcertware%2Fintent%2Fstate%2FStateSpecification.xtext
https://api.github.com/repos/nasa/CertWare/contents/net.certware.intent.state%2Fsrc%2Fnet%2Fcertware%2Fintent%2Fstate%2FStateSpecification.xtext?ref=110fa3222ae2931978d7921dc8e6af8c7f43abd3
net.certware.intent.state/src/net/certware/intent/state/StateSpecification.xtext
ValueRange:
	'{' lower=BigDecimalType '...' upper=BigDecimalType '}' 'type' rangeType=STRING 'units' rangeUnits=STRING '}'
;


ValueList:
	'{' values+=STRING+ '}'
;

	('range' range=ValueRange)?
	('value-list' valueList=ValueList)?
	('range' range=ValueRange)?
	('value-list' valueList=ValueList)?
	('value-exception' valueHandling=STRING)?
	('granularity' granularity=BigUnitValue)?
	('arrival-rate-avg' arrivalRateAvg=BigUnitValue)?
	('arrival-rate-minimum' arrivalRateMinimum=BigUnitValue)?
	('arrival-rate-maximum' arrivalRateMaximum=BigUnitValue)?
	('obsolescence' obsolescence=BigUnitValue)?
	('appears-in' appearsIn=STRING)?
	('description' description=STRING)?
	('triggering' structure=TriggerTable)?
	(
		('range' '{' lower=BigDecimalType '...' upper=BigDecimalType '}' 'type' rangeType=STRING 'units' rangeUnits=STRING) | 
		('values' '{' values+=STRING* '}')
	)
	(
		('range' '{' lower=BigDecimalType '...' upper=BigDecimalType '}' 'type' rangeType=STRING 'units' rangeUnits=STRING) | 
		('values' '{' values+=STRING* '}')
	)
	('rate' rate=BigUnitValue)?
	('variables' variables=STRING)?
@@ -129,12 +129,19 @@ TriggerTable:
 	rows+=Trigger*
 ;
 
+ValueRange:
+	'{' lower=BigDecimalType '...' upper=BigDecimalType '}' 'type' rangeType=STRING 'units' rangeUnits=STRING '}'
+;
+
+
+ValueList:
+	'{' values+=STRING+ '}'
+;
+
 Output:
 	{Output}
-	(
-		('range' '{' lower=BigDecimalType '...' upper=BigDecimalType '}' 'type' rangeType=STRING 'units' rangeUnits=STRING) | 
-		('values' '{' values+=STRING* '}')
-	)
+	('range' range=ValueRange)?
+	('value-list' valueList=ValueList)?
 	('rate' rate=BigUnitValue)?
 	('initiation-delay' delay=BigUnitValue)?
 	('completion-deadline' deadline=BigUnitValue)?
@@ -153,12 +160,17 @@ Output:
 
 Input:
 	{Input}
-	(
-		('range' '{' lower=BigDecimalType '...' upper=BigDecimalType '}' 'type' rangeType=STRING 'units' rangeUnits=STRING) | 
-		('values' '{' values+=STRING* '}')
-	)
-	('rate' rate=BigUnitValue)?
-	('variables' variables=STRING)?
+	('range' range=ValueRange)?
+	('value-list' valueList=ValueList)?
+	('value-exception' valueHandling=STRING)?
+	('granularity' granularity=BigUnitValue)?
+	('arrival-rate-avg' arrivalRateAvg=BigUnitValue)?
+	('arrival-rate-minimum' arrivalRateMinimum=BigUnitValue)?
+	('arrival-rate-maximum' arrivalRateMaximum=BigUnitValue)?
+	('obsolescence' obsolescence=BigUnitValue)?
 	('references' references=STRING)?
+	('appears-in' appearsIn=STRING)?
+	('description' description=STRING)?
 	('comments' comments=STRING)?
+	('triggering' structure=TriggerTable)?
 ;
https://github.com/nasa/CertWare/raw/110fa3222ae2931978d7921dc8e6af8c7f43abd3/net.certware.intent.state%2Fsrc%2Fnet%2Fcertware%2Fintent%2Fstate%2FStateSpecification.xtext
22c9de910cb56bd92896a9893600790659437348
modified
nasa$certware
return cReferencesAssignment_13_1;
Assignment
Assignment getReferencesAssignment_13_1()
return cCommentsAssignment_13_1;
Assignment
Assignment getCommentsAssignment_13_1()
nasa$certware
return cDescriptionAssignment_11_1;
Assignment
Assignment getDescriptionAssignment_11_1()
return cCommentsAssignment_5_1;
Assignment
Assignment getCommentsAssignment_5_1()
nasa$certware
return cCommentsKeyword_14_0;
Keyword
Keyword getCommentsKeyword_14_0()
return cCommentsKeyword_13_0;
Keyword
Keyword getCommentsKeyword_13_0()
nasa$certware
return cArrivalRateMaximumKeyword_7_0;
Keyword
Keyword getArrivalRateMaximumKeyword_7_0()
return cCommentsKeyword_5_0;
Keyword
Keyword getCommentsKeyword_5_0()
nasa$certware
return cCommentsSTRINGTerminalRuleCall_14_1_0;
RuleCall
RuleCall getCommentsSTRINGTerminalRuleCall_14_1_0()
return cCommentsSTRINGTerminalRuleCall_13_1_0;
RuleCall
RuleCall getCommentsSTRINGTerminalRuleCall_13_1_0()
nasa$certware
return cStructureTriggerTableParserRuleCall_13_1_0;
RuleCall
RuleCall getStructureTriggerTableParserRuleCall_13_1_0()
return cCommentsSTRINGTerminalRuleCall_5_1_0;
RuleCall
RuleCall getCommentsSTRINGTerminalRuleCall_5_1_0()
nasa$certware
return cCompletionDeadlineKeyword_5_0;
Keyword
Keyword getCompletionDeadlineKeyword_5_0()
return cCompletionDeadlineKeyword_4_0;
Keyword
Keyword getCompletionDeadlineKeyword_4_0()
nasa$certware
return cCompletionExceptionKeyword_6_0;
Keyword
Keyword getCompletionExceptionKeyword_6_0()
return cCompletionExceptionKeyword_5_0;
Keyword
Keyword getCompletionExceptionKeyword_5_0()
nasa$certware
return cCompletionHandlingAssignment_6_1;
Assignment
Assignment getCompletionHandlingAssignment_6_1()
return cCompletionHandlingAssignment_5_1;
Assignment
Assignment getCompletionHandlingAssignment_5_1()
nasa$certware
return cCompletionHandlingSTRINGTerminalRuleCall_6_1_0;
RuleCall
RuleCall getCompletionHandlingSTRINGTerminalRuleCall_6_1_0()
return cCompletionHandlingSTRINGTerminalRuleCall_5_1_0;
RuleCall
RuleCall getCompletionHandlingSTRINGTerminalRuleCall_5_1_0()
nasa$certware
return cCommentsAssignment_14_1;
Assignment
Assignment getCommentsAssignment_14_1()
return cContentsAssignment_14_1;
Assignment
Assignment getContentsAssignment_14_1()
nasa$certware
return cContentsKeyword_15_0;
Keyword
Keyword getContentsKeyword_15_0()
return cContentsKeyword_14_0;
Keyword
Keyword getContentsKeyword_14_0()
nasa$certware
return cContentsSTRINGTerminalRuleCall_15_1_0;
RuleCall
RuleCall getContentsSTRINGTerminalRuleCall_15_1_0()
return cContentsSTRINGTerminalRuleCall_14_1_0;
RuleCall
RuleCall getContentsSTRINGTerminalRuleCall_14_1_0()
nasa$certware
return cDelayAssignment_4_1;
Assignment
Assignment getDelayAssignment_4_1()
return cDeadlineAssignment_4_1;
Assignment
Assignment getDeadlineAssignment_4_1()
nasa$certware
return cRateBigUnitValueParserRuleCall_3_1_0;
RuleCall
RuleCall getRateBigUnitValueParserRuleCall_3_1_0()
return cDeadlineBigUnitValueParserRuleCall_4_1_0;
RuleCall
RuleCall getDeadlineBigUnitValueParserRuleCall_4_1_0()
nasa$certware
return cRateAssignment_3_1;
Assignment
Assignment getRateAssignment_3_1()
return cDelayAssignment_3_1;
Assignment
Assignment getDelayAssignment_3_1()
nasa$certware
return cValueListValueListParserRuleCall_2_1_0;
RuleCall
RuleCall getValueListValueListParserRuleCall_2_1_0()
return cDelayBigUnitValueParserRuleCall_3_1_0;
RuleCall
RuleCall getDelayBigUnitValueParserRuleCall_3_1_0()
nasa$certware
return cFeebackHandlingAssignment_11_1;
Assignment
Assignment getFeebackHandlingAssignment_11_1()
return cFeebackHandlingAssignment_10_1;
Assignment
Assignment getFeebackHandlingAssignment_10_1()
nasa$certware
return cFeebackHandlingSTRINGTerminalRuleCall_11_1_0;
RuleCall
RuleCall getFeebackHandlingSTRINGTerminalRuleCall_11_1_0()
return cFeebackHandlingSTRINGTerminalRuleCall_10_1_0;
RuleCall
RuleCall getFeebackHandlingSTRINGTerminalRuleCall_10_1_0()
nasa$certware
return cFeedbackExceptionKeyword_11_0;
Keyword
Keyword getFeedbackExceptionKeyword_11_0()
return cFeedbackExceptionKeyword_10_0;
Keyword
Keyword getFeedbackExceptionKeyword_10_0()
nasa$certware
return cValueExceptionKeyword_3_0;
Keyword
Keyword getValueExceptionKeyword_3_0()
return cFullStopFullStopFullStopKeyword_1_0_3;
Keyword
Keyword getFullStopFullStopFullStopKeyword_1_0_3()
nasa$certware
return cGroup_1;
Group
Group getGroup_1()
return cGroup_1_0;
Group
Group getGroup_1_0()
nasa$certware
return cGroup_10;
Group
Group getGroup_10()
return cGroup_1_0;
Group
Group getGroup_1_0()
nasa$certware
return cGroup_11;
Group
Group getGroup_11()
return cGroup_1_1;
Group
Group getGroup_1_1()
nasa$certware
return cInitiationDelayKeyword_4_0;
Keyword
Keyword getInitiationDelayKeyword_4_0()
return cInitiationDelayKeyword_3_0;
Keyword
Keyword getInitiationDelayKeyword_3_0()
nasa$certware
return cReferencesKeyword_9_0;
Keyword
Keyword getReferencesKeyword_9_0()
return cLeftCurlyBracketKeyword_1_0_1;
Keyword
Keyword getLeftCurlyBracketKeyword_1_0_1()
nasa$certware
return cDescriptionKeyword_11_0;
Keyword
Keyword getDescriptionKeyword_11_0()
return cLeftCurlyBracketKeyword_1_1_1;
Keyword
Keyword getLeftCurlyBracketKeyword_1_1_1()
nasa$certware
return cRangeAssignment_1_1;
Assignment
Assignment getRangeAssignment_1_1()
return cLowerAssignment_1_0_2;
Assignment
Assignment getLowerAssignment_1_0_2()
nasa$certware
return cMinResponseBigUnitValueParserRuleCall_9_1_0;
RuleCall
RuleCall getMinResponseBigUnitValueParserRuleCall_9_1_0()
return cLowerBigDecimalTypeParserRuleCall_1_0_2_0;
RuleCall
RuleCall getLowerBigDecimalTypeParserRuleCall_1_0_2_0()
nasa$certware
return cRangeValueRangeParserRuleCall_1_1_0;
RuleCall
RuleCall getRangeValueRangeParserRuleCall_1_1_0()
return cLowerBigDecimalTypeParserRuleCall_1_0_2_0;
RuleCall
RuleCall getLowerBigDecimalTypeParserRuleCall_1_0_2_0()
nasa$certware
return cMinResponseAssignment_9_1;
Assignment
Assignment getMinResponseAssignment_9_1()
return cMaxResponseAssignment_9_1;
Assignment
Assignment getMaxResponseAssignment_9_1()
nasa$certware
return cDeadlineBigUnitValueParserRuleCall_5_1_0;
RuleCall
RuleCall getDeadlineBigUnitValueParserRuleCall_5_1_0()
return cMaxResponseBigUnitValueParserRuleCall_9_1_0;
RuleCall
RuleCall getMaxResponseBigUnitValueParserRuleCall_9_1_0()
nasa$certware
return cMaxResponseTimeKeyword_10_0;
Keyword
Keyword getMaxResponseTimeKeyword_10_0()
return cMaxResponseTimeKeyword_9_0;
Keyword
Keyword getMaxResponseTimeKeyword_9_0()
nasa$certware
return cRelationshipAssignment_8_1;
Assignment
Assignment getRelationshipAssignment_8_1()
return cMinResponseAssignment_8_1;
Assignment
Assignment getMinResponseAssignment_8_1()
nasa$certware
return cDelayBigUnitValueParserRuleCall_4_1_0;
RuleCall
RuleCall getDelayBigUnitValueParserRuleCall_4_1_0()
return cMinResponseBigUnitValueParserRuleCall_8_1_0;
RuleCall
RuleCall getMinResponseBigUnitValueParserRuleCall_8_1_0()
nasa$certware
return cMinResponseTimeKeyword_9_0;
Keyword
Keyword getMinResponseTimeKeyword_9_0()
return cMinResponseTimeKeyword_8_0;
Keyword
Keyword getMinResponseTimeKeyword_8_0()
nasa$certware
return cRangeKeyword_1_0;
Keyword
Keyword getRangeKeyword_1_0()
return cRangeKeyword_1_0_0;
Keyword
Keyword getRangeKeyword_1_0_0()
nasa$certware
return cRangeKeyword_1_0;
Keyword
Keyword getRangeKeyword_1_0()
return cRangeKeyword_1_0_0;
Keyword
Keyword getRangeKeyword_1_0_0()
nasa$certware
return cValueListAssignment_2_1;
Assignment
Assignment getValueListAssignment_2_1()
return cRangeTypeAssignment_1_0_7;
Assignment
Assignment getRangeTypeAssignment_1_0_7()
nasa$certware
return cAppearsInSTRINGTerminalRuleCall_10_1_0;
RuleCall
RuleCall getAppearsInSTRINGTerminalRuleCall_10_1_0()
return cRangeTypeSTRINGTerminalRuleCall_1_0_7_0;
RuleCall
RuleCall getRangeTypeSTRINGTerminalRuleCall_1_0_7_0()
nasa$certware
return cCommentsAssignment_12_1;
Assignment
Assignment getCommentsAssignment_12_1()
return cRangeUnitsAssignment_1_0_9;
Assignment
Assignment getRangeUnitsAssignment_1_0_9()
nasa$certware
return cCommentsSTRINGTerminalRuleCall_12_1_0;
RuleCall
RuleCall getCommentsSTRINGTerminalRuleCall_12_1_0()
return cRangeUnitsSTRINGTerminalRuleCall_1_0_9_0;
RuleCall
RuleCall getRangeUnitsSTRINGTerminalRuleCall_1_0_9_0()
nasa$certware
return cRangeAssignment_1_1;
Assignment
Assignment getRangeAssignment_1_1()
return cRateAssignment_2_1;
Assignment
Assignment getRateAssignment_2_1()
nasa$certware
return cReferencesAssignment_9_1;
Assignment
Assignment getReferencesAssignment_9_1()
return cRateAssignment_2_1;
Assignment
Assignment getRateAssignment_2_1()
nasa$certware
return cGranularityBigUnitValueParserRuleCall_4_1_0;
RuleCall
RuleCall getGranularityBigUnitValueParserRuleCall_4_1_0()
return cRateBigUnitValueParserRuleCall_2_1_0;
RuleCall
RuleCall getRateBigUnitValueParserRuleCall_2_1_0()
nasa$certware
return cRangeValueRangeParserRuleCall_1_1_0;
RuleCall
RuleCall getRangeValueRangeParserRuleCall_1_1_0()
return cRateBigUnitValueParserRuleCall_2_1_0;
RuleCall
RuleCall getRateBigUnitValueParserRuleCall_2_1_0()
nasa$certware
return cArrivalRateAvgKeyword_5_0;
Keyword
Keyword getArrivalRateAvgKeyword_5_0()
return cRateKeyword_2_0;
Keyword
Keyword getRateKeyword_2_0()
nasa$certware
return cRateKeyword_3_0;
Keyword
Keyword getRateKeyword_3_0()
return cRateKeyword_2_0;
Keyword
Keyword getRateKeyword_2_0()
nasa$certware
return cReversedAssignment_12_1;
Assignment
Assignment getReversedAssignment_12_1()
return cReferencesAssignment_12_1;
Assignment
Assignment getReferencesAssignment_12_1()
nasa$certware
return cObsolescenceAssignment_8_1;
Assignment
Assignment getObsolescenceAssignment_8_1()
return cReferencesAssignment_4_1;
Assignment
Assignment getReferencesAssignment_4_1()
nasa$certware
return cReferencesKeyword_13_0;
Keyword
Keyword getReferencesKeyword_13_0()
return cReferencesKeyword_12_0;
Keyword
Keyword getReferencesKeyword_12_0()
nasa$certware
return cArrivalRateMinimumKeyword_6_0;
Keyword
Keyword getArrivalRateMinimumKeyword_6_0()
return cReferencesKeyword_4_0;
Keyword
Keyword getReferencesKeyword_4_0()
nasa$certware
return cReferencesSTRINGTerminalRuleCall_13_1_0;
RuleCall
RuleCall getReferencesSTRINGTerminalRuleCall_13_1_0()
return cReferencesSTRINGTerminalRuleCall_12_1_0;
RuleCall
RuleCall getReferencesSTRINGTerminalRuleCall_12_1_0()
nasa$certware
return cDescriptionSTRINGTerminalRuleCall_11_1_0;
RuleCall
RuleCall getDescriptionSTRINGTerminalRuleCall_11_1_0()
return cReferencesSTRINGTerminalRuleCall_4_1_0;
RuleCall
RuleCall getReferencesSTRINGTerminalRuleCall_4_1_0()
nasa$certware
return cVariablesAssignment_7_1;
Assignment
Assignment getVariablesAssignment_7_1()
return cRelationshipAssignment_7_1;
Assignment
Assignment getRelationshipAssignment_7_1()
nasa$certware
return cRelationshipKeyword_8_0;
Keyword
Keyword getRelationshipKeyword_8_0()
return cRelationshipKeyword_7_0;
Keyword
Keyword getRelationshipKeyword_7_0()
nasa$certware
return cRelationshipSTRINGTerminalRuleCall_8_1_0;
RuleCall
RuleCall getRelationshipSTRINGTerminalRuleCall_8_1_0()
return cRelationshipSTRINGTerminalRuleCall_7_1_0;
RuleCall
RuleCall getRelationshipSTRINGTerminalRuleCall_7_1_0()
nasa$certware
return cMaxResponseAssignment_10_1;
Assignment
Assignment getMaxResponseAssignment_10_1()
return cReversedAssignment_11_1;
Assignment
Assignment getReversedAssignment_11_1()
nasa$certware
return cReversedByKeyword_12_0;
Keyword
Keyword getReversedByKeyword_12_0()
return cReversedByKeyword_11_0;
Keyword
Keyword getReversedByKeyword_11_0()
nasa$certware
return cReversedSTRINGTerminalRuleCall_12_1_0;
RuleCall
RuleCall getReversedSTRINGTerminalRuleCall_12_1_0()
return cReversedSTRINGTerminalRuleCall_11_1_0;
RuleCall
RuleCall getReversedSTRINGTerminalRuleCall_11_1_0()
nasa$certware
return cGranularityKeyword_4_0;
Keyword
Keyword getGranularityKeyword_4_0()
return cRightCurlyBracketKeyword_1_0_5;
Keyword
Keyword getRightCurlyBracketKeyword_1_0_5()
nasa$certware
return cTriggeringKeyword_13_0;
Keyword
Keyword getTriggeringKeyword_13_0()
return cRightCurlyBracketKeyword_1_1_3;
Keyword
Keyword getRightCurlyBracketKeyword_1_1_3()
nasa$certware
return cContentsAssignment_15_1;
Assignment
Assignment getContentsAssignment_15_1()
return cTableAssignment_15_1;
Assignment
Assignment getTableAssignment_15_1()
nasa$certware
return cTableTriggerTableParserRuleCall_16_1_0;
RuleCall
RuleCall getTableTriggerTableParserRuleCall_16_1_0()
return cTableTriggerTableParserRuleCall_15_1_0;
RuleCall
RuleCall getTableTriggerTableParserRuleCall_15_1_0()
nasa$certware
return cTriggeringKeyword_16_0;
Keyword
Keyword getTriggeringKeyword_16_0()
return cTriggeringKeyword_15_0;
Keyword
Keyword getTriggeringKeyword_15_0()
nasa$certware
return cAppearsInKeyword_10_0;
Keyword
Keyword getAppearsInKeyword_10_0()
return cTypeKeyword_1_0_6;
Keyword
Keyword getTypeKeyword_1_0_6()
nasa$certware
return cCommentsKeyword_12_0;
Keyword
Keyword getCommentsKeyword_12_0()
return cUnitsKeyword_1_0_8;
Keyword
Keyword getUnitsKeyword_1_0_8()
nasa$certware
return cAppearsInAssignment_10_1;
Assignment
Assignment getAppearsInAssignment_10_1()
return cUpperAssignment_1_0_4;
Assignment
Assignment getUpperAssignment_1_0_4()
nasa$certware
return cMaxResponseBigUnitValueParserRuleCall_10_1_0;
RuleCall
RuleCall getMaxResponseBigUnitValueParserRuleCall_10_1_0()
return cUpperBigDecimalTypeParserRuleCall_1_0_4_0;
RuleCall
RuleCall getUpperBigDecimalTypeParserRuleCall_1_0_4_0()
nasa$certware
return cValueListValueListParserRuleCall_2_1_0;
RuleCall
RuleCall getValueListValueListParserRuleCall_2_1_0()
return cUpperBigDecimalTypeParserRuleCall_1_0_4_0;
RuleCall
RuleCall getUpperBigDecimalTypeParserRuleCall_1_0_4_0()
nasa$certware
return cValueHandlingAssignment_3_1;
Assignment
Assignment getValueHandlingAssignment_3_1()
return cValuesAssignment_1_1_2;
Assignment
Assignment getValuesAssignment_1_1_2()
nasa$certware
return cValueListAssignment_2_1;
Assignment
Assignment getValueListAssignment_2_1()
return cValuesAssignment_1_1_2;
Assignment
Assignment getValuesAssignment_1_1_2()
nasa$certware
return cValueListKeyword_2_0;
Keyword
Keyword getValueListKeyword_2_0()
return cValuesKeyword_1_1_0;
Keyword
Keyword getValuesKeyword_1_1_0()
nasa$certware
return cValueListKeyword_2_0;
Keyword
Keyword getValueListKeyword_2_0()
return cValuesKeyword_1_1_0;
Keyword
Keyword getValuesKeyword_1_1_0()
nasa$certware
return cValueHandlingSTRINGTerminalRuleCall_3_1_0;
RuleCall
RuleCall getValueHandlingSTRINGTerminalRuleCall_3_1_0()
return cValuesSTRINGTerminalRuleCall_1_1_2_0;
RuleCall
RuleCall getValuesSTRINGTerminalRuleCall_1_1_2_0()
nasa$certware
return cStructureAssignment_13_1;
Assignment
Assignment getStructureAssignment_13_1()
return cVariablesAssignment_3_1;
Assignment
Assignment getVariablesAssignment_3_1()
nasa$certware
return cDeadlineAssignment_5_1;
Assignment
Assignment getDeadlineAssignment_5_1()
return cVariablesAssignment_6_1;
Assignment
Assignment getVariablesAssignment_6_1()
nasa$certware
return cObsolescenceKeyword_8_0;
Keyword
Keyword getObsolescenceKeyword_8_0()
return cVariablesKeyword_3_0;
Keyword
Keyword getVariablesKeyword_3_0()
nasa$certware
return cVariablesKeyword_7_0;
Keyword
Keyword getVariablesKeyword_7_0()
return cVariablesKeyword_6_0;
Keyword
Keyword getVariablesKeyword_6_0()
nasa$certware
return cReferencesSTRINGTerminalRuleCall_9_1_0;
RuleCall
RuleCall getReferencesSTRINGTerminalRuleCall_9_1_0()
return cVariablesSTRINGTerminalRuleCall_3_1_0;
RuleCall
RuleCall getVariablesSTRINGTerminalRuleCall_3_1_0()
nasa$certware
return cVariablesSTRINGTerminalRuleCall_7_1_0;
RuleCall
RuleCall getVariablesSTRINGTerminalRuleCall_7_1_0()
return cVariablesSTRINGTerminalRuleCall_6_1_0;
RuleCall
RuleCall getVariablesSTRINGTerminalRuleCall_6_1_0()