data
Interface ProbSystem

All Known Implementing Classes:
ProbSystemHash, ProbSystemMtbdd

public interface ProbSystem

ProbSystem

This interface serve as a basis for teh probabilistic systems used by the engine. Currently, only systems that use hash tables and MTBDDs have been created. But any other alternate implantation would need to implement this interface.

Copyright(c) 2005 Université Laval, LSFM research group.

Version:
1.0
Author:
Simon Paquet

Method Summary
 void addLabelToStates(java.util.HashMap map)
          Apply all the label associations contained in the map table to the states.
 void addLabelToStates(java.lang.String ap, IntervalList l)
          Apply a single atomic proposition to a list of states.
 void addTransition(Transition t)
          Add a new transition to the system
 void addTransition(Transition t, boolean verify)
          Add a new transition to the system, but the system integrity verification can be skipped to accelerate loading.
 java.util.HashMap computeProbabilities(IntervalList list, java.lang.String act, Variable v, Parser p)
          Returns all the intervals and their associated repartition functions which can be reached from the IntervalList list using the action a.
 java.util.ArrayList getActions()
          Returns a list containing all the actions associated with the transitions
 java.util.TreeSet getAP()
          Gets all the atomic propositions included in the system.
 java.util.ArrayList getEnd()
          Returns the Y set (the ending intervals of the transitions)
 java.util.ArrayList getExp()
          Returns all the expressions of the system
 double getInitialState()
          Fetch the initial state.
 Mtbdd getM()
          Fetch the integer identifying the CUDD manager associated with this system.
 int getNbAction()
          Fetch the number of actions.
 java.util.ArrayList getStart()
          Returns the X set (the starting intervals of the transitions)
 IntervalList getStates()
          Gets all the possible states of the system.
 IntervalList getStatesForLabel(java.lang.String ap)
          Returns the list of states associated to an atomic proposition
 int getTrans()
          Get a set containing all of the system's transitions.
 Transition[] getTransitions()
          Returns a list containing all the transitions of the system.
 java.util.Vector getTransitionsVector()
          Returns a vactor containing all the transitions of the system.
 void removeLabelFromStates(java.lang.String ap, IntervalList l)
          Dissociates a list of intervals from an atomic proposition
 void removeTransition(Transition t)
          Remove the specified transition from the system.
 void setInitialState(double newInitialState)
          Modifies the initial state of the system
 void setStates(IntervalList newStateSpace)
          Sets all the possible states of the system.
 java.lang.String toString()
          Returns a string representing the probabilistic system.
 

Method Detail

getM

Mtbdd getM()
Fetch the integer identifying the CUDD manager associated with this system.

Returns:
Mtbdd

getTrans

int getTrans()
Get a set containing all of the system's transitions.

Returns:
returns a pointer on the MTBDD used by the system

getNbAction

int getNbAction()
Fetch the number of actions.

Returns:
the number of actions.

getInitialState

double getInitialState()
Fetch the initial state.

Returns:
a real number representing the initial state.

setInitialState

void setInitialState(double newInitialState)
                     throws java.lang.Exception
Modifies the initial state of the system

Parameters:
newInitialState - the new initial state
Throws:
java.lang.Exception

getStates

IntervalList getStates()
Gets all the possible states of the system.

Returns:
a list of intervals representing the system's possible states

setStates

void setStates(IntervalList newStateSpace)
               throws java.lang.Exception
Sets all the possible states of the system.

Throws:
java.lang.Exception - should the new state space be invalid

getAP

java.util.TreeSet getAP()
Gets all the atomic propositions included in the system.

Returns:
a tree set containg all the atomic propositions.

getExp

java.util.ArrayList getExp()
Returns all the expressions of the system

Returns:
a list containing all the expressions.

getStart

java.util.ArrayList getStart()
Returns the X set (the starting intervals of the transitions)

Returns:
the X set

getEnd

java.util.ArrayList getEnd()
Returns the Y set (the ending intervals of the transitions)

Returns:
the Y set

addLabelToStates

void addLabelToStates(java.util.HashMap map)
                      throws ProbSystemException
Apply all the label associations contained in the map table to the states.

Parameters:
map - an association table (states --> label)
Throws:
ProbSystemException - should an invalid association exist

addLabelToStates

void addLabelToStates(java.lang.String ap,
                      IntervalList l)
                      throws ProbSystemException
Apply a single atomic proposition to a list of states.

Parameters:
ap - a label representing the atomic proposition
l - a list of states to attach the proposition
Throws:
ProbSystemException - should the list be invalid

removeLabelFromStates

void removeLabelFromStates(java.lang.String ap,
                           IntervalList l)
Dissociates a list of intervals from an atomic proposition

Parameters:
ap - the association from which to remove the association
l - the list of intervals to dissociate

getStatesForLabel

IntervalList getStatesForLabel(java.lang.String ap)
Returns the list of states associated to an atomic proposition

Parameters:
ap - the atomic proposition to query
Returns:
a list of intervals associated with the atomic proposition

getActions

java.util.ArrayList getActions()
Returns a list containing all the actions associated with the transitions

Returns:
a list containing all the actions

addTransition

void addTransition(Transition t)
                   throws ProbSystemException
Add a new transition to the system

Parameters:
t - a valid transition to be added
Throws:
ProbSystemException - should the transition be invalid

addTransition

void addTransition(Transition t,
                   boolean verify)
                   throws ProbSystemException
Add a new transition to the system, but the system integrity verification can be skipped to accelerate loading.

Parameters:
t - a valid transition to be added
verify - if the system's integrity should be verified
Throws:
ProbSystemException - should the transition be invalid

removeTransition

void removeTransition(Transition t)
Remove the specified transition from the system.

Parameters:
t - the transition to remove from the system.

getTransitions

Transition[] getTransitions()
Returns a list containing all the transitions of the system.

Returns:
Transition[] a list containing all the transitions of the system.

getTransitionsVector

java.util.Vector getTransitionsVector()
Returns a vactor containing all the transitions of the system. This method optimizes the transition list construction.

Returns:
a vector containing all the transitions.

toString

java.lang.String toString()
Returns a string representing the probabilistic system.

Overrides:
toString in class java.lang.Object
Returns:
a string representing the probabilistic system.

computeProbabilities

java.util.HashMap computeProbabilities(IntervalList list,
                                       java.lang.String act,
                                       Variable v,
                                       Parser p)
Returns all the intervals and their associated repartition functions which can be reached from the IntervalList list using the action a.

Parameters:
list - the list of source intervals.
act - the action to apply.
v - the variable which must be computed.
p - a logical parser to analyse the expressions.
Returns:
an association table that links an interval with a repartition function