DiaDes  0.1
DIAgnosis of Discrete-Event System
Classes | Functions
Diades::Sdmdl::Experimental Namespace Reference

Classes

class  Assignment
 
class  BddStateMachine
 
class  EventEncoder
 
class  StateInfoEncoder
 

Functions

template<typename StateProperty , typename FaultProperty >
BddStateMachineencodeTransitions (const Diades::Automata::Experimental::StateMachine< StateProperty, FaultProperty > &component, BddStateMachine &result)
 
template<typename StateProperty , typename FaultProperty >
BddStateMachineencodeEvent (const Diades::Automata::Experimental::StateMachine< StateProperty, FaultProperty > &component, BddStateMachine &result)
 
template<typename StateProperty , typename FaultProperty >
BddStateMachineencodeInitialStates (const Diades::Automata::Experimental::StateMachine< StateProperty, FaultProperty > &component, BddStateMachine &result)
 
template<typename StateProperty , typename FaultProperty >
BddStateMachineencode (const Diades::Automata::Experimental::StateMachine< StateProperty, FaultProperty > &component, Variable &stateVar, Variable &nextStateVar, Variable &event, BddStateMachine &result)
 
void exportToDisjunctiveNormalForm (const Formula &formula, std::list< std::list< Assignment > > &dnf)
 

Function Documentation

◆ encode()

template<typename StateProperty , typename FaultProperty >
BddStateMachine& Diades::Sdmdl::Experimental::encode ( const Diades::Automata::Experimental::StateMachine< StateProperty, FaultProperty > &  component,
Variable stateVar,
Variable nextStateVar,
Variable event,
BddStateMachine result 
)

◆ encodeEvent()

template<typename StateProperty , typename FaultProperty >
BddStateMachine& Diades::Sdmdl::Experimental::encodeEvent ( const Diades::Automata::Experimental::StateMachine< StateProperty, FaultProperty > &  component,
BddStateMachine result 
)

◆ encodeInitialStates()

template<typename StateProperty , typename FaultProperty >
BddStateMachine& Diades::Sdmdl::Experimental::encodeInitialStates ( const Diades::Automata::Experimental::StateMachine< StateProperty, FaultProperty > &  component,
BddStateMachine result 
)

◆ encodeTransitions()

template<typename StateProperty , typename FaultProperty >
BddStateMachine& Diades::Sdmdl::Experimental::encodeTransitions ( const Diades::Automata::Experimental::StateMachine< StateProperty, FaultProperty > &  component,
BddStateMachine result 
)

◆ exportToDisjunctiveNormalForm()

void Diades::Sdmdl::Experimental::exportToDisjunctiveNormalForm ( const Formula formula,
std::list< std::list< Assignment > > &  dnf 
)

This function transforms a Formula as a Disjunctive Normal Formula (DNF) A DNF is a disjunction of conjunctions. Each conjunction is modeled as a list of variable Assignements. So the dnf is a list of Assignment lists. In case of Formula.isFalse() the dnf list is set to be empty. In case of Formula.isTrue() the dnf list then contains one single list that is empty.

Parameters
formulaa Formula
theresult disjunctive normal form

Referenced by printSolution().