Skip to main content

Advertisement

SpringerLink
Log in
Menu
Find a journal Publish with us
Search
Cart
Book cover

International Conference on Formal Methods for Open Object-Based Distributed Systems

International Conference on Formal Techniques for Distributed Systems

FMOODS 2012, FORTE 2012: Formal Techniques for Distributed Systems pp 251–267Cite as

  1. Home
  2. Formal Techniques for Distributed Systems
  3. Conference paper
Verification of Timed Erlang Programs Using McErlang

Verification of Timed Erlang Programs Using McErlang

  • Clara Benac Earle18 &
  • Lars-Åke Fredlund18 
  • Conference paper
  • 677 Accesses

  • 5 Citations

Part of the Lecture Notes in Computer Science book series (LNPSE,volume 7273)

Abstract

There is a large number of works that apply model checking to timed specifications, however, there are far fewer attempts at model checking concurrent programs for which correct timed behaviour is crucial. In this work we explore the formal verification of timed programs written in the Erlang concurrent programming language, in its full complexity, using the McErlang model checker.

We have extended the McErlang model checker with a timed semantics, similar to the timed semantics Lamport has developed for TLA and TLC, but with a few notable differences. In the paper we present the resulting semantics, its implementation in McErlang, and evaluate it using a number of examples. Among the examples is a process supervision component for controlling the processes in an Erlang application, which provides fault-tolerance.

Keywords

  • Model Checker
  • State Graph
  • Linear Temporal Logic
  • Clock Reference
  • Child Process

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

This work has been partially supported by the following projects: DESAFIOS10 (TIN2009-14599-C03-00), PROMETIDOS (P2009/TIC-1465), pSAFECER (GA 269265) and nSAFECER (GA 295373).

Download conference paper PDF

References

  1. Alur, R., Dill, D.L.: A theory of timed automata. TCS 126, 183–235 (1994)

    CrossRef  MathSciNet  MATH  Google Scholar 

  2. Ouaknine, J.: Discrete analysis of continuous behaviour in real-time concurrent systems. PhD thesis, Oxford University (2001)

    Google Scholar 

  3. Moller, F., Tofts, C.M.N.: Behavioural Abstraction in TCCS. In: Kuich, W. (ed.) ICALP 1992. LNCS, vol. 623, pp. 559–570. Springer, Heidelberg (1992)

    CrossRef  Google Scholar 

  4. Hansson, H., Jonsson, B.: A calculus for communicating systems with time and probabitilies. In: IEEE Real-Time Systems Symposium, pp. 278–287 (1990)

    Google Scholar 

  5. Léonard, L., Leduc, G.: A formal definition of time in LOTOS. Formal Asp. Comput. 10(3), 248–266 (1998)

    CrossRef  MATH  Google Scholar 

  6. Larsen, K.G., Pettersson, P., Yi, W.: Uppaal in a nutshell. STTT 1(1-2) (1997)

    Google Scholar 

  7. Holzmann, G.J.: The model checker SPIN. IEEE Transactions on Software Engineering 23, 279–295 (1997)

    CrossRef  Google Scholar 

  8. Lamport, L.: Real-Time Model Checking Is Really Simple. In: Borrione, D., Paul, W. (eds.) CHARME 2005. LNCS, vol. 3725, pp. 162–175. Springer, Heidelberg (2005)

    CrossRef  Google Scholar 

  9. Wang, H., MacCaull, W.: Verifying real-time systems using explicit-time description methods. In: Andova, S., McIver, A., D’Argenio, P.R., Cuijpers, P.J.L., Markovski, J., Morgan, C., Núñez, M. (eds.) QFM. EPTCS, vol. 13 (2009)

    Google Scholar 

  10. van den Berg, L., Strooper, P.A., Winter, K.: Introducing Time in an Industrial Application of Model-Checking. In: Leue, S., Merino, P. (eds.) FMICS 2007. LNCS, vol. 4916, pp. 56–67. Springer, Heidelberg (2008)

    CrossRef  Google Scholar 

  11. Fredlund, L.Å., Svensson, H.: McErlang: a model checker for a distributed functional programming language. In: Proceeding of the 12th ACM SIGPLAN Int. Conf. on Functional Programming (ICFP). ACM, Freiburg (2007)

    Google Scholar 

  12. Guo, Q., Derrick, J., Hoch, C.: Verifying Erlang Telecommunication Systems with the Process Algebra μCRL. In: Suzuki, K., Higashino, T., Yasumoto, K., El-Fakih, K. (eds.) FORTE 2008. LNCS, vol. 5048, pp. 201–217. Springer, Heidelberg (2008)

    CrossRef  Google Scholar 

  13. Guo, Q., Derrick, J.: Verification of timed Erlang/OTP components using the process algebra mucrl. In: Proceedings of the 2007 ACM SIGPLAN Workshop on Erlang, Freiburg, Germany, October 5, pp. 55–64 (2007)

    Google Scholar 

  14. Armstrong, J., Virding, R., Wikström, C., Williams, M.: Concurrent Programming in Erlang. Prentice-Hall (1996)

    Google Scholar 

  15. Cesarini, F., Thompson, S.: Erlang Programming – A Concurrent Approach to Software Development. O’Reilly Media (2009)

    Google Scholar 

  16. Blau, S., Rooth, J., Axell, J., Hellstrand, F., Buhrgard, M., Westin, T., Wicklund, G.: AXD 301: A new generation ATM switching system. Computer Networks 31(6), 559–582 (1999)

    CrossRef  Google Scholar 

  17. Wiger, U., Ask, G., Boortz, K.: World-class product certification using Erlang. SIGPLAN Not. 37, 25–34 (2002)

    CrossRef  Google Scholar 

  18. McErlang: web page (April 2012), https://babel.ls.fi.upm.es/trac/McErlang/

  19. Fredlund, L.-å., Sánchez Penas, J.J.: Model Checking a Video–on–Demand Server Using McErlang. In: Moreno Díaz, R., Pichler, F., Quesada Arencibia, A. (eds.) EUROCAST 2007. LNCS, vol. 4739, pp. 539–546. Springer, Heidelberg (2007)

    CrossRef  Google Scholar 

  20. Benac Earle, C., Fredlund, L.-Å., Iglesias, J.A., Ledezma, A.: Verifying Robocup Teams. In: Peled, D.A., Wooldridge, M.J. (eds.) MoChArt 2008. LNCS, vol. 5348, pp. 34–48. Springer, Heidelberg (2009)

    CrossRef  Google Scholar 

  21. Castro, D., Gulías, V.M., Benac Earle, C., Fredlund, L.Å., Rivas, S.: A case study on verifying a supervisor component using McErlang. ENTCS 271, 23–40 (2011)

    Google Scholar 

  22. (April 2012), https://github.com/fredlund/McErlang-DTime

  23. Behrmann, G., David, A., Larsen, K.G.: A Tutorial on Uppaal. In: Bernardo, M., Corradini, F. (eds.) SFM-RT 2004. LNCS, vol. 3185, pp. 200–236. Springer, Heidelberg (2004)

    CrossRef  Google Scholar 

  24. Fredlund, L.Å.: A Framework for Reasoning about Erlang Code. PhD thesis, Royal Institute of Technology, Stockholm, Sweden (2001)

    Google Scholar 

  25. Svensson, H., Fredlund, L.Å.: A more accurate semantics for distributed Erlang. In: Proc. of the SIGPLAN Workshop on Erlang. ACM, New York (2007)

    Google Scholar 

  26. Gafni, E., Mitzenmacher, M.: Analysis of timing-based mutual exclusion with random times. In: Proceedings of the Eighteenth Annual ACM Symposium on Principles of Distributed Computing, pp. 13–21. ACM Press (1999)

    Google Scholar 

  27. LambdaStream, S.L.: web page (April 2012), http://www.lambdastream.com/

  28. Aceto, L., Cimini, M., Ingólfsdóttir, A., Reynisson, A.H., Sigurdarson, S.H., Sirjani, M.: Modelling and simulation of asynchronous real-time systems using Timed Rebeca. In: FOCLASA. EPTCS, vol. 58, pp. 1–19 (2011)

    Google Scholar 

Download references

Author information

Authors and Affiliations

  1. Babel group, DLSIIS, Facultad de Informática, Universidad Politécnica de Madrid, Spain

    Clara Benac Earle & Lars-Åke Fredlund

Authors
  1. Clara Benac Earle
    View author publications

    You can also search for this author in PubMed Google Scholar

  2. Lars-Åke Fredlund
    View author publications

    You can also search for this author in PubMed Google Scholar

Editor information

Editors and Affiliations

  1. Hasso Plattner Institute at the University of Potsdam, Prof.-Dr.-Helmert-Straße 2-3, 14482, Potsdam, Germany

    Holger Giese

  2. Department of Computer Science, University of Illinois at Urbana-Champaign, 201 N. Goodwin, 61801, Urbana, IL, USA

    Grigore Rosu

Rights and permissions

Reprints and Permissions

Copyright information

© 2012 IFIP International Federation for Information Processing

About this paper

Cite this paper

Earle, C.B., Fredlund, LÅ. (2012). Verification of Timed Erlang Programs Using McErlang. In: Giese, H., Rosu, G. (eds) Formal Techniques for Distributed Systems. FMOODS FORTE 2012 2012. Lecture Notes in Computer Science, vol 7273. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-30793-5_16

Download citation

  • .RIS
  • .ENW
  • .BIB
  • DOI: https://doi.org/10.1007/978-3-642-30793-5_16

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-30792-8

  • Online ISBN: 978-3-642-30793-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Share this paper

Anyone you share the following link with will be able to read this content:

Sorry, a shareable link is not currently available for this article.

Provided by the Springer Nature SharedIt content-sharing initiative

Search

Navigation

  • Find a journal
  • Publish with us

Discover content

  • Journals A-Z
  • Books A-Z

Publish with us

  • Publish your research
  • Open access publishing

Products and services

  • Our products
  • Librarians
  • Societies
  • Partners and advertisers

Our imprints

  • Springer
  • Nature Portfolio
  • BMC
  • Palgrave Macmillan
  • Apress
  • Your US state privacy rights
  • Accessibility statement
  • Terms and conditions
  • Privacy policy
  • Help and support

167.114.118.210

Not affiliated

Springer Nature

© 2023 Springer Nature