Utilisation of the EUROPA Scheduler/Planner.

Author:Shridhar Mishra

Change Record

  • Created on 27 May 2015.
  • Added layers involved in europa on 29 June 2015



The main aim of this project will be making a Astronaut’s Digital Assistant which will take into account all the constraints and rules that has been defined and plot a plan of action. It will also schedule all the tasks for the astronaut such that job of the astronaut becomes easy.



Reference Documents


Command, Control, Communication
European MaRs Analogue Station for Advanced Technologies Integration
Italian Mars Society
Virtual European Mars Analog Station
Virtual Reality


Architectural Requirements

Linux box connected to Tango bus, which in turn would be connected to all the sensors and other devices.

Non-functional requirements

  • High speed secure network.

Use Case View (functional requirements)

It will be used for scheduling and planning of TREVOR using Pyeuropa.

Hardware Interfaces

  • Linux box with ubuntu 14.10.
  • Temperature sensors for astronauts.
  • Other relevant sensors monitor health stats of astronaut.

Software Interfaces

  • Europa
  • PyEuropa.
  • Pytango.
  • JDK– sudo apt-get install openjdk-7-jdk
  • ANT– sudo apt-get install ant
  • Python – sudo apt-get install python
  • subversion– sudo apt-get install subversion
  • wget – sudo apt-get install wget
  • SWIG sudo apt-get install swig
  • libantlr3c.

Communication Interfaces

All the necessary data for the planning and estimation will be collected from a tango bus. All the devices shall be connected to a single tango bus, hence data can be collected and used effectively.

Performance Requirements

The band width should be high enough to support real time data accusation for processing of the data and coming up with a plan.


  • The Utils module provides common C++ utility classes for error checking, smart pointers etc. It also includes a very useful debugging utility.Many common programming practices in EUROPA development are built on assets in this module.
  • The Constraint Engine is the nexus for consistency management. It provides a general-purpose component-based architecture for handling dynamic constraint networks. It deals in variables and constraints. It includes an open propagation architecture making it straightforward to integrate specialized forms of local and global constraint propagation.
  • The Plan Database adds higher levels of abstractions for tokens and objects and the interactions between them. This is the code embodiment of the EUROPA planning paradigm. It supports all services for creation, deletion, modification and inspection of partial plans. It maintains the dynamic constraint network underlying a partial plan by delegation to the Constraint Engine and leverages that propagation infrastructure to maintain relationships between tokens and objects.
  • The Solvers module provides abstractions to support search in line with the EUROPA planning approach. It includes a component-based architecture for Flaw Identification, Resolution and heuristics as well as an algorithm for chronological backtracking search. As additional search algorithms are implemented they will be added to this module.
  • The Rules Engine module provides the inference capabilities based on domain rules described in the model. It is almost exclusively used to execute NDDL rules but can be extended for custom rule formats.
  • The Resources module provides specialized algorithms and data structures to support metric resources (e.g. battery, power bus, disk drive).
  • The Temporal Network module provides specialized algorithms and data structures to support efficient propagation of temporal constraints.
  • The NDDL module provides a parser and compiler for NDDL (pronounced noodle) which is a very high-level, object-oriented, declarative domain and problem description language. This module defines the mapping from the language to the code and consequently interfaces to a number of key modules in the system.
  • PlanWorks is a java application for visualization and debugging of plans and planning. It is loosely coupled to the other EUROPA modules through a JNI interface.


  • Linux box running core Europa.
  • Sensors collecting real time data.
  • Tango bus up and running.


  • Setup working copy of Europa on all the systems.