Formal Aspects of Computing

, Volume 22, Issue 6, pp 681–711 | Cite as

Translating FSP into LOTOS and networks of automata

  • Frédéric Lang
  • Gwen Salaün
  • Rémi Hérilier
  • Jeff Kramer
  • Jeff Magee
Original Article

Abstract

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.

Keywords

Automated translation Communicating automata FSP Lotos Parallel composition Process algebra Verification 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A+05.
    Andrews T et al (2005) Business process execution language for Web services (WSBPEL). BEA Systems, IBM, Microsoft, SAP AG, and Siebel SystemsGoogle Scholar
  2. AZ81.
    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–182Google Scholar
  3. BBF+08.
    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)Google Scholar
  4. BDJM05.
    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–585Google Scholar
  5. BFG+91.
    Bouajjani A, Fernandez J-C, Graf S, Rodríguez C, Sifakis J (1991) Safety for branching time semantics. In: Proceedings of 18th ICALP. Springer, BerlinGoogle Scholar
  6. BGLV08.
    Berthomieu B, Garavel H, Lang F, Vernadat F (2008) Verifying dynamic properties of industrial critical systems using TOPCASED/FIACRE. ERCIM News 75: 32–33Google Scholar
  7. BGM02.
    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, BerlinGoogle Scholar
  8. BH99.
    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–284Google Scholar
  9. BHR84.
    Brookes SD, Hoare CAR, Roscoe AW (1984) A theory of communicating sequential processes. J ACM 31(3): 560–599MATHCrossRefMathSciNetGoogle Scholar
  10. BO05.
    Blom S, Orzan S (2005) Distributed state space minimization. Int J Softw Tools Technol Transf 7(3): 80–291CrossRefGoogle Scholar
  11. Bro83.
    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–96Google Scholar
  12. But00.
    Butler M (2000) Csp2B: a practical approach to combining Csp and B. Formal Aspects Comput 12(3): 182–198MATHCrossRefGoogle Scholar
  13. CMS95.
    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-2612Google Scholar
  14. DS97.
    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–136Google Scholar
  15. FMM+06.
    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–181Google Scholar
  16. FUMK05.
    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–101Google Scholar
  17. Gar89a.
    Garavel H (1989) Compilation et vérification de programmes LOTOS. Thèse de Doctorat, Université Joseph Fourier (Grenoble)Google Scholar
  18. Gar89b.
    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–162Google Scholar
  19. Gar90.
    Garavel H (1990) CÆSAR reference manual. Rapport SPECTRE C18, Laboratoire de Génie Informatique, Institut IMAG, GrenobleGoogle Scholar
  20. Gar98.
    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)Google Scholar
  21. GL01.
    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)Google Scholar
  22. GLM02.
    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–13Google Scholar
  23. GLMS07.
    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–163Google Scholar
  24. GS06.
    Garavel H, Serwe W (2006) State space reduction for process algebra specifications. Theor Comput Sci 351(2): 131–145MATHCrossRefMathSciNetGoogle Scholar
  25. GV90.
    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–638Google Scholar
  26. HH06.
    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–62Google Scholar
  27. HLP81.
    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–115Google Scholar
  28. Hoa85.
    Hoare CAR (1985) Communicating sequential processes. Prentice-Hall, Englewood CliffsMATHGoogle Scholar
  29. ISO89.
    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èveGoogle Scholar
  30. ISO01.
    ISO/IEC (2001) Enhancements to LOTOS (E-LOTOS). International Standard 15437:2001. International Organization for Standardization—Information Technology, GenèveGoogle Scholar
  31. KBR.
    Kavantzas N, Burdett D, Ritzinger G (2004) Web services choreography description language 1.0. W3C. W3C Working DraftGoogle Scholar
  32. KS90.
    Kanellakis PC, Smolka SA (1990) CCS expressions, finite state processes, and three problems of equivalence. Inf Comput 86(1): 43–68MATHCrossRefMathSciNetGoogle Scholar
  33. Lan02.
    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–469Google Scholar
  34. Lan05.
    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)Google Scholar
  35. Lan06.
    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)Google Scholar
  36. Mag99.
    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–637Google Scholar
  37. MDEK95.
    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–153Google Scholar
  38. Mil87.
    Millington M (1987) Theories of Translation Corrections for Concurrent Programming Languages. PhD thesis, LFCS, School of Informatics, University of EdinburghGoogle Scholar
  39. Mil89.
    Milner R (1989) Communication and concurrency. Prentice-Hall, Englewood CliffsMATHGoogle Scholar
  40. MK99.
    Magee J, Kramer J (1999) Concurrency: state models and Java programs. Wiley, New YorkMATHGoogle Scholar
  41. MK06.
    Magee J, Kramer J (2006) Concurrency: state models and Java programs, 2006 edn. Wiley, New YorkGoogle Scholar
  42. MNS05.
    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–436Google Scholar
  43. MS03.
    Mateescu R, Sighireanu M (2003) Efficient on-the-fly model-checking for regular alternation-free Mu-calculus. Sci Comput Programm 46(3): 255–281MATHCrossRefMathSciNetGoogle Scholar
  44. Nes99.
    Nesi M (1999) Formalising a value-passing calculus in Hol. Formal Aspects Comput 11(2): 160–199MATHCrossRefGoogle Scholar
  45. Par81.
    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–183Google Scholar
  46. PT87.
    Paige R, Tarjan RE (1987) Three partition refinement algorithms. SIAM J Comput 16(6): 973–989MATHCrossRefMathSciNetGoogle Scholar
  47. Rus06.
    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 262Google Scholar
  48. SBS06.
    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–128CrossRefGoogle Scholar
  49. Sig04.
    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
  50. SKLM07.
    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–578Google Scholar
  51. SS05.
    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)Google Scholar
  52. SSTV07.
    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–82Google Scholar
  53. TW97.
    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–337Google Scholar
  54. vGW89.
    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 FranciscoGoogle Scholar
  55. WKTZ05.
    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–246Google Scholar

Copyright information

© British Computer Society 2009

Authors and Affiliations

  • Frédéric Lang
    • 1
  • Gwen Salaün
    • 1
    • 2
  • Rémi Hérilier
    • 1
  • Jeff Kramer
    • 3
  • Jeff Magee
    • 3
  1. 1.VASY Project-TeamINRIA Grenoble Rhône-Alpes/LIGSt Ismier CedexFrance
  2. 2.Grenoble Institut National PolytechniqueGrenobleFrance
  3. 3.Department of ComputingImperial CollegeLondonUK

Personalised recommendations