ABSTRACT
This paper is about a concrete implementation of Safe Ambients (SA) in a conventional dynamic language that can be used for practical distributed programming. Although there have been several studies about the distributed implementation of SA, these implementations have involved the use of special-purpose abstract machines. Specifically, network communication mechanisms supporting secure packets and mobile codes are assumed to be embedded in the abstract machines at a high-level of communication abstraction. Furthermore, the interpretation of Safe Ambient programs by the abstract machine incurs significant runtime overheads. To overcome such problems, we propose a compiler from SA to the higher-order applied π-calculus, which has constructs for explicitly representing both cryptographic communication and code migration. The compiled code can be easily translated to the actual code in any dynamic programming language that supports the standard network communication and eval. Furthermore, by taking advantage of the low-level representation of the generated code, we discuss several security concerns related to the secure implementation of SA in public networks.
- M. Abadi and C. Fournet. Mobile values, new names, and secure communication. SIGPLAN Notices, 36(3): 104--115, 2001. Google ScholarDigital Library
- M. Bugliesi and M. Giunti. Secure implementations of typed channel abstractions. In POPL '07, pages 251--262, 2007. Google ScholarDigital Library
- L. Cardelli and A. D. Gordon. Mobile ambients. Theoretical Computer Science, 240(1): 177--213, 2000. Google ScholarDigital Library
- C. Fournet, J. Levy, and A. Schmitt. An asynchronous, distributed implementation of mobile ambients. Theoretical Computer Science: Exploring New Frontiers of Theoretical Informatics, 1872: 348--364, 2000. Google ScholarDigital Library
- P. Giannini, D. Sangiorgi, and A. Valente. Safe ambients: Abstract machine and distributed implementation. Science of Computer Programming, 59(3): 209--249, 2006. Google ScholarDigital Library
- D. Gorla and R. Pugliese. Dynamic management of capabilities in a network aware coordination language. Journal of Logic and Algebraic Programming, 78: 665--689, 2009.Google ScholarCross Ref
- F. Levi and D. Sangiorgi. Mobile safe ambients. ACM Transactions on Programming Languages and Systems, 25(1): 1--69, 2003. Google ScholarDigital Library
- D. Sangiorgi and D. Walker. The Pi-Calculus: A Theory of Mobile Processes. Cambridge University Press, New York, USA, 2001. Google ScholarDigital Library
- N. Sato and E. Sumii. The higher-order, call-by-value applied pi-calculus. In Programming Languages and Systems, volume 5904, pages 311--326. Springer, Berlin, 2009. Google ScholarDigital Library
- J.-B. Stefani. A calculus of higher-order distributed components. Technical Report RR-4692, INRIA, Jan. 2003.Google Scholar
Index Terms
- Practical implementation techniques of ambient calculus in conventional dynamic languages
Recommendations
Building JIT compilers for dynamic languages with low development effort
VMIL 2018: Proceedings of the 10th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate LanguagesBuilding high performance virtual machines for dynamic languages usually requires significant development effort. They may require an interpreter and one or more compilation phases to generate efficient code. In addition, they may require several static ...
So Many Languages, So Little Time
What's up and coming in the programming language arena? A rudimentary analysis of the 200+ sessions' titles and abstracts at OOPSLA 07 (22nd Int'l Conf. Object-Oriented Programming, Systems, Languages, and Applications) provides a rough idea of what's ...
Debugging native extensions of dynamic languages
ManLang '18: Proceedings of the 15th International Conference on Managed Languages & RuntimesMany dynamic programming languages such as Ruby and Python enable developers to use so called native extensions, code implemented in typically statically compiled languages like C and C++. However, debuggers for these dynamic languages usually lack ...
Comments