Session Typing for a Featherweight Erlang
As software tends to be increasingly concurrent, the paradigm ofmessage passing is becoming more prominent in computing. The language Erlang offers an intuitive and industry-testedimplementation of process-oriented programming, combining pattern-matching with message mailboxes, resulting in concise, elegant programs. However, it lacks a successful static verification mechanism that ensures safety and determinism of communications with respect to well-defined specifications. We present a session typing system for a featherweight Erlang calculus that encompasses the main communication abilities of the language. In this system, structured types are used to govern the interaction of Erlang processes, ensuring that their behaviour is safe with respect to a defined protocol. The expected properties of subject reduction and type safety are established.
KeywordsType System Request Message Business Process Execution Language Open Session Session Type
Unable to display preview. Download preview PDF.
- 3.Business process execution language for web services, http://public.dhe.ibm.com/software/dw/specs/ws-bpel/ws-bpel.pdf
- 4.Carlsson, R.: An introduction to Core Erlang. In: PLI 2001 Erlang Workshop (2001)Google Scholar
- 7.Honda, K., Vasconcelos, V.T., Kubo, M.: Language primitives and type discipline for structured communication-based programming. In: Hankin, C. (ed.) ESOP 1998. LNCS, vol. 1381, pp. 122–138. Springer, Heidelberg (1998), http://www.di.fc.ul.pt/~vv/papers/honda.vasconcelos.kubo_language-primitives.pdf CrossRefGoogle Scholar
- 9.Lindahl, T., Sagonas, K.: Practical type inference based on success typings. In: 8th ACM SIGPLAN International Conference on Principles and Practice of Declarative Programming, PPDP 2006, pp. 167–178. ACM, New York (2006)Google Scholar
- 11.Walker, D.: Substructural Type Systems. In: Advanced Topics in Types and Programming Languages. MIT Press, Cambridge (2005)Google Scholar
- 12.Yoshida, N., Vasconcelos, V.T.: Language primitives and type discipline for structured communication-based programming revisited: Two systems for higher-order session communication. In: 1st International Workshop on Security and Rewriting Techniques. ENTCS, vol. 171(4), pp. 73–93. Elsevier, Amsterdam (2007)Google Scholar