When modelling real world problems in pure process algebra one soon discovers that the model becomes big and hard to understand due to a lack of more complex datatypes and constructs. To address this a few richer process algebras have emerged, e.g. the spi-calculus
and the applied pi-calculus
. The spi-calculus is basically a pure process algebra spiced up with security primitives, and the applied pi-calculus can be seen as a generalisation of the spi-calculus where you allow arbitrary data signatures. There are a few more calculi which all extend the pi-calculus with new primitives. In an attempt to unify these extensions and to get simpler semantics we have developed a framework in which these extensions can be formulated.
We have developed Psi-calculi, a framework for defining applied calculi. By instantiating three data types and four operators that must respect a handful of requirements we show that you get a process calculus that is compositional and respects the usual structural rules. The data types are terms (used for both communication channels and data), conditions (used for tests), and assertions (used for statements about data). The operators are channel equivalence (saying which terms are deemed to be equal channels), composition (saying how to compose assertions), unit (an assertion being the unit element of the composition operator), and entailment (saying which conditions can be entailed from which assertions). In brief, the requirements on these parameters of the framework are: The channel equivalence operator must be symmetric and transitive, the composition operator must preserve logical equivalence between assertions, and the equivalence classes of assertions form an abelian monoid.
The Psi-calculi are in themselves unsuitable for some kinds of automated reasoning, and because of this we have developed a symbolic semantics for Psi-calculi. This will lead to efficient tools that can be used to do bisimulation checking. As usual with symbolic semantics we are not interested in the concrete values a process comes into contact with. Instead we have symbolic placeholders (see the nice illustration to the right where K is a placeholder). The main idea is to equip the processes with constraints on the symbolic placeholders. These constraints are accumulated as the process evolves and tests are being made on the symbolic values.
The equivalence given for Psi-calculi is of the strong kind, i.e. it does not abstract from internal actions. We are currently working on a weak variant of Psi-calculi where certain internal actions are ignored, and thus we get a coarser equivalence. It turns out that in the presence of assertions, this is not as straightforward as one would think. Therefore we are concurrently looking at barbed equivalence for weak Psi-calculi in order to get a verification that we have found the right weak equivalence.
Future work will include looking at type systems for the semantics and finish an implementation of a bimsimulation checker. When successfull we will have an efficient tool that's applicable to a potentially wide range of applications.
. In Journal of Logic and Algebraic Programming, volume 81, Elsevier, 2012. (DOI
). Publication status: In press
. In Logical Methods in Computer Science, volume 7, number 1, p 11, 2011. (DOI
).
. In Software Engineering and Formal Methods: SEFM 2011, volume 7041 of Lecture Notes in Computer Science, pp 74-89, Springer Berlin/Heidelberg, Berlin, 2011. (DOI
, fulltext
).
. In Proc. 25th Symposium on Logic in Computer Science: LICS 2010, pp 322-331, IEEE, Piscataway, NJ, 2010. (DOI
).
. In Proc. 6th Workshop on Structural Operational Semantics: SOS 2009, volume 18 of Electronic Proceedings in Theoretical Computer Science, pp 17-31, 2010. (DOI
).
. In Theorem Proving in Higher Order Logics: Proceedings of TPHOLs 2009, volume 5674 of Lecture Notes in Computer Science, pp 99-114, Springer-Verlag, Berlin, 2009. (DOI
).
. In Proc. 24th Annual IEEE Symposium on Logic in Computer Science, pp 39-48, IEEE, Piscataway, NJ, 2009. (DOI
).Fresh papers:
, M.Sc. thesis
, SEFM 2011
, Submitted 2011
, LMCS 7(1) 2011
, LICS 2010
, TPHOLS 2009
, LICS 2009