Abstract
Most foundational models for global computing have focused on the spatial dimension of computations, however global computing requires also new ways of thinking about the temporal dimension. In particular, withno central control and the need to operate with incomplete information there is a compelling need to interleave meta-programming activities (like assembly and linking of code fragments), security checks (like type-checking at administrative boundaries) and normal computational activities. MetaKlaim is a case study in modeling both spatial and temporal aspects of computing by integrating MetaML (an extension of SML for multi-stage programming) and Klaim (a Kernel Language for Agents Interaction and Mobility). The staging annotations of MetaML provide a fine-grain control of the temporal aspects, while Klaim allows to model and program the spatial aspects of distributed concurrent applications. Our approachfor combining these aspects is quite general and should be applicable to other languages/systems for network programming.
Work supported by APPSEM WG and MURST projects SALADIN and TOSCA.
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
C. Calcagno, E. Moggi, T. Sheard, W. Taha. Closed types for safe imperative MetaML. submitted for publication, 2001.
L. Cardelli. Program Fragments, Linking, and Modularization. In Proc. of the ACM Symposium on Principles of Programming Languages, ACM Press, 1997.
L. Cardelli and A. Gordon. Mobile Ambients. Theoretical Computers Science 240 (1), Elsevier 2000.
L. Cardelli, A. Gordon. Types for Mobile Ambients. In Proc. of the ACM Symposium on Principles of Programming Languages, pp.79–92, ACM Press, 1999.
L. Cardelli, Abstractions for Mobile Computing, In In Secure Internet Programming: Se curity Issues for Distributed and Mobile Objects (J. Vitek, C. Jensen, Eds.), LNCS State-Of-The-Art-Survey, LNCS 1603, Springer, 1999.
N. Carriero, D. Gelernter. Linda in Context. Communications of the ACM, 32W(4):444–458, ACM Press, 1989.
R. Davies. A temporal-logic approachto binding-time analysis. In 11th Annual IEEE Symposium on Logic in Computer Science (LICS), pages 184–195, New Brunswick, 1996. IEEE Computer Society Press.
R. Davies, F. Pfenning. A modal analysis of staged computation. In 23rd Annual ACM Symposium on Principles of Programming Languages (POPL), pages 258–270, St. Petersburg Beach, 1996.
R. De Nicola, G. L. Ferrari, R. Pugliese. KLAIM: A Kernel Language for Agents Interaction and Mobility, IEEE Transactions on Software Engineering, 24(5):315–330, IEEE Computer Society, 1998.
R. De Nicola, G. L. Ferrari, R. Pugliese. Types as Specifications of Access Policies. In In Secure Internet Programming:Se curity Issues for Distributed and Mobile Objects (J. Vitek, C. Jensen, Eds.), LNCS State-Of-The-Art-Survey, LNCS 1603, Springer, pp.117–146, 1999.
R. De Nicola, G. Ferrari, R. Pugliese. Programming Acess Control: The KLAIM Experience, In Proc. CONCUR‘2000, LNCS 1877, 2000.
R. De Nicola, G. L. Ferrari, R. Pugliese, B. Venneri. Types for Access Control. Theoretical Computers Science, 240(1):215–254, special issue on Coordination, Elsevier Science, July 2000.
S. Drossopoulou. Towards an Abstract Model of Java Dynamic Linking and Verification. In Proc. Types in Compilation, 2000.
S. Drossopoulou, S. Eisenbach, D. Wragg. A fragment calculus-towards a model of separate compilation, linking and binary compatibility. In 14th Symposium on Logic in Computer Science (LICS‘99), pages 147–156, Washington-Brussels-Tokyo, July 1999. IEEE.
G. Ferrari, E. Moggi, R. Pugliese. Global Types and Network Services. In Proc. ConCoord:International Workshop on Concurrency and Coordination, ENTCS 54 (Montanari and Sassone Eds), Elsevier Science, 2001.
A. Fuggetta, G. Picco, G. Vigna. Understanging Code Mobility, IEEE Transactions on Software Engineering, 24(5), IEEE Computer Society, 1998.
Fournet, C., Gonthier, G. Levy, J-J., Maranget, L., Remy, D. A Calculus of Mobile Agents, In Proc. CONCUR‘96, LNCS 1119, Springer, 1996.
J-Y. Girard. Interprétation fonctionelle et élimination des coupures de l‘arithmétique d‘ordre supérieur. PhD. Thesis, Université Paris VII, 1972.
D. Gelernter. Generative Communication in Linda. ACM Transactions on Programming Languages and Systems, 7(1):80–112, ACM Press, 1985.
R. Gray, D. Kotz, G. Cybenko and D. Rus. D‘Agents: Security in a multiplelanguage, mobile-agent system. In G. Vigna, editor, Mobile Agents and Security, Lecture Notes in Computer Science, Springer-Verlag, 1998.
M. Hennessy, J. Riely. Distributed Processes and Location Failures, Theoretical Computers Science, to appear, 2001.
M. Hennessy, J. Riely. Resource Access Control in Systems of Mobile Agents, Information and Computation, to appear, 2001.
M. Hicks and S. Weirich. A Calculus for Dynamic Loading, Technical report, MSCIS-00-07, University of Pennsylvania, 2000, (available on line http://www.cis.upenn.edu/mwh/papers/loadcalc.pdf).
S. Kamin, M. Callahan, L. Clausen. Lightweight and generative components II: Binary-level components. In [31], pages 28–50, 2000.
The MetaML Home Page provides source code and online documentation http://www.cse.ogi.edu/PacSoft/projects/metaml/index.html.
E. Moggi, W. Taha, Z. Benaissa, T. Sheard. An idealized MetaML: Simpler, and more expressive. In European Symposium on Programming (ESOP), volume 1576 of Lecture Notes in Computer Science, pages 193–207. Springer-Verlag, 1999.
F. Nielson, H. R. Nielson, and C. L. Hankin. Principles of Program Analysis. Springer-Verlag, 1999.
Z. Qian, A. Goldberg, A. Coglio. A formal specification of JavaTM class loading. In Proceedings of the Conference on Object-Oriented Programming, Systems, Languages and Application (OOPSLA-00), volume 35.10 of ACM Sigplan Notices, pages 325–336, N. Y., October 15–19 2000. ACM Press.
P. Sewell. Modules, Abstract Types and Distributed Versioning. In Proc. ACM Symposium on Principles of Programming Languages, ACM Press, 2001.
P. Sewell, P. Wojciechowski. Nomadic Pict: Language and Infrastructure Design for Mobile Agents. IEEE Concurrency, 2000.
W. Taha, editor. Semantics, Applications, and Implementation of Program Generation, volume 1924 of Lecture Notes in Computer Science, Montréal, 2000. Springer-Verlag.
J.-P. Talpin, P. Jouvelot. Polymorphic type, region and effect inference. Journal of Functional Programming, 2(3):245–271, 1992.
J.-P. Talpin, P. Jouvelot. The type and effect discipline. Information and Computation, 111(2):245–296, June 1994.
J. Vitek, G. Castagna. Towards a Calculus of Secure Mobile Computations. In Workshop on Internet Programming Languages, LNCS 1686, Springer, 1999.
A.K. Wright, M. Felleisen. A syntactic approach to type soundness. Information and Computation, 115(1), 1994.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ferrari, G., Moggi, E., Pugliese, R. (2001). MetaKlaim: Meta-programming for Global Computing. In: Taha, W. (eds) Semantics, Applications, and Implementation of Program Generation. SAIG 2001. Lecture Notes in Computer Science, vol 2196. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44806-3_11
Download citation
DOI: https://doi.org/10.1007/3-540-44806-3_11
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42558-8
Online ISBN: 978-3-540-44806-8
eBook Packages: Springer Book Archive