use of org.osate.aadl2.RealLiteral in project osate2 by osate.
the class InterpreterUtil method subtract.
public static NumberValue subtract(NumberValue v1, NumberValue v2) {
if (v2 instanceof IntegerLiteral) {
IntegerLiteral neg = Aadl2Factory.eINSTANCE.createIntegerLiteral();
neg.setValue(-((IntegerLiteral) v2).getValue());
neg.setUnit(v2.getUnit());
return add(v1, neg);
} else {
RealLiteral neg = Aadl2Factory.eINSTANCE.createRealLiteral();
neg.setValue(-((RealLiteral) v2).getValue());
neg.setUnit(v2.getUnit());
return add(v1, neg);
}
}
use of org.osate.aadl2.RealLiteral in project osate2 by osate.
the class InterpreterUtil method divide.
public static NumberValue divide(NumberValue v1, NumberValue v2) {
UnitLiteral minUnit = smallerUnit(v1.getUnit(), v2.getUnit());
boolean twoUnits = v1.getUnit() != null && v2.getUnit() != null;
UnitLiteral unit = (v1.getUnit() != null) ? v1.getUnit() : v2.getUnit();
double s1 = (!twoUnits) ? (v1 instanceof IntegerLiteral) ? ((IntegerLiteral) v1).getValue() : ((RealLiteral) v1).getValue() : v1.getScaledValue(minUnit);
double s2 = (!twoUnits) ? (v2 instanceof IntegerLiteral) ? ((IntegerLiteral) v2).getValue() : ((RealLiteral) v2).getValue() : v2.getScaledValue(minUnit);
RealLiteral result = Aadl2Factory.eINSTANCE.createRealLiteral();
result.setValue(s1 / s2);
result.setUnit(twoUnits ? null : unit);
return result;
}
use of org.osate.aadl2.RealLiteral in project osate2 by osate.
the class ReqSpecSemanticSequencer method sequence.
@Override
public void sequence(ISerializationContext context, EObject semanticObject) {
EPackage epackage = semanticObject.eClass().getEPackage();
ParserRule rule = context.getParserRule();
Action action = context.getAssignedAction();
Set<Parameter> parameters = context.getEnabledBooleanParameters();
if (epackage == Aadl2Package.eINSTANCE)
switch(semanticObject.eClass().getClassifierID()) {
case Aadl2Package.AADL_BOOLEAN:
sequence_TypeRef(context, (AadlBoolean) semanticObject);
return;
case Aadl2Package.AADL_INTEGER:
sequence_TypeRef(context, (AadlInteger) semanticObject);
return;
case Aadl2Package.AADL_REAL:
sequence_TypeRef(context, (AadlReal) semanticObject);
return;
case Aadl2Package.AADL_STRING:
sequence_TypeRef(context, (AadlString) semanticObject);
return;
case Aadl2Package.BOOLEAN_LITERAL:
sequence_ABooleanLiteral(context, (BooleanLiteral) semanticObject);
return;
case Aadl2Package.INTEGER_LITERAL:
sequence_AIntegerTerm(context, (IntegerLiteral) semanticObject);
return;
case Aadl2Package.REAL_LITERAL:
sequence_ARealTerm(context, (RealLiteral) semanticObject);
return;
case Aadl2Package.STRING_LITERAL:
sequence_StringTerm(context, (StringLiteral) semanticObject);
return;
}
else if (epackage == CommonPackage.eINSTANCE)
switch(semanticObject.eClass().getClassifierID()) {
case CommonPackage.ABINARY_OPERATION:
sequence_AAdditiveExpression_AAndExpression_AEqualityExpression_AMultiplicativeExpression_AOrExpression_ARelationalExpression(context, (ABinaryOperation) semanticObject);
return;
case CommonPackage.ACONDITIONAL:
sequence_AIfExpression(context, (AConditional) semanticObject);
return;
case CommonPackage.AFUNCTION_CALL:
sequence_AFunctionCall(context, (AFunctionCall) semanticObject);
return;
case CommonPackage.AMODEL_REFERENCE:
sequence_AModelReference(context, (AModelReference) semanticObject);
return;
case CommonPackage.APROPERTY_REFERENCE:
if (rule == grammarAccess.getAModelOrPropertyReferenceRule() || rule == grammarAccess.getAExpressionRule() || rule == grammarAccess.getAOrExpressionRule() || action == grammarAccess.getAOrExpressionAccess().getABinaryOperationLeftAction_1_0_0_0() || rule == grammarAccess.getAAndExpressionRule() || action == grammarAccess.getAAndExpressionAccess().getABinaryOperationLeftAction_1_0_0_0() || rule == grammarAccess.getAEqualityExpressionRule() || action == grammarAccess.getAEqualityExpressionAccess().getABinaryOperationLeftAction_1_0_0_0() || rule == grammarAccess.getARelationalExpressionRule() || action == grammarAccess.getARelationalExpressionAccess().getABinaryOperationLeftAction_1_0_0_0() || rule == grammarAccess.getAAdditiveExpressionRule() || action == grammarAccess.getAAdditiveExpressionAccess().getABinaryOperationLeftAction_1_0_0_0() || rule == grammarAccess.getAMultiplicativeExpressionRule() || action == grammarAccess.getAMultiplicativeExpressionAccess().getABinaryOperationLeftAction_1_0_0_0() || rule == grammarAccess.getAUnaryOperationRule() || rule == grammarAccess.getAUnitExpressionRule() || action == grammarAccess.getAUnitExpressionAccess().getAUnitExpressionExpressionAction_1_0() || rule == grammarAccess.getAPrimaryExpressionRule() || rule == grammarAccess.getAParenthesizedExpressionRule()) {
sequence_AModelOrPropertyReference_APropertyReference(context, (APropertyReference) semanticObject);
return;
} else if (rule == grammarAccess.getAPropertyReferenceRule()) {
sequence_APropertyReference(context, (APropertyReference) semanticObject);
return;
} else
break;
case CommonPackage.ARANGE:
sequence_ARangeExpression(context, (ARange) semanticObject);
return;
case CommonPackage.AUNARY_OPERATION:
sequence_AUnaryOperation(context, (AUnaryOperation) semanticObject);
return;
case CommonPackage.AUNIT_EXPRESSION:
if (rule == grammarAccess.getAExpressionRule() || rule == grammarAccess.getAOrExpressionRule() || action == grammarAccess.getAOrExpressionAccess().getABinaryOperationLeftAction_1_0_0_0() || rule == grammarAccess.getAAndExpressionRule() || action == grammarAccess.getAAndExpressionAccess().getABinaryOperationLeftAction_1_0_0_0() || rule == grammarAccess.getAEqualityExpressionRule() || action == grammarAccess.getAEqualityExpressionAccess().getABinaryOperationLeftAction_1_0_0_0() || rule == grammarAccess.getARelationalExpressionRule() || action == grammarAccess.getARelationalExpressionAccess().getABinaryOperationLeftAction_1_0_0_0() || rule == grammarAccess.getAAdditiveExpressionRule() || action == grammarAccess.getAAdditiveExpressionAccess().getABinaryOperationLeftAction_1_0_0_0() || rule == grammarAccess.getAMultiplicativeExpressionRule() || action == grammarAccess.getAMultiplicativeExpressionAccess().getABinaryOperationLeftAction_1_0_0_0() || rule == grammarAccess.getAUnaryOperationRule() || rule == grammarAccess.getAUnitExpressionRule() || action == grammarAccess.getAUnitExpressionAccess().getAUnitExpressionExpressionAction_1_0() || rule == grammarAccess.getAPrimaryExpressionRule() || rule == grammarAccess.getAParenthesizedExpressionRule()) {
sequence_AUnitExpression(context, (AUnitExpression) semanticObject);
return;
} else if (rule == grammarAccess.getShowValueRule()) {
sequence_ShowValue(context, (AUnitExpression) semanticObject);
return;
} else
break;
case CommonPackage.AVARIABLE_REFERENCE:
sequence_AVariableReference(context, (AVariableReference) semanticObject);
return;
case CommonPackage.COMPUTE_DECLARATION:
sequence_ComputeDeclaration(context, (ComputeDeclaration) semanticObject);
return;
case CommonPackage.DESCRIPTION:
sequence_Description(context, (Description) semanticObject);
return;
case CommonPackage.DESCRIPTION_ELEMENT:
sequence_DescriptionElement(context, (DescriptionElement) semanticObject);
return;
case CommonPackage.IMAGE_REFERENCE:
sequence_ImageReference(context, (ImageReference) semanticObject);
return;
case CommonPackage.MODEL_REF:
sequence_TypeRef(context, (ModelRef) semanticObject);
return;
case CommonPackage.PROPERTY_REF:
sequence_PropertyRef(context, (PropertyRef) semanticObject);
return;
case CommonPackage.RATIONALE:
sequence_Rationale(context, (Rationale) semanticObject);
return;
case CommonPackage.TYPE_REF:
sequence_TypeRef(context, (TypeRef) semanticObject);
return;
case CommonPackage.UNCERTAINTY:
sequence_Uncertainty(context, (Uncertainty) semanticObject);
return;
}
else if (epackage == ReqSpecPackage.eINSTANCE)
switch(semanticObject.eClass().getClassifierID()) {
case ReqSpecPackage.DESIRED_VALUE:
sequence_DesiredValue(context, (DesiredValue) semanticObject);
return;
case ReqSpecPackage.DOCUMENT_SECTION:
sequence_DocumentSection(context, (DocumentSection) semanticObject);
return;
case ReqSpecPackage.EXTERNAL_DOCUMENT:
sequence_ExternalDocument(context, (ExternalDocument) semanticObject);
return;
case ReqSpecPackage.GLOBAL_CONSTANTS:
sequence_GlobalConstants(context, (GlobalConstants) semanticObject);
return;
case ReqSpecPackage.GLOBAL_REQUIREMENT_SET:
sequence_GlobalRequirementSet(context, (GlobalRequirementSet) semanticObject);
return;
case ReqSpecPackage.GOAL:
if (rule == grammarAccess.getDocGoalRule()) {
sequence_DocGoal(context, (Goal) semanticObject);
return;
} else if (rule == grammarAccess.getContractualElementRule() || rule == grammarAccess.getGoalRule()) {
sequence_Goal(context, (Goal) semanticObject);
return;
} else
break;
case ReqSpecPackage.INCLUDE_GLOBAL_REQUIREMENT:
sequence_IncludeGlobalRequirement(context, (IncludeGlobalRequirement) semanticObject);
return;
case ReqSpecPackage.INFORMAL_PREDICATE:
sequence_InformalPredicate(context, (InformalPredicate) semanticObject);
return;
case ReqSpecPackage.REQ_DOCUMENT:
sequence_ReqDocument(context, (ReqDocument) semanticObject);
return;
case ReqSpecPackage.REQ_SPEC:
sequence_ReqSpec(context, (ReqSpec) semanticObject);
return;
case ReqSpecPackage.REQ_VAL_DECLARATION:
sequence_ValDeclaration(context, (ReqValDeclaration) semanticObject);
return;
case ReqSpecPackage.REQUIREMENT:
if (rule == grammarAccess.getDocRequirementRule()) {
sequence_DocRequirement(context, (Requirement) semanticObject);
return;
} else if (rule == grammarAccess.getGlobalRequirementRule()) {
sequence_GlobalRequirement(context, (Requirement) semanticObject);
return;
} else if (rule == grammarAccess.getContractualElementRule() || rule == grammarAccess.getSystemRequirementRule()) {
sequence_SystemRequirement(context, (Requirement) semanticObject);
return;
} else
break;
case ReqSpecPackage.STAKEHOLDER_GOALS:
sequence_StakeholderGoals(context, (StakeholderGoals) semanticObject);
return;
case ReqSpecPackage.SYSTEM_REQUIREMENT_SET:
sequence_SystemRequirementSet(context, (SystemRequirementSet) semanticObject);
return;
case ReqSpecPackage.VALUE_PREDICATE:
sequence_ValuePredicate(context, (ValuePredicate) semanticObject);
return;
case ReqSpecPackage.WHEN_CONDITION:
sequence_WhenCondition(context, (WhenCondition) semanticObject);
return;
}
if (errorAcceptor != null)
errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context));
}
use of org.osate.aadl2.RealLiteral in project osate2 by osate.
the class VerifySemanticSequencer method sequence.
@Override
public void sequence(ISerializationContext context, EObject semanticObject) {
EPackage epackage = semanticObject.eClass().getEPackage();
ParserRule rule = context.getParserRule();
Action action = context.getAssignedAction();
Set<Parameter> parameters = context.getEnabledBooleanParameters();
if (epackage == Aadl2Package.eINSTANCE)
switch(semanticObject.eClass().getClassifierID()) {
case Aadl2Package.AADL_BOOLEAN:
sequence_TypeRef(context, (AadlBoolean) semanticObject);
return;
case Aadl2Package.AADL_INTEGER:
sequence_TypeRef(context, (AadlInteger) semanticObject);
return;
case Aadl2Package.AADL_REAL:
sequence_TypeRef(context, (AadlReal) semanticObject);
return;
case Aadl2Package.AADL_STRING:
sequence_TypeRef(context, (AadlString) semanticObject);
return;
case Aadl2Package.BOOLEAN_LITERAL:
sequence_ABooleanLiteral(context, (BooleanLiteral) semanticObject);
return;
case Aadl2Package.INTEGER_LITERAL:
sequence_AIntegerTerm(context, (IntegerLiteral) semanticObject);
return;
case Aadl2Package.REAL_LITERAL:
sequence_ARealTerm(context, (RealLiteral) semanticObject);
return;
case Aadl2Package.STRING_LITERAL:
sequence_StringTerm(context, (StringLiteral) semanticObject);
return;
}
else if (epackage == CommonPackage.eINSTANCE)
switch(semanticObject.eClass().getClassifierID()) {
case CommonPackage.ABINARY_OPERATION:
sequence_AAdditiveExpression_AAndExpression_AEqualityExpression_AMultiplicativeExpression_AOrExpression_ARelationalExpression(context, (ABinaryOperation) semanticObject);
return;
case CommonPackage.ACONDITIONAL:
sequence_AIfExpression(context, (AConditional) semanticObject);
return;
case CommonPackage.AFUNCTION_CALL:
sequence_AFunctionCall(context, (AFunctionCall) semanticObject);
return;
case CommonPackage.AMODEL_REFERENCE:
sequence_AModelReference(context, (AModelReference) semanticObject);
return;
case CommonPackage.APROPERTY_REFERENCE:
if (rule == grammarAccess.getAModelOrPropertyReferenceRule() || rule == grammarAccess.getAExpressionRule() || rule == grammarAccess.getAOrExpressionRule() || action == grammarAccess.getAOrExpressionAccess().getABinaryOperationLeftAction_1_0_0_0() || rule == grammarAccess.getAAndExpressionRule() || action == grammarAccess.getAAndExpressionAccess().getABinaryOperationLeftAction_1_0_0_0() || rule == grammarAccess.getAEqualityExpressionRule() || action == grammarAccess.getAEqualityExpressionAccess().getABinaryOperationLeftAction_1_0_0_0() || rule == grammarAccess.getARelationalExpressionRule() || action == grammarAccess.getARelationalExpressionAccess().getABinaryOperationLeftAction_1_0_0_0() || rule == grammarAccess.getAAdditiveExpressionRule() || action == grammarAccess.getAAdditiveExpressionAccess().getABinaryOperationLeftAction_1_0_0_0() || rule == grammarAccess.getAMultiplicativeExpressionRule() || action == grammarAccess.getAMultiplicativeExpressionAccess().getABinaryOperationLeftAction_1_0_0_0() || rule == grammarAccess.getAUnaryOperationRule() || rule == grammarAccess.getAUnitExpressionRule() || action == grammarAccess.getAUnitExpressionAccess().getAUnitExpressionExpressionAction_1_0() || rule == grammarAccess.getAPrimaryExpressionRule() || rule == grammarAccess.getAParenthesizedExpressionRule()) {
sequence_AModelOrPropertyReference_APropertyReference(context, (APropertyReference) semanticObject);
return;
} else if (rule == grammarAccess.getAPropertyReferenceRule()) {
sequence_APropertyReference(context, (APropertyReference) semanticObject);
return;
} else
break;
case CommonPackage.ARANGE:
sequence_ARangeExpression(context, (ARange) semanticObject);
return;
case CommonPackage.AUNARY_OPERATION:
sequence_AUnaryOperation(context, (AUnaryOperation) semanticObject);
return;
case CommonPackage.AUNIT_EXPRESSION:
if (rule == grammarAccess.getAExpressionRule() || rule == grammarAccess.getAOrExpressionRule() || action == grammarAccess.getAOrExpressionAccess().getABinaryOperationLeftAction_1_0_0_0() || rule == grammarAccess.getAAndExpressionRule() || action == grammarAccess.getAAndExpressionAccess().getABinaryOperationLeftAction_1_0_0_0() || rule == grammarAccess.getAEqualityExpressionRule() || action == grammarAccess.getAEqualityExpressionAccess().getABinaryOperationLeftAction_1_0_0_0() || rule == grammarAccess.getARelationalExpressionRule() || action == grammarAccess.getARelationalExpressionAccess().getABinaryOperationLeftAction_1_0_0_0() || rule == grammarAccess.getAAdditiveExpressionRule() || action == grammarAccess.getAAdditiveExpressionAccess().getABinaryOperationLeftAction_1_0_0_0() || rule == grammarAccess.getAMultiplicativeExpressionRule() || action == grammarAccess.getAMultiplicativeExpressionAccess().getABinaryOperationLeftAction_1_0_0_0() || rule == grammarAccess.getAUnaryOperationRule() || rule == grammarAccess.getAUnitExpressionRule() || action == grammarAccess.getAUnitExpressionAccess().getAUnitExpressionExpressionAction_1_0() || rule == grammarAccess.getAPrimaryExpressionRule() || rule == grammarAccess.getAParenthesizedExpressionRule()) {
sequence_AUnitExpression(context, (AUnitExpression) semanticObject);
return;
} else if (rule == grammarAccess.getShowValueRule()) {
sequence_ShowValue(context, (AUnitExpression) semanticObject);
return;
} else
break;
case CommonPackage.AVARIABLE_REFERENCE:
sequence_AVariableReference(context, (AVariableReference) semanticObject);
return;
case CommonPackage.COMPUTE_DECLARATION:
sequence_ComputeDeclaration(context, (ComputeDeclaration) semanticObject);
return;
case CommonPackage.DESCRIPTION:
sequence_Description(context, (Description) semanticObject);
return;
case CommonPackage.DESCRIPTION_ELEMENT:
sequence_DescriptionElement(context, (DescriptionElement) semanticObject);
return;
case CommonPackage.IMAGE_REFERENCE:
sequence_ImageReference(context, (ImageReference) semanticObject);
return;
case CommonPackage.MODEL_REF:
sequence_TypeRef(context, (ModelRef) semanticObject);
return;
case CommonPackage.PROPERTY_REF:
sequence_PropertyRef(context, (PropertyRef) semanticObject);
return;
case CommonPackage.RATIONALE:
sequence_Rationale(context, (Rationale) semanticObject);
return;
case CommonPackage.TYPE_REF:
sequence_TypeRef(context, (TypeRef) semanticObject);
return;
case CommonPackage.UNCERTAINTY:
sequence_Uncertainty(context, (Uncertainty) semanticObject);
return;
case CommonPackage.VAL_DECLARATION:
sequence_ValDeclaration(context, (ValDeclaration) semanticObject);
return;
}
else if (epackage == VerifyPackage.eINSTANCE)
switch(semanticObject.eClass().getClassifierID()) {
case VerifyPackage.AGREE_METHOD:
sequence_AgreeMethod(context, (AgreeMethod) semanticObject);
return;
case VerifyPackage.ALL_EXPR:
sequence_QuantifiedEvidenceExpr(context, (AllExpr) semanticObject);
return;
case VerifyPackage.CLAIM:
sequence_Claim(context, (Claim) semanticObject);
return;
case VerifyPackage.COMPUTE_REF:
sequence_ComputeRef(context, (ComputeRef) semanticObject);
return;
case VerifyPackage.ELSE_EXPR:
if (rule == grammarAccess.getArgumentExprRule() || rule == grammarAccess.getThenEvidenceExprRule() || action == grammarAccess.getThenEvidenceExprAccess().getThenExprLeftAction_1_0_0_0() || rule == grammarAccess.getElseEvidenceExprRule() || rule == grammarAccess.getCompositeElseEvidenceExprRule() || action == grammarAccess.getCompositeElseEvidenceExprAccess().getElseExprLeftAction_1_0_0_0() || rule == grammarAccess.getCompositeEvidenceExprRule()) {
sequence_CompositeElseEvidenceExpr_SingleElseEvidenceExpr(context, (ElseExpr) semanticObject);
return;
} else if (rule == grammarAccess.getSingleElseEvidenceExprRule() || action == grammarAccess.getSingleElseEvidenceExprAccess().getElseExprLeftAction_1_0_0_0()) {
sequence_SingleElseEvidenceExpr(context, (ElseExpr) semanticObject);
return;
} else
break;
case VerifyPackage.FORMAL_PARAMETER:
sequence_FormalParameter(context, (FormalParameter) semanticObject);
return;
case VerifyPackage.JUNIT4_METHOD:
sequence_JUnit4Method(context, (JUnit4Method) semanticObject);
return;
case VerifyPackage.JAVA_METHOD:
sequence_JavaMethod(context, (JavaMethod) semanticObject);
return;
case VerifyPackage.JAVA_PARAMETER:
sequence_JavaParameter(context, (JavaParameter) semanticObject);
return;
case VerifyPackage.MANUAL_METHOD:
sequence_ManualMethod(context, (ManualMethod) semanticObject);
return;
case VerifyPackage.PLUGIN_METHOD:
sequence_PluginMethod(context, (PluginMethod) semanticObject);
return;
case VerifyPackage.PYTHON_METHOD:
sequence_PythonMethod(context, (PythonMethod) semanticObject);
return;
case VerifyPackage.REF_EXPR:
sequence_VAReference(context, (RefExpr) semanticObject);
return;
case VerifyPackage.RESOLUTE_METHOD:
sequence_ResoluteMethod(context, (ResoluteMethod) semanticObject);
return;
case VerifyPackage.THEN_EXPR:
sequence_ThenEvidenceExpr(context, (ThenExpr) semanticObject);
return;
case VerifyPackage.VERIFICATION:
sequence_Verification(context, (Verification) semanticObject);
return;
case VerifyPackage.VERIFICATION_ACTIVITY:
sequence_VerificationActivity(context, (VerificationActivity) semanticObject);
return;
case VerifyPackage.VERIFICATION_METHOD:
sequence_VerificationMethod(context, (VerificationMethod) semanticObject);
return;
case VerifyPackage.VERIFICATION_METHOD_REGISTRY:
sequence_VerificationMethodRegistry(context, (VerificationMethodRegistry) semanticObject);
return;
case VerifyPackage.VERIFICATION_PLAN:
sequence_VerificationPlan(context, (VerificationPlan) semanticObject);
return;
case VerifyPackage.VERIFICATION_PRECONDITION:
sequence_VerificationPrecondition(context, (VerificationPrecondition) semanticObject);
return;
case VerifyPackage.VERIFICATION_VALIDATION:
sequence_VerificationValidation(context, (VerificationValidation) semanticObject);
return;
}
if (errorAcceptor != null)
errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context));
}
use of org.osate.aadl2.RealLiteral in project osate2 by osate.
the class PropertyUtils method setFloatValue.
public static boolean setFloatValue(NamedElement e, String propertyName, float value) {
PropertyAssociation pa = findPropertyAssociation(propertyName, e);
if (pa != null) {
RealLiteral r = Aadl2Factory.eINSTANCE.createRealLiteral();
r.setValue(value);
r.setUnit(getUnit(pa));
pa.getOwnedValues().get(0).setOwnedValue(r);
return true;
}
return false;
}
Aggregations