Skip to main content

Translating FSP into LOTOS and networks of automata

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.

This is a preview of subscription content, access via your institution.

References

  1. Andrews T et al (2005) Business process execution language for Web services (WSBPEL). BEA Systems, IBM, Microsoft, SAP AG, and Siebel Systems

  2. 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

  3. 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)

  4. 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

  5. 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

  6. Berthomieu B, Garavel H, Lang F, Vernadat F (2008) Verifying dynamic properties of industrial critical systems using TOPCASED/FIACRE. ERCIM News 75: 32–33

    Google Scholar 

  7. 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

  8. 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

  9. Brookes SD, Hoare CAR, Roscoe AW (1984) A theory of communicating sequential processes. J ACM 31(3): 560–599

    Article  MATH  MathSciNet  Google Scholar 

  10. Blom S, Orzan S (2005) Distributed state space minimization. Int J Softw Tools Technol Transf 7(3): 80–291

    Article  Google Scholar 

  11. 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

  12. Butler M (2000) Csp2B: a practical approach to combining Csp and B. Formal Aspects Comput 12(3): 182–198

    Article  MATH  Google Scholar 

  13. 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

  14. 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

  15. 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

  16. 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

  17. Garavel H (1989) Compilation et vérification de programmes LOTOS. Thèse de Doctorat, Université Joseph Fourier (Grenoble)

  18. 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

  19. Garavel H (1990) CÆSAR reference manual. Rapport SPECTRE C18, Laboratoire de Génie Informatique, Institut IMAG, Grenoble

  20. 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)

  21. 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)

  22. 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

  23. 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

  24. Garavel H, Serwe W (2006) State space reduction for process algebra specifications. Theor Comput Sci 351(2): 131–145

    Article  MATH  MathSciNet  Google Scholar 

  25. 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

    Google Scholar 

  26. 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

  27. 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

  28. Hoare CAR (1985) Communicating sequential processes. Prentice-Hall, Englewood Cliffs

    MATH  Google Scholar 

  29. 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

  30. ISO/IEC (2001) Enhancements to LOTOS (E-LOTOS). International Standard 15437:2001. International Organization for Standardization—Information Technology, Genève

  31. Kavantzas N, Burdett D, Ritzinger G (2004) Web services choreography description language 1.0. W3C. W3C Working Draft

  32. Kanellakis PC, Smolka SA (1990) CCS expressions, finite state processes, and three problems of equivalence. Inf Comput 86(1): 43–68

    Article  MATH  MathSciNet  Google Scholar 

  33. 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

    Google Scholar 

  34. 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)

  35. 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)

  36. 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

  37. 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

  38. Millington M (1987) Theories of Translation Corrections for Concurrent Programming Languages. PhD thesis, LFCS, School of Informatics, University of Edinburgh

  39. Milner R (1989) Communication and concurrency. Prentice-Hall, Englewood Cliffs

    MATH  Google Scholar 

  40. Magee J, Kramer J (1999) Concurrency: state models and Java programs. Wiley, New York

    MATH  Google Scholar 

  41. Magee J, Kramer J (2006) Concurrency: state models and Java programs, 2006 edn. Wiley, New York

    Google Scholar 

  42. 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

  43. Mateescu R, Sighireanu M (2003) Efficient on-the-fly model-checking for regular alternation-free Mu-calculus. Sci Comput Programm 46(3): 255–281

    Article  MATH  MathSciNet  Google Scholar 

  44. Nesi M (1999) Formalising a value-passing calculus in Hol. Formal Aspects Comput 11(2): 160–199

    Article  MATH  Google Scholar 

  45. 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

  46. Paige R, Tarjan RE (1987) Three partition refinement algorithms. SIAM J Comput 16(6): 973–989

    Article  MATH  MathSciNet  Google Scholar 

  47. 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

  48. 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

    Article  Google Scholar 

  49. 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. 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

  51. 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)

  52. 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

  53. 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

  54. 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

  55. 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

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Frédéric Lang.

Additional information

C.B. Jones and J.C.P. Woodcock

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Lang, F., Salaün, G., Hérilier, R. et al. Translating FSP into LOTOS and networks of automata. Form Asp Comp 22, 681–711 (2010). https://doi.org/10.1007/s00165-009-0133-8

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00165-009-0133-8

Keywords

  • Automated translation
  • Communicating automata
  • FSP
  • Lotos
  • Parallel composition
  • Process algebra
  • Verification