Rebeca: Theory, Applications, and Tools

  • Marjan Sirjani
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4709)


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.


Actors Rebeca Distributed Systems Concurrency Compositional Verification Model Checking Abstraction 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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. 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. 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. 4.
    Agha, G., Mason, I., Smith, S., Talcott, C.: A foundation for actor computation. Journal of Functional Programming 7, 1–72 (1997)zbMATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    Agha, G.: Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, Cambridge, MA (1990)Google Scholar
  6. 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)zbMATHCrossRefMathSciNetGoogle Scholar
  7. 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. 8.
    Ren, S., Agha, G.: RTsynchronizer: language support for real-time specifications in distributed systems. ACM SIGPLAN Notices 30, 50–59 (1995)CrossRefGoogle Scholar
  9. 9.
    Yonezawa, A.: ABCL: An Object-Oriented Concurrent System. Series in Computer Systems. MIT Press, Cambridge (1990)Google Scholar
  10. 10.
    Varela, C., Agha, G.: Programming dynamically reconfigurable open systems with SALSA. ACM SIGPLAN Notices 36, 20–34 (2001)CrossRefGoogle Scholar
  11. 11.
    Mason, I.A., Talcott, C.L.: Actor languages: Their syntax, semantics, translation, and equivalence. Theoretical Computer Science 220, 409–467 (1999)zbMATHCrossRefMathSciNetGoogle Scholar
  12. 12.
    Talcott, C.: Composable semantic models for actor theories. Higher-Order and Symbolic Computation 11, 281–343 (1998)zbMATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    Talcott, C.: Actor theories in rewriting logic. Theoretical Computer Science 285, 441–485 (2002)zbMATHCrossRefMathSciNetGoogle Scholar
  14. 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)CrossRefGoogle Scholar
  15. 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)CrossRefGoogle Scholar
  16. 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. 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. 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)CrossRefGoogle Scholar
  19. 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. 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)CrossRefGoogle Scholar
  21. 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. 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. 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. 24.
  25. 25.
    Lynch, N.: Distributed Algorithms. Morgan Kaufmann, San Francisco, CA (1996)zbMATHGoogle Scholar
  26. 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. 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. 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. 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. 30.
    Hojjat, H., Sirjani, M., Mousavi, M.R., Groote, J.F.: Sarir: A rebeca to mCRL2 translator, accepted for ACSD07 (2007)Google Scholar
  31. 31.
  32. 32.
    (Spin), Available through
  33. 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. 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. 35.
    Hoare, C.A.R.: Communications Sequential Processes. Prentice-Hall, Englewood Cliffs (NJ) (1985)Google Scholar
  36. 36.
    Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes. Information and Computation 100, 1–77 (1992)zbMATHCrossRefMathSciNetGoogle Scholar
  37. 37.
    Alur, R., Henzinger, T.: Reactive Modules. Formal Methods in System Design: An International Journal 15, 7–48 (1999)CrossRefGoogle Scholar
  38. 38.
    Roscoe, W.A.: Theory and Practice of Concurrency. Prentice-Hall, Englewood Cliffs (1998)Google Scholar
  39. 39.
    Larsen, K.G., Milner, R.: A compositional protocol verification using relativized bisimulation. Information and Computation 99, 80–108 (1992)zbMATHCrossRefMathSciNetGoogle Scholar
  40. 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)CrossRefGoogle Scholar
  41. 41.
    Alur, R., Henzinger, T.: Computer aided verification. Technical Report Draft (1999)Google Scholar
  42. 42.
    Havelund, K., Pressburger, T.: Model checking Java programs using Java PathFinder. International Journal on Software Tools for Technology Transfer 2, 366–381 (2000)zbMATHCrossRefGoogle Scholar
  43. 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. 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. 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)CrossRefGoogle Scholar
  46. 46.
    Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. The MIT Press, Cambridge, Massachusetts (1999)Google Scholar
  47. 47.
    McMillan, K.L.: A methodology for hardware verification using compositional model checking. Science of Computer Programming 37, 279–309 (2000)zbMATHCrossRefGoogle Scholar
  48. 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)CrossRefGoogle Scholar
  49. 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)CrossRefGoogle Scholar
  50. 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)CrossRefGoogle Scholar
  51. 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)CrossRefGoogle Scholar
  52. 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. 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)CrossRefGoogle Scholar
  54. 54.
    Arbab, F.: Reo: A channel-based coordination model for component composition. Mathematical Structures in Computer Science 14, 329–366 (2004)zbMATHCrossRefMathSciNetGoogle Scholar
  55. 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)zbMATHCrossRefMathSciNetGoogle Scholar
  56. 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. 57.
    Kupferman, O., Vardi, M.Y., Wolper, P.: Module checking. Information and Computation 164, 322–344 (2001)zbMATHCrossRefMathSciNetGoogle Scholar
  58. 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)CrossRefGoogle Scholar
  59. 59.
    Emerson, E., Sistla, A.: Symmetry and model checking. Formal Methods in System Design 9, 105–131 (1996)CrossRefGoogle Scholar
  60. 60.
    Ip, C., Dill, D.: Better verification through symmetry. Formal methods in system design 9, 41–75 (1996)CrossRefGoogle Scholar
  61. 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)CrossRefGoogle Scholar
  62. 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)CrossRefGoogle Scholar
  63. 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)CrossRefGoogle Scholar
  64. 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. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Marjan Sirjani
    • 1
    • 2
  1. 1.University of TehranTehranIran
  2. 2.IPM School of Computer ScienceTehranIran

Personalised recommendations