Abstract
To program parallel systems efficiently and easily, a wide range of programming models have been proposed, each with different choices concerning synchronization and communication between parallel entities. Among them, the actor model is based on loosely coupled parallel entities that communicate by means of asynchronous messages and mailboxes. Some actor languages provide a strong integration with object-oriented concepts; these are often called active object languages. This article reviews four major actor and active object languages and compares them according to carefully chosen dimensions that cover central aspects of the programming paradigms and their implementation.
- Erika Ábrahám, Frank S. de Boer, Willem P. de Roever, and Martin Steffen. 2005. An assertion-based proof system for multithreaded Java. Theoret. Comput. Sci. 331, 2--3 (2005), 251--290.Google ScholarDigital Library
- Luca Aceto, Matteo Cimini, Anna Ingólfsdóttir, Arni Hermann Reynisson, Steinar Hugi Sigurdarson, and Marjan Sirjani. 2011. Modelling and simulation of asynchronous real-time systems using timed rebeca. In Proceedings of the Workshop on Foundations of Coordination Languages and Software Architectures, Mohammad Reza Mousavi and António Ravara (Eds.). Electronic Proceedings in Theoretical Computer Science, Vol. 58. 1--19.Google ScholarCross Ref
- Gul Agha. 1986. Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press.Google ScholarCross Ref
- Elvira Albert, Puri Arenas, Antonio Flores-Montoya, Samir Genaim, Miguel Gómez-Zamalloa, Enrique Martin-Martin, Germán Puebla, and Guillermo Román-Díez. 2014. SACO: Static analyzer for concurrent objects. In Proceedings of the 20th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS), Erika Ábrahám and Klaus Havelund (Eds.). LNCS, Vol. 8413. Springer, 562--567.Google ScholarCross Ref
- Elvira Albert, Puri Arenas, and Miguel Gómez-Zamalloa. 2015. Test case generation of actor systems. In Proceedings of the 13th Intl. Symp. on Automated Technology for Verification and Analysis (ATVA), Bernd Finkbeiner, Geguang Pu, and Lijun Zhang (Eds.). LNCS, Vol. 9364. Springer, 259--275. Google ScholarCross Ref
- Elvira Albert, Frank S. de Boer, Reiner Hähnle, Einar Broch Johnsen, Rudolf Schlatte, Silvia Lizeth Tapia Tarifa, and Peter Y. H. Wong. 2014. Formal modeling of resource management for cloud architectures: An industrial case study using real-time ABS. Journal of Service-Oriented Computing and Applications 8, 4 (2014), 323--339. Google ScholarDigital Library
- Elvira Albert, Miguel Gómez-Zamalloa, and Miguel Isabel. 2016. Combining static analysis and testing for deadlock detection. In Proceedings of the 12th Intl. Conf. on Integrated Formal Methods (iFM 2016), Erika Ábrahám and Marieke Huisman (Eds.). LNCS, Vol. 9681. Springer, 409--424.Google ScholarDigital Library
- Joe Armstrong. 2007. Programming Erlang, Software for Concurrent World. Pragmatic Bookshelf.Google Scholar
- Henry. G. Baker Jr. and Carl Hewitt. 1977. The incremental garbage collection of processes. In Proceedings of the Symposium on Artificial Intelligence and Programming Languages. ACM Press, New York, NY, 55--59.Google Scholar
- Henri E. Bal, Jennifer G. Steiner, and Andrew S. Tanenbaum. 1989. Programming languages for distributed computing systems. Comput. Surv. 21, 3 (1989), 261--322. Google ScholarDigital Library
- Françoise Baude, Ludovic Henrio, and Cristian Ruz. 2015. Programming distributed and adaptable autonomous components—The GCM/ProActive framework. Softw. Prac. Exper. 45, 9 (2015), 1189--1227.Google ScholarDigital Library
- Razieh Behjati, Marjan Sirjani, and Majid Nili Ahmadabadi. 2009. Bounded rational search for on-the-fly model checking of LTL properties. In Proceedings of the 3rd IPM International Conference on Fundamentals of Software Engineering (FSEN’09), Farhad Arbab and Marjan Sirjani (Eds.). LNCS, Vol. 5961. Springer, 292--307.Google Scholar
- Philip A. Bernstein and Sergey Bykov. 2016. Developing cloud services using the orleans virtual actor model. IEEE Internet Comput. 20, 5 (2016), 71--75. Google ScholarDigital Library
- Joakim Bjørk, Frank S. de Boer, Einar Broch Johnsen, Rudolf Schlatte, and S. Lizeth Tapia Tarifa. 2013. User-defined schedulers for real-time concurrent objects. Innov. Syst. Softw. Eng. 9, 1 (2013), 29--43.Google ScholarDigital Library
- Stefan Blom and Marieke Huisman. 2014. The vercors tool for verification of concurrent programs. In Proceedings of the 19th Intl. Symposium on Formal Methods (FM’14), Cliff B. Jones, Pekka Pihlajasaari, and Jun Sun (Eds.). LNCS, Vol. 8442. Springer, 127--131. Google ScholarDigital Library
- Stephan Brandauer, Elias Castegren, Dave Clarke, Kiko Fernandez-Reyes, Einar Broch Johnsen, Ka I. Pun, S. Lizeth Tapia Tarifa, Tobias Wrigstad, and Albert Mingkun Yang. 2015. Parallel objects for multicores: A glimpse at the parallel language encore. In Formal Methods for Multicore Programming: 15th International School on Formal Methods for the Design of Computer, Communication, and Software Systems, Marco Bernardo and Einar Broch Johnsen (Eds.). LNCS, Vol. 9104. Springer, 1--56. Google ScholarCross Ref
- Richard Bubel, Antonio Flores Montoya, and Reiner Hähnle. 2014. Analysis of executable software models. In Executable Software Models: 14th International School on Formal Methods for the Design of Computer, Communication, and Software Systems, Marco Bernardo, Ferruccio Damiani, Reiner Hähnle, Einar Broch Johnsen, and Ina Schaefer (Eds.). LNCS, Vol. 8483. Springer, 1--27.Google Scholar
- Sergey Bykov, Alan Geller, Gabriel Kliot, James R. Larus, Ravi Pandya, and Jorgen Thelin. 2011. Orleans: Cloud computing for everyone. In Proceedings of the Symposium on Cloud Computing in Conjunction with SOSP (SOCC’11), Jeffrey S. Chase and Amr El Abbadi (Eds.). ACM Press, 16.Google ScholarDigital Library
- Denis Caromel and Guillaume Chazarain. 2005. Robust exception handling in an asynchronous environment. In Proceedings of the ECOOP Workshop on Exception Handling in Object-Oriented Systems (2005).Google Scholar
- Denis Caromel, Guillaume Chazarain, and Ludovic Henrio. 2007. Garbage collecting the grid: A complete DGC for activities. In Proceedings of the 8th ACM/IFIP/USENIX International Middleware Conference, Renato Cerqueira and Roy H. Campbell (Eds.). LNCS, Vol. 4834. Springer, 164--183. Google ScholarCross Ref
- Denis Caromel and Ludovic Henrio. 2005. A Theory of Distributed Object. Springer.Google Scholar
- Denis Caromel, Ludovic Henrio, and Bernard Serpette. 2004. Asynchronous and deterministic objects. In Proceedings of the Symposium on Principles of Programming Languages (POPL’04), Neil D. Jones and Xavier Leroy (Eds.). ACM Press, 123--134. Google ScholarDigital Library
- Denis Caromel and Yves Roudier. 1996. Reactive programming in eiffel. In Proceedings of the Conference on Object-Based Parallel and Distributed Computation (OBPDC’95), Jean-Pierre Briot, Jean-Marc Geib, and Akinori Yonezawa (Eds.). LNCS, Vol. 1107. Springer, 125--147. Google ScholarCross Ref
- Elias Castegren and Tobias Wrigstad. 2016. Reference capabilities for concurrency control. In Proceedings of the European Conference on Object-Oriented Programming (ECOOP’16), Shriram Krishnamurthi and Benjamin S. Lerner (Eds.). LIPIcs, Vol. 56. Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik, 5:1--5:26.Google Scholar
- Elias Castegren and Tobias Wrigstad. 2017. Relaxed linear references for lock-free data structures. In Proceedings of the European Conference on Object-Oriented Programming (ECOOP’17), Peter Müller (Ed.). LIPIcs, Vol. 74. Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik, 6:1--6:32. DOI:http://dx.doi.org/10.4230/LIPIcs.ECOOP.2017.6Google Scholar
- Charron-Bost, Bernadette, Mattern, Friedemann, and Gerard Tel. 1996. Synchronous, asynchronous, and causally ordered communication. Distrib. Comput. 9, 4 (1996), 173--191. Google ScholarDigital Library
- Dave Clarke, Tobias Wrigstad, Johan Östlund, and Einar Broch Johnsen. 2008. Minimal ownership for active objects. In Proceedings of the 6th Asian Symposium on Programming Languages and Systems (APLAS’08), Ganesan Ramalingam (Ed.). LNCS, Vol. 5356. Springer, 139--154.Google ScholarDigital Library
- Manuel Clavel, Francisco Durán, Steven Eker, Patrick Lincoln, Narciso Martí-Oliet, José Meseguer, and Carolyn L. Talcott. 2007. All About Maude—A High-Performance Logical Framework, How to Specify, Program and Verify Systems in Rewriting Logic. LNCS, Vol. 4350. Springer.Google ScholarDigital Library
- Sylvan Clebsch, Sebastian Blessing, Juliana Franco, and Sophia Drossopoulou. 2015. Ownership and reference counting based garbage collection in the actor world. (2015). In Proceedings of the 10th Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems Workshop (ICOOOLPS’15).Google Scholar
- Sylvan Clebsch and Sophia Drossopoulou. 2013. Fully concurrent garbage collection of actors on many-core machines. In Proceedings of the ACM SIGPLAN International Conference on Object Oriented Programming Systems Languages 8 Applications (OOPSLA’13), Antony L. Hosking, Patrick Th. Eugster, and Cristina V. Lopes (Eds.). ACM Press, 553--570. Google ScholarDigital Library
- Sylvan Clebsch, Sophia Drossopoulou, Sebastian Blessing, and Andy McNeil. 2015. Deny capabilities for safe, fast actors. In Proceedings of the 5th International Workshop on Programming Based on Actors, Agents, and Decentralized Control (AGERE’15), Elisa Gonzalez Boix, Philipp Haller, Alessandro Ricci, and Carlos Varela (Eds.). ACM Press, 1--12. Google ScholarDigital Library
- Gianpaolo Cugola and Carlo Ghezzi. 1997. CJava: Introducing concurrent objects in java. In Proceedings of the 4th International Conference on Object Oriented Information Systems (OOIS’97), Maria E. Orlowska and Roberto Zicari (Eds.). Springer, 504--514.Google Scholar
- Ole-Johan Dahl, Bjørn Myrhaug, and Kristen Nygaard. 1968. (Simula 67) Common Base Language. Technical Report S-2. Norsk Regnesentral (Norwegian Computing Center), Oslo, Norway.Google Scholar
- Ole-Johan Dahl and Kristen Nygaard. 1966. SIMULA—An ALGOL-Based simulation language. Commun. ACM 9, 9 (1966), 671--678. Google ScholarDigital Library
- Frank S. de Boer, Dave Clarke, and Einar Broch Johnsen. 2007. A complete guide to the future. In Proceedings of the 16th European Symposium on Programming (ESOP’07), Rocco De Nicola (Ed.). LNCS, Vol. 4421. Springer, 316--330. Google ScholarCross Ref
- Jeffrey Dean and Sanjay Ghemawat. 2008. MapReduce: Simplified data processing on large clusters. Commun. ACM 51, 1 (Jan. 2008), 107--113. Google ScholarDigital Library
- Jessie Dedecker, Tom Van Cutsem, Stijn Mostinckx, Theo D’Hondt, and Wolfgang De Meuter. 2006. Ambient-oriented programming in ambienttalk. In Proceedings of the European Conference on Object-Oriented Programming (ECOOP’06), Dave Thomas (Ed.). LNCS, Vol. 4067. Springer, 230--254.Google ScholarDigital Library
- Crystal Chang Din, Richard Bubel, and Reiner Hähnle. 2015. KeY-ABS: A deductive verification tool for the concurrent modelling language ABS. In Automated Deduction (CADE-25), Amy P. Felty and Aart Middeldorp (Eds.). LNCS, Vol. 9195. Springer, 517--526.Google Scholar
- Crystal Chang Din and Olaf Owe. 2015. Compositional reasoning about active objects with shared futures. Form. Aspects Comput. 27, 3 (2015), 551--572. Google ScholarDigital Library
- Crystal Chang Din, S. Lizeth Tapia Tarifa, Reiner Hähnle, and Einar Broch Johnsen. 2015. History-based specification and verification of scalable concurrent and distributed systems. In Proceedings of the 17th International Conference on Formal Engineering Methods (ICFEM’15), Michael Butler, Sylvain Conchon, and Fatiha Zaïdi (Eds.). LNCS, Vol. 9407. Springer.Google Scholar
- Jesús Doménech, Samir Genaim, Einar Broch Johnsen, and Rudolf Schlatte. 2017. Easyinterface: A toolkit for rapid development of GUIs for research prototype tools. In Proceedings of the 20th International Conference on Fundamental Approaches to Software Engineering (FASE’17), Marieke Huisman and Julia Rubin (Eds.). LNCS, Vol. 10202. Springer, 379--383.Google ScholarDigital Library
- Kiko Fernandez-Reyes, Dave Clarke, and Daniel S. McCain. 2016. ParT: An asynchronous parallel abstraction. In Proceedings of the 18th International Conference on Coordination Models and Languages (COORDINATION’16), Alberto Lluch Lafuente and José Proença (Eds.). LNCS, Vol. 9686. Springer, 101--120.Google Scholar
- Elena Giachino, Cosimo Laneve, and Michael Lienhardt. 2016. A framework for deadlock detection in core ABS. Softw. Syst. Model. 15, 4 (2016), 1013--1048. DOI:http://dx.doi.org/10.1007/s10270-014-0444-y Google ScholarDigital Library
- Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, and Doug Lea. 2006. Java Concurrency in Practice. Addison-Wesley.Google Scholar
- Reiner Hähnle, Michiel Helvensteijn, Einar Broch Johnsen, Michael Lienhardt, Davide Sangiorgi, Ina Schaefer, and Peter Y. H. Wong. 2013. HATS abstract behavioral specification: The architectural view. In Proceedings of the International Coference on Formal Methods for Components and Objects (FMCO’12), Bernhard Beckert, Ferruccio Damiani, Frank de Boer, and Marcello M. Bonsangue (Eds.). LNCS, Vol. 7542. Springer, 109--132.Google Scholar
- Philipp Haller and Martin Odersky. 2009. Scala actors: Unifying thread-based and event-based programming. Theoret. Comput. Sci. 410, 2--3 (2009), 202--220.Google ScholarDigital Library
- Robert H. Halstead, Jr. 1985. MULTILISP: A language for concurrent symbolic computation. ACM Trans. Program. Lang. Syst. 7, 4 (Oct. 1985), 501--538. Google ScholarDigital Library
- Max Haustein and Klaus-Peter Löhr. 2006. JAC: Declarative java concurrency. Concurr. Comput.: Pract. Exper. 18, 5 (2006), 519--546.Google ScholarDigital Library
- Ludovic Henrio, Fabrice Huet, and Zsolt István. 2013. Multi-threaded active objects. In Proceedings of the 15th International Conference on Coordination Models and Languages, Florence, Italy (COORDINATION’13), Christine Julien and Rocco De Nicola (Eds.). LNCS, Vol. 7890. Springer, 90--104.Google ScholarCross Ref
- Ludovic Henrio, Florian Kammüller, and Bianca Lutz. 2012. ASPfun: A typed functional active object calculus. Sci. Comput. Program. 77, 7--8 (July 2012), 823--847. 01676423Google Scholar
- Ludovic Henrio, Muhammad Uzair Khan, Nadia Ranaldo, and Eugenio Zimeo. 2010. First class futures: Specification and implementation of update strategies. In Selected Papers of the Coregrid Workshop on Grids, Clouds and P2P Computing, Mario R. Guarracino, Frédéric Vivien, Jesper Larsson Träff, Mario Cannataro, Marco Danelutto, Anders Hast, Francesca Perla, Andreas Knüpfer, Beniamino Di Martino, and Michael Alexander (Eds.). LNCS, Vol. 6586. Springer, 295--303.Google Scholar
- Ludovic Henrio, Oleksandra Kulankhina, Siqi Li, and Eric Madelaine. 2016. Integrated environment for verifying and running distributed components. In Proceedings of the International Conference on Fundamental Approaches to Software Engineering (FASE’16), Perdita Stevens and Andrzej Wasowski (Eds.). LNCS, Vol. 9633. Springer, 66--83. Google ScholarDigital Library
- Ludovic Henrio and Justine Rochas. 2014. Declarative scheduling for active objects. In Proceedings of the Symposium on Applied Computing (SAC’14), Sung Y. Shin (Ed.). ACM Press, 1339--1344. Google ScholarDigital Library
- Ludovic Henrio and Justine Rochas. 2016. From modelling to systematic deployment of distributed active objects. In Proceedings of the 18th International Conference on Coordination Models and Languages (COORDINATION’16), Alberto Lluch Lafuente and José Proena (Eds.). LNCS, Vol. 9686. Springer. Google ScholarCross Ref
- Carl Hewitt, Peter Bishop, and Richard Steiger. 1973. A universal modular ACTOR formalism for artificial intelligence. In Proceedings of the 3rd International Joint Conference on Artificial Intelligence (IJCAI’73), Nils J. Nilsson (Ed.). W. Kaufmann, 235--245.Google ScholarDigital Library
- Highly Adaptable and Trustworthy Software using Formal Models 2011. Full ABS Modeling Framework. (March 2011). Deliverable 1.2 of project FP7-231620 (HATS) retrieved from http://www.hats-project.eu.Google Scholar
- Tony Hoare. 1985. Communicating Sequential Processes. Prentice Hall.Google ScholarDigital Library
- Hossein Hojjat, Marjan Sirjani, Mohammad Reza Mousavi, and Jan Friso Groote. 2007. Sarir: A rebeca to mCRL2 translator. In Proceeding of the 7th International Conference on Application of Concurrency to System Design (ACSD’07), Twan Basten, Gabriel Juhás, and Sandeep K. Shukla (Eds.). IEEE Press, 216--222.Google ScholarCross Ref
- Ali Jafari, Ehsan Khamespanah, Marjan Sirjani, and Holger Hermanns. 2014. Performance analysis of distributed and asynchronous systems using probabilistic timed actors. Electron. Commun. Eur. Assoc. Softw. Sci. Technol. 70 (2014).Google Scholar
- Mohammad Mahdi Jaghoori, Marjan Sirjani, Mohammad Reza Mousavi, Ehsan Khamespanah, and Ali Movaghar. 2010. Symmetry and partial order reduction techniques in model checking Rebeca. Acta Inform. J. 47, 1 (2010), 33--66. Google ScholarDigital Library
- Einar Broch Johnsen, Reiner Hähnle, Jan Schäfer, Rudolf Schlatte, and Martin Steffen. 2011. ABS: A core language for abstract behavioral specification. In Proceedings of the International Conference on Formal Methods for Components and Objects (FMCO’10), Bernhard Aichernig, Frank S. de Boer, and Marcello M. Bonsangue (Eds.). LNCS, Vol. 6957. Springer, 142--164.Google ScholarDigital Library
- Einar Broch Johnsen and Olaf Owe. 2007. An asynchronous communication model for distributed concurrent objects. Softw. Syst. Model. 6, 1 (March 2007), 35--58. Google ScholarCross Ref
- Einar Broch Johnsen, Olaf Owe, and Marte Arnestad. 2003. Combining active and reactive behavior in concurrent objects. In Proceedings of the of the Norwegian Informatics Conference (NIK’03), Dag Langmyhr (Ed.). Tapir Academic Publisher, 193--204.Google Scholar
- Einar Broch Johnsen, Olaf Owe, and Ingrid Chieh Yu. 2006. Creol: A type-safe object-oriented model for distributed concurrent systems. Theoret. Comput. Sci. 365, 1 (2006), 23--66. Google ScholarDigital Library
- Einar Broch Johnsen, Rudolf Schlatte, and S. Lizeth Tapia Tarifa. 2015. Integrating deployment architectures and resource consumption in timed object-oriented models. J. Logic. Algebr. Methods Program. 84, 1 (2015), 67--91. Google ScholarCross Ref
- Ehsan Khamespanah, Marjan Sirjani, Mohammad Reza Mousavi, Zeynab Sabahi-Kaviani, and Mohamadreza Razzazi. 2015a. State distribution policy for distributed model checking of actor models. Electron. Commun. Eur. Assoc. Softw. Sci. Technol. 72 (2015).Google Scholar
- Ehsan Khamespanah, Marjan Sirjani, Zeynab Sabahi-Kaviani, Ramtin Khosravi, and Mohammad-Javad Izadi. 2015b. Timed rebeca schedulability and deadlock freedom analysis using bounded floating time transition system. Sci. Comput. Program. 98 (2015), 184--204. Google ScholarDigital Library
- Ehsan Khamespanah, Marjan Sirjani, Mahesh Viswanathan, and Ramtin Khosravi. 2015c. Floating time transition system: More efficient analysis of timed actors. In Proceedings of the 12th Intl. Symp. on Formal Aspects of Component Software (FACS), Christiano Braga and Peter Csaba Ölveczky (Eds.). LNCS, Vol. 9539. Springer, 237--255.Google Scholar
- Eric Lin and Hridesh Rajan. 2013. Panini: A capsule-oriented programming language for implicitly concurrent program design. In Proceedings of the Conference on Systems, Programming, and Applications: Software for Humanity (SPLASH’13), Antony L. Hosking and Patrick Eugster (Eds.). ACM Press, 19--20. Google ScholarDigital Library
- Barbara Liskov and Ljuba Shrira. 1988. Promises: Linguistic support for efficient asynchronous procedure calls in distributed systems. In Proceedings of the Conference of Programming Language Design and Implementation (PLDI’88), Richard L. Wexelblat (Ed.). ACM Press, New York, NY, 260--267.Google ScholarDigital Library
- Daniel McCain. 2015. Parallel Combinators for the Encore Programming Language. Master’s thesis. Uppsala University.Google Scholar
- Bertrand Meyer. 1992. Applying “design by contract.”IEEE Comput. 25, 10 (Oct. 1992), 40--51. Google ScholarDigital Library
- Bertrand Meyer. 1993. Systematic concurrent object-oriented programming. Commun. ACM 36, 9 (Sept. 1993), 56--80. DOI:http://dx.doi.org/10.1145/162685.162705 Google ScholarDigital Library
- Mark S. Miller, E. Dean Tribble, and Jonathan Shapiro. 2005. Concurrency among strangers: Programming in E as plan coordination. In Proceedings of the International Symposium on Trustworthy Global Computing (TGC’05), Rocco De Nicola and Davide Sangiorgi (Eds.). LNCS, Vol. 3705. Springer, 195--229.Google ScholarCross Ref
- Robin Milner. 1989. Communication and Concurrency. Prentice Hall.Google ScholarDigital Library
- Jayadev Misra. 2001. A Discipline of Multiprogramming: Programming Theory for Distributed Applications. Springer, Secaucus, NJ. Google ScholarCross Ref
- Niloofar Razavi, Razieh Behjati, Hamideh Sabouri, Ehsan Khamespanah, Amin Shali, and Marjan Sirjani. 2010. Sysfier: Actor-based formal verification of SystemC. ACM Trans. Embed. Comput. Syst. 10, 2 (2010), 19. Google ScholarDigital Library
- Arni Hermann Reynisson, Marjan Sirjani, Luca Aceto, Matteo Cimini, Ali Jafari, Anna Ingólfsdóttir, and Steinar Hugi Sigurdarson. 2014. Modelling and simulation of asynchronous real-time systems using timed rebeca. Sci. Comput. Program. 89 (2014), 41--68. Google ScholarCross Ref
- Justine Rochas and Ludovic Henrio. 2014. A ProActive Backend for ABS: from Modelling to Deployment. Research Report RR-8596. INRIA. Retrieved from https://hal.inria.fr/hal-01065072.Google Scholar
- Zeynab Sabahi-Kaviani, Ramtin Khosravi, Peter Csaba Ölveczky, Ehsan Khamespanah, and Marjan Sirjani. 2015. Formal semantics and efficient analysis of timed rebeca in real-time maude. Sci. Comput. Program. 113 (2015), 85--118. Google ScholarDigital Library
- Hamideh Sabouri and Ramtin Khosravi. 2013. Modeling and verification of reconfigurable actor families. J. Univers. Comput. Sci. 19, 2 (2013), 207--232.Google Scholar
- Jan Schäfer and Arnd Poetzsch-Heffter. 2010. JCoBox: Generalizing active objects to concurrent components. In Proceedings of the European Conference on Object-Oriented Programming (ECOOP’10), Theo D’Hondt (Ed.). LNCS, Vol. 6183. Springer, 275--299.Google ScholarCross Ref
- Vlad Serbanescu, Chetan Nagarajagowda, Keyvan Azadbakht, Frank de Boer, and Behrooz Nobakht. 2014. Towards type-based optimizations in distributed applications using ABS and JAVA 8. In First International Workshop on Adaptive Resource Management and Scheduling for Cloud Computing, Florin Pop and Maria Potop-Butucaru (Eds.). LNCS, Vol. 8907. Springer, 103--112. Google ScholarCross Ref
- Steinar Hugi Sigurdarson, Marjan Sirjani, Yngvi Björnsson, and Arni Hermann Reynisson. 2012. Guided search for deadlocks in actor-based models. In Proceedings of the 9th International Symposium on Formal Aspects of Component Software (FACS’12), Corina S. Pasareanu and Gwen Salaün (Eds.). LNCS, Vol. 7684. Springer, 242--259.Google Scholar
- Marjan Sirjani, Frank S. de Boer, Ali Movaghar, and Amin Shali. 2005. Extended rebeca: A component-based actor language with synchronous message passing. In Proceedings of the 5th International Conference on Application of Concurrency to System Design (ACSD’05), Jörg Desel and Yosinori Watanabe (Eds.). IEEE Press, 212--221. Google ScholarDigital Library
- Marjan Sirjani, Frank S. de Boer, and Ali Movaghar-Rahimabadi. 2005. Modular verification of a component-based actor language. J. Univers. Comput. Sci. 11, 10 (2005), 1695--1717.Google Scholar
- Marjan Sirjani and Mohammad Mahdi Jaghoori. 2011. Ten years of analyzing actors: Rebeca experience. In Formal Modeling: Actors, Open Systems, Biological Systems, Gul Agha, Olivier Danvy, and José Meseguer (Eds.). LNCS, Vol. 7000. Springer, 20--56.Google Scholar
- Marjan Sirjani, Movaghar, and Mohammad Reza Mousavi. 2001. Compositional verification of an object-based model for reactive systems. In Proceedings of the 11th Computer Science of Iran Computer Conference (CSICC’01).Google Scholar
- Marjan Sirjani, Ali Movaghar, Amin Shali, and Frank S. de Boer. 2004. Modeling and verification of reactive systems using rebeca. Fundam. Inform. 63, 4 (2004), 385--410.Google ScholarDigital Library
- Peter Y. H. Wong, Elvira Albert, Radu Muschevici, José Proença, Jan Schäfer, and Rudolf Schlatte. 2012. The ABS tool suite: Modelling, executing and analysing distributed adaptable object-oriented systems. J. Softw. Tools Technol. Transfer 14, 5 (2012), 567--588. Google ScholarDigital Library
- Derek Wyatt. 2013. Akka Concurrency. Artima.Google Scholar
- Yasuhiko Yokote and Mario Tokoro. 1987. Concurrent programming in concurrentSmalltalk. In Object-Oriented Concurrent Programming, Akinori Yonezawa and Mario Tokoro (Eds.). MIT Press, 129--158.Google Scholar
- Akinori Yonezawa, Jean-Pierre Briot, and Etsuya Shibayama. 1986. Object-oriented concurrent programming in ABCL/1. In Proceedings of the ACM International Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA’86), Norman K. Meyrowitz (Ed.). ACM Press, 258--268.Google ScholarDigital Library
- Behnaz Yousefi, Fatemeh Ghassemi, and Ramtin Khosravi. 2015. Modeling and efficient verification of broadcasting actors. In Proceedings of the 6th International Conference on Fundamentals of Software Engineering (FSEN’09), Mehdi Dastani and Marjan Sirjani (Eds.). LNCS, Vol. 9392. Springer, 69--83. Google ScholarDigital Library
- Behnaz Yousefi, Fatemeh Ghassemi, and Ramtin Khosravi. 2016. Modeling and efficient verification of wireless ad hoc networks (unpublished).Google Scholar
Index Terms
- A Survey of Active Object Languages
Recommendations
Using passive object garbage collection algorithms for garbage collection of active objects
MSP 2002 and ISMM 2002With the increasing use of active object systems, agents and concurrent object oriented languages like Java, the problem of garbage collection (GC) of unused resources has become more complex. Since active objects are autonomous computational agents, ...
Using passive object garbage collection algorithms for garbage collection of active objects
ISMM '02: Proceedings of the 3rd international symposium on Memory managementWith the increasing use of active object systems, agents and concurrent object oriented languages like Java, the problem of garbage collection (GC) of unused resources has become more complex. Since active objects are autonomous computational agents, ...
Parallelism in Object-Oriented Languages: A Survey
Fourteen concurrent object-oriented languages are compared in terms of how they deal with communication, synchronization, process management, inheritance, and implementation trade-offs. The ways in which they divide responsibility between the programmer,...
Comments