15/Feb/2017

New release of MaRTE OS : Adaptated to GNAT-GPL-2016 (64bits host (...)

21/Aug/2014

New tool for MaRTE OS : emulator for the AFDX real-time network . (...)

21/Aug/2014

New release of MaRTE OS : Adapted to GNAT-GPL-2014 (...)
Download MaRTE OS!!

Finished Projects

This is a list of projects that have been implemented using MaRTE OS. If you are interested in getting more information (documentation, source code, help..) about one of them please send an e-mail to the corresponding contact address. Note: If you have made a project with MaRTE OS and would like to appear in this section, please send us an e-mail as well.

MaRTE OS port to ARM architecture - Jul 2014 (UCrea Open Repository)

Porting of MaRTE OS to the ARM architecture, in particular to the Raspberry Pi 1 platform.

Contact: David García Villaescusa and Mario Aldea Rivas.

Games for MaRTE OS (read more...)

Some example games you can run on MaRTE OS, including gameplay videos, screenshots, source code and/or binaries.

Available games: Ray Caster Adventures, Etherchess, MaRTEnoid, MaRTrix, Game of Life, Image tools

Contact: Álvaro García Cuesta.

Porting FRESCOR Distributed Transaction Manager to a distribution standard model (University of Cantabria)

DTM is a distributed application that allows the user to negotiate every contract (i.e a resource reservation) within a distributed transaction but with scheduling information provided by remote entities involved in the transaction. Nowadays DTM directly uses the network for communication purposes (message passing paradigm). Porting it to a distribution standard model (like RT-CORBA or DSA) over a distribution middleware (PolyORB) will manage communication issues in a transparent way and will take advantage of interoperability issues.

Contact: Hector Perez Tijero.

SPI driver (University of Cantabria)

Driver for the Serial Peripheral Interface Bus or SPI

Contact: Mónica Puig-Pey González.

Implementation of the new Ada 2012 features on MaRTE OS (University of Cantabria and AdaCore)

We are adding support for the latest services required in the new standard for the Ada language.

Contact: Mario Aldea Rivas.

FRESLAX (University of Cantabria and FRESCOR)

Live-USB-CD for the dissemination of the FRESCOR framework. This work has been funded by the European FRESCOR project

Contact: Daniel Sangorrin.

CASEVA II (University of Cantabria and ENSA)

A new collaboration with ENSA for the development of a robotics system for nuclear equipment. The robot is intented for automated control of especial weldings with artificial vision on the heads of nuclear vessels

Contact: Sergio Martin Calvo.

MaRTE OS with PolyORB CORBA, DSA and FRESCOR (University of Cantabria, THREAD project)

This suite provides a complete distributed real time environment, including not only processing nodes but also network resources as part of a RT system. Taking advantage of PolyORB modularity, this middleware has been extended in order to support the following facilities:

Such facilities can be configured to be used with both DSA and CORBA distribution standards provided with PolyORB.

Download the following related files:

Contact: Hector Perez Tijero.

Implementation of a CPU reservation layer (University of Cantabria, FRESCOR project)

A contract-based framework to negotiate CPU reservations for real-time applications has been developed. This work has been funded by the European FRESCOR project

Contact: Miguel Telleria de Esteban.

FRESCAN: FREScor on CAN (University of Cantabria, FRESCOR project)

This is a new hard-real time protocol over CAN bus that supports analyzable task to task communications using fixed priorities and network sporadic servers. It also provides an infrastructure to negotiate bandwith reservation contracts. This work has been funded by the European FRESCOR project.

Contact: Daniel Sangorrin.

Distributed Transaction Manager (University of Cantabria, FRESCOR project)

This is a new distributed application that allows the user to explicit in a set of contracts a transaction timing requirements and negotiate them. For example, suppose you want to have a system with N nodes, with several threads in each node and sending messages among them. To know if your system is schedulable you just have to say which are the requirements (budget, period, deadline..) of each of those elements (cpu threads and network messages) and negotiate the transactions that may occur among them. This work is funded by the European FRESCOR project.

Contact: Daniel Sangorrin and Michael Gonzalez Harbour.

Porting PolyORB to a real-time environment (University of Cantabria, THREAD project)

A port of the PolyORB distribution middleware to MaRTE OS with RT-EP has been developed.

Download the following related files:

Contact: Hector Perez Tijero.

MaRTE OS integration with the AdaCore GNAT compiler (University of Cantabria and AdaCore)

MaRTE OS has been integrated with the AdaCore GNAT compiler to substitute the RTS-FSU runtime (discontinued) as the runtime for the Linux Operating System. In the future it will run also on x86 bare machine.

Contact: Mario Aldea Rivas.

Bandwith reservation on a Real-Time Ethernet Protocol (University of Cantabria, FRESCOR project)

Support for on-line contract-based reservation techniques in the Real-Time Network protocol RT-EP.

Contact: Daniel Sangorrin Lopez.

Hard Real-Time Control of a mobile robot based on MaRTE OS (University of Zaragoza)

The main goal of this project was the deployment of a hard real-time system in a mobile robot Pioneer 3-AT using MaRTE OS. In the project several drivers are developed including drivers to control a Novatel GPS, a laser SICKLMS and a client with the P2OS operating system. Finally, a real-time wireless protocol, RT-WMP, is used on top of the rt61 and yenta driver to communicate the robots.

Authors: Francisco Feijoo, Jose Luis Villarroel and Danilo Tardioli.

Graphical Interface Library for Embedded Control Systems. Case study: teleoperated arm (University of Cantabria)

A project by Ángel Muñoz Cantera. This library is mainly aimed at representing, graphically, interactive control panels for systems such as industrial robot controllers without needing to make use of electromechanical panels. The project is composed of the following parts:

Download Ángel's project material (in Spanish):

Management of devices for digital and analog input/output, and through the I2C serial bus (University of Cantabria)

This is the result of Daniel Sangorrín's Master Degree Project. It is based on the previous drivers framework project. Daniel configured MaRTE OS to boot from a CompactFlash and from PXE protocol, and developed drivers for a DAQ Card (PCM-3718-H), a compass module (CMPS03) and a subsystem for controlling the I2C serial bus. The following files are distributed through GNU/GPL and GNU/FDL licenses:

Contact: Daniel Sangorrin Lopez.

Real-Time Control System based on image processing (University of Cantabria)

This project is composed of two sub-projects. Check out the results in this video and this picture.

Graphical SVGA library (University of Cantabria)

In this project (download slides in spanish) we have ported a graphics library to MaRTE OS. The chosen library has been the SVGAlib (a low-level graphics library for Linux) distributed under the GNU Public License.

Our library is included in the current versions of MaRTE OS and provides functions to:

Contact: José Luis Mantecón or Mario Aldea Rivas .

Industrial Robot Controllers (University of Cantabria)

We have developed distributed robot controllers for radioactive environments using MaRTE OS and RT-EP as the communication protocol. Our application involves a 6 degrees of freedom "PUMA" robot arm and three PCs (one of then embedded in the pendant).

Contact: Michael González Harbour or Mario Aldea Rivas

Port of jRate to MaRTE OS (running in a barebone machine) (University of York)

Here you can find more information about the port of jRate to run in MaRTE OS in a barebone machine.

Local copy:

Contact: Osmar Marchi dos Santos.

Implementation of RT-GLADE (Real-Time Glade) in MaRTE OS (University of Cantabria)

RT-GLADE is a modification of GLADE, the current GNAT implementation of the Ada 95 Distributed Systems Annex (DSA), to support the development of distributed applications with real-time requirements. RT-GLADE is specially suitable for embedded applications composed of a small number of heterogeneous processors and communication networks because it ensures predictable timing behaviour. A real-time model of the implementation allows the application developer to determine and optimize the overall timing behaviour by applying the corresponding schedulability analysis and priority assignment techniques.

RT-GLADE for MaRTE OS 1.42a and gnat3.15p

Contact: Juan López Campos or J. Javier Gutiérrez García.

RT-EP (Real-Time Ethernet Protocol) (University of Cantabria)

A Hard Real-Time network protocol for Ethernet networks that controls the access to the media by using fixed priorities. It does not require any modification to existing Ethernet hardware. Because the protocol is based on fixed priorities, applications using it can be easily modeled using common techniques for fixed priority systems, and well-known schedulability analysis techniques can be applied. For more information read the related documentation available in documentation section. RT-EP is distributed with the current versions of MaRTE OS.

Contact: José María Martínez or Daniel Sangorrin Lopez or Mario Aldea Rivas

MaRTE OS time evaluation (University of Malaga)

This proyect perform a time analysis of the Real Time kernel, MaRTE OS. It contains information about the most outstanding measures used into the task schedulability analysis

Download the following related files:

Contact: Daniel Perez.

MaRTE OS Port to the MC68332 microcontroller (University of Cantabria)

A proof of concept port to the MC68332 microcontroller has been done. A robot with that microcontroller, the Soccer EyeBot was used. You can see the robot moving with MaRTE OS inside (AVI 4.6 MB). Master Degree Project: "Migración de un Sistema Operativo de Tiempo Real, MaRTE OS, a un Microcontrolador". Alberto Gutiérrez Castro (2003). Download PDF (in Spanish). Download presentation slides (PPT in Spanish).

Contact: Alberto Gutiérrez Castro or Mario Aldea Rivas

POSIX Trace (Universidad Politécnica de Valencia, Departamento de Sistemas Informáticos y Computación)

Implementation in MaRTE OS of the POSIX Trace standard (1003.1q). Probably this is one of the first implementations of this standard (approved in 2000). There is no Ada-binding for it yet, and therefore an Ada interface has been designed following the same guidelines that were used for the POSIX Ada binding (1003.5c).

POSIX Trace patch (Tested on MaRTE OS v0.86)

Contact: Agustín Espinosa or Mario Aldea Rivas.

Laboratory of real-time POSIX programming. (Several Univeristys)

MaRTE OS as been used to teach real-time POSIX programming in several Universitys.

In the University of Cantbaria a multi-purpose lab by 16 PCs running Linux is transformed (in an inexpensive and straightforward way) in a real-time POSIX programming lab with 8 Host-Target pairs. MaRTE OS is installed in a server computer, being available  to every Host PC in the lab by NFS. In this lab students can experiment with a real-time POSIX operating system in a cross-development environment. Contact: Mario Aldea Rivas

In the Polytechnical University of Madrid the subject "Sistemas de tiempo real" (Real Time Systems) includes some experiences in the laboratory to introduce students in the basics of real-time programming. In one of then, students develop a control application for a four degrees of freedom robot arm using Ada 95 and MaRTE OS. They must move the robot from a random position to a predetermined initial position and, from this location, go to pick and object and place it in a different point. You can see a video of the robot moving (WMV, 6Mb). Contact: José A. Pulido.

In the University of Vigo there was implemented a laboratory with 10 Host-Target pairs used to introduce students in the basics of real-time POSIX programming: threads management, scheduling policies and thread synchronization using mutexes and condition variables.

In the University of Northern Iowa, Department of Computer Science, MaRTE OS was used in a Real-Time Embedded Systems Laboratory based on a Model Railroad. MaRTE OS was used for writing the railroad control software. It exists a working prototype, with software support for up to 3 trains, and collision-avoidance. The system has a text-to-speech synthesizer, and allows for variable voltage control and pulse-width-modulation for controlling the train speed through up to 8 "cabs." The system also uses custom-made hand-controllers, through the use of digital-to-analog (DAC) and analog-to-digital (ADC) boards. The system uses magnetic sensors at the end of each "block" of track to detect when a train enters/leaves a specific block. For more information read a paper with a complete description of the railroad project and visit the website with pictures of the railroad.

Implementation of CPU-time delays in Gnat (Universidad de Las Palmas de Gran Canaria and Universidad de Cantabria)

The objective of this project is to modify the Gnat Run-Time for MaRTE OS to incorporate the use of CPU-clocks in the Ada syntax. It will be done by defining a new time type that can be used in the standard delay and delay until Ada statements.  The lower layer of the Gnat Run-Time will be modify as well to interact with the POSIX CPU-Time clocks and timers implemented in MaRTE OS.

Contact: Javier Miranda or Michael González Harbour or Mario Aldea Rivas.

Inverted Pendulum Controller and Simulator (University of Cantabria)

Controller and simulator for an inverted pendulum using two computers running MaRTE OS: the "Controller" where the control algorithm was executed and the "Simulator" which executes an application that implements the mathematical model for the inverted pendulum system. Communication between both machines was performed in a realistic way using A/D D/A cards (so a driver for this card was written as well).

Master Degree Project: "Estudio Diseño y Desarrollo de una Aplicación de Tiempo Real y de un Simulador para su Comprobación: Péndulo Invertido". Ruben Miguelez Garcia (2002). Download PDF (in Spanish). Download presentation slides (PPT in Spanish).

Drivers framework (University of Cantabria)

The result of this project is the MaRTE OS drivers framework. Master Degree Project: "Entorno para la Programación e Instalación de Manejadores de Dispositivos en MaRTE OS". Fancisco Guerreira Payo. Download pdf in Spanish.

Robocup (University of York)

Preparing a team for the robot 5-a-side football championship. Each robot has an embedded Pentium 233MHz PCs running MaRTE OS. For more information visit http://www.cs.york.ac.uk/robocup.

Control of Railway Scale Model with GNAT and MaRTE OS (University of Applied Science HES-SO, School of Engineering of Geneva)

Railway simulators and real railway scale models are used by students in their lab works on concurrent and real-time programming with Ada. A new implementation of our existing base packages was realised with GNAT and MaRTE OS.

Graphical installer for MaRTE OS (Universidad Politécnica de Valencia)

Alternative installation tool based in a graphical environment similar to the Linux kernel configurator. This tool also provides an alternative (and graphic) way of changing MaRTE OS kernel parameters (instead of direct editing of file 'configuration_parameters.ads' as described in the MaRTE OS User's Guide). Just copy the tar file in marte/ directory, "untar" it (tar xvf mgraphic_installer.1.4.tar) and run it (make xconfig or make menuconfig). Thanks to Miguel Masmano Tello (Universidad Politécnica de Valencia) for this graphical installer. (Tested on MaRTE OS v1.4).

mgraphic_installer.1.4.tgz