Class CSTNU2CSTN


public class CSTNU2CSTN extends CSTNU
Simple class to represent and check Conditional Simple Temporal Network with Uncertainty (CSTNU) where the DC checking is done reducing the instance to an equivalent CSTN instance where the DC checking is done assuming instantaneous reaction.
In other words, the CSTNU instance is transformed into a CSTN one and checked invoking CSTN.dynamicConsistencyCheck().
Version:
$Rev: 840 $
Author:
Roberto Posenato
  • Field Details

  • Constructor Details

    • CSTNU2CSTN

      public CSTNU2CSTN(TNGraph<CSTNUEdge> graph)
      Parameters:
      graph - a TNGraph object.
    • CSTNU2CSTN

      public CSTNU2CSTN(TNGraph<CSTNUEdge> graph, int givenTimeOut)
      Constructor for CSTNU
      Parameters:
      graph - TNGraph to check
      givenTimeOut - timeout for the check
    • CSTNU2CSTN

      CSTNU2CSTN()
      Constructor for CSTNU2CSTN.
  • Method Details

    • main

      public static void main(String[] args)
      Parameters:
      args - an array of String objects.
    • dynamicControllabilityCheck

      public CSTNU.CSTNUCheckStatus dynamicControllabilityCheck() throws WellDefinitionException
      Checks the dynamic controllability (DC) of the given network (see CSTNU(TNGraph) or AbstractCSTN.setG(TNGraph)).
      If the network is DC, it determines all the minimal ranges for the constraints.
      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 graph resulting after the check and CSTNU.getCheckStatus() the result of the checking action with some statistics and the node with the negative loop is 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:
      dynamicControllabilityCheck in class CSTNU
      Returns:
      an CSTNU.CSTNUCheckStatus object containing the final status and some statistics about the executed checking.
      Throws:
      WellDefinitionException - if any.
    • transform

      TNGraph<CSTNEdge> transform()
      Returns the corresponding CSTN of the given CSTNU g. The transformation consists in replacing each contingent link with a pattern that use a proper new observation timepoint (associated to the contingent link).
       A ---(c:x, alpha) ---> C is transformed to A ---(x,alpha) ---> K? ---(0, alpha k) (y-x,alpha) ---> C
         <--- (C:-y, alpha)--                       <---(-x,alpha)--    <---(0,alpha) (x-y,alpha¬k)--
       
      Returns:
      g represented as a CSTN