invariants.core.computation

IntSetConst

case class IntSetConst (ConstValue: SortedSet[Int], model: Model) extends IntSetVar with Product with Serializable

An IntSetConst is an IntSetVar that has a constant value, defined by a set of integer. It has no associated model, as there is no need to incorporate it into any propagation process.

Linear Supertypes
Serializable, Serializable, Product, Equals, IntSetVar, Variable, PropagationElement, TarjanNode, DAGNode, Ordered[DAGNode], Comparable[DAGNode], AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Hide All
  2. Show all
  1. IntSetConst
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. IntSetVar
  7. Variable
  8. PropagationElement
  9. TarjanNode
  10. DAGNode
  11. Ordered
  12. Comparable
  13. AnyRef
  14. Any
Visibility
  1. Public
  2. All

Instance Constructors

  1. new IntSetConst (ConstValue: SortedSet[Int], model: Model)

Value Members

  1. def != (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  2. def != (arg0: Any): Boolean

    Attributes
    final
    Definition Classes
    Any
  3. def ## (): Int

    Attributes
    final
    Definition Classes
    AnyRef → Any
  4. def :+= (i: Int): Unit

    Definition Classes
    IntSetVar
  5. def :-= (i: Int): Unit

    Definition Classes
    IntSetVar
  6. def := (v: SortedSet[Int]): Unit

    We suppose that the new value is not the same as the actual value.

    We suppose that the new value is not the same as the actual value. otherwise, there is a huge waste of time.

    v

    the new value to set to the variable

    Definition Classes
    IntSetVar
  7. def < (that: DAGNode): Boolean

    Definition Classes
    Ordered
  8. def <= (that: DAGNode): Boolean

    Definition Classes
    Ordered
  9. def <== (i: IntSetInvariant): Unit

    Use this to specify that the IntSetVar is the output of the IntSetInvariant

    Use this to specify that the IntSetVar is the output of the IntSetInvariant

    Definition Classes
    IntSetVar
  10. def == (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  11. def == (arg0: Any): Boolean

    Attributes
    final
    Definition Classes
    Any
  12. def > (that: DAGNode): Boolean

    Definition Classes
    Ordered
  13. def >= (that: DAGNode): Boolean

    Definition Classes
    Ordered
  14. val ConstValue : SortedSet[Int]

  15. var DefiningInvariant : Invariant

    Definition Classes
    Variable
  16. var DeterminingElements : List[PropagationElement]

    Definition Classes
    PropagationElement
  17. val DynamicallyListenedElements : PermaFilteredDoublyLinkedList[PropagationElement]

    Definition Classes
    PropagationElement
  18. var DynamicallyListenedElementsFromSameComponent : PermaFilteredDoublyLinkedList[PropagationElement]

    Definition Classes
    PropagationElement
  19. val DynamicallyListeningElements : PermaFilteredDoublyLinkedList[(PropagationElement, Any)]

    Definition Classes
    PropagationElement
  20. var DynamicallyListeningElementsFromSameComponent : PermaFilteredDoublyLinkedList[(PropagationElement, Any)]

    Definition Classes
    PropagationElement
  21. var InOneComponent : Boolean

    Definition Classes
    TarjanNode
  22. var Index : Int

    Definition Classes
    TarjanNode
  23. def InitiateDynamicGraphFromSameComponent (): Unit

    Definition Classes
    PropagationElement
  24. var IsBoundary : Boolean

    set to true if the PropagationElement is one that can break or make dependency cycles in the dynamic dependency graph managed by the PropagationComponent basically, set to true if the determiningElement is not in the same component and if this PropagationElement belongs to a cycle in the static dependency graph

    set to true if the PropagationElement is one that can break or make dependency cycles in the dynamic dependency graph managed by the PropagationComponent basically, set to true if the determiningElement is not in the same component and if this PropagationElement belongs to a cycle in the static dependency graph

    Definition Classes
    PropagationElement
  25. var LowLink : Int

    Definition Classes
    TarjanNode
  26. var OnStack : Boolean

    Definition Classes
    TarjanNode
  27. var Position : Int

    the position in the topological sort

    the position in the topological sort

    Definition Classes
    DAGNode
  28. var StaticallyListenedElements : List[PropagationElement]

    Definition Classes
    PropagationElement
  29. var StaticallyListeningElements : List[PropagationElement]

    Definition Classes
    PropagationElement
  30. var TouchedValues : List[Int]

    The values that have bee impacted since last propagation was performed.

    The values that have bee impacted since last propagation was performed. null if set was assigned

    Definition Classes
    IntSetVar
  31. var UniqueID : Int

    it gives the unique ID of the PropagationElement.

    it gives the unique ID of the PropagationElement. those uniqueID are expected to start at 0 and to increase continuously An exception is tolerated: UniqueID is set to -1 if the Propagation Element is not mentioned in the propagation structure, such as for constants yet is mentioned in the dependencies of registered propagation elements

    Definition Classes
    DAGNode
  32. def asInstanceOf [T0] : T0

    Attributes
    final
    Definition Classes
    Any
  33. def canEqual (arg0: Any): Boolean

    Definition Classes
    IntSetConst → Equals
  34. def checkInternals (): Unit

    This is the debug procedure through which propagation element can redundantly check that the incremental computation they perform through the performPropagation method is correct overriding this method is optional, so an empty body is provided by default

    This is the debug procedure through which propagation element can redundantly check that the incremental computation they perform through the performPropagation method is correct overriding this method is optional, so an empty body is provided by default

    Definition Classes
    IntSetVarPropagationElement
  35. def clone (): AnyRef

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  36. def compare (that: DAGNode): Int

    Attributes
    final
    Definition Classes
    PropagationElement → Ordered
  37. def compareTo (that: DAGNode): Int

    Definition Classes
    Ordered → Comparable
  38. var component : StrognlyConnexComponent

    this refers to the propagationComponent that contains the PropagationElement.

    this refers to the propagationComponent that contains the PropagationElement. it is managed by the propagation structure

    Definition Classes
    PropagationElement
  39. def decrementAndAccumulateFront (acc: List[PropagationElement]): List[PropagationElement]

    Definition Classes
    PropagationElement
  40. def decrementSucceedingAndAccumulateFront (acc: List[PropagationElement]): List[PropagationElement]

    Definition Classes
    PropagationElement
  41. def deleteValue (v: Int): Unit

    Definition Classes
    IntSetVar
  42. def determineBoundary (): Unit

    this sets the value of IsBoundary according to the definition of this variable

    this sets the value of IsBoundary according to the definition of this variable

    returns

    the value of IsBoundary

    Definition Classes
    PropagationElement
  43. def dropStaticGraph (): Unit

    Definition Classes
    PropagationElement
  44. def eq (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  45. def equals (arg0: Any): Boolean

    Definition Classes
    IntSetConst → Equals → AnyRef → Any
  46. def finalize (): Unit

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  47. def getClass (): java.lang.Class[_]

    Attributes
    final
    Definition Classes
    AnyRef → Any
  48. def getDAGPrecedingNodes : Iterable[DAGNode]

    Attributes
    final
    Definition Classes
    PropagationElementDAGNode
  49. def getDAGSucceedingNodes : Iterable[DAGNode]

    Attributes
    final
    Definition Classes
    PropagationElementDAGNode
  50. def getDefiningInvariant : Invariant

    Definition Classes
    Variable
  51. def getDeterminingElements : Iterable[PropagationElement]

    the variable that influence on the dependencies of the proapgation element these are propagated first to constitute the dynamic propagatoin graph

    the variable that influence on the dependencies of the proapgation element these are propagated first to constitute the dynamic propagatoin graph

    Definition Classes
    PropagationElement
  52. def getDotColor : String

    Definition Classes
    Variable
  53. def getDotNode : String

    This returns the dot node to display on the DOT output for the node.

    This returns the dot node to display on the DOT output for the node. Only the argument of the nodes example: "[label= \"toto\" shape=diamond color=red]"

    Definition Classes
    IntSetVarPropagationElement
  54. def getDynamicallyListenedElements : Iterable[PropagationElement]

    Attributes
    final
    Definition Classes
    PropagationElement
  55. def getDynamicallyListeningElements : Iterable[(PropagationElement, Any)]

    Attributes
    final
    Definition Classes
    PropagationElement
  56. def getMaxVal : Int

    Definition Classes
    IntSetVar
  57. def getMinVal : Int

    Definition Classes
    IntSetVar
  58. def getModel : Model

    Definition Classes
    IntSetVar
  59. def getPropagationStructure : Model

    returns a reference to the propagationStructure where the PropagationElement is registered

    returns a reference to the propagationStructure where the PropagationElement is registered

    Definition Classes
    VariablePropagationElement
  60. def getStaticallyListenedElements : Iterable[PropagationElement]

    through this method, the PropagationElement must declare which PropagationElement it is listening to in the static dependency graph.

    through this method, the PropagationElement must declare which PropagationElement it is listening to in the static dependency graph. The result must be stable after the call to setupPropagationStructure. to override

    Attributes
    final
    Definition Classes
    PropagationElement
  61. def getStaticallyListeningElements : Iterable[PropagationElement]

    through this method, the PropagationElement must declare which PropagationElement listen to it in the static dependency graph.

    through this method, the PropagationElement must declare which PropagationElement listen to it in the static dependency graph. The result must be stable after the call to setupPropagationStructure. to override

    Attributes
    final
    Definition Classes
    PropagationElement
  62. def getValue (NewValue: Boolean = false): SortedSet[Int]

    Definition Classes
    IntSetConstIntSetVar
  63. def hashCode (): Int

    Definition Classes
    IntSetConst → AnyRef → Any
  64. def insertValue (v: Int): Unit

    Definition Classes
    IntSetVar
  65. def isInstanceOf [T0] : Boolean

    Attributes
    final
    Definition Classes
    Any
  66. var isScheduled : Boolean

    set to true if the PropagationElement is scheduled for propagation, false otherwise.

    set to true if the PropagationElement is scheduled for propagation, false otherwise. this is managed by the PropagationElement

    Definition Classes
    PropagationElement
  67. val model : Model

    Definition Classes
    IntSetConstIntSetVarVariable
  68. val name : String

    Definition Classes
    IntSetVarVariable
  69. def ne (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  70. def notify (): Unit

    Attributes
    final
    Definition Classes
    AnyRef
  71. def notifyAll (): Unit

    Attributes
    final
    Definition Classes
    AnyRef
  72. def notifyChanged (): Unit

    this method s to be called by any method that internally modifies the value of the variable it schedules the variable for propagation, and performs a basic check of the identify of the executing invariant

    this method s to be called by any method that internally modifies the value of the variable it schedules the variable for propagation, and performs a basic check of the identify of the executing invariant

    Definition Classes
    Variable
  73. def performPropagation (): Unit

    this is the propagation method that should be overridden by propagation elements.

    this is the propagation method that should be overridden by propagation elements. notice that it is only called in a propagation wave if: 1: it has been registered for propagation since the last time it was propagated 2: it is included in the propagation wave: partial propagation wave do not propagate all propagation elements; it only propagates the ones that come in the predecessors of the targeted propagation element overriding this method is optional, so an empty body is provided by default

    Definition Classes
    IntSetVarPropagationElement
  74. def productArity : Int

    Definition Classes
    IntSetConst → Product
  75. def productElement (arg0: Int): Any

    Definition Classes
    IntSetConst → Product
  76. def productIterator : Iterator[Any]

    Definition Classes
    Product
  77. def productPrefix : String

    Definition Classes
    IntSetConst → Product
  78. def propagate (): Unit

    Performs the propagation, and some bookkeeping around it.

    Performs the propagation, and some bookkeeping around it.

    Definition Classes
    PropagationElement
  79. def registerDeterminingElement (p: PropagationElement, i: Any): Unit

    must belong to the statically listened elements.

    must belong to the statically listened elements. cannot be added to the dynamically listened ones (it is added through this method, so you cannot remove it)

    p

    the element that determines the dynamic dependencies of the propagation element

    i

    an additional value that is stored in this element together with the reference to this, can be use for notification purposes

    Attributes
    protected final
    Definition Classes
    PropagationElement
  80. def registerDynamicallyListenedElement (p: PropagationElement, i: Any): KeyForElementRemoval

    this registers to the element in the dynbamic propagation graph.

    this registers to the element in the dynbamic propagation graph. this element must have been registered o the static propagation graph before, or be accessible through a bulk

    p

    the element that we register to

    i

    a value that can be exploited by the element to notify its updates. normally, this value should be an int, if other type is used, the invariant should override a dedicated notification method.

    returns

    a key that is needed to unregister the element in the dynamic propagation graph

    Attributes
    protected
    Definition Classes
    PropagationElement
  81. def registerStaticallyListenedElement (p: PropagationElement): Unit

    registers an element in the static dependency graph.

    registers an element in the static dependency graph. Beware that you also need to register elements in the dynamic propagation graph for something to happen.

    p

    the element that we register to

    Attributes
    protected final
    Definition Classes
    PropagationElement
  82. def scheduleForPropagation (): Unit

    to invoque to force inclusion of the propagation element in the current or next propagation wave.

    to invoque to force inclusion of the propagation element in the current or next propagation wave.

    Attributes
    final
    Definition Classes
    PropagationElement
  83. def setCounterToPrecedingCount (): Boolean

    Sets the Position oto the number of element that need to be decremented, not belonging to same connex component for connex component, set it to the number of element that are referenced from othercomponents

    Sets the Position oto the number of element that need to be decremented, not belonging to same connex component for connex component, set it to the number of element that are referenced from othercomponents

    returns

    true if there is a dependency, false otherwise

    Definition Classes
    PropagationElement
  84. def setDefiningInvariant (i: Invariant): Unit

    Definition Classes
    Variable
  85. def setValue (v: SortedSet[Int]): Unit

    We suppose that the new value is not the same as the actual value.

    We suppose that the new value is not the same as the actual value. otherwise, there is a huge waste of time.

    v

    the new value to set to the variable

    Definition Classes
    IntSetVar
  86. def synchronized [T0] (arg0: ⇒ T0): T0

    Attributes
    final
    Definition Classes
    AnyRef
  87. def toString (): String

    Definition Classes
    IntSetConstIntSetVar → AnyRef → Any
  88. def unregisterDynamicallyListenedElement (p: KeyForElementRemoval): Unit

    unregisters an element in the dynamic propagation graph.

    unregisters an element in the dynamic propagation graph.

    p

    the key that was given when the eement was registered in the dynamic propagation graph

    Attributes
    protected
    Definition Classes
    PropagationElement
  89. var visited : Boolean

    supposed to be false between each pass of the algorithm

    supposed to be false between each pass of the algorithm

    Definition Classes
    DAGNode
  90. var visited2 : Boolean

    Definition Classes
    DAGNode
  91. def wait (): Unit

    Attributes
    final
    Definition Classes
    AnyRef
    Annotations
    @throws()
  92. def wait (arg0: Long, arg1: Int): Unit

    Attributes
    final
    Definition Classes
    AnyRef
    Annotations
    @throws()
  93. def wait (arg0: Long): Unit

    Attributes
    final
    Definition Classes
    AnyRef
    Annotations
    @throws()

Deprecated Value Members

  1. def productElements : Iterator[Any]

    Definition Classes
    Product
    Annotations
    @deprecated
    Deprecated

    use productIterator instead

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from IntSetVar

Inherited from Variable

Inherited from PropagationElement

Inherited from TarjanNode

Inherited from DAGNode

Inherited from Ordered[DAGNode]

Inherited from Comparable[DAGNode]

Inherited from AnyRef

Inherited from Any