Class DFD2PrologTransformationImpl

    • Field Detail

      • prologFactory

        @Extension
        protected static final org.palladiosimulator.supporting.prolog.model.prolog.PrologFactory prologFactory
      • prologExpressionsFactory

        @Extension
        protected static final org.palladiosimulator.supporting.prolog.model.prolog.expressions.ExpressionsFactory prologExpressionsFactory
      • prologCreateUtils

        @Extension
        protected static final PrologCreateUtils prologCreateUtils
      • uniqueNameUtils

        @Extension
        protected final UniqueNameUtils uniqueNameUtils
    • Constructor Detail

      • DFD2PrologTransformationImpl

        public DFD2PrologTransformationImpl​(UniqueNameProvider nameProvider)
    • Method Detail

      • initTransformationState

        protected void initTransformationState​(org.palladiosimulator.dataflow.diagram.DataFlowDiagram.DataFlowDiagram dfd)
      • _transformCharacteristicType

        protected ArrayList<org.palladiosimulator.supporting.prolog.model.prolog.Fact> _transformCharacteristicType​(CharacteristicType characteristicType)
      • _transformCharacteristicType

        protected ArrayList<org.palladiosimulator.supporting.prolog.model.prolog.Fact> _transformCharacteristicType​(EnumCharacteristicType characteristicType)
      • _transformDataType

        protected List<org.palladiosimulator.supporting.prolog.model.prolog.Fact> _transformDataType​(org.palladiosimulator.dataflow.dictionary.DataDictionary.CollectionDataType dataType)
      • _transformDataType

        protected List<org.palladiosimulator.supporting.prolog.model.prolog.Fact> _transformDataType​(org.palladiosimulator.dataflow.dictionary.DataDictionary.CompositeDataType dataType)
      • _transformDataType

        protected List<org.palladiosimulator.supporting.prolog.model.prolog.Fact> _transformDataType​(org.palladiosimulator.dataflow.dictionary.DataDictionary.PrimitiveDataType dataType)
      • _transformDataType

        protected List<org.palladiosimulator.supporting.prolog.model.prolog.Fact> _transformDataType​(org.palladiosimulator.dataflow.dictionary.DataDictionary.DataType dataType)
      • _transformNode

        protected ArrayList<org.palladiosimulator.supporting.prolog.model.prolog.Clause> _transformNode​(CharacterizedProcess process)
      • _transformNode

        protected ArrayList<org.palladiosimulator.supporting.prolog.model.prolog.Clause> _transformNode​(CharacterizedStore store)
      • _transformEdge

        protected ArrayList<org.palladiosimulator.supporting.prolog.model.prolog.Fact> _transformEdge​(org.palladiosimulator.dataflow.diagram.DataFlowDiagram.Edge dataflow)
      • createFlowTreeClauses

        protected ArrayList<org.palladiosimulator.supporting.prolog.model.prolog.expressions.Expression> createFlowTreeClauses​(CharacterizedNode node,
                                                                                                                               Iterable<Pin> inputPins)
        Creates all clauses required to build a valid flow tree. This includes the selection of a flow for every input pin as well as building the appropriate flow tree variables. The flow tree variable Sn represents the flow tree to be used for the input pin n.
      • transformAssignment

        protected org.palladiosimulator.supporting.prolog.model.prolog.expressions.Expression transformAssignment​(Optional<Assignment> assignment,
                                                                                                                  DFD2PrologTransformationParameter param)
        Transforms the right hand side of an assignment to an expression.
      • _transformAssignmentTerm

        protected org.palladiosimulator.supporting.prolog.model.prolog.expressions.Expression _transformAssignmentTerm​(True rhs,
                                                                                                                       DFD2PrologTransformationParameter param)
      • _transformAssignmentTerm

        protected org.palladiosimulator.supporting.prolog.model.prolog.expressions.Expression _transformAssignmentTerm​(False rhs,
                                                                                                                       DFD2PrologTransformationParameter param)
      • _transformAssignmentTerm

        protected org.palladiosimulator.supporting.prolog.model.prolog.expressions.Expression _transformAssignmentTerm​(Or rhs,
                                                                                                                       DFD2PrologTransformationParameter param)
      • _transformAssignmentTerm

        protected org.palladiosimulator.supporting.prolog.model.prolog.expressions.Expression _transformAssignmentTerm​(And rhs,
                                                                                                                       DFD2PrologTransformationParameter param)
      • _transformAssignmentTerm

        protected org.palladiosimulator.supporting.prolog.model.prolog.expressions.Expression _transformAssignmentTerm​(Not rhs,
                                                                                                                       DFD2PrologTransformationParameter param)
      • addPreamble

        protected void addPreamble​(org.palladiosimulator.dataflow.diagram.DataFlowDiagram.DataFlowDiagram dfd)
      • addCharacteristicHelper

        protected void addCharacteristicHelper​(org.palladiosimulator.dataflow.diagram.DataFlowDiagram.DataFlowDiagram dfd)
      • findAllCharacteristicTypesInNodes

        protected static Iterable<EnumCharacteristicType> findAllCharacteristicTypesInNodes​(org.palladiosimulator.dataflow.diagram.DataFlowDiagram.DataFlowDiagram dfd)
      • findAllCharacteristicTypesInBehaviors

        protected static Iterable<EnumCharacteristicType> findAllCharacteristicTypesInBehaviors​(org.palladiosimulator.dataflow.diagram.DataFlowDiagram.DataFlowDiagram dfd)
      • findAllUsedDataTypes

        protected static Iterable<org.palladiosimulator.dataflow.dictionary.DataDictionary.DataType> findAllUsedDataTypes​(org.palladiosimulator.dataflow.diagram.DataFlowDiagram.DataFlowDiagram dfd)
      • _getUsedDataTypes

        protected static List<? extends org.palladiosimulator.dataflow.dictionary.DataDictionary.DataType> _getUsedDataTypes​(org.palladiosimulator.dataflow.dictionary.DataDictionary.CollectionDataType dataType)
      • _getUsedDataTypes

        protected static List<? extends org.palladiosimulator.dataflow.dictionary.DataDictionary.DataType> _getUsedDataTypes​(org.palladiosimulator.dataflow.dictionary.DataDictionary.CompositeDataType dataType)
      • _getUsedDataTypes

        protected static List<? extends org.palladiosimulator.dataflow.dictionary.DataDictionary.DataType> _getUsedDataTypes​(org.palladiosimulator.dataflow.dictionary.DataDictionary.DataType dataType)
      • distinctDataTypes

        protected static Iterable<org.palladiosimulator.dataflow.dictionary.DataDictionary.DataType> distinctDataTypes​(Iterable<org.palladiosimulator.dataflow.dictionary.DataDictionary.DataType> sequence)
      • needsEmptyFlowTree

        protected static boolean needsEmptyFlowTree​(CharacterizedNode node)
      • needsFlowTree

        protected static boolean needsFlowTree​(Assignment assignment)
      • createAndAddDiscontiguousDirective

        protected org.palladiosimulator.supporting.prolog.model.prolog.directives.Discontiguous createAndAddDiscontiguousDirective​(org.palladiosimulator.supporting.prolog.model.prolog.CompoundTerm term)
      • createAndAddDiscontiguousDirective

        protected org.palladiosimulator.supporting.prolog.model.prolog.directives.Discontiguous createAndAddDiscontiguousDirective​(String predicateName,
                                                                                                                                   int arity)
      • _add

        protected void _add​(Iterable<? extends org.palladiosimulator.supporting.prolog.model.prolog.Clause> clauses)
      • _add

        protected void _add​(org.palladiosimulator.supporting.prolog.model.prolog.Fact clause)
      • _add

        protected void _add​(org.palladiosimulator.supporting.prolog.model.prolog.Rule clause)
      • _add

        protected void _add​(org.palladiosimulator.supporting.prolog.model.prolog.Clause clause)
      • submitTrace

        protected void submitTrace​(EObject prologElement)
      • _createCharacteristicTerm

        protected org.palladiosimulator.supporting.prolog.model.prolog.CompoundTerm _createCharacteristicTerm​(CharacterizedNode node,
                                                                                                              DFD2PrologTransformationParameter param,
                                                                                                              org.palladiosimulator.supporting.prolog.model.prolog.expressions.Expression s,
                                                                                                              org.palladiosimulator.supporting.prolog.model.prolog.expressions.Expression visited)
      • _createNodeCharacteristicTerm

        protected org.palladiosimulator.supporting.prolog.model.prolog.CompoundTerm _createNodeCharacteristicTerm​(DFD2PrologTransformationParameter param)
      • transformCharacteristicType

        protected ArrayList<org.palladiosimulator.supporting.prolog.model.prolog.Fact> transformCharacteristicType​(CharacteristicType characteristicType)
      • transformDataType

        protected List<org.palladiosimulator.supporting.prolog.model.prolog.Fact> transformDataType​(org.palladiosimulator.dataflow.dictionary.DataDictionary.DataType dataType)
      • transformNode

        protected ArrayList<org.palladiosimulator.supporting.prolog.model.prolog.Clause> transformNode​(org.eclipse.emf.cdo.CDOObject process)
      • transformEdge

        protected ArrayList<org.palladiosimulator.supporting.prolog.model.prolog.Fact> transformEdge​(org.palladiosimulator.dataflow.diagram.DataFlowDiagram.Edge dataflow)
      • transformAssignmentTerm

        protected org.palladiosimulator.supporting.prolog.model.prolog.expressions.Expression transformAssignmentTerm​(Term rhs,
                                                                                                                      DFD2PrologTransformationParameter param)
      • getUsedDataTypes

        protected static List<? extends org.palladiosimulator.dataflow.dictionary.DataDictionary.DataType> getUsedDataTypes​(org.palladiosimulator.dataflow.dictionary.DataDictionary.DataType dataType)
      • add

        protected void add​(Object clause)
      • createCharacteristicTerm

        protected org.palladiosimulator.supporting.prolog.model.prolog.CompoundTerm createCharacteristicTerm​(CharacterizedNode node,
                                                                                                             DFD2PrologTransformationParameter param,
                                                                                                             org.palladiosimulator.supporting.prolog.model.prolog.expressions.Expression s,
                                                                                                             org.palladiosimulator.supporting.prolog.model.prolog.expressions.Expression visited)
      • createNodeCharacteristicTerm

        protected org.palladiosimulator.supporting.prolog.model.prolog.CompoundTerm createNodeCharacteristicTerm​(DFD2PrologTransformationParameter param)