Skip to main content

Rebeca: Theory, Applications, and Tools

  • Conference paper

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

Abstract

Rebeca is an actor-based language with a formal foundation for modeling concurrent and distributed systems which is designed in an effort to bridge the gap between formal verification approaches and real applications. Rebeca is supported by a tool-set for model checking Rebeca models. Inherent characteristics of Rebeca are used to introduce compositional verification, abstraction, symmetry and partial order reduction techniques for reducing the state space. Simple message-driven object-based computational model, Java-like syntax, and set of verification tools make Rebeca an interesting and easy-to-learn model for practitioners. This paper is to present theories, applications, and supporting tools of Rebeca in a consistent and distilled form.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Sirjani, M., Movaghar, A.: An actor-based model for formal modelling of reactive systems: Rebeca. Technical Report CS-TR-80-01, Tehran, Iran (2001)

    Google Scholar 

  2. Sirjani, M., Movaghar, A., Shali, A., de Boer, F.: Modeling and verification of reactive systems using Rebeca. Fundamenta Informatica 63, 385–410 (2004)

    Google Scholar 

  3. Hewitt, C.: Description and theoretical analysis (using schemata) of PLANNER: A language for proving theorems and manipulating models in a robot. In: MIT Artificial Intelligence Technical Report 258, Department of Computer Science, MIT, Cambridge (1972)

    Google Scholar 

  4. Agha, G., Mason, I., Smith, S., Talcott, C.: A foundation for actor computation. Journal of Functional Programming 7, 1–72 (1997)

    Article  MATH  MathSciNet  Google Scholar 

  5. Agha, G.: Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, Cambridge, MA (1990)

    Google Scholar 

  6. America, P., de Bakker, J., Kok, J., Rutten, J.: Denotational semantics of a parallel object-oriented language. Information and Computation 83, 152–205 (1989)

    Article  MATH  MathSciNet  Google Scholar 

  7. Agha, G.: The structure and semantics of actor languages. In: de Bakker, J.W., de Roever, W.P., Rozenberg, G. (eds.) Foundations of Object-Oriented Languages, pp. 1–59. Springer, Berlin (1990)

    Google Scholar 

  8. Ren, S., Agha, G.: RTsynchronizer: language support for real-time specifications in distributed systems. ACM SIGPLAN Notices 30, 50–59 (1995)

    Article  Google Scholar 

  9. Yonezawa, A.: ABCL: An Object-Oriented Concurrent System. Series in Computer Systems. MIT Press, Cambridge (1990)

    Google Scholar 

  10. Varela, C., Agha, G.: Programming dynamically reconfigurable open systems with SALSA. ACM SIGPLAN Notices 36, 20–34 (2001)

    Article  Google Scholar 

  11. Mason, I.A., Talcott, C.L.: Actor languages: Their syntax, semantics, translation, and equivalence. Theoretical Computer Science 220, 409–467 (1999)

    Article  MATH  MathSciNet  Google Scholar 

  12. Talcott, C.: Composable semantic models for actor theories. Higher-Order and Symbolic Computation 11, 281–343 (1998)

    Article  MATH  MathSciNet  Google Scholar 

  13. Talcott, C.: Actor theories in rewriting logic. Theoretical Computer Science 285, 441–485 (2002)

    Article  MATH  MathSciNet  Google Scholar 

  14. Gaspari, M., Zavattaro, G.: An actor algebra for specifying distributed systems: The hurried philosophers case study. In: Agha, G.A., De Cindio, F., Rozenberg, G. (eds.) Concurrent Object-Oriented Programming and Petri Nets. LNCS, vol. 2001, pp. 216–246. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  15. Sirjani, M., de Boer, F.S., Movaghar, A., Shali, A.: Extended rebeca: A component-based actor language with synchronous message passing. In: Proceedings of Fifth International Conference on Application of Concurrency to System Design (ACSD’05), pp. 212–221. IEEE Computer Society, Los Alamitos (2005)

    Chapter  Google Scholar 

  16. Sirjani, M., de Boer, F.S., Movaghar, A.: Modular verification of a component-based actor language. Journal of Universal Computer Science 11, 1695–1717 (2005)

    Google Scholar 

  17. Clarke, E.M.: The birth of model checking. In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, Springer, Heidelberg (2006)

    Google Scholar 

  18. Sirjani, M., Shali, A., Jaghoori, M., Iravanchi, H., Movaghar, A.: A front-end tool for automated abstraction and modular verification of actor-based models. In: Proceedings of Fourth International Conference on Application of Concurrency to System Design (ACSD’04), pp. 145–148. IEEE Computer Society, Los Alamitos (2004)

    Chapter  Google Scholar 

  19. Sirjani, M., Movaghar, A., Shali, A., de Boer, F.: Model checking, automated abstraction, and compositional verification of Rebeca models. Journal of Universal Computer Science 11, 1054–1082 (2005)

    Google Scholar 

  20. Jaghoori, M.M., Sirjani, M., Mousavi, M.R., Movaghar, A.: Efficient symmetry reduction for an actor-based model. In: Chakraborty, G. (ed.) ICDCIT 2005. LNCS, vol. 3816, pp. 494–507. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  21. Jaghoori, M.M., Movaghar, A., Sirjani, M.: Modere: The model-checking engine of rebeca. In: Proceedings of the 21st Annual ACM Symposium on Applied Computing (SAC 2006), Software Verificatin Track, pp. 1810–1815 (2006)

    Google Scholar 

  22. Alavizadeh, F., Sirjani, M.: Using UML to develop verifiable reactive systems. In: Proceedings of International Workshop on the Applications of UML/MDA to Software Systems (at Software Engineering Research and Practice - SERP’06), pp. 554–561 (2005)

    Google Scholar 

  23. Alavizadeh, F., HashemiNekoo, A., Sirjani, M.: ReUML: A UML profile for modeling and verification of reactive systems. In: Proceedings of ICSEA’07 (2007)

    Google Scholar 

  24. (Rebeca homepage), http://khorshid.ut.ac.ir/~rebeca/

  25. Lynch, N.: Distributed Algorithms. Morgan Kaufmann, San Francisco, CA (1996)

    MATH  Google Scholar 

  26. Shahriari, H.R., Makarem, M.S., Sirjani, M., Jalili, R., Movaghar, A.: Modeling and verification of complex network attacks using an actor-based language. In: Proceedings of 11th Annual Int. CSI Computer Conference, pp. 152–158 (2006)

    Google Scholar 

  27. Sirjani, M., SeyedRazi, H., Movaghar, A., Jaghouri, M.M., Forghanizadeh, S., Mojdeh, M.: Model checking csma/cd protocol using an actor-based language. WSEAS Transactions on Circuit and Systems 3, 1052–1057 (2004)

    Google Scholar 

  28. Hojjat, H., Nokhost, H., Sirjani, M.: Formal verification of the ieee 802.1d spanning tree protocol using extended rebeca. In: Proceedings of the First International Conference on Fundamentals of Software Engineering (FSEN’05). Electronic Notes in Theoretical Computer Science, vol. 159, pp. 139–159. Elsevier, Amsterdam (2006)

    Google Scholar 

  29. Sirjani, M., Movaghar, A., Iravanchi, H., Jaghoori, M., Shali, A.: Model checking Rebeca by SMV. In: Proceedings of the Workshop on Automated Verification of Critical Systems (AVoCS’03), Southampton, UK, pp. 233–236 (2003)

    Google Scholar 

  30. Hojjat, H., Sirjani, M., Mousavi, M.R., Groote, J.F.: Sarir: A rebeca to mCRL2 translator, accepted for ACSD07 (2007)

    Google Scholar 

  31. (NuSMV), http://nusmv.irst.itc.it/NuSMV

  32. (Spin), Available through http://netlib.bell-labs.com/netlib/spin

  33. Groote, J.F., Mathijssen, A., van Weerdenburg, M., Usenko, Y.: From μCRL to mCRL2: motivation and outline. In: Workshop of Essays on Algebraic Process Calculi (2006). Electronic Notes in Theoretical Computer Science, pp. 191–196. Elsevier, Amsterdam (2006)

    Google Scholar 

  34. Jaghoori, M.M., Sirjani, M., Mousavi, M.R., Movaghar, A.: Symmetry and partial order reduction techniques in model checking Rebeca (submitted to a journal)

    Google Scholar 

  35. Hoare, C.A.R.: Communications Sequential Processes. Prentice-Hall, Englewood Cliffs (NJ) (1985)

    Google Scholar 

  36. Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes. Information and Computation 100, 1–77 (1992)

    Article  MATH  MathSciNet  Google Scholar 

  37. Alur, R., Henzinger, T.: Reactive Modules. Formal Methods in System Design: An International Journal 15, 7–48 (1999)

    Article  Google Scholar 

  38. Roscoe, W.A.: Theory and Practice of Concurrency. Prentice-Hall, Englewood Cliffs (1998)

    Google Scholar 

  39. Larsen, K.G., Milner, R.: A compositional protocol verification using relativized bisimulation. Information and Computation 99, 80–108 (1992)

    Article  MATH  MathSciNet  Google Scholar 

  40. Alur, R., Henzinger, T.A., Mang, F.Y.C., Qadeer, S.: MOCHA: Modularity in model checking. In: Vardi, M.Y. (ed.) CAV 1998. LNCS, vol. 1427, pp. 521–525. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  41. Alur, R., Henzinger, T.: Computer aided verification. Technical Report Draft (1999)

    Google Scholar 

  42. Havelund, K., Pressburger, T.: Model checking Java programs using Java PathFinder. International Journal on Software Tools for Technology Transfer 2, 366–381 (2000)

    Article  MATH  Google Scholar 

  43. Dwyer, M., Hatcliff, J., Joehanes, R., Laubach, S., Pasareanu, C., Robby, V.W., Zheng, H.: Tool-supported program abstraction for finite-state verification. In: Proceedings of the 23nd International Conference on Software Engineering, pp. 177–187 (2001)

    Google Scholar 

  44. Emerson, E.A.: Temporal and Modal Logic. In: van Leeuwen, J. (ed.) Handbook of Theoretical Computer Science, vol. B, pp. 996–1072. Elsevier Science Publishers, Amsterdam (1990)

    Google Scholar 

  45. Lamport, L.: Composition: A way to make proofs harder. In: de Roever, W.-P., Langmaack, H., Pnueli, A. (eds.) COMPOS 1997. LNCS, vol. 1536, pp. 402–407. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  46. Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. The MIT Press, Cambridge, Massachusetts (1999)

    Google Scholar 

  47. McMillan, K.L.: A methodology for hardware verification using compositional model checking. Science of Computer Programming 37, 279–309 (2000)

    Article  MATH  Google Scholar 

  48. Kesten, Y., Pnueli, A.: Modularization and abstraction: The keys to practical formal verification. In: Brim, L., Gruska, J., Zlatuška, J. (eds.) MFCS 1998. LNCS, vol. 1450, pp. 54–71. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  49. Rushby, J.: Integrated formal verification: Using model checking with automated abstraction, invariant generation, and theorem proving. In: Dams, D.R., Gerth, R., Leue, S., Massink, M. (eds.) SPIN 2006. LNCS, vol. 1680. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  50. Saidi, H., Shankar, N.: Abstract and model check while you prove. In: Halbwachs, N., Peled, D.A. (eds.) CAV 1999. LNCS, vol. 1633, pp. 443–453. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  51. Ioustinova, N., Sidorova, N., Steffen, M.: Closing open SDL-systems for model checking with DTSpin. In: Eriksson, L.-H., Lindsay, P.A. (eds.) FME 2002. LNCS, vol. 2391, pp. 531–548. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  52. Agha, G., Thati, P., Ziaei, R.: Actors: A model for reasoning about open distributed systems. In: Formal methods for distributed processing: a survey of object-oriented approaches- Section: Dynamic reconfiguration, pp. 155–176. Cambridge University Press, Cambridge (2001)

    Google Scholar 

  53. Sirjani, M., Jaghoori, M.M., Baier, C., Arbab, F.: Compositional semantics of an actor-based language using constraint automata. In: Ciancarini, P., Wiklicky, H. (eds.) COORDINATION 2006. LNCS, vol. 4038, pp. 281–297. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  54. Arbab, F.: Reo: A channel-based coordination model for component composition. Mathematical Structures in Computer Science 14, 329–366 (2004)

    Article  MATH  MathSciNet  Google Scholar 

  55. Baier, C., Sirjani, M., Arbab, F., Rutten, J.J.: Modeling component connectors in reo by constraint automata. Science of Computer Programming 61, 75–113 (2006)

    Article  MATH  MathSciNet  Google Scholar 

  56. Sirjani, M., Movaghar, A., Mousavi, M.: Compositional verification of an object-based reactive system. In: Proceedings of the Workshop on Automated Verification of Critical Systems (AVoCS’01), Oxford, UK, pp. 114–118 (2001)

    Google Scholar 

  57. Kupferman, O., Vardi, M.Y., Wolper, P.: Module checking. Information and Computation 164, 322–344 (2001)

    Article  MATH  MathSciNet  Google Scholar 

  58. Vardi, M.Y.: Verification of open systems. In: Ramesh, S., Sivakumar, G. (eds.) Foundations of Software Technology and Theoretical Computer Science. LNCS, vol. 1346, pp. 250–267. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  59. Emerson, E., Sistla, A.: Symmetry and model checking. Formal Methods in System Design 9, 105–131 (1996)

    Article  Google Scholar 

  60. Ip, C., Dill, D.: Better verification through symmetry. Formal methods in system design 9, 41–75 (1996)

    Article  Google Scholar 

  61. Sistla, A.P., Gyuris, V., Emerson, E.A.: Smc: a symmetry-based model checker for verification of safety and liveness properties. ACM Transactions on Software Engineering Methodology 9, 133–166 (2000)

    Article  Google Scholar 

  62. Godefroid, P.: Using partial orders to improve automatic verification methods. In: Clarke, E., Kurshan, R.P. (eds.) CAV 1990. LNCS, vol. 531, pp. 176–185. Springer, Heidelberg (1991)

    Chapter  Google Scholar 

  63. Valmari, A.: A stubborn attack on state explosion. In: Clarke, E., Kurshan, R.P. (eds.) CAV 1990. LNCS, vol. 531, pp. 156–165. Springer, Heidelberg (1991)

    Chapter  Google Scholar 

  64. Hakimipour, N., Razavi, N., Sirjani, M., Navabi, Z.: Modeling and formal verification of system-level designs. In: submited to FDL’07 (2007)

    Google Scholar 

  65. Kakoee, M.R., Shojaei, H., Sirjani, M., Navabi, Z.: A new approach for design and verification of transaction level models. In: Proceedings of IEEE International Symposium on Circuit and Sytems (ISCAS 2007), IEEE Computer Society Press, Los Alamitos (to appear, 2007)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Frank S. de Boer Marcello M. Bonsangue Susanne Graf Willem-Paul de Roever

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Sirjani, M. (2007). Rebeca: Theory, Applications, and Tools. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, WP. (eds) Formal Methods for Components and Objects. FMCO 2006. Lecture Notes in Computer Science, vol 4709. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-74792-5_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-74792-5_5

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-74791-8

  • Online ISBN: 978-3-540-74792-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics