Abstract
We propose a programming model to address the unreliable character of accessing resources in a global computing context, focusing on giving a precise semantics for a small, yet expressive core language. To design the language, we use ideas and programming constructs from the synchronous programming style, that allow us to deal with the suspensive character of some operations, and to program reactive behaviour. We also introduce constructs for programming mobile agents, that move together with their state, which consists of a control stack and a store. This makes the access to references also potentially suspensive.
ULM is the acronym for the french words “\(\mathcal{U}\) n Langage pour la \(\mathcal{M}\) obilit’e”. Work partially supported by the MIKADO project of the IST-FET Global Computing Initiative, and the CRISS project of the ACI Sécurité Informatique.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Acharya, A., Ranganathan, M., Saltz, J.: Sumatra: a language for resourceaware mobile programs. In: [20], pp. 111–130 (1997)
Benveniste, A., Caspi, P., Edwards, S.A., Halbwachs, N., Le Guernic, P., de Simone, R.: The synchronous languages twelve years later. Proc. of the IEEE, Special Issue on the Modeling and Design of Embedded Software 91(1), 64–83 (2003)
Berry, G., Gonthier, G.: The ESTEREL synchronous programming language: design, semantics, implementation. Sci. of Comput. Programming 19, 87–152 (1992)
Boudol, G.: ULM, A core programming model for global computing, available from the author’s web page (2003)
Boussinot, F.: La Programmation Réactive – Application aux Systèmes Communicants, Masson, Coll. Technique et Scientifique des Télécommunications (1996)
Boussinot, F., de Simone, R.: The SL synchronous language. IEEE Trans. on Software Engineering 22(4), 256–266 (1996)
Cardelli, L.: A language with distributed scope. Computing Systems 8(1), 27–59 (1995)
Cardelli, L.: Global computation. ACM SIGPLAN Notices 32(1), 66–68 (1997)
Cardelli, L.: Wide area computation. In: Wiedermann, J., Van Emde Boas, P., Nielsen, M. (eds.) ICALP 1999. LNCS, vol. 1644, pp. 10–24. Springer, Heidelberg (1999)
Cardelli, L., Dawies, R.: Service combinators for web computing. IEEE Trans. on Software Engineering 25(3), 303–316 (1999)
De Nicola, R., Ferrari, G., Pugliese, R.: KLAIM: a kernel langage for agents interaction and mobility. IEEE Trans. on Software Engineering 24(5), 315–330 (1998)
Fournet, C., Le Fessant, F., Maranget, L., Schmitt, A.: JoCaml: a language for concurrent, distributed and mobile programming. In: Jeuring, J., Jones, S.L.P. (eds.) AFP 2002. LNCS, vol. 2638, pp. 129–158. Springer, Heidelberg (2003)
Fuggetta, A., Picco, G.P., Vigna, G.: Understanding code mobility. IEEE Trans. on Software Engineering 24(5), 342–361 (1998)
Halbwachs, N.: Synchronous Programming of Reactive Systems. Kluwer, Dordrecht (1993)
The IST-FET Global Computing Initiative (2001), http://www.cordis.lu/ist/fet/gc.htm
Picco, G.P., Murphy, A.L., Roman, G.-C.: LIME: Linda meets mobility. In: ACM Intern. Conf. on Software Engineering, pp. 368–377 (1999)
Sewell, P., Wojciechowski, P.: Nomadic Pict: language and infrastructure design for mobile agents. IEEE Concurrency 8(2), 42–52 (2000)
Sun Microsystems, JavaSpaces Service Specification (2000), http://www.sun.com/jini/specs
Thorn, T.: Programming languages for mobile code. ACM Computing Surveys 29(3), 213–239 (1997)
Tschudin, C.F., Vitek, J. (eds.): MOS 1996. LNCS, vol. 1222. Springer, Heidelberg (1997)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Boudol, G. (2004). ULM: A Core Programming Model for Global Computing. In: Schmidt, D. (eds) Programming Languages and Systems. ESOP 2004. Lecture Notes in Computer Science, vol 2986. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24725-8_17
Download citation
DOI: https://doi.org/10.1007/978-3-540-24725-8_17
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-21313-0
Online ISBN: 978-3-540-24725-8
eBook Packages: Springer Book Archive