Translating FSP into LOTOS and networks of automata

Formal Aspects of Computing - Tập 22 - Trang 681-711 - 2009
Frédéric Lang1, Gwen Salaün1,2, Rémi Hérilier1, Jeff Kramer3, Jeff Magee3
1VASY Project-Team, INRIA Grenoble Rhône-Alpes/LIG, St Ismier Cedex, France
2Grenoble Institut National Polytechnique, Grenoble, France
3Department of Computing, Imperial College, London, UK

Tóm tắt

Many process calculi have been proposed since Robin Milner and Tony Hoare opened the way more than 25 years ago. Although they are based on the same kernel of operators, most of them are incompatible in practice. We aim at reducing the gap between process calculi, and especially making possible the joint use of underlying tool support. Finite state processes (FSP) is a widely used calculus equipped with Ltsa, a graphical and user-friendly tool. Language of temporal ordering specification (Lotos) is the only process calculus that has led to an international standard, and is supported by the Cadp verification toolbox. We propose a translation of FSP sequential processes into Lotos. Since FSP composite processes (i.e., parallel compositions of processes) are hard to encode directly in Lotos, they are translated into networks of automata which are another input language accepted by Cadp. Hence, it is possible to use jointly Ltsa and Cadp to validate FSP specifications. Our approach is completely automated by a translator tool.

Tài liệu tham khảo

Andrews T et al (2005) Business process execution language for Web services (WSBPEL). BEA Systems, IBM, Microsoft, SAP AG, and Siebel Systems Astesiano E, Zucca E (1981) Semantics of CSP via translation into CCS. In: Proceedings of the 10th international symposium on mathematical foundations of computer science (MFCS’81). Lecture notes in computer science, vol 118. Springer, Berlin, pp 172–182 Berthomieu B, Bodeveix J-P, Farail P, Filali M, Garavel H, Gaufillet P, Lang F, Vernadat F (2008) FIACRE: an intermediate language for model verification in the TOPCASED environment. In: Laprie J-C (ed) Proceedings of the 4th European congress on embedded real-time software ERTS’08 (Toulouse, France). SIA (the French Society of Automobile Engineers), AAAF (the French Society of Aeronautic and Aerospace), and SEE (the French Society for Electricity, Electronics, and Information and Communication Technologies) Bergamini D, Descoubes N, Joubert C, Mateescu R (2005) BISIMULATOR: a modular tool for on-the-fly equivalence checking. In: Halbwachs N, Zuck L (eds) Proceedings of the 11th international conference on tools and algorithms for the construction and analysis of systems TACAS’2005 (Edinburgh, Scotland, UK). Lecture notes in computer science, vol 3440. Springer, Berlin, pp 581–585 Bouajjani A, Fernandez J-C, Graf S, Rodríguez C, Sifakis J (1991) Safety for branching time semantics. In: Proceedings of 18th ICALP. Springer, Berlin Berthomieu B, Garavel H, Lang F, Vernadat F (2008) Verifying dynamic properties of industrial critical systems using TOPCASED/FIACRE. ERCIM News 75: 32–33 Bozga M, Graf S, Mounier L (2002) IF-2.0: a validation environment for component-based real-time systems. In: Larsen KG, Brinksma E (eds) Proceedings of the conference on computer-aided verification CAV’2002 (Copenhagen, Denmark). Lecture notes in computer science, vol 2404. Springer, Berlin Basten T, Hooman J (1999) Process algebra in Pvs. In: Proceedings of the 5th international conference on tools and algorithms for the construction and analysis of systems TACAS’99 (Amsterdam, The Netherlands). Lecture notes in computer science, vol 1579. Springer, Berlin, pp 270–284 Brookes SD, Hoare CAR, Roscoe AW (1984) A theory of communicating sequential processes. J ACM 31(3): 560–599 Blom S, Orzan S (2005) Distributed state space minimization. Int J Softw Tools Technol Transf 7(3): 80–291 Brookes SD (1983) On the relationship of CCS and CSP. In: Proceedings of the 10th colloquium automata, languages and programming (ICALP’83). Lecture notes in computer science, vol 154. Springer, Berlin, pp 83–96 Butler M (2000) Csp2B: a practical approach to combining Csp and B. Formal Aspects Comput 12(3): 182–198 Cleaveland R, Madelaine E, Sims S (1995) A front-end generator for verification tools. In: Engberg UH, Larsen KG, Skou A (eds) Proceedings of TACAS’95 tools and algorithms for the construction and analysis of systems (Aarhus, Denmark). Also available as INRIA Research Report RR-2612 Dutertre B, Schneider S (1997) Using a PVS embedding of CSP to verify authentication protocols. In: Proceedings of the 10th international conference on theorem proving in higher order logics TPHOLs’97 (Murray Hill, NJ, USA). Lecture notes in computer science, vol 1275. Springer, Berlin, pp 121–136 Fontaine P, Marion J-Y, Merz S, Nieto LP, Tiu AF (2006) Expressiveness + automation + soundness: towards combining SMT solvers and interactive proof assistants. In: Proceedings of the 12th international conference on tools and algorithms for the construction and analysis of systems TACAS’06 (Vienna, Austria). Lecture notes in computer science, vol 3920. Springer, Berlin, pp 167–181 Foster H, Uchitel S, Magee J, Kramer J (2005) Tool support for model-based engineering of Web service compositions. In: Proceedings of the IEEE international conference on Web services ICWS’05. IEEE Computer Society Press, Los Alamitos, pp 95–101 Garavel H (1989) Compilation et vérification de programmes LOTOS. Thèse de Doctorat, Université Joseph Fourier (Grenoble) Garavel H (1989) Compilation of LOTOS abstract data types. In: Vuong ST (ed) Proceedings of the second international conference on formal description techniques FORTE’89 (Vancouver B.C., Canada). North-Holland, Amsterdam, pp 147–162 Garavel H (1990) CÆSAR reference manual. Rapport SPECTRE C18, Laboratoire de Génie Informatique, Institut IMAG, Grenoble Garavel H (1998) OPEN/CÆSAR: an open software architecture for verification, simulation, and testing. In: Steffen B (ed) Proceedings of the first international conference on tools and algorithms for the construction and analysis of systems TACAS’98 (Lisbon, Portugal). Lecture notes in computer science, vol 1384. Springer, Berlin, pp 68–84 (full version available as INRIA Research Report RR-3352) Garavel H, Lang F (2001) SVL: a scripting language for compositional verification. In: Kim M, Chin B, Kang S, Lee D (eds) Proceedings of the 21st IFIP WG 6.1 international conference on formal techniques for networked and distributed systems FORTE’2001 (Cheju Island, Korea). IFIP, Kluwer, Dordrecht, pp 377–392 (full version available as INRIA Research Report RR-4223) Garavel H, Lang F, Mateescu R (2002) Compiler construction using LOTOS NT. In: Horspool N (ed) Proceedings of the 11th international conference on compiler construction CC 2002 (Grenoble, France). Lecture notes in computer science, vol 2304. Springer, Berlin, pp 9–13 Garavel H, Lang F, Mateescu R, Serwe W (2007) CADP 2006: a toolbox for the construction and analysis of distributed processes. In: Damm W, Hermanns H (eds) Proceedings of the 19th international conference on computer aided verification CAV’2007 (Berlin, Germany). Lecture notes in computer science, vol 4590. Springer, Berlin, pp 158–163 Garavel H, Serwe W (2006) State space reduction for process algebra specifications. Theor Comput Sci 351(2): 131–145 Groote JF, Vaandrager F (1990) An efficient algorithm for branching bisimulation and stuttering equivalence. In: Patterson MS (eds) Proceedings of the 17th ICALP (Warwick), Lecture notes in computer science, vol 443. Springer, Berlin, pp 626–638 He J, Hoare CAR (2006) CSP is a retract of CCS. In: Proceedings of of the first international symposium on unifying theories of programming (UTP’06). Lecture notes in computer science, vol 4010. Springer, Berlin, pp 38–62 Hennessy M, Li W, Plotkin GD (1981) A first attempt at translating CSP into CCS. In: Proceedings of the second international conference on distributed computing systems (ICDCS’81). IEEE Computer Society Press, Los Alamitos, pp 105–115 Hoare CAR (1985) Communicating sequential processes. Prentice-Hall, Englewood Cliffs ISO/IEC (1989) LOTOS—a formal description technique based on the temporal ordering of observational behaviour. International Standard 8807, International Organization for Standardization—Information Processing Systems—Open Systems Interconnection, Genève ISO/IEC (2001) Enhancements to LOTOS (E-LOTOS). International Standard 15437:2001. International Organization for Standardization—Information Technology, Genève Kavantzas N, Burdett D, Ritzinger G (2004) Web services choreography description language 1.0. W3C. W3C Working Draft Kanellakis PC, Smolka SA (1990) CCS expressions, finite state processes, and three problems of equivalence. Inf Comput 86(1): 43–68 Lang F (2002) Compositional verification using SVL scripts. In: Katoen J-P, Stevens P (eds) Proceedings of the 8th international conference on tools and algorithms for the construction and analysis of systems TACAS’2002 (Grenoble, France). Lecture notes in computer science, vol 2280. Springer, Berlin, pp 465–469 Lang F (2005) EXP.OPEN 2.0: a flexible tool integrating partial order, compositional, and on-the-fly verification methods. In: van de Pol J, Romijn J, Smith G (eds) Proceedings of the 5th international conference on integrated formal methods IFM’2005 (Eindhoven, The Netherlands). Lecture notes in computer science, vol 3771. Springer, Berlin, pp 70–88 (full version available as INRIA Research Report RR-5673) Lang F (2006) Refined interfaces for compositional verification. In: Najm E, Pradat-Peyre J-F, Viguié Donzeau-Gouge J-F (eds) Proceedings of the 26th IFIP WG 6.1 international conference on formal techniques for networked and distributed systems FORTE’2006 (Paris, France). Lecture notes in computer science, vol 4229. Springer, Berlin, pp 159–174 (full version available as INRIA Research Report RR-5996) Magee J (1999) Behavioral analysis of software architectures using LTSA. In: Proceedings of the 21st international conference on software engineering ICSE’99. ACM Press, London, pp 634–637 Magee J, Dulay N, Eisenbach S, Kramer J (1995) Specifying distributed software architectures. In: Proceedings of the 5th European software engineering conference ESEC’95 (Sitges, Spain). Lecture notes in computer science, vol 989. Springer, Berlin, pp 137–153 Millington M (1987) Theories of Translation Corrections for Concurrent Programming Languages. PhD thesis, LFCS, School of Informatics, University of Edinburgh Milner R (1989) Communication and concurrency. Prentice-Hall, Englewood Cliffs Magee J, Kramer J (1999) Concurrency: state models and Java programs. Wiley, New York Magee J, Kramer J (2006) Concurrency: state models and Java programs, 2006 edn. Wiley, New York Margaria T, Nagel R, Steffen B (2005) Remote integration and coordination of verification tools in JETI. In: Proceedings of the 12th IEEE international conference on the engineering of computer-based systems ECBS’05 (Greenbelt, MD, USA). IEEE Computer Society Press, Los Alamitos, pp 431–436 Mateescu R, Sighireanu M (2003) Efficient on-the-fly model-checking for regular alternation-free Mu-calculus. Sci Comput Programm 46(3): 255–281 Nesi M (1999) Formalising a value-passing calculus in Hol. Formal Aspects Comput 11(2): 160–199 Park D (1981) Concurrency and automata on infinite sequences. In: Deussen P (ed) Theoretical computer science. In: Lecture notes in computer science, vol 104. Springer, Berlin, pp 167–183 Paige R, Tarjan RE (1987) Three partition refinement algorithms. SIAM J Comput 16(6): 973–989 Rushby JM (2006) Tutorial: automated formal methods with PVS, SAL, and Yices. In: Proceedings of the 4th IEEE international conference on software engineering and formal methods SEFM’06 (Pune, India). IEEE Computer Society Press, Los Alamitos, p 262 Salaün G, Bordeaux L, Schaerf M (2006) Describing and reasoning on Web services using process algebra. Int J Business Process Integr Manage 1(2): 116–128 Sighireanu M (2004) LOTOS NT User’s Manual (Version 2.4). INRIA projet VASY. ftp://ftp.inrialpes.fr/pub/vasy/traian/manual.ps.Z, June 2004 Salaün G, Kramer J, Lang F, Magee J (2007) Translating FSP into LOTOS and Networks of Automata. In: Davies J, Schulte W, Song Dong J (eds) Proceedings of the 6th international conference on integrated formal methods IFM’2007 (Oxford, United Kingdom). Lecture notes in computer science, vol 4591. Springer, Berlin, pp 558–578 Salaün G, Serwe W (2005) Translating hardware process algebras into standard process algebras—illustration with CHP and LOTOS. In: van de Pol J, Romijn J, Smith G (eds). In: Proceedings of the 5th international conference on integrated formal methods IFM’2005 (Eindhoven, The Netherlands). Lecture notes in computer science, vol 3771. Springer, Berlin (November 2005. Full version available as INRIA Research Report RR-5666) Salaün G, Serwe W, Thonnart Y, Vivet P (2007) Formal verification of CHP specifications with CADP—illustration on an asynchronous network-on-chip. In: Beerel P, Roncken M, Greenstreet M, Singh M (eds) Proceedings of the 13th IEEE international symposium on asynchronous circuits and systems ASYNC 2007 (Berkeley, California, USA). IEEE Computer Society Press, Los Alamitos, pp 73–82 Tej H, Wolff B (1997) A corrected failure-divergence model for Csp in Isabelle/Hol. In: Proceedings of the 4th international symposium of formal methods Europe FME’97 (Graz, Austria). Lecture notes in computer science, vol 1313. Springer, Berlin, pp 318–337 van Glabbeek RJ, Weijland WP (1989) Branching-Time and Abstraction in Bisimulation Semantics (extended abstract). CS R8911, Centrum voor Wiskunde en Informatica, Amsterdam, 1989. In: Proceedings of IFIP 11th world computer congress, San Francisco Wang X, Kwiatkowska MZ, Theodoropoulos GK, Zhang Q (2005) Towards a Unifying Csp approach to hierarchical verification of asynchronous hardware. In: Procedings of the 4th international workshop on automated verification of critical systems AVoCS’04 (London, UK). Electronic notes in theoretical computer science (ENTCS) series, vol 128, pp 231–246