SymbolBDDFactory

onera.pmlanalyzer.views.interference.model.formalisation.SymbolBDDFactory
class SymbolBDDFactory extends GenBDDFactory[Symbol]

BDDFactory where variables labelled on BDD node are InstBoolIdent

Attributes

Graph
Supertypes
trait GenBDDFactory[Symbol]
trait BaseBDDFactory[Symbol, BDD]
class Object
trait Matchable
class Any

Members list

Concise view

Type members

Inherited classlikes

Attributes

Inherited from:
GenBDDFactory
Graph
Supertypes
class Object
trait Matchable
class Any

Value members

Inherited methods

def andBDD(left: BDD, right: BDD): BDD

Delegate BDD AND to JavaBDD factory

Delegate BDD AND to JavaBDD factory

Attributes

left

BDD

right

BDD

Returns:

the resulting BDD

Inherited from:
GenBDDFactory
def andBDD(s: Iterable[BDD]): MyBDD

n-ary BDD and

n-ary BDD and

Attributes

s

set of BDD

Returns:

the resulting BDD

Inherited from:
BaseBDDFactory
def dispose(): Unit

Send dispose signal to JavaBDD factory

Send dispose signal to JavaBDD factory

Attributes

Inherited from:
GenBDDFactory
def getIthVar(i: Int): BDD

Return the BDD labelled by the ith variable

Return the BDD labelled by the ith variable

Attributes

i

the index of the BDD node

Returns:

BDD node

Inherited from:
GenBDDFactory
def getPathCount(bdd: BDD, weights: Map[Symbol, Int]): BigInt

Attributes

Inherited from:
GenBDDFactory
def getSatCount(bdd: BDD, weights: Map[Symbol, Int]): BigInt

Attributes

Inherited from:
GenBDDFactory
def getVar(variable: Symbol): BDD

Try to find the BDD of the variable in the correspondence table and return it if existing, otherwise generate a new BDD

Try to find the BDD of the variable in the correspondence table and return it if existing, otherwise generate a new BDD

Attributes

variable

the variable

Returns:

a BDD node

Inherited from:
GenBDDFactory
def getVarMap: Map[BDD, Var]

Attributes

Returns:

the mapping from BDD to labelled variable

Inherited from:
GenBDDFactory
def getVarOf(bdd: BDD): Option[Var]

Attributes

Inherited from:
GenBDDFactory
def importBDD[OtherBDD <: BDD](bdd: OtherBDD, bddVar: Map[Symbol, OtherBDD]): MyBDD

Import a BDD in this factory from one coming from another factory

Import a BDD in this factory from one coming from another factory

Attributes

OtherBDD

the type of the other BDD

bdd

the other factory BDD

bddVar

the map from BDD node to variables

Returns:

the BDD imported in this factory

Inherited from:
BaseBDDFactory
def initFactory(numberOfVar: Int, cacheSize: Int): BDDFactory

Initialise a JavaBDD factory

Initialise a JavaBDD factory

Attributes

cacheSize

initial size of the cache table containing BDD nodes

numberOfVar

maximum number of variables in BDDs

Inherited from:
GenBDDFactory
def mkExactlyK(vs: Seq[Symbol], k: Int): MyBDD

Exactly k elements out of an ordered sequence of variables

Exactly k elements out of an ordered sequence of variables

Attributes

k

the number of variables that must be true

vs

the ordered sequence of variables

Returns:

the resulting BDD

Inherited from:
BaseBDDFactory
def mkImplies(left: BDD, right: BDD): MyBDD

BDD implication

BDD implication

Attributes

left

BDD

right

BDD

Returns:

the resulting BDD

Inherited from:
BaseBDDFactory
def mkNode(variable: Symbol, high: BDD, low: BDD): BDD

Build a BDD bu applying the formula v.high + (neg v).low

Build a BDD bu applying the formula v.high + (neg v).low

Attributes

high

the high son

low

the low son

variable

the variable labelling the BDD

Returns:

the resulting BDD

Inherited from:
GenBDDFactory
def notBDD(arg: BDD): BDD

Delegate BDD Not to JavaBDD factory

Delegate BDD Not to JavaBDD factory

Attributes

arg

initial BDD

Returns:

negated BDD

Inherited from:
GenBDDFactory
def one(): BDD

Attributes

Returns:

one terminal

Inherited from:
GenBDDFactory
def orBDD(left: BDD, right: BDD): BDD

Delegate BDD OR to JavaBDD factory

Delegate BDD OR to JavaBDD factory

Attributes

left

BDD

right

BDD

Returns:

the resulting BDD

Inherited from:
GenBDDFactory
def orBDD(s: Iterable[BDD]): MyBDD

n-ary BDD or

n-ary BDD or

Attributes

s

the set of BDD

Returns:

the resulting BDD

Inherited from:
BaseBDDFactory
def replaceVar(replace: Symbol, by: Symbol, in: BDD): BDD

Attributes

by

the new variable

in

the BDD

replace

the initial variable to replace

Returns:

the modified BDD

Inherited from:
GenBDDFactory
def reset(): Unit

Reinitialise the JavaBDD factory to initial variable number

Reinitialise the JavaBDD factory to initial variable number

Attributes

Inherited from:
GenBDDFactory
def zero(): BDD

Attributes

Returns:

zero terminal

Inherited from:
GenBDDFactory

Concrete fields

protected val _factory: BDDFactory
protected var _varCount: Int
protected val nbOfVar: Int
protected val varMap: HashMap[Symbol, Int]