Cookies Policy
The website need some cookies and similar means to function. If you permit us, we will use those means to collect data on your visits for aggregated statistics to improve our service. Find out More
Accept Reject
  • Menu
Research Opportunities
Apply now Final Selection Minute View Formal Call
Research Opportunities

Theory of Programming Languages

[Closed]

Work description

Hybrid systems combine continuous physical processes, such as temperature, time, and velocity, with discrete, event-based behaviours, such as assignments, conditionals, and state switching. Examples of such systems abound, and can be found in diverse critical domains. These include autonomous driving, modelling of biological systems, and medical and industrial engineering. It is therefore crucial that one can simulate their execution as effectively and precisely as possible. The simulation of hybrid systems, however, still harbours difficult challenges. A most prominent one arises from the ubiquitous use of floating-point arithmetic – it introduces errors and potentially leads to simulations that are completely different from the actual behaviour of the hybrid system at hand. Consequently the engineer may draw up wrong conclusions (e.g. the driving system is safe) which in turn can cause catastrophic failures. The overarching goal of this project is to simulate hybrid systems via exact real arithmetic instead. More specifically the idea is to assist in the implementation of a simulator of hybrid systems, by implementing libraries for exact real arithmetic, plotting, visualisation, and analysis of differential equations. We expect that the performance of such a simulator will be worse than the standard counterpart (i.e. via floating-point arithmetic), however in principle it will have much greater fidelity and this is of crucial importance in the critical domains mentioned above. The language for writing down hybrid systems will be based on a while-language with differential constructs for specifying how a physical process behaves. The justification for this choice is that the language is simple, yet powerful, and moreover has a well-established semantics which we can use as an implementation guide. The implementation will be based on the programming language Haskell, due to the latter’s laziness and higher-order features which is particularly useful in the context of exact real arithmetic.

Academic Qualifications

MSc student in computer science or related field.

Minimum profile required

- Experience with functional programming (Haskell) and hybrid systems;- B.Sc. completed with overall grade >= 16;- Current overall grade M.Sc. degree >= 16.

Preference factors

- Experience with functional programming (Haskell) and hybrid systems; - M.Sc. course with focus on the two topics that were previously mentioned; - High overall grade in the M.Sc. degree.

Application Period

Since 29 Nov 2024 to 12 Dec 2024

[Closed]

Centre

High-Assurance Software

Scientific Advisor

Renato Jorge Neves