Traditional static typing systems for the pi-calculus are built around capability types that control the read/write access rights on channels and describe the type of the channels' payload. While static typing has proved adequate for reasoning on process behavior in typed contexts, dynamic techniques have often been advocated as more effective for access control in distributed/untyped contexts. We study the relationships between the two approaches - static versus dynamic - by contrasting two versions of the asynchronous pi-calculus. The former, API, comes with an entirely standard static typing system. The latter, API@ combines static and dynamic typing: a static type system associates channels with flat types that only express read/write capabilities and disregard the payload type, while a dynamically typed synchronization complements the static type system to guarantee type soundness. We show that API@ can be encoded into API in a fully abstract manner, preserving the respective behavioral equivalences of the two calculi. Besides yielding an interesting expressivity result, the encoding also sheds light on the effectiveness of dynamic typing as a mechanism for access control. © Springer-Verlag Berlin Heidelberg 2007.
CITATION STYLE
Bugliesi, M., Macedonio, D., & Rossi, S. (2007). Static vs dynamic typing for access control in Pi-calculus. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 4846 LNCS, pp. 282–296). Springer Verlag. https://doi.org/10.1007/978-3-540-76929-3_27
Mendeley helps you to discover research relevant for your work.