mos's PhD

As a support for my thesis proposals, an extension of programming language Eiffel - named MP-Eiffel (MultiProcessor-Eiffel) - was devised and a prototype compiler was developed. This language is characterized by the following features:
The following example sequential code (of several working processors [threads] that sequentially draw different signals):

Is easily transformed to a concurrent program (in which all signal drawing takes place concurrently):

Please note that in red are the only changes the programmer was required to do!
A sequential class (RESULT_DATA), is immediately reusable as a shared object (all is required is a proper shared type annotation). 

Miguel Oliveira e Silva, «Metodologias e Mecanismos para Linguagens de Programação Concorrente Orientadas por Objectos» (Methodologies and Mechanisms for Concurrent Object-Oriented Languages), Ph.D thesis, University of Aveiro, Portugal, 2007. [PDF]

MP-Eiffel prototype compiler (version alpha0): To install is enough (in Linux) to copy to following five files to a new directory and execute the command (it is necessary that csh, X11 and Curses  libraries are installed in Linux).  Note that this compiler was made only as a proof of concept for my PhD's proposals, so it is still in a very preliminary (and crude) state (hence its alpha0 status).
lockfree-testing.tgz: This package contains the tests (always in Linux) done towards automatic realization of lock-free synchronization schemes of shared objects.
Thread-safe SmallEiffel