R1 Concurrent System


Objective

Create a programming system to support real-time control applications. The aim is to facilitate the writing of multi-task programs. The main use of this system is for control the experimental robots.

The proposed programming system consisted of a compiler which compile a source language into intermediate codes which will be executed on the target machine by an interpreter. The source language is a new programming language (named R1) that provides concurrency control and protection of shared resources including real-time facilities such as clock, time-out etc. The intermediate code is an architectural neutral byte code aims to be portable and reasonably efficient across many platforms. The interpreter is an abstract machine which execute the byte code, providing the multi-task environment for the target machine.

Design goal

The aim of this language is for it to be a small, simple, and practical language for programming an embedded application. The scope of the language is not ambitious because the emphasise of this research is more towards the run-time environment aspect of the language. The design decision is based on providing the minimum necessary function for multi-tasking, protection of shared resources, interprocess communication and real-time facilities. R1 has a minimum set of features to satisfy all these requirements.

A short summary of the language
Formal Syntax
Examples of R1 programs
Intermediate Code specifications
Download programs
Final Report (pdf)

Acknowledgement

This project is funded by the Engineering Research Fund, Faculty of Engineering, Chulalongkorn University, research project number 132-MRD-2537 and Small Software Project, National Electronics and Computer Technology Center, Thailand.


email : Prabhas Chongstitvatana (Project Investigator)