skip to main content
10.5555/1777707.1777714guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Rebeca: theory, applications, and tools

Published: 07 November 2006 Publication History

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.

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).
[2]
Sirjani, M., Movaghar, A., Shali, A., de Boer, F.: Modeling and verification of reactive systems using Rebeca. Fundamenta Informatica 63, 385-410 (2004).
[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).
[4]
Agha, G., Mason, I., Smith, S., Talcott, C.: A foundation for actor computation. Journal of Functional Programming 7, 1-72 (1997).
[5]
Agha, G.: Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, Cambridge, MA (1990).
[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).
[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).
[8]
Ren, S., Agha, G.: RTsynchronizer: language support for real-time specifications in distributed systems. ACM SIGPLAN Notices 30, 50-59 (1995).
[9]
Yonezawa, A.: ABCL: An Object-Oriented Concurrent System. Series in Computer Systems. MIT Press, Cambridge (1990).
[10]
Varela, C., Agha, G.: Programming dynamically reconfigurable open systems with SALSA. ACM SIGPLAN Notices 36, 20-34 (2001).
[11]
Mason, I.A., Talcott, C.L.: Actor languages: Their syntax, semantics, translation, and equivalence. Theoretical Computer Science 220, 409-467 (1999).
[12]
Talcott, C.: Composable semantic models for actor theories. Higher-Order and Symbolic Computation 11, 281-343 (1998).
[13]
Talcott, C.: Actor theories in rewriting logic. Theoretical Computer Science 285, 441-485 (2002).
[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).
[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).
[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).
[17]
Clarke, E.M.: The birth of model checking. In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, Springer, Heidelberg (2006).
[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).
[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).
[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).
[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).
[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).
[23]
Alavizadeh, F., HashemiNekoo, A., Sirjani, M.: ReUML: A UML profile for modeling and verification of reactive systems. In: Proceedings of ICSEA'07 (2007).
[24]
(Rebeca homepage), http://khorshid.ut.ac.ir/~rebeca/
[25]
Lynch, N.: Distributed Algorithms. Morgan Kaufmann, San Francisco, CA (1996).
[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).
[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).
[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).
[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).
[30]
Hojjat, H., Sirjani, M., Mousavi, M.R., Groote, J.F.: Sarir: A rebeca to mCRL2 translator, accepted for ACSD07 (2007).
[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).
[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).
[35]
Hoare, C.A.R.: Communications Sequential Processes. Prentice-Hall, Englewood Cliffs (NJ) (1985).
[36]
Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes. Information and Computation 100, 1-77 (1992).
[37]
Alur, R., Henzinger, T.: Reactive Modules. Formal Methods in System Design: An International Journal 15, 7-48 (1999).
[38]
Roscoe, W.A.: Theory and Practice of Concurrency. Prentice-Hall, Englewood Cliffs (1998).
[39]
Larsen, K.G., Milner, R.: A compositional protocol verification using relativized bisimulation. Information and Computation 99, 80-108 (1992).
[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).
[41]
Alur, R., Henzinger, T.: Computer aided verification. Technical Report Draft (1999).
[42]
Havelund, K., Pressburger, T.: Model checking Java programs using Java PathFinder. International Journal on Software Tools for Technology Transfer 2, 366-381 (2000).
[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).
[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).
[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).
[46]
Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. The MIT Press, Cambridge, Massachusetts (1999).
[47]
McMillan, K.L.: A methodology for hardware verification using compositional model checking. Science of Computer Programming 37, 279-309 (2000).
[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).
[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 1999. LNCS, vol. 1680. Springer, Heidelberg (1999).
[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).
[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).
[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).
[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).
[54]
Arbab, F.: Reo: A channel-based coordination model for component composition. Mathematical Structures in Computer Science 14, 329-366 (2004).
[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).
[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).
[57]
Kupferman, O., Vardi, M.Y., Wolper, P.: Module checking. Information and Computation 164, 322-344 (2001).
[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).
[59]
Emerson, E., Sistla, A.: Symmetry and model checking. Formal Methods in System Design 9, 105-131 (1996).
[60]
Ip, C., Dill, D.: Better verification through symmetry. Formal methods in system design 9, 41-75 (1996).
[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).
[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).
[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).
[64]
Hakimipour, N., Razavi, N., Sirjani, M., Navabi, Z.: Modeling and formal verification of system-level designs. In: submited to FDL'07 (2007).
[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).

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
FMCO'06: Proceedings of the 5th international conference on Formal methods for components and objects
November 2006
297 pages
ISBN:3540747915
  • Editors:
  • Frank S. De Boer,
  • Marcello M. Bonsangue,
  • Susanne Graf,
  • Willem-Paul De Roever

Sponsors

  • KNAW: Koninklijke Nederlandse Akademie van Wetenschappen
  • NWO: Dutch Orgartisation for Scientific Research
  • IPA: Institute for Programming research and Algorithmics
  • CWI: Centrum voor Wiskunde en Informatica-Netherlands
  • LIACS: The Leiden Institute of Advanced Computer Science

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 07 November 2006

Author Tags

  1. abstraction
  2. actors
  3. compositional verification
  4. concurrency
  5. distributed systems
  6. model checking
  7. rebeca

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 02 Feb 2025

Other Metrics

Citations

Cited By

View all

View Options

View options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media