edu.wis.jtlv.old_lib.games
Class GR1Game

java.lang.Object
  extended by edu.wis.jtlv.old_lib.games.GR1Game
All Implemented Interfaces:
Game, TwoPlayersGame

public class GR1Game
extends java.lang.Object
implements TwoPlayersGame

Nir Piterman, Amir Pnueli, and Yaniv Sa’ar. Synthesis of Reactive(1) Designs. In VMCAI, pages 364–380, Charleston, SC, Jenuary 2006.

To execute, create an object with two Modules, one for the system and the other for the environment, and then just extract the strategy through printWinningStrategy().

Version:
"1.3.2"
Author:
yaniv sa'ar.

Field Summary
 BDD[][][] x_mem
           
 BDD[][] y_mem
           
 BDD[] z_mem
           
 
Constructor Summary
GR1Game(ModuleWithWeakFairness env, ModuleWithWeakFairness sys)
           
 
Method Summary
 void calculate_strategy(int kind)
           Extracting an implementation from the set of possible strategies with the given priority to the next step.
 BDD envWinningStates()
           Getter for the system's winning states.
 BDD firstPlayersWinningStates()
           
 BDD gameInitials()
           
 ModuleWithWeakFairness getEnvPlayer()
           Getter for the environment player.
 ModuleWithWeakFairness getSysPlayer()
           Getter for the system player.
 BDD[] playersWinningStates()
           
 void printWinningStrategy()
           Extracting an arbitrary implementation from the set of possible strategies.
 BDD secondPlayersWinningStates()
           
 BDD sysWinningStates()
           Getter for the environment's winning states.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

x_mem

public BDD[][][] x_mem

y_mem

public BDD[][] y_mem

z_mem

public BDD[] z_mem
Constructor Detail

GR1Game

public GR1Game(ModuleWithWeakFairness env,
               ModuleWithWeakFairness sys)
        throws GameException
Throws:
GameException
Method Detail

printWinningStrategy

public void printWinningStrategy()

Extracting an arbitrary implementation from the set of possible strategies.

Specified by:
printWinningStrategy in interface Game

calculate_strategy

public void calculate_strategy(int kind)

Extracting an implementation from the set of possible strategies with the given priority to the next step.

Possible priorities are:
3 - Z Y X.
7 - Z X Y.
11 - Y Z X.
15 - Y X Z.
19 - X Z Y.
23 - X Y Z.

Parameters:
kind - The priority kind.

getEnvPlayer

public ModuleWithWeakFairness getEnvPlayer()

Getter for the environment player.

Returns:
The environment player.

getSysPlayer

public ModuleWithWeakFairness getSysPlayer()

Getter for the system player.

Returns:
The system player.

sysWinningStates

public BDD sysWinningStates()

Getter for the environment's winning states.

Returns:
The environment's winning states.

envWinningStates

public BDD envWinningStates()

Getter for the system's winning states.

Returns:
The system's winning states.

gameInitials

public BDD gameInitials()
Specified by:
gameInitials in interface Game

playersWinningStates

public BDD[] playersWinningStates()
Specified by:
playersWinningStates in interface Game

firstPlayersWinningStates

public BDD firstPlayersWinningStates()
Specified by:
firstPlayersWinningStates in interface TwoPlayersGame

secondPlayersWinningStates

public BDD secondPlayersWinningStates()
Specified by:
secondPlayersWinningStates in interface TwoPlayersGame