- The robots should get to their targets infinitely often in every run.
- The robots should not collide with each other or the obstacles.
- The robots should move in steps of at most 1 in each direction, and only in one direction.
The simulation generates random goals for the robots and displays the robots movements provided by the controller. The simulation follows the environment assumptions :
- The goals locations are unique and don’t collide with an obstacle
- The goals only change when all robots reach their destinations
- Fixed goals variant- The robots goals are pre-defined and never change.
- Changing goals variant- Once all the robots reach their goals, the goals change.
- Unlabeled variant- All robots should reach some target, and once they do, the goals change.
- Limited fuel variant - each robot has limited number of steps it can make before all robots reach their pre-defined goals.
4 obstacles, 2 robots , 5X5 board:
4 obstacles, 3 robots, 4X4 board:
“Wall” of obstacles- Unrealizable scene (Robots can't reach their targets):
Insufficient fuel- Unrealizable scene (Robots can't reach their targets):
Comments: The project includes 2 main parts:
- Spectra specification- Spectra is a formal specification language for reactive systems which consists of logical constraints, guarantees and assumptions, which describe temporal relations between inputs and outputs. Given a Spectra specification, construct a reactive system implementation, if one exits, that ensures satisfaction of the specification for all computations.
- GUI (Java Swing).