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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Sirjani, M., Movaghar, A.: An actor-based model for formal modelling of reactive systems: Rebeca. Technical Report CS-TR-80-01, Tehran, Iran (2001)
Sirjani, M., Movaghar, A., Shali, A., de Boer, F.: Modeling and verification of reactive systems using Rebeca. Fundamenta Informatica 63, 385–410 (2004)
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)
Agha, G., Mason, I., Smith, S., Talcott, C.: A foundation for actor computation. Journal of Functional Programming 7, 1–72 (1997)
Agha, G.: Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, Cambridge, MA (1990)
America, P., de Bakker, J., Kok, J., Rutten, J.: Denotational semantics of a parallel object-oriented language. Information and Computation 83, 152–205 (1989)
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)
Ren, S., Agha, G.: RTsynchronizer: language support for real-time specifications in distributed systems. ACM SIGPLAN Notices 30, 50–59 (1995)
Yonezawa, A.: ABCL: An Object-Oriented Concurrent System. Series in Computer Systems. MIT Press, Cambridge (1990)
Varela, C., Agha, G.: Programming dynamically reconfigurable open systems with SALSA. ACM SIGPLAN Notices 36, 20–34 (2001)
Mason, I.A., Talcott, C.L.: Actor languages: Their syntax, semantics, translation, and equivalence. Theoretical Computer Science 220, 409–467 (1999)
Talcott, C.: Composable semantic models for actor theories. Higher-Order and Symbolic Computation 11, 281–343 (1998)
Talcott, C.: Actor theories in rewriting logic. Theoretical Computer Science 285, 441–485 (2002)
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)
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)
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)
Clarke, E.M.: The birth of model checking. In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, Springer, Heidelberg (2006)
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)
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)
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)
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)
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)
Alavizadeh, F., HashemiNekoo, A., Sirjani, M.: ReUML: A UML profile for modeling and verification of reactive systems. In: Proceedings of ICSEA’07 (2007)
(Rebeca homepage), http://khorshid.ut.ac.ir/~rebeca/
Lynch, N.: Distributed Algorithms. Morgan Kaufmann, San Francisco, CA (1996)
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)
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)
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)
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)
Hojjat, H., Sirjani, M., Mousavi, M.R., Groote, J.F.: Sarir: A rebeca to mCRL2 translator, accepted for ACSD07 (2007)
(NuSMV), http://nusmv.irst.itc.it/NuSMV
(Spin), Available through http://netlib.bell-labs.com/netlib/spin
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)
Jaghoori, M.M., Sirjani, M., Mousavi, M.R., Movaghar, A.: Symmetry and partial order reduction techniques in model checking Rebeca (submitted to a journal)
Hoare, C.A.R.: Communications Sequential Processes. Prentice-Hall, Englewood Cliffs (NJ) (1985)
Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes. Information and Computation 100, 1–77 (1992)
Alur, R., Henzinger, T.: Reactive Modules. Formal Methods in System Design: An International Journal 15, 7–48 (1999)
Roscoe, W.A.: Theory and Practice of Concurrency. Prentice-Hall, Englewood Cliffs (1998)
Larsen, K.G., Milner, R.: A compositional protocol verification using relativized bisimulation. Information and Computation 99, 80–108 (1992)
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)
Alur, R., Henzinger, T.: Computer aided verification. Technical Report Draft (1999)
Havelund, K., Pressburger, T.: Model checking Java programs using Java PathFinder. International Journal on Software Tools for Technology Transfer 2, 366–381 (2000)
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)
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)
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)
Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. The MIT Press, Cambridge, Massachusetts (1999)
McMillan, K.L.: A methodology for hardware verification using compositional model checking. Science of Computer Programming 37, 279–309 (2000)
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)
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)
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)
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)
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)
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)
Arbab, F.: Reo: A channel-based coordination model for component composition. Mathematical Structures in Computer Science 14, 329–366 (2004)
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)
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)
Kupferman, O., Vardi, M.Y., Wolper, P.: Module checking. Information and Computation 164, 322–344 (2001)
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)
Emerson, E., Sistla, A.: Symmetry and model checking. Formal Methods in System Design 9, 105–131 (1996)
Ip, C., Dill, D.: Better verification through symmetry. Formal methods in system design 9, 41–75 (1996)
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)
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)
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)
Hakimipour, N., Razavi, N., Sirjani, M., Navabi, Z.: Modeling and formal verification of system-level designs. In: submited to FDL’07 (2007)
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)
Author information
Authors and Affiliations
Editor information
Rights 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)