GenBDDFactory

onera.pmlanalyzer.views.interference.model.formalisation.GenBDDFactory
trait GenBDDFactory[Var] extends BaseBDDFactory[Var, BDD]

Generic BDD factory over the type of BDD variables

Attributes

Var

the type of variable labelled on BDD nodes

Graph
Supertypes
trait BaseBDDFactory[Var, BDD]
class Object
trait Matchable
class Any
Known subtypes

Members list

Concise view

Type members

Classlikes

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Value members

Concrete 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

def dispose(): Unit

Send dispose signal to JavaBDD factory

Send dispose signal to JavaBDD factory

Attributes

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

def getPathCount(bdd: BDD, weights: Map[Var, Int]): BigInt
def getSatCount(bdd: BDD, weights: Map[Var, Int]): BigInt
def getVar(variable: Var): 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

def getVarMap: Map[BDD, Var]

Attributes

Returns:

the mapping from BDD to labelled variable

def getVarOf(bdd: BDD): Option[Var]
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

def mkNode(variable: Var, 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

def notBDD(arg: BDD): BDD

Delegate BDD Not to JavaBDD factory

Delegate BDD Not to JavaBDD factory

Attributes

arg

initial BDD

Returns:

negated BDD

def one(): BDD

Attributes

Returns:

one terminal

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

def replaceVar(replace: Var, by: Var, in: BDD): BDD

Attributes

by

the new variable

in

the BDD

replace

the initial variable to replace

Returns:

the modified BDD

def reset(): Unit

Reinitialise the JavaBDD factory to initial variable number

Reinitialise the JavaBDD factory to initial variable number

Attributes

def zero(): BDD

Attributes

Returns:

zero terminal

Inherited methods

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 importBDD[OtherBDD <: BDD](bdd: OtherBDD, bddVar: Map[Var, 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 mkExactlyK(vs: Seq[Var], 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 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

Abstract fields

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