SET-MRTS

SET-MRTS: Schedulability Experimental Tools for Multiprocessors Real Time Systems

Environment Building

Third party library dependency:

GMP library:
GMP is a free library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating-point numbers. There is no practical limit to the precision except the ones implied by the available memory in the machine GMP runs on. GMP has a rich set of functions, and the functions have a regular interface.
C++ surpport is needed.
https://gmplib.org/

MathGL library:
a library for making high-quality scientific graphics under Linux and Windows;
a library for the fast data plotting and data processing of large data arrays;
a library for working in window and console modes and for easy embedding into other programs;
a library with large and growing set of graphics.
http://mathgl.sourceforge.net/doc_en/Main.html

TinyXML-2:
TinyXML-2 is a simple, small, efficient, C++ XML parser that can be easily integrating into other programs.
http://www.grinninglizard.com/tinyxml2/index.html

GLPK library:
The GLPK (GNU Linear Programming Kit) package is intended for solving large-scale linear programming (LP), mixed integer programming (MIP), and other related problems. It is a set of routines written in ANSI C and organized in the form of a callable library.
http://www.gnu.org/software/glpk/

Compile

enter src and make.(C++ 11 is needed)

Configure

We use XML file to save the configurations.

  1. Using "parameter_name" to bound parameters;

  2. Using "data" to group the data for a test;

  3. The parameter content could be strings, int, double.
    example:

    WF-DM WF-DM WF-DM WF-DM 100 10 0.1 0 4 ......

Run

  1. Adjust the parameters in the config.xml in src;
  2. Execute the program;
  3. Check the numeric results and graph in results folder.

Supported Scheduling Test (including but not limited to)

Global Scheduling

RTA for global fixed priority(GFP)
RTA for GFP under FMLP (Linear Programming)
RTA for GFP under PIP (Linear Programming)

Partitioned Scheduling

RTA for partitioned fixed priority(PFP)
RTA for worst-fit PFP
RTA for first-fit PFP
RTA for worst-fit spinlock PFP
RTA for worst-fit semapore PFP
RTA for PFP of Greedy Slack
RTA for Resource-Oriented Partitioned Scheduling
RTA for worst-fit spinlock PFP (Linear Programming)
RTA for worst-fit DPCP PFP (Linear Programming)
RTA for worst-fit MPCP PFP (Linear Programming)