Class AbstractActionSequenceElement<T extends EObject>

java.lang.Object
org.palladiosimulator.dataflow.confidentiality.analysis.entity.sequence.AbstractActionSequenceElement<T>
Direct Known Subclasses:
AbstractPCMActionSequenceElement

public abstract class AbstractActionSequenceElement<T extends EObject> extends Object
  • Constructor Details

    • AbstractActionSequenceElement

      public AbstractActionSequenceElement()
      Constructs a new action sequence element with empty dataflow variables and node characteristics
    • AbstractActionSequenceElement

      public AbstractActionSequenceElement(List<DataFlowVariable> dataFlowVariables, List<CharacteristicValue> nodeCharacteristics)
      Creates a new action sequence element with updated dataflow variables and node characteristics
      Parameters:
      dataFlowVariables - List of updated dataflow variables
      nodeCharacteristics - List of updated node characteristics
  • Method Details

    • evaluateDataFlow

      public abstract AbstractActionSequenceElement<T> evaluateDataFlow(List<DataFlowVariable> variables, AnalysisData analysisData)
      Evaluates the Data Flow at a given sequence element given the list of DataFlowVariables that are received from the precursor
      Parameters:
      variables - List of DataFlowVariables propagated from the precursor
      analysisData - Saved data and calculators of the analysis
      Returns:
      Returns a new Sequence element with the updated Node- and DataFlowVariables
    • getNodeCharacteristicsWithName

      public List<org.palladiosimulator.dataflow.dictionary.characterized.DataDictionaryCharacterized.Literal> getNodeCharacteristicsWithName(String name)
      Returns a list of characteristic literals that are set for a given characteristic type in the list of all node characteristics

      See getDataFlowCharacteristicsWithName(java.lang.String) for a similar method for dataflow variables

      Parameters:
      name - Name of the characteristic type
      Returns:
      Returns a list of all characteristic literals matching the characteristic type
    • getDataFlowCharacteristicsWithName

      public Map<DataFlowVariable,List<org.palladiosimulator.dataflow.dictionary.characterized.DataDictionaryCharacterized.Literal>> getDataFlowCharacteristicsWithName(String name)
      Returns a Map of characteristic literals and dataflow variables that are set for a given characteristic type in the list of all data flow variables

      See getNodeCharacteristicsWithName(java.lang.String) for a similar method for node characteristics

      Parameters:
      name - Name of the characteristic type
      Returns:
      Returns a list of all characteristic literals matching the characteristic type
    • getAllDataFlowVariables

      public List<DataFlowVariable> getAllDataFlowVariables()
      Returns a list of all dataflow variables that are present for the action sequence element
      Returns:
      List of present dataflow variables
    • getAllNodeCharacteristics

      public List<CharacteristicValue> getAllNodeCharacteristics()
      Returns a list of all present node characteristics for the action sequence element
      Returns:
      List of present node characteristics
    • isEvaluated

      public boolean isEvaluated()
      Returns whether the action sequence element has been evaluated
      Returns:
      Returns true, if the node is evaluated. Otherwise, the method returns false
    • toString

      public abstract String toString()
      Overrides:
      toString in class Object
    • createPrintableNodeInformation

      public String createPrintableNodeInformation()
      Returns a string with detailed information about a node's characteristics, data flow variables and the variables' characteristics.
      Parameters:
      node - a sequence element after the label propagation happened
      Returns:
      a string with the node's string representation and a list of all related characteristics types and literals
    • createPrintableCharacteristicsList

      public String createPrintableCharacteristicsList(List<CharacteristicValue> characteristics)
      Returns a string with the names of all characteristic types and selected literals of all characteristic values.
      Parameters:
      characteristics - a list of characteristics values
      Returns:
      a comma separated list of the format "type.literal, type.literal"