Abstract
We describe the architecture and the implementation of the Mikado software framework, that we call IMC (Implementing Mobile Calculi). The framework aims at providing the programmer with primitives to design and implement run-time systems for distributed process calculi. The paper describes the four main components of abstract machines for mobile calculi (node topology, naming and binding, communication protocols and mobility) that have been implemented as Java packages. The paper also contains the description of a prototype implementation of a run-time system for the Distributed Pi-Calculus relying on the presented framework.
This work has been funded by EU-FET on Global Computing, project Mikado IST-2001-32222. The funding body is not responsible for any use that might be made of the results presented here.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Acharya, A., Ranganathan, M., Saltz, J.: Sumatra: A Language for Resource-aware Mobile Programs. In: Vitek, Tschudin (eds.) [35], pp. 111–130
Bettini, L.: Linguistic Constructs for Object-Oriented Mobile Code Programming & their Implementations. PhD thesis, Dip.di Matematica, Università di Siena (2003), Available at: http://music.dsi.unifi.it
Bettini, L., Boreale, M., De Nicola, R., Lacoste, M., Vasconcelos, V.: Analysis of Distribution Structures: State of the Art. MIKADO Global Computing Project Deliverable D3.1.1 (2002)
Bettini, L., De Nicola, R., Pugliese, R.: X-Klaim and Klava: Programming Mobile Code. In: Lenisa, M., Miculan, M. (eds.) TOSCA 2001. ENTCS, vol. 62. Elsevier, Amsterdam (2001)
Bettini, L., De Nicola, R., Pugliese, R.: Klava: a Java Package for Distributed and Mobile Applications. Software - Practice and Experience 32(14), 1365–1394 (2002)
Boudol, G., Castellani, I., Germain, F., Lacoste, M.: Models of Distribution and Mobility: State of the Art. MIKADO Global Computing Project Deliverable D1.1.1 (2002)
Cabri, G., Leonardi, L., Zambonelli, F.: Reactive Tuple Spaces for Mobile Agent Coordination. In: Rothermel, K., Hohl, F. (eds.) MA 1998. LNCS, vol. 1477, pp. 237–248. Springer, Heidelberg (1998)
Ciancarini, P., Rossi, D.: Jada - Coordination and Communication for Java Agents. In: Vitek, Tschudin (eds.) [35], pp. 213–228
Cugola, G., Ghezzi, C., Picco, G., Vigna, G.: Analyzing Mobile Code Languages. In: Vitek, Tschudin (eds.) [35]
Dumant, B., Horn, F., Dang Tran, F., Stefani, J.-B.: Jonathan: an Open Distributed Processing Environment in Java. In: Proceedings MIDDLEWARE 1998 (1998)
ExoLab Group. The OpenORB project (2002), Software available for download at: http://openorb.exolab.org/
Fournet, C., Maranget, L.: The Join-Calculus Language (1997), Software and documentation available from: http://join.inria.fr/
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)
Harrison, C., Chess, D., Kershenbaum, A.: Mobile agents: Are they a good idea? Research Report 19887, IBM Research Division (1994)
Hayton, R., Herbert, A., Donaldson, D.: Flexinet: a Flexible Component Oriented Middleware System. In: Proceedings ACM SIGOPS European Workshop (1998)
Hennessy, M., Riely, J.: Resource access control in systems of mobile agents. In: Nestmann, U., Pierce, B.C. (eds.) HLCL 1998: High-Level Concurrent Languages, Nice, France, September 12, 1998, vol. 16.3, pp. 3–17. Elsevier Science Publishers, Amsterdam (1998)
Huntchinson, N., Peterson, L.: The x-kernel: an Architecture for Implementing Network Protocols. IEEE Transactions on Software Engineering 17(1), 64–76 (1991)
Klefstad, R., Schmidt, D., O’Ryan, C.: The Design of a Real-time CORBA ORB using Real-time Java. In: Proceedings ISORC 2002 (2002)
Knabe, F.: An overview of mobile agent programming. In: Dam, M. (ed.) LOMAPS-WS 1996. LNCS, vol. 1192. Springer, Heidelberg (1997)
Krakowiak, S.: The Jonathan Tutorial: Overview, Binding, Communication, Configuration and Resource Frameworks. ObjectWeb Consortium (2002), Available electronically at: http://www.objectweb.org/jonathan/doc/tutorial/index.html
Lacoste, M.: Building Reliable Distributed Infrastructures Revisited: a Case Study. In: International DOA Workshop on Foundations of Middleware Technologies (WFoMT 2002) (2002)
Lacoste, M.: IMC: Flexible Communication Support for Implementing Mobile Process Calculi. Technical report, France Telecom R&D (2003)
Lange, D., Oshima, M.: Programming and Deploying Java Mobile Agents with Aglets. Addison-Wesley, Reading (1998)
Le Fessant, F.: The JoCaml System Prototype (1998), Software and documentation available from: http://join.inria.fr/jocaml
Levi, F., Sangiorgi, D.: Controlling Interference in Ambients. In: Proc. 27th ACM Symposium on Principles of Programming Languages (POPL 2000), pp. 352–364. ACM Press, New York (2000)
Lopes, L.: On the Design and Implementation of a Virtual Machine for Process Calculi. PhD thesis, University of Porto (1999)
Milner, R., Parrow, J., Walker, J.: A Calculus of Mobile Processes, I and II. Information and Computation 100(1), 1–40, 41–77 (1992)
O’Ryan, C., Kuhns, F., Schmidt, D., Othman, O., Parsons, J.: The Design and Performance of a Pluggable Protocols Framework for Real-time Distributed Object Computing Middleware. In: Coulson, G., Sventek, J. (eds.) Middleware 2000. LNCS, vol. 1795, p. 372. Springer, Heidelberg (2000)
Park, A., Reichl, P.: Personal Disconnected Operations with Mobile Agents. In: Proc. of 3rd Workshop on Personal Wireless Communications, PWC 1998 (1998)
Peine, H., Stolpmann, T.: The Architecture of the Ara Platform for Mobile Agents. In: Rothermel, K., Popescu-Zeletin, R. (eds.) MA 1997. LNCS, vol. 1219, pp. 50–61. Springer, Heidelberg (1997)
Picco, G., Murphy, A., Roman, G.-C.: Lime: Linda Meets Mobility. In: Garlan, D. (ed.) Proc. of the 21st Int. Conference on Software Engineering (ICSE 1999), pp. 368–377. ACM Press, New York (1999)
Sangiorgi, D., Valente, A.: A Distributed Abstract Machine for Safe Ambients. In: Orejas, F., Spirakis, P.G., van Leeuwen, J. (eds.) ICALP 2001. LNCS, vol. 2076, pp. 408–420. Springer, Heidelberg (2001)
Thorn, T.: Programming Languages for Mobile Code. ACM Computing Surveys 29(3), 213–239 (1997)
Vasconcelos, V., Lopes, L., Silva, F.: Distribution and Mobility with Lexical Scoping in Process Calculi. In: Workshop on High Level Programming Languages (HLCL 1998), vol. 16(3), pp. 19–34. Elsevier Science, Amsterdam (1998)
Vitek, J., Tschudin, C. (eds.): Mobile Object Systems - Towards the Programmable Internet. LNCS, vol. 1222. Springer, Heidelberg (1997)
White, J.E.: Mobile Agents. In: Bradshaw, J. (ed.) Software Agents. AAAI Press and MIT Press (1996)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bettini, L. et al. (2005). A Software Framework for Rapid Prototyping of Run-Time Systems for Mobile Calculi. In: Priami, C., Quaglia, P. (eds) Global Computing. GC 2004. Lecture Notes in Computer Science, vol 3267. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-31794-4_10
Download citation
DOI: https://doi.org/10.1007/978-3-540-31794-4_10
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-24101-0
Online ISBN: 978-3-540-31794-4
eBook Packages: Computer ScienceComputer Science (R0)