11th edition of CASH reading group will be on
December 18th at 14:00
Salle 316
Program:
- Amaury: Asyncio
11th edition of CASH reading group will be on
December 18th at 14:00
Salle 316
Program:
10th edition of CASH reading group will be on
December 4th at 14:00
Salle 316
Program:
Marten Lohstroh, Edward A. Lee
Main advisor: Ludovic Henrio
Co-advisors: Matthieu Moy and Christophe Alias
Context:
A future is a place-holder for a value being computed, and we generally say that a future is resolved when the associated value is computed. In existing languages futures are either implicit, if there is no syntactic or typing distinction between futures and non-future values, or explicit when futures are typed by a parametric type and dedicated functions exist for manipulating futures. We defined in [1] a new form of future, named data-flow explicit futures, with specific typing rules that do not use classical parametric types. The new futures allow at the same time code reuse and the possibility for recursive functions to return futures like with implicit futures, and let the programmer declare which values are futures and where synchronisation occurs, like with explicit futures. We prove that the obtained programming model is as expressive as implicit futures but exhibits a different behaviour compared to explicit futures.
Actors and active object languages [2,3,4] are based on asynchronous communications between mono-threaded entities and massively use futures to represent replies to asynchronous messages. We illustrate our proposal on a active object languages but the approach is generalisable to other languages using futures.
Objectives:
The research report [1] describes a type system and a semantics for dataflow explicit futures, the first objective is to provide an implementation for them:
From this point, several independent directions can be envisioned:
The internship subject is quite flexible and can focus either on theoretical aspects or implementation and software engineering contributions. Depending on the orientation of the internship, the initial implementation phase could be realised more or less thoroughly before considering the next steps.
References:
[1] “Data-flow Explicit Futures” — Ludovic Henrio.
https://hal.archives-ouvertes.fr/hal-01758734
[2] The Abstract Behavioral Specification Language: A Tutorial Introduction. Reiner Hähnle. FMCO 2012.
[3] http://docs.abs-models.org/
[4] https://team.inria.fr/scale/software/proactive/