Abstract
π-calculus is a pioneer theory for concurrent and reconfigurable agent systems. It has been widely used as foundation (semantics) for other theories and languages aiming at representing the computational phenomenon of changing systems’ behaviour at runtime. In services-oriented applications for example, reconfiguration is highly required due to the needs of configuring systems accordingly to local contexts. Today, a set of researches are devoted to extending π-calculus features to reconcile concepts behind web-services applications. However, a problem still remains: how to simulate π-agents to have insights on the real behaviour of the specified system? The reconfiguration features embedded in π-calculus enrich its expressiveness but impose a more elaborate semantics, making its implementation a challenging task. The current work presents an implementation of all π-calculus core elements with which one can define agents and simulate them. Such implementation is given as a Domain Specific Language (DSL) in Scala.
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
Bengtson, J., Johansson, M., Parrow, J., Victor, B.: Psi-calculi: a framework for mobile processes with nominal data and logic. Logical Methods in Computer Science 7(1) (2011)
Carbone, M., Honda, K., Yoshida, N., Milner, R.: Structured communication-centred programming for web services. In: De Nicola, R. (ed.) ESOP 2007. LNCS, vol. 4421, pp. 2–17. Springer, Heidelberg (2007)
Cremet, V., Odersky, M.: Pilib: A hosted language for pi-calculus style concurrency. In: Lengauer, C., Batory, D.S., Consel, C., Odersky, M. (eds.) Domain-Specific Program Generation. LNCS, vol. 3016, pp. 180–195. Springer, Heidelberg (2004)
Hoare, C.A.R.: Communicating Sequential Processes. Communications of the ACM (1978)
Milner, R.: Communicating and Mobile Systems: the Pi-Calculus. Cambridge University Press (1999)
Milner, R., Parrow, J., Walker, D.: A Calculus of Mobile Processes, Part I. I and II. Information and Computation 100 (1989)
Odersky, M., Spoon, L., Venners, B.: Programming in Scala: A Comprehensive Step-by-step Guide. Artima Incorporation (2008)
Okasaki, C.: Purely Functional Data Structures. Cambridge University Press (1998)
Parrow, J.: An Introduction to the pi-Calculus. In: Handbook of Process Algebra, pp. 479–543. Elsevier (2001)
Pierce, B.: Types and Programming Languages. MIT Press (2002)
Pierce, B.C., Turner, D.N.: Pict: A Programming Language Based on the Pi-Calculus. In: Proof, Language and Interaction: Essays in Honour of Robin Milner. MIT Press (1997)
Pierce, B.C., Turner, D.N.: Pict: a programming language based on the Pi-Calculus, pp. 455–494. MIT Press, Cambridge (2000), http://portal.acm.org/citation.cfm?id=345868.345924
Schinz, M., Haller, P.: A Scala Tutorial for Java Programmers (2009), http://www.scala-lang.org/node/198
Welch, P., Barnes, F.: Communicating Mobile Processes: introducing occam-pi. In: 25 Years of CSP. Springer, Heidelberg (2005)
Zhou, J., Zeng, G.: Describing and reasoning on the composition of grid services using pi-calculus. In: International Conference on Computer and Information Technology, p. 48 (2006)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Matiello, P., de Melo, A.C.V. (2011). PiStache: Implementing π-Calculus in Scala. In: Simao, A., Morgan, C. (eds) Formal Methods, Foundations and Applications. SBMF 2011. Lecture Notes in Computer Science, vol 7021. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-25032-3_6
Download citation
DOI: https://doi.org/10.1007/978-3-642-25032-3_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-25031-6
Online ISBN: 978-3-642-25032-3
eBook Packages: Computer ScienceComputer Science (R0)