-- -- Copyright 2014 Alessandro Gerlinger Romero -- -- This file is part of Hybrid fUML. -- -- Hybrid fUML is free software: you can redistribute it and/or modify -- it under the terms of the GNU General Public License as published by -- the Free Software Foundation, either version 3 of the License, or -- (at your option) any later version. -- -- Hybrid fUML is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -- GNU General Public License for more details. -- -- You should have received a copy of the GNU General Public License -- along with Hybrid fUML. If not, see . -- ------------------------------------------------------------------------------------------------------------------------------------------------------------ -- APPROACH -- syntax for library was defined by the transformation -- however, only a part was select supporting some operators for real: +, -, *, <= and one operator for booleans: and primitiveBehaviorsminus_RealFunctionsminus_Neg ::FUML_Syntax_Classes_Kernel_Classifier primitiveBehaviorsminus_RealFunctionsminus_Neg = FUML_Syntax_Classes_Kernel_Classifier "primitiveBehaviorsminus_RealFunctionsminus_Neg" False False {FUML_Syntax_Classes_Kernel_FeatureEmpty} FUML_Syntax_Classes_Kernel_ClassifierEmpty { FUML_Syntax_Classes_Kernel_ClassifierEmpty } False { primitiveBehaviorsminus_RealFunctionsminus_Negminus_x, primitiveBehaviorsminus_RealFunctionsminus_Negminus_result} True False False { FUML_Syntax_Classes_Kernel_ClassifierEmpty } { FUML_Syntax_Classes_Kernel_FeatureEmpty } { FUML_Syntax_Classes_Kernel_FeatureEmpty } "Neg" FUML_Syntax_Classes_Kernel_VisibilityKind_public ["" ] {"" } FUML_Syntax_Classes_Kernel_VisibilityKind_public {FUML_Syntax_Classes_Kernel_FeatureEmpty} { FUML_Syntax_Classes_Kernel_FeatureEmpty } { FUML_Syntax_Classes_Kernel_FeatureEmpty } FUML_Syntax_CommonBehaviors_BasicBehaviors_FunctionBehavior primitiveBehaviorsminus_RealFunctionsminus_Negminus_result ::FUML_Syntax_Classes_Kernel_Parameter primitiveBehaviorsminus_RealFunctionsminus_Negminus_result = FUML_Syntax_Classes_Kernel_Parameter "primitiveBehaviorsminus_RealFunctionsminus_Negminus_result" False True FUML_Syntax_Classes_Kernel_ValueSpecificationEmpty FUML_Syntax_Classes_Kernel_ValueSpecificationEmpty "result" FUML_Syntax_Classes_Kernel_VisibilityKind_public FUML_Syntax_Classes_Kernel_ParameterDirectionKind_return real primitiveBehaviorsminus_RealFunctionsminus_Negminus_x ::FUML_Syntax_Classes_Kernel_Parameter primitiveBehaviorsminus_RealFunctionsminus_Negminus_x = FUML_Syntax_Classes_Kernel_Parameter "primitiveBehaviorsminus_RealFunctionsminus_Negminus_x" False True FUML_Syntax_Classes_Kernel_ValueSpecificationEmpty FUML_Syntax_Classes_Kernel_ValueSpecificationEmpty "x" FUML_Syntax_Classes_Kernel_VisibilityKind_public FUML_Syntax_Classes_Kernel_ParameterDirectionKind_in real primitiveBehaviorsminus_RealFunctionsminus_minus ::FUML_Syntax_Classes_Kernel_Classifier primitiveBehaviorsminus_RealFunctionsminus_minus = FUML_Syntax_Classes_Kernel_Classifier "primitiveBehaviorsminus_RealFunctionsminus_minus" False False {FUML_Syntax_Classes_Kernel_FeatureEmpty} FUML_Syntax_Classes_Kernel_ClassifierEmpty { FUML_Syntax_Classes_Kernel_ClassifierEmpty } False { primitiveBehaviorsminus_RealFunctionsminus_minusminus_x, primitiveBehaviorsminus_RealFunctionsminus_minusminus_y, primitiveBehaviorsminus_RealFunctionsminus_minusminus_result} True False False { FUML_Syntax_Classes_Kernel_ClassifierEmpty } { FUML_Syntax_Classes_Kernel_FeatureEmpty } { FUML_Syntax_Classes_Kernel_FeatureEmpty } "-" FUML_Syntax_Classes_Kernel_VisibilityKind_public ["" ] {"" } FUML_Syntax_Classes_Kernel_VisibilityKind_public {FUML_Syntax_Classes_Kernel_FeatureEmpty} { FUML_Syntax_Classes_Kernel_FeatureEmpty } { FUML_Syntax_Classes_Kernel_FeatureEmpty } FUML_Syntax_CommonBehaviors_BasicBehaviors_FunctionBehavior primitiveBehaviorsminus_RealFunctionsminus_minusminus_x ::FUML_Syntax_Classes_Kernel_Parameter primitiveBehaviorsminus_RealFunctionsminus_minusminus_x = FUML_Syntax_Classes_Kernel_Parameter "primitiveBehaviorsminus_RealFunctionsminus_minusminus_x" False True FUML_Syntax_Classes_Kernel_ValueSpecificationEmpty FUML_Syntax_Classes_Kernel_ValueSpecificationEmpty "x" FUML_Syntax_Classes_Kernel_VisibilityKind_public FUML_Syntax_Classes_Kernel_ParameterDirectionKind_in real primitiveBehaviorsminus_RealFunctionsminus_minusminus_y ::FUML_Syntax_Classes_Kernel_Parameter primitiveBehaviorsminus_RealFunctionsminus_minusminus_y = FUML_Syntax_Classes_Kernel_Parameter "primitiveBehaviorsminus_RealFunctionsminus_minusminus_y" False True FUML_Syntax_Classes_Kernel_ValueSpecificationEmpty FUML_Syntax_Classes_Kernel_ValueSpecificationEmpty "y" FUML_Syntax_Classes_Kernel_VisibilityKind_public FUML_Syntax_Classes_Kernel_ParameterDirectionKind_in real primitiveBehaviorsminus_RealFunctionsminus_minusminus_result ::FUML_Syntax_Classes_Kernel_Parameter primitiveBehaviorsminus_RealFunctionsminus_minusminus_result = FUML_Syntax_Classes_Kernel_Parameter "primitiveBehaviorsminus_RealFunctionsminus_minusminus_result" False True FUML_Syntax_Classes_Kernel_ValueSpecificationEmpty FUML_Syntax_Classes_Kernel_ValueSpecificationEmpty "result" FUML_Syntax_Classes_Kernel_VisibilityKind_public FUML_Syntax_Classes_Kernel_ParameterDirectionKind_return real primitiveBehaviorsminus_RealFunctionsminus_times ::FUML_Syntax_Classes_Kernel_Classifier primitiveBehaviorsminus_RealFunctionsminus_times = FUML_Syntax_Classes_Kernel_Classifier "primitiveBehaviorsminus_RealFunctionsminus_times" False False {FUML_Syntax_Classes_Kernel_FeatureEmpty} FUML_Syntax_Classes_Kernel_ClassifierEmpty { FUML_Syntax_Classes_Kernel_ClassifierEmpty } False { primitiveBehaviorsminus_RealFunctionsminus_timesminus_x, primitiveBehaviorsminus_RealFunctionsminus_timesminus_y, primitiveBehaviorsminus_RealFunctionsminus_timesminus_result} True False False { FUML_Syntax_Classes_Kernel_ClassifierEmpty } { FUML_Syntax_Classes_Kernel_FeatureEmpty } { FUML_Syntax_Classes_Kernel_FeatureEmpty } "*" FUML_Syntax_Classes_Kernel_VisibilityKind_public ["" ] {"" } FUML_Syntax_Classes_Kernel_VisibilityKind_public {FUML_Syntax_Classes_Kernel_FeatureEmpty} { FUML_Syntax_Classes_Kernel_FeatureEmpty } { FUML_Syntax_Classes_Kernel_FeatureEmpty } FUML_Syntax_CommonBehaviors_BasicBehaviors_FunctionBehavior primitiveBehaviorsminus_RealFunctionsminus_timesminus_result ::FUML_Syntax_Classes_Kernel_Parameter primitiveBehaviorsminus_RealFunctionsminus_timesminus_result = FUML_Syntax_Classes_Kernel_Parameter "primitiveBehaviorsminus_RealFunctionsminus_timesminus_result" False True FUML_Syntax_Classes_Kernel_ValueSpecificationEmpty FUML_Syntax_Classes_Kernel_ValueSpecificationEmpty "result" FUML_Syntax_Classes_Kernel_VisibilityKind_public FUML_Syntax_Classes_Kernel_ParameterDirectionKind_return real primitiveBehaviorsminus_RealFunctionsminus_timesminus_y ::FUML_Syntax_Classes_Kernel_Parameter primitiveBehaviorsminus_RealFunctionsminus_timesminus_y = FUML_Syntax_Classes_Kernel_Parameter "primitiveBehaviorsminus_RealFunctionsminus_timesminus_y" False True FUML_Syntax_Classes_Kernel_ValueSpecificationEmpty FUML_Syntax_Classes_Kernel_ValueSpecificationEmpty "y" FUML_Syntax_Classes_Kernel_VisibilityKind_public FUML_Syntax_Classes_Kernel_ParameterDirectionKind_in real primitiveBehaviorsminus_RealFunctionsminus_timesminus_x ::FUML_Syntax_Classes_Kernel_Parameter primitiveBehaviorsminus_RealFunctionsminus_timesminus_x = FUML_Syntax_Classes_Kernel_Parameter "primitiveBehaviorsminus_RealFunctionsminus_timesminus_x" False True FUML_Syntax_Classes_Kernel_ValueSpecificationEmpty FUML_Syntax_Classes_Kernel_ValueSpecificationEmpty "x" FUML_Syntax_Classes_Kernel_VisibilityKind_public FUML_Syntax_Classes_Kernel_ParameterDirectionKind_in real primitiveBehaviorsminus_RealFunctionsminus_plus ::FUML_Syntax_Classes_Kernel_Classifier primitiveBehaviorsminus_RealFunctionsminus_plus = FUML_Syntax_Classes_Kernel_Classifier "primitiveBehaviorsminus_RealFunctionsminus_plus" False False {FUML_Syntax_Classes_Kernel_FeatureEmpty} FUML_Syntax_Classes_Kernel_ClassifierEmpty { FUML_Syntax_Classes_Kernel_ClassifierEmpty } False { primitiveBehaviorsminus_RealFunctionsminus_plusminus_x, primitiveBehaviorsminus_RealFunctionsminus_plusminus_y, primitiveBehaviorsminus_RealFunctionsminus_plusminus_result} True False False { FUML_Syntax_Classes_Kernel_ClassifierEmpty } { FUML_Syntax_Classes_Kernel_FeatureEmpty } { FUML_Syntax_Classes_Kernel_FeatureEmpty } "+" FUML_Syntax_Classes_Kernel_VisibilityKind_public ["" ] {"" } FUML_Syntax_Classes_Kernel_VisibilityKind_public {FUML_Syntax_Classes_Kernel_FeatureEmpty} { FUML_Syntax_Classes_Kernel_FeatureEmpty } { FUML_Syntax_Classes_Kernel_FeatureEmpty } FUML_Syntax_CommonBehaviors_BasicBehaviors_FunctionBehavior primitiveBehaviorsminus_RealFunctionsminus_plusminus_x ::FUML_Syntax_Classes_Kernel_Parameter primitiveBehaviorsminus_RealFunctionsminus_plusminus_x = FUML_Syntax_Classes_Kernel_Parameter "primitiveBehaviorsminus_RealFunctionsminus_plusminus_x" False True FUML_Syntax_Classes_Kernel_ValueSpecificationEmpty FUML_Syntax_Classes_Kernel_ValueSpecificationEmpty "x" FUML_Syntax_Classes_Kernel_VisibilityKind_public FUML_Syntax_Classes_Kernel_ParameterDirectionKind_in real primitiveBehaviorsminus_RealFunctionsminus_plusminus_result ::FUML_Syntax_Classes_Kernel_Parameter primitiveBehaviorsminus_RealFunctionsminus_plusminus_result = FUML_Syntax_Classes_Kernel_Parameter "primitiveBehaviorsminus_RealFunctionsminus_plusminus_result" False True FUML_Syntax_Classes_Kernel_ValueSpecificationEmpty FUML_Syntax_Classes_Kernel_ValueSpecificationEmpty "result" FUML_Syntax_Classes_Kernel_VisibilityKind_public FUML_Syntax_Classes_Kernel_ParameterDirectionKind_return real primitiveBehaviorsminus_RealFunctionsminus_plusminus_y ::FUML_Syntax_Classes_Kernel_Parameter primitiveBehaviorsminus_RealFunctionsminus_plusminus_y = FUML_Syntax_Classes_Kernel_Parameter "primitiveBehaviorsminus_RealFunctionsminus_plusminus_y" False True FUML_Syntax_Classes_Kernel_ValueSpecificationEmpty FUML_Syntax_Classes_Kernel_ValueSpecificationEmpty "y" FUML_Syntax_Classes_Kernel_VisibilityKind_public FUML_Syntax_Classes_Kernel_ParameterDirectionKind_in real primitiveBehaviorsminus_RealFunctionsminus_le ::FUML_Syntax_Classes_Kernel_Classifier primitiveBehaviorsminus_RealFunctionsminus_le = FUML_Syntax_Classes_Kernel_Classifier "primitiveBehaviorsminus_RealFunctionsminus_le" False False {FUML_Syntax_Classes_Kernel_FeatureEmpty} FUML_Syntax_Classes_Kernel_ClassifierEmpty { FUML_Syntax_Classes_Kernel_ClassifierEmpty } False { primitiveBehaviorsminus_RealFunctionsminus_leminus_x, primitiveBehaviorsminus_RealFunctionsminus_leminus_y, primitiveBehaviorsminus_RealFunctionsminus_leminus_result} True False False { FUML_Syntax_Classes_Kernel_ClassifierEmpty } { FUML_Syntax_Classes_Kernel_FeatureEmpty } { FUML_Syntax_Classes_Kernel_FeatureEmpty } "<=" FUML_Syntax_Classes_Kernel_VisibilityKind_public ["" ] {"" } FUML_Syntax_Classes_Kernel_VisibilityKind_public {FUML_Syntax_Classes_Kernel_FeatureEmpty} { FUML_Syntax_Classes_Kernel_FeatureEmpty } { FUML_Syntax_Classes_Kernel_FeatureEmpty } FUML_Syntax_CommonBehaviors_BasicBehaviors_FunctionBehavior primitiveBehaviorsminus_RealFunctionsminus_leminus_x ::FUML_Syntax_Classes_Kernel_Parameter primitiveBehaviorsminus_RealFunctionsminus_leminus_x = FUML_Syntax_Classes_Kernel_Parameter "primitiveBehaviorsminus_RealFunctionsminus_leminus_x" False True FUML_Syntax_Classes_Kernel_ValueSpecificationEmpty FUML_Syntax_Classes_Kernel_ValueSpecificationEmpty "x" FUML_Syntax_Classes_Kernel_VisibilityKind_public FUML_Syntax_Classes_Kernel_ParameterDirectionKind_in real primitiveBehaviorsminus_RealFunctionsminus_leminus_y ::FUML_Syntax_Classes_Kernel_Parameter primitiveBehaviorsminus_RealFunctionsminus_leminus_y = FUML_Syntax_Classes_Kernel_Parameter "primitiveBehaviorsminus_RealFunctionsminus_leminus_y" False True FUML_Syntax_Classes_Kernel_ValueSpecificationEmpty FUML_Syntax_Classes_Kernel_ValueSpecificationEmpty "y" FUML_Syntax_Classes_Kernel_VisibilityKind_public FUML_Syntax_Classes_Kernel_ParameterDirectionKind_in real primitiveBehaviorsminus_RealFunctionsminus_leminus_result ::FUML_Syntax_Classes_Kernel_Parameter primitiveBehaviorsminus_RealFunctionsminus_leminus_result = FUML_Syntax_Classes_Kernel_Parameter "primitiveBehaviorsminus_RealFunctionsminus_leminus_result" False True FUML_Syntax_Classes_Kernel_ValueSpecificationEmpty FUML_Syntax_Classes_Kernel_ValueSpecificationEmpty "result" FUML_Syntax_Classes_Kernel_VisibilityKind_public FUML_Syntax_Classes_Kernel_ParameterDirectionKind_return boolean primitiveBehaviorsminus_BooleanFunctionsminus_And ::FUML_Syntax_Classes_Kernel_Classifier primitiveBehaviorsminus_BooleanFunctionsminus_And = FUML_Syntax_Classes_Kernel_Classifier "primitiveBehaviorsminus_BooleanFunctionsminus_And" False False {FUML_Syntax_Classes_Kernel_FeatureEmpty} FUML_Syntax_Classes_Kernel_ClassifierEmpty { FUML_Syntax_Classes_Kernel_ClassifierEmpty } False { primitiveBehaviorsminus_BooleanFunctionsminus_Andminus_x, primitiveBehaviorsminus_BooleanFunctionsminus_Andminus_y, primitiveBehaviorsminus_BooleanFunctionsminus_Andminus_result} True False False { FUML_Syntax_Classes_Kernel_ClassifierEmpty } { FUML_Syntax_Classes_Kernel_FeatureEmpty } { FUML_Syntax_Classes_Kernel_FeatureEmpty } "And" FUML_Syntax_Classes_Kernel_VisibilityKind_public ["" ] {"" } FUML_Syntax_Classes_Kernel_VisibilityKind_public {FUML_Syntax_Classes_Kernel_FeatureEmpty} { FUML_Syntax_Classes_Kernel_FeatureEmpty } { FUML_Syntax_Classes_Kernel_FeatureEmpty } FUML_Syntax_CommonBehaviors_BasicBehaviors_FunctionBehavior primitiveBehaviorsminus_BooleanFunctionsminus_Andminus_x ::FUML_Syntax_Classes_Kernel_Parameter primitiveBehaviorsminus_BooleanFunctionsminus_Andminus_x = FUML_Syntax_Classes_Kernel_Parameter "primitiveBehaviorsminus_BooleanFunctionsminus_Andminus_x" False True FUML_Syntax_Classes_Kernel_ValueSpecificationEmpty FUML_Syntax_Classes_Kernel_ValueSpecificationEmpty "x" FUML_Syntax_Classes_Kernel_VisibilityKind_public FUML_Syntax_Classes_Kernel_ParameterDirectionKind_in boolean primitiveBehaviorsminus_BooleanFunctionsminus_Andminus_result ::FUML_Syntax_Classes_Kernel_Parameter primitiveBehaviorsminus_BooleanFunctionsminus_Andminus_result = FUML_Syntax_Classes_Kernel_Parameter "primitiveBehaviorsminus_BooleanFunctionsminus_Andminus_result" False True FUML_Syntax_Classes_Kernel_ValueSpecificationEmpty FUML_Syntax_Classes_Kernel_ValueSpecificationEmpty "result" FUML_Syntax_Classes_Kernel_VisibilityKind_public FUML_Syntax_Classes_Kernel_ParameterDirectionKind_return boolean primitiveBehaviorsminus_BooleanFunctionsminus_Andminus_y ::FUML_Syntax_Classes_Kernel_Parameter primitiveBehaviorsminus_BooleanFunctionsminus_Andminus_y = FUML_Syntax_Classes_Kernel_Parameter "primitiveBehaviorsminus_BooleanFunctionsminus_Andminus_y" False True FUML_Syntax_Classes_Kernel_ValueSpecificationEmpty FUML_Syntax_Classes_Kernel_ValueSpecificationEmpty "y" FUML_Syntax_Classes_Kernel_VisibilityKind_public FUML_Syntax_Classes_Kernel_ParameterDirectionKind_in boolean primitiveBehaviorsminus_BooleanFunctionsminus_Not ::FUML_Syntax_Classes_Kernel_Classifier primitiveBehaviorsminus_BooleanFunctionsminus_Not = FUML_Syntax_Classes_Kernel_Classifier "primitiveBehaviorsminus_BooleanFunctionsminus_Not" False False {FUML_Syntax_Classes_Kernel_FeatureEmpty} FUML_Syntax_Classes_Kernel_ClassifierEmpty { FUML_Syntax_Classes_Kernel_ClassifierEmpty } False { primitiveBehaviorsminus_BooleanFunctionsminus_Notminus_x, primitiveBehaviorsminus_BooleanFunctionsminus_Notminus_result} True False False { FUML_Syntax_Classes_Kernel_ClassifierEmpty } { FUML_Syntax_Classes_Kernel_FeatureEmpty } { FUML_Syntax_Classes_Kernel_FeatureEmpty } "Not" FUML_Syntax_Classes_Kernel_VisibilityKind_public ["" ] {"" } FUML_Syntax_Classes_Kernel_VisibilityKind_public {FUML_Syntax_Classes_Kernel_FeatureEmpty} { FUML_Syntax_Classes_Kernel_FeatureEmpty } { FUML_Syntax_Classes_Kernel_FeatureEmpty } FUML_Syntax_CommonBehaviors_BasicBehaviors_FunctionBehavior primitiveBehaviorsminus_BooleanFunctionsminus_Notminus_x ::FUML_Syntax_Classes_Kernel_Parameter primitiveBehaviorsminus_BooleanFunctionsminus_Notminus_x = FUML_Syntax_Classes_Kernel_Parameter "primitiveBehaviorsminus_BooleanFunctionsminus_Notminus_x" False True FUML_Syntax_Classes_Kernel_ValueSpecificationEmpty FUML_Syntax_Classes_Kernel_ValueSpecificationEmpty "x" FUML_Syntax_Classes_Kernel_VisibilityKind_public FUML_Syntax_Classes_Kernel_ParameterDirectionKind_in boolean primitiveBehaviorsminus_BooleanFunctionsminus_Notminus_result ::FUML_Syntax_Classes_Kernel_Parameter primitiveBehaviorsminus_BooleanFunctionsminus_Notminus_result = FUML_Syntax_Classes_Kernel_Parameter "primitiveBehaviorsminus_BooleanFunctionsminus_Notminus_result" False True FUML_Syntax_Classes_Kernel_ValueSpecificationEmpty FUML_Syntax_Classes_Kernel_ValueSpecificationEmpty "result" FUML_Syntax_Classes_Kernel_VisibilityKind_public FUML_Syntax_Classes_Kernel_ParameterDirectionKind_return boolean