Class CSTN2CSTN0


public class CSTN2CSTN0 extends CSTNEpsilonwoNodeLabels
Simple class to represent and check Conditional Simple Temporal Network assuming epsilon semantics and reducing an instance to an appropriate CSTN where DC checking is made assuming instantaneous reaction semantics.
Version:
$Rev: 840 $
Author:
Roberto Posenato
  • Field Details

  • Constructor Details

    • CSTN2CSTN0

      public CSTN2CSTN0(int givenReactionTime, TNGraph<CSTNEdge> graph)
      Parameters:
      givenReactionTime - the reaction time of the network
      graph - a TNGraph object.
    • CSTN2CSTN0

      public CSTN2CSTN0(int givenReactionTime, TNGraph<CSTNEdge> graph, int givenTimeOut)
      Parameters:
      givenReactionTime - the reaction time of the network.
      graph - a TNGraph object.
      givenTimeOut - the timeout for the check in seconds.
  • Method Details

    • main

      public static void main(String[] args) throws IOException, ParserConfigurationException, SAXException
      Parameters:
      args - an array of String objects.
      Throws:
      IOException - if any.
      ParserConfigurationException - if any.
      SAXException - if any.
    • dynamicConsistencyCheck

      public AbstractCSTN.CSTNCheckStatus dynamicConsistencyCheck() throws WellDefinitionException
      Checks the dynamic consistency (DC) of a CSTN instance within timeout seconds. During the execution of this method, the given network is modified.
      If the check is successful, all constraints to node Z in the network are minimized; otherwise, the network contains a negative loop at least.
      After a check, AbstractCSTN.getGChecked() returns the network determined by the check and AbstractCSTN.getCheckStatus() the result of the checking action with some statistics and the node having the negative loop if the network is NOT DC.
      In any case, before returning, this method call AbstractCSTN.saveGraphToFile() for saving the computed graph.

      Checks the controllability of a CSTNU instance. This method transform the given CSTNU instance into a corresponding CSTN instance such that the original instance is dynamic controllable iff the corresponding CSTN is dynamic consistent.

      Overrides:
      dynamicConsistencyCheck in class CSTN
      Returns:
      the final status of the checking with some statistics.
      Throws:
      WellDefinitionException - if any.
    • transform

      TNGraph<CSTNEdge> transform()
      Returns the corresponding CSTN having each observation node P? is replaced with a pair of nodes P? and P?0. P? is standard node while P?0 is a new observation node that observes 'p'.
      P?0 is set to be at distance epsilon after P?, exactly.
      Returns:
      g represented as a CSTN0. In order to minimize name conflicts, the new name associated to P? is P?^0.