|
ABSTRACT
We present ReactiveML, a programming language dedicated to the implementation of complex reactive systems as found in graphical user interfaces, video games or simulation problems. The language is based on the reactive model introduced by Boussinot. This model combines the so-called synchronous model found in Esterel which provides instantaneous communication and parallel composition with classical features found in asynchronous models like dynamic creation of processes.The language comes as a conservative extension of an existing call-by-value ML language and it provides additional constructs for describing the temporal part of a system. The language receives a behavioral semantics á la Esterel and a transition semantics describing precisely the interaction between ML values and reactive constructs. It is statically typed through a Milner type inference system and programs are compiled into regular ML programs. The language has been used for programming several complex simulation problems (e.g., routing protocols in mobile ad-hoc networks).
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
R. Acosta-Bermejo. Reactive operating system, reactive java objects. In NOTERE'2000, Paris, November 2000. ENST.
|
| |
2
|
R. Acosta-Bermejo. Rejo Langage d'Objets Réactifs et d'Agents. PhD thesis, Ecole des Mines de Paris, 2003.
|
| |
3
|
F. Benbadis, M. Dias de Amorim, and S. Fdida. ELIP: Embedded location information protocol. In IFIP Networking 2005 Conference, 2005.
|
| |
4
|
A. Benveniste, P. Caspi, S. Edwards, N. Halbwachs, P. Le Guernic, and R. de Simone. The Synchronous Languages Twelve Years Later. Proceedings of the IEEE, 2003.
|
| |
5
|
G. Berry. The constructive semantics of esterel, 1998.
|
| |
6
|
G. Boudol. ULM a core programming model for global computing. In Proceedings of the European Symposium on Programming, 2004.
|
| |
7
|
|
| |
8
|
F. Boussinot. Concurrent programming with Fair Threads: The LOFT language, 2003.
|
| |
9
|
F. Boussinot. FairThreads: mixing cooperative and preemptive threads in C. Research report 5039, INRIA, 2003.
|
| |
10
|
F. Boussinot. Reactive programming of cellular automata. Technical Report 5183, INRIA, 2004.
|
| |
11
|
|
| |
12
|
|
 |
13
|
|
 |
14
|
|
| |
15
|
N. Halbwachs, P. Raymond, and C. Ratel. Generating efficient code from data-flow programs. In Third International Symposium on Programming Language Implementation and Logic Programming, Passau (Germany), August 1991.
|
| |
16
|
L. Hazard, J-F. Susini, and F. Boussinot. The Junior reactive kernel. Research report 3732, INRIA, 1999.
|
| |
17
|
E. Jahier, P. Raymond, and P. Baufreton. Case studies with Lurette V2. In Proceedings of the First International Symposium on Leveraging Applications of Formal Method, 2004.
|
| |
18
|
G. Kahn. The semantics of a simple language for parallel programming. In IFIP 74 Congress. North Holland, Amsterdam, 1974.
|
| |
19
|
X. Leroy. The Objective Caml system release 3.08. Documentation and user's manual. INRIA, 2004.
|
| |
20
|
L. Mandel and F. Benbadis. Simulation of Mobile Ad hoc Network Protocols in ReactiveML. In Synchronous Languages, Applications, and Programming, Edinburgh, Scotland, April 2005. ENTCS.
|
| |
21
|
L. Mandel and M. Pouzet. ReactiveML, a reactive extension to ML (extended version). http://www-spi.lip6.fr/~mandel/rml.
|
| |
22
|
R. Milner. A theory of type polymorphism in programming. Journal of Computer and System Science, 17:348--375, 1978.
|
| |
23
|
|
| |
24
|
Network in A Box. http://nab.epfl.ch/.
|
| |
25
|
|
| |
26
|
|
| |
27
|
|
 |
28
|
|
 |
29
|
|
|