PartiCore is a tool for partitioning parallel real-time applications on a set of reservations available on a multi-core platform. It consists of a C++ library and a GUI-based tool.

A real-time application is modeled as a set of tasks with given precedence constraints, specified as a Directed Acyclic Graph (DAG). The application is sporadic, meaning that it is cyclically activated with a minimum inter-arrival time T and must complete within a given relative deadline D, which can be less than or equal to T.

Using PartiCore, the application is partitioned into flows, each allocated on a virtual processor that is an abstraction of a sequential machine achieved through a resource reservation mechanism.

Getting Started

Download the PartiCore package and unpack it. The whole package contains:

  • the PartiCore library in C++, together with several examples and a group of unit tests
  • the GUI-based tool
Follow the Quick Guide (also contained in the package) to find out the basic usage of PartiCore.

GUI-based Tool

The GUI-based tool of PartiCore is a browser/server-based web application that helps the user build, modify, analyze an application and its partition. Most of its functions could be achieved using only the HTML/Javascript files on the client side. To use more complex functions like Branch-and-Bound Search or Heuristic Partition, a CGI server must be started, in either of the two ways:

  • Using Python: for operating systems having Python installed. This is the standard way to follow in Linux or Mac OS, where python are preinstalled.
  • Using Windows executable: for a window user that does not have Python installed in the system.

Online Version

The online version is a good start point to check what PartiCore is capable of using only your browser. However, due to limited resource of our server, this online version has the following limitation:

  • Branch & Bound search: the application should contain no more than 9 tasks
  • Heuristics: the application should contain no more than 50 tasks


PartiCore has been developed at Retis Lab of the Scuola Superiore Sant'Anna. It has been partially supported by the European project ACTORS.

For bug report, support, or suggestions, please contact Yifan Wu, Giorgio Buttazzo.