Class ALH


  • @OpenApiAll
    public final class ALH
    extends java.lang.Object
    An Action Language Helper for using in scripts to access values of the runtime object.
    Since:
    SIM 1.0
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private fUML.Semantics.Classes.Kernel.Object_ context
      The context that ALH is evaluated.
      private com.nomagic.magicdraw.simulation.execution.session.ESimulationSession session
      The running session of this instance.
      private java.util.List<NamedElement> trace
      a trace of elements that call the script evaluation.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addValue​(fUML.Semantics.Classes.Kernel.StructuredValue object, java.lang.String featureName, java.lang.Object value)
      Find the matched FeatureValue from the specified object, and set the value at the last position of the value list.
      void addValueAt​(fUML.Semantics.Classes.Kernel.StructuredValue object, java.lang.String featureName, java.lang.Object value, java.lang.Integer insertAt)
      Find the matched FeatureValue from the specified object, and set the value at the insertAt position.
      java.lang.Object callBehavior​(java.lang.String name)
      Execute the Behavior element that matches the specified name.
      java.lang.Object callBehavior​(java.lang.String name, java.util.List<?> arguments)
      Execute the CallBehaviorAction element that matches the specified name.
      java.lang.Object callBehavior​(java.lang.String name, java.util.List<?> arguments, boolean isSynchonous)
      Execute the CallBehaviorAction element that matches the specified name.
      java.lang.Object callOperation​(fUML.Semantics.Classes.Kernel.Object_ object, java.lang.String name)
      Execute the method of the Operation element that matches the specified name.
      java.lang.Object callOperation​(fUML.Semantics.Classes.Kernel.Object_ object, java.lang.String name, java.util.List<?> arguments)
      Execute the method of the Operation element that matches the specified name.
      java.lang.Object callOperation​(fUML.Semantics.Classes.Kernel.Object_ object, java.lang.String name, java.util.List<?> arguments, boolean isSynchonous)
      Execute the method of the Operation element that matches the specified name.
      java.lang.Object callOperation​(java.lang.String name)
      Execute the method of the Operation element that matches the specified name.
      java.lang.Object callOperation​(java.lang.String name, java.util.List<?> arguments)
      Execute the method of the Operation element that matches the specified name.
      java.util.ArrayList<java.lang.Object> createList()
      A convenience method for creating the list.
      java.util.ArrayList<java.lang.Object> createList​(java.lang.Object object)
      A convenience method for creating the list with one added item in the list.
      fUML.Semantics.Classes.Kernel.Object_ createObject​(Class classifier)
      Create an Object_ with the given type (which must be a Class) in the Locus of the active SimulationSession.
      fUML.Semantics.Classes.Kernel.Object_ createObject​(java.lang.String name)
      Create an Object_ with the given name (which must be name of Class) as its type.
      fUML.Semantics.CommonBehaviors.Communications.SignalInstance createSignal​(Signal signal)
      Create the instance of SignalInstance.
      fUML.Semantics.CommonBehaviors.Communications.SignalInstance createSignal​(java.lang.String keyword)
      Create the instance of SignalInstance.
      java.lang.Object evaluate​(java.lang.String expression)
      Evaluate the string expression.
      java.lang.Object evaluate​(java.lang.String language, java.lang.String expression)
      Evaluate the string expression based on the specified scripting language.
      private Behavior findBehavior​(java.lang.String keyword)  
      private Element findElement​(java.lang.String keyword, java.lang.Class[] types)  
      private Operation findOperation​(fUML.Semantics.Classes.Kernel.Object_ context, java.lang.String operationName)
      Find operation in the context by name.
      NamedElement getCaller()
      Get the calling element of the script evaluation.
      fUML.Semantics.Classes.Kernel.Object_ getContext()
      Get the context of ALH.
      double getCurrentTime()
      Gets current time.
      double getCurrentTime​(java.lang.String timeUnit)
      Gets current time in forms of the specified timeUnit.
      java.lang.Object getGlobalVariable​(java.lang.String variableName)
      Gets global variable from the execution.
      fUML.Semantics.CommonBehaviors.Communications.SignalInstance getLastSignal​(fUML.Semantics.Classes.Kernel.Object_ o)
      Get the last signal instance from the event pool.
      State getState​(fUML.Semantics.Classes.Kernel.Object_ object)
      Get the current State from the specified object.
      java.lang.Object getTagValue​(fUML.Semantics.Classes.Kernel.Object_ object, java.lang.String tagName)
      Get tag value from classifier of Object, and structural feature that Object represented
      java.lang.Object getTagValue​(java.lang.String tagName)
      Get tag value from classifier of context.
      java.lang.String getTimeUnit()
      Gets time unit of the running execution.
      java.lang.Object getTokenValue()
      Get Tokens values from the current context.
      java.lang.Object getValue​(fUML.Semantics.Classes.Kernel.StructuredValue object, java.lang.String featureName)
      Get the value of FeatureValue from the object that match the specified StructureFeature name.
      boolean inState​(fUML.Semantics.Classes.Kernel.Object_ object, java.lang.String stateName)
      Check whether the specified object is in the specified state name or not.
      boolean inState​(java.lang.String stateName)
      Check whether the current runtime object is in the specified state name or not.
      java.lang.Boolean isGlobalVariable​(java.lang.String variableName)
      Checks whether or not the given variableName is global variable.
      private java.lang.Boolean isSynchronous()
      This method will return value if the current context is CallAction.
      void removeGlobalVariable​(java.lang.String variableName)
      Removes global variable from the execution.
      void removeValue​(fUML.Semantics.Classes.Kernel.StructuredValue object, java.lang.String featureName, fUML.Semantics.Classes.Kernel.Value value)
      Find the matched FeatureValue from the specified object, remove the defined value or the value at removeAt position.
      private void removeValue​(fUML.Semantics.Classes.Kernel.StructuredValue object, java.lang.String featureName, fUML.Semantics.Classes.Kernel.Value value, java.lang.Integer removeAt)
      Find the matched FeatureValue from the specified object, remove the defined value or the value at removeAt position.
      void removeValueAt​(fUML.Semantics.Classes.Kernel.StructuredValue object, java.lang.String featureName, java.lang.Integer removeAt)
      Find the matched FeatureValue from the specified object, remove the defined value or the value at removeAt position.
      void sendSignal​(fUML.Semantics.CommonBehaviors.Communications.SignalInstance signal, fUML.Semantics.Classes.Kernel.Object_ target)
      Send the specified SignalInstance to the specified target Object_.
      void sendSignal​(fUML.Semantics.CommonBehaviors.Communications.SignalInstance signal, fUML.Semantics.Classes.Kernel.Object_ target, java.lang.String portName)
      Send the specified SignalInstance to the specified target Object_ via the specified port name.
      void sendSignal​(fUML.Semantics.CommonBehaviors.Communications.SignalInstance signal, java.lang.String targetName)
      Send the specified SignalInstance to the specified targetName.
      void sendSignal​(java.lang.String signalName, fUML.Semantics.Classes.Kernel.Object_ target)
      Create SignalInstance instance of the specified Signal name, and send it to the target Object_.
      void sendSignal​(java.lang.String signalName, fUML.Semantics.Classes.Kernel.Object_ target, java.lang.String portName)
      Create SignalInstance instance of the specified Signal name, and send it to the target Object_ via the specified port name.
      void sendSignal​(java.lang.String signalName, java.lang.String targetName)
      Create SignalInstance instance of the specified Signal name, and send it to the specified targetName.
      void setGlobalVariable​(java.lang.String variableName, java.lang.Object value)
      Sets global variable for the execution.
      void setValue​(fUML.Semantics.Classes.Kernel.StructuredValue object, java.lang.String featureName, java.lang.Object value)
      Find the matched FeatureValue from the specified object, and set the value.
      void setValue​(java.lang.String featureName, java.lang.Object value)
      Find the matched FeatureValue from the context, and set the value.
      boolean wasInState​(fUML.Semantics.Classes.Kernel.Object_ object, java.lang.String stateName)
      Check that the state matching with the name was already visited or not.
      boolean wasInState​(java.lang.String stateName)
      Check that the state matching with the name was already visited or not.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • context

        private fUML.Semantics.Classes.Kernel.Object_ context
        The context that ALH is evaluated. It same context as the context of script engine.
      • session

        private com.nomagic.magicdraw.simulation.execution.session.ESimulationSession session
        The running session of this instance.
      • trace

        private java.util.List<NamedElement> trace
        a trace of elements that call the script evaluation.
    • Constructor Detail

      • ALH

        public ALH()
        Constructor.
      • ALH

        public ALH​(SimulationSession session)
        Constructor.
        Parameters:
        session - the running session
      • ALH

        public ALH​(SimulationSession session,
                   java.util.List<NamedElement> trace)
        Constructor.
        Parameters:
        session - the running session
        trace - trace
      • ALH

        public ALH​(@CheckForNull
                   SimulationSession session,
                   java.util.List<NamedElement> trace,
                   fUML.Semantics.Classes.Kernel.Object_ context)
        Constructor.
        Parameters:
        session - the running session
        trace - trace
        context - the context
    • Method Detail

      • getContext

        @CheckForNull
        public fUML.Semantics.Classes.Kernel.Object_ getContext()
        Get the context of ALH.
        Returns:
        context of ALH.
      • getValue

        public java.lang.Object getValue​(fUML.Semantics.Classes.Kernel.StructuredValue object,
                                         java.lang.String featureName)
        Get the value of FeatureValue from the object that match the specified StructureFeature name. It supports nested structural features.
        Parameters:
        object - the specified instance of StructuredValue(or its subclasses)
        featureName - the specified name, it will check with StructuralFeature name, nested structural features such as "part1.part2" are allowed.
        Returns:
        the value of FeatureValue
        Throws:
        java.lang.IllegalArgumentException - if object or featureName is null.
        See Also:
        fUMLHelper.getFeatureValueByName(StructuredValue, String), fUMLHelper.getObjectFromFeatureValue(FeatureValue)
      • addValue

        public void addValue​(fUML.Semantics.Classes.Kernel.StructuredValue object,
                             java.lang.String featureName,
                             java.lang.Object value)
        Find the matched FeatureValue from the specified object, and set the value at the last position of the value list.
        Parameters:
        object - the fUML runtime Object_ or SignalInstance
        featureName - the name of structural feature, nested structural features such as "part1.part2" are allowed.
        value - the value to be set. Can be Java value or fUML Value.
      • addValueAt

        public void addValueAt​(fUML.Semantics.Classes.Kernel.StructuredValue object,
                               java.lang.String featureName,
                               java.lang.Object value,
                               java.lang.Integer insertAt)
        Find the matched FeatureValue from the specified object, and set the value at the insertAt position.
        Parameters:
        object - the fUML runtime Object_ or SignalInstance
        featureName - the name of structural feature, nested structural features such as "part1.part2" are allowed.
        value - the value to be set. Can be Java value or fUML Value.
        insertAt - the inserted position. if it is not more than 0, the value will be added at the last position.
      • removeValue

        public void removeValue​(fUML.Semantics.Classes.Kernel.StructuredValue object,
                                java.lang.String featureName,
                                fUML.Semantics.Classes.Kernel.Value value)
        Find the matched FeatureValue from the specified object, remove the defined value or the value at removeAt position.
        Parameters:
        object - the fUML runtime Object_ or SignalInstance
        featureName - the name of structural feature, nested structural features such as "part1.part2" are allowed.
        value - the fUML value to be removed.
      • removeValueAt

        public void removeValueAt​(fUML.Semantics.Classes.Kernel.StructuredValue object,
                                  java.lang.String featureName,
                                  java.lang.Integer removeAt)
        Find the matched FeatureValue from the specified object, remove the defined value or the value at removeAt position.
        Parameters:
        object - the fUML runtime Object_ or SignalInstance
        featureName - the name of structural feature, nested structural features such as "part1.part2" are allowed.
        removeAt - if the removeAt is defined. it will remove the value at removeAt position, ignoring the value value
      • removeValue

        private void removeValue​(fUML.Semantics.Classes.Kernel.StructuredValue object,
                                 java.lang.String featureName,
                                 fUML.Semantics.Classes.Kernel.Value value,
                                 @CheckForNull
                                 java.lang.Integer removeAt)
        Find the matched FeatureValue from the specified object, remove the defined value or the value at removeAt position.
        Parameters:
        object - the fUML runtime Object_ or SignalInstance
        featureName - the name of structural feature, nested structural features such as "part1.part2" are allowed.
        value - the fUML value to be removed.
        removeAt - if the removeAt is defined. it will remove the value at removeAt position, ignoring the value value
      • getState

        @CheckForNull
        public State getState​(fUML.Semantics.Classes.Kernel.Object_ object)
        Get the current State from the specified object. If object has more than one active states, return the first one.
        Parameters:
        object - the instance of Object_(or its subclasses)
        Returns:
        the current State from the specified object
        Throws:
        java.lang.IllegalArgumentException - if object is null.
      • getTokenValue

        public java.lang.Object getTokenValue()
        Get Tokens values from the current context.
        Returns:
        the instance of subclasses of the Object representing the token values of the current context
      • getLastSignal

        public fUML.Semantics.CommonBehaviors.Communications.SignalInstance getLastSignal​(fUML.Semantics.Classes.Kernel.Object_ o)
        Get the last signal instance from the event pool.
        Parameters:
        o - the specified object
        Returns:
        the last signal instance from the list
      • createObject

        @CheckForNull
        public fUML.Semantics.Classes.Kernel.Object_ createObject​(Class classifier)
        Create an Object_ with the given type (which must be a Class) in the Locus of the active SimulationSession.
        Parameters:
        classifier - the instance of Class(or its subclasses)
        Returns:
        the created Object_, or null if classifier is not instance of Class
      • createObject

        public fUML.Semantics.Classes.Kernel.Object_ createObject​(java.lang.String name)
        Create an Object_ with the given name (which must be name of Class) as its type. The name is used to search from com.nomagic.uml2.ext.magicdraw.auxiliaryconstructs.mdmodels.Model of the current Project.
        Parameters:
        name - the specified Class name
        Returns:
        the created Object_
        See Also:
        createObject(Class), SimulationModelHelper.findClassByName(Element, String)
      • callOperation

        public java.lang.Object callOperation​(java.lang.String name)
        Execute the method of the Operation element that matches the specified name.
        Parameters:
        name - the specified name of Operation
        Returns:
        the return value of the execution.
        See Also:
        callOperation(String, List)
      • callOperation

        @CheckForNull
        public java.lang.Object callOperation​(java.lang.String name,
                                              @CheckForNull
                                              java.util.List<?> arguments)
        Execute the method of the Operation element that matches the specified name.
        Parameters:
        name - the specified name of Operation
        arguments - argument values
        Returns:
        the return value of the execution.
        See Also:
        callOperation(Object_, String, List)
      • callOperation

        public java.lang.Object callOperation​(fUML.Semantics.Classes.Kernel.Object_ object,
                                              java.lang.String name)
        Execute the method of the Operation element that matches the specified name.
        Parameters:
        object - The target object to which the request is sent
        name - the specified name of Operation
        Returns:
        the return value of the execution.
        See Also:
        callOperation(Object_, String, List)
      • callOperation

        public java.lang.Object callOperation​(fUML.Semantics.Classes.Kernel.Object_ object,
                                              java.lang.String name,
                                              java.util.List<?> arguments)
        Execute the method of the Operation element that matches the specified name.
        Parameters:
        object - The target object to which the request is sent
        name - the specified name of Operation
        arguments - argument values
        Returns:
        the return value of the execution.
        See Also:
        SimulationModelHelper.findOperationByName(Element, String), fUMLHelper.callBehavior(StructuredValue, Behavior, List, SimulationSession, Boolean)
      • callOperation

        public java.lang.Object callOperation​(fUML.Semantics.Classes.Kernel.Object_ object,
                                              java.lang.String name,
                                              java.util.List<?> arguments,
                                              boolean isSynchonous)
        Execute the method of the Operation element that matches the specified name.
        Parameters:
        object - The target object to which the request is sent
        name - the specified name of Operation
        arguments - argument values
        isSynchonous - true if call synchronously, false --> asynchronously
        Returns:
        the return value of the execution.
        See Also:
        SimulationModelHelper.findOperationByName(Element, String), fUMLHelper.callBehavior(StructuredValue, Behavior, List, SimulationSession, Boolean)
      • callBehavior

        public java.lang.Object callBehavior​(java.lang.String name)
        Execute the Behavior element that matches the specified name.
        Parameters:
        name - the specified name of Behavior
        Returns:
        the return value of the execution.
        See Also:
        callBehavior(String, List)
      • callBehavior

        public java.lang.Object callBehavior​(java.lang.String name,
                                             java.util.List<?> arguments)
        Execute the CallBehaviorAction element that matches the specified name.
        Parameters:
        name - the specified name of Behavior
        arguments - argument values
        Returns:
        the return value of the execution.
        Throws:
        java.lang.IllegalArgumentException - if cannot find Behavior or size of arguments are not equal to in/inout parameters size.
        See Also:
        fUMLHelper.callBehavior(StructuredValue, Behavior, List, SimulationSession, Boolean)
      • callBehavior

        public java.lang.Object callBehavior​(java.lang.String name,
                                             @CheckForNull
                                             java.util.List<?> arguments,
                                             boolean isSynchonous)
        Execute the CallBehaviorAction element that matches the specified name.
        Parameters:
        name - the specified name of Behavior
        arguments - argument values
        isSynchonous - true if call synchronously, false --> asynchronously
        Returns:
        the return value of the execution.
        Throws:
        java.lang.IllegalArgumentException - if cannot find Behavior or size of arguments are not equal to in/inout parameters size.
        See Also:
        fUMLHelper.callBehavior(StructuredValue, Behavior, List, SimulationSession, Boolean)
      • sendSignal

        public void sendSignal​(java.lang.String signalName,
                               fUML.Semantics.Classes.Kernel.Object_ target)
        Create SignalInstance instance of the specified Signal name, and send it to the target Object_.

        If signalName contains "::", it will find the signal from the qualified name, the signal is found if its qualified name is ended with signalName.

        Parameters:
        signalName - the specified Signal name
        target - the specified target Object_
      • sendSignal

        public void sendSignal​(java.lang.String signalName,
                               java.lang.String targetName)
        Create SignalInstance instance of the specified Signal name, and send it to the specified targetName.

        If signalName contains "::", it will find the signal from the qualified name, the signal is found if its qualified name is ended with signalName.

        If targetName is defined, there are two possible cases.

        • It will find target objects from all waiting objects that have their parts name matched with targetName
        • It will find target objects via connected port, which port name is matched with the specified targetName
        Parameters:
        signalName - the specified Signal name
        targetName - the specified target object name
      • sendSignal

        public void sendSignal​(java.lang.String signalName,
                               fUML.Semantics.Classes.Kernel.Object_ target,
                               java.lang.String portName)
        Create SignalInstance instance of the specified Signal name, and send it to the target Object_ via the specified port name.

        If signalName contains "::", it will find the signal from the qualified name, the signal is found if its qualified name is ended with signalName.

        Parameters:
        signalName - the specified Signal name
        target - the specified target Object_
        portName - the specified port name
      • sendSignal

        public void sendSignal​(fUML.Semantics.CommonBehaviors.Communications.SignalInstance signal,
                               fUML.Semantics.Classes.Kernel.Object_ target)
        Send the specified SignalInstance to the specified target Object_.
        Parameters:
        signal - the specified SignalInstance
        target - the specified target Object_
      • sendSignal

        public void sendSignal​(fUML.Semantics.CommonBehaviors.Communications.SignalInstance signal,
                               java.lang.String targetName)
        Send the specified SignalInstance to the specified targetName. If targetName is defined, there are two possible cases.
        • It will find target objects from all waiting objects that have their parts name matched with targetName
        • It will find target objects via connected port, which port name is matched with the specified targetName
        Parameters:
        signal - the specified SignalInstance
        targetName - the specified target object name
      • sendSignal

        public void sendSignal​(fUML.Semantics.CommonBehaviors.Communications.SignalInstance signal,
                               fUML.Semantics.Classes.Kernel.Object_ target,
                               java.lang.String portName)
        Send the specified SignalInstance to the specified target Object_ via the specified port name.
        Parameters:
        signal - the specified SignalInstance
        target - the specified target Object_
        portName - the specified port name
      • evaluate

        @CheckForNull
        public java.lang.Object evaluate​(java.lang.String language,
                                         java.lang.String expression)
        Evaluate the string expression based on the specified scripting language.
        Parameters:
        language - the specified scripting language
        expression - the specified string expression
        Returns:
        the evaluation result
      • evaluate

        public java.lang.Object evaluate​(java.lang.String expression)
        Evaluate the string expression.
        Parameters:
        expression - the specified string expression
        Returns:
        the evaluation result
      • createList

        public java.util.ArrayList<java.lang.Object> createList()
        A convenience method for creating the list. The new empty ArrayList is created and returned.
        Returns:
        the new empty ArrayList
      • createList

        public java.util.ArrayList<java.lang.Object> createList​(java.lang.Object object)
        A convenience method for creating the list with one added item in the list. The new empty ArrayList is created and being added the specified item.
        Parameters:
        object - the specified item being added to the created list
        Returns:
        the new empty ArrayList with the added item
      • inState

        public boolean inState​(java.lang.String stateName)
        Check whether the current runtime object is in the specified state name or not.
        Parameters:
        stateName - the specified state name
        Returns:
        true if one of the active states matches with the specified state name
      • inState

        public boolean inState​(fUML.Semantics.Classes.Kernel.Object_ object,
                               java.lang.String stateName)
        Check whether the specified object is in the specified state name or not.
        Parameters:
        object - the specified object
        stateName - the specified state name
        Returns:
        true if one of the active states matches with the specified state name
      • wasInState

        public boolean wasInState​(java.lang.String stateName)
        Check that the state matching with the name was already visited or not.
        Parameters:
        stateName - the state name
        Returns:
        true, if yes
      • wasInState

        public boolean wasInState​(fUML.Semantics.Classes.Kernel.Object_ object,
                                  java.lang.String stateName)
        Check that the state matching with the name was already visited or not.
        Parameters:
        object - the object
        stateName - the state name
        Returns:
        true, if yes
      • findElement

        @CheckForNull
        private Element findElement​(java.lang.String keyword,
                                    java.lang.Class[] types)
      • findBehavior

        @CheckForNull
        private Behavior findBehavior​(java.lang.String keyword)
      • createSignal

        public fUML.Semantics.CommonBehaviors.Communications.SignalInstance createSignal​(Signal signal)
        Create the instance of SignalInstance.
        Parameters:
        signal - the specified Signal
        Returns:
        the created SignalInstance
      • createSignal

        public fUML.Semantics.CommonBehaviors.Communications.SignalInstance createSignal​(java.lang.String keyword)
        Create the instance of SignalInstance.
        Parameters:
        keyword - the keyword for find Signal
        Returns:
        the created SignalInstance
      • isSynchronous

        private java.lang.Boolean isSynchronous()
        This method will return value if the current context is CallAction.
        Returns:
        Boolean value of synchronous of CallAction.
      • findOperation

        @CheckForNull
        private Operation findOperation​(fUML.Semantics.Classes.Kernel.Object_ context,
                                        java.lang.String operationName)
        Find operation in the context by name. This method find the operation by name and do not check any operations' parameters. The first operation that be found will be returned.
        Parameters:
        context - the context
        operationName - the operation name
        Returns:
        the operation
      • getTimeUnit

        public java.lang.String getTimeUnit()
        Gets time unit of the running execution.
        Returns:
        Time unit.
      • getCurrentTime

        public double getCurrentTime()
        Gets current time.
        Returns:
        Current time
      • getCurrentTime

        public double getCurrentTime​(java.lang.String timeUnit)
        Gets current time in forms of the specified timeUnit.
        Parameters:
        timeUnit - String
        Returns:
        Current time in forms of the specified timeUnit.
      • getGlobalVariable

        public java.lang.Object getGlobalVariable​(java.lang.String variableName)
        Gets global variable from the execution.
        Parameters:
        variableName - Variable name
        Returns:
        global variable value. if the global variable does not exist, return null.
      • setGlobalVariable

        public void setGlobalVariable​(java.lang.String variableName,
                                      java.lang.Object value)
        Sets global variable for the execution.
        Parameters:
        variableName - Variable name
        value - Variable value
      • isGlobalVariable

        public java.lang.Boolean isGlobalVariable​(java.lang.String variableName)
        Checks whether or not the given variableName is global variable.
        Parameters:
        variableName - Variable name
        Returns:
        true, if the given variableName is global variable. Otherwise, false.
      • removeGlobalVariable

        public void removeGlobalVariable​(java.lang.String variableName)
        Removes global variable from the execution.
        Parameters:
        variableName - Variable name
      • getCaller

        public NamedElement getCaller()
        Get the calling element of the script evaluation.
        Returns:
        the calling element of the script evaluation
      • getTagValue

        public java.lang.Object getTagValue​(java.lang.String tagName)
                                     throws java.lang.Exception
        Get tag value from classifier of context.
        Parameters:
        tagName - the tag name possible to be the dot notation.
        Returns:
        the value of tagName as the primitive object.
        Throws:
        java.lang.Exception - the exception
      • getTagValue

        public java.lang.Object getTagValue​(@CheckForNull
                                            fUML.Semantics.Classes.Kernel.Object_ object,
                                            java.lang.String tagName)
                                     throws java.lang.Exception
        Get tag value from classifier of Object, and structural feature that Object represented
        Parameters:
        object - the runtime object
        tagName - the tag name possible to be the dot notation.
        Returns:
        the value of tagName as the primitive object.
        Throws:
        java.lang.Exception - the exception