Nothing Special   »   [go: up one dir, main page]

skip to main content
survey

A Survey of Active Object Languages

Published: 05 October 2017 Publication History

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.

References

[1]
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.
[2]
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.
[3]
Gul Agha. 1986. Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press.
[4]
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.
[5]
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.
[6]
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.
[7]
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.
[8]
Joe Armstrong. 2007. Programming Erlang, Software for Concurrent World. Pragmatic Bookshelf.
[9]
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.
[10]
Henri E. Bal, Jennifer G. Steiner, and Andrew S. Tanenbaum. 1989. Programming languages for distributed computing systems. Comput. Surv. 21, 3 (1989), 261--322.
[11]
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.
[12]
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.
[13]
Philip A. Bernstein and Sergey Bykov. 2016. Developing cloud services using the orleans virtual actor model. IEEE Internet Comput. 20, 5 (2016), 71--75.
[14]
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.
[15]
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.
[16]
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.
[17]
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.
[18]
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.
[19]
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).
[20]
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.
[21]
Denis Caromel and Ludovic Henrio. 2005. A Theory of Distributed Object. Springer.
[22]
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.
[23]
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.
[24]
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.
[25]
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.
[26]
Charron-Bost, Bernadette, Mattern, Friedemann, and Gerard Tel. 1996. Synchronous, asynchronous, and causally ordered communication. Distrib. Comput. 9, 4 (1996), 173--191.
[27]
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.
[28]
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.
[29]
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).
[30]
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.
[31]
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.
[32]
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.
[33]
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.
[34]
Ole-Johan Dahl and Kristen Nygaard. 1966. SIMULA—An ALGOL-Based simulation language. Commun. ACM 9, 9 (1966), 671--678.
[35]
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.
[36]
Jeffrey Dean and Sanjay Ghemawat. 2008. MapReduce: Simplified data processing on large clusters. Commun. ACM 51, 1 (Jan. 2008), 107--113.
[37]
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.
[38]
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.
[39]
Crystal Chang Din and Olaf Owe. 2015. Compositional reasoning about active objects with shared futures. Form. Aspects Comput. 27, 3 (2015), 551--572.
[40]
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.
[41]
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.
[42]
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.
[43]
Elena Giachino, Cosimo Laneve, and Michael Lienhardt. 2016. A framework for deadlock detection in core ABS. Softw. Syst. Model. 15, 4 (2016), 1013--1048.
[44]
Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, and Doug Lea. 2006. Java Concurrency in Practice. Addison-Wesley.
[45]
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.
[46]
Philipp Haller and Martin Odersky. 2009. Scala actors: Unifying thread-based and event-based programming. Theoret. Comput. Sci. 410, 2--3 (2009), 202--220.
[47]
Robert H. Halstead, Jr. 1985. MULTILISP: A language for concurrent symbolic computation. ACM Trans. Program. Lang. Syst. 7, 4 (Oct. 1985), 501--538.
[48]
Max Haustein and Klaus-Peter Löhr. 2006. JAC: Declarative java concurrency. Concurr. Comput.: Pract. Exper. 18, 5 (2006), 519--546.
[49]
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.
[50]
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. 01676423
[51]
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.
[52]
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.
[53]
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.
[54]
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.
[55]
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.
[56]
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.
[57]
Tony Hoare. 1985. Communicating Sequential Processes. Prentice Hall.
[58]
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.
[59]
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).
[60]
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.
[61]
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.
[62]
Einar Broch Johnsen and Olaf Owe. 2007. An asynchronous communication model for distributed concurrent objects. Softw. Syst. Model. 6, 1 (March 2007), 35--58.
[63]
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.
[64]
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.
[65]
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.
[66]
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).
[67]
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.
[68]
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.
[69]
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.
[70]
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.
[71]
Daniel McCain. 2015. Parallel Combinators for the Encore Programming Language. Master’s thesis. Uppsala University.
[72]
Bertrand Meyer. 1992. Applying “design by contract.”IEEE Comput. 25, 10 (Oct. 1992), 40--51.
[73]
Bertrand Meyer. 1993. Systematic concurrent object-oriented programming. Commun. ACM 36, 9 (Sept. 1993), 56--80.
[74]
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.
[75]
Robin Milner. 1989. Communication and Concurrency. Prentice Hall.
[76]
Jayadev Misra. 2001. A Discipline of Multiprogramming: Programming Theory for Distributed Applications. Springer, Secaucus, NJ.
[77]
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.
[78]
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.
[79]
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.
[80]
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.
[81]
Hamideh Sabouri and Ramtin Khosravi. 2013. Modeling and verification of reconfigurable actor families. J. Univers. Comput. Sci. 19, 2 (2013), 207--232.
[82]
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.
[83]
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.
[84]
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.
[85]
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.
[86]
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.
[87]
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.
[88]
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).
[89]
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.
[90]
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.
[91]
Derek Wyatt. 2013. Akka Concurrency. Artima.
[92]
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.
[93]
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.
[94]
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.
[95]
Behnaz Yousefi, Fatemeh Ghassemi, and Ramtin Khosravi. 2016. Modeling and efficient verification of wireless ad hoc networks (unpublished).

Cited By

View all
  • (2024)Proving Correctness of Parallel Implementations of Transition System ModelsACM Transactions on Programming Languages and Systems10.1145/366063046:3(1-50)Online publication date: 20-Apr-2024
  • (2024)Intelligent Agents: Multi-Agent SystemsReference Module in Life Sciences10.1016/B978-0-323-95502-7.00040-3Online publication date: 2024
  • (2024)Assuring GDPR Conformance Through Language-Based CompliancePrivacy and Identity Management. Sharing in a Digital World10.1007/978-3-031-57978-3_4(46-63)Online publication date: 23-Apr-2024
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Computing Surveys
ACM Computing Surveys  Volume 50, Issue 5
September 2018
573 pages
ISSN:0360-0300
EISSN:1557-7341
DOI:10.1145/3145473
  • Editor:
  • Sartaj Sahni
Issue’s Table of Contents
© 2017 Association for Computing Machinery. ACM acknowledges that this contribution was authored or co-authored by an employee, contractor or affiliate of a national government. As such, the Government retains a nonexclusive, royalty-free right to publish or reproduce this article, or to allow others to do so, for Government purposes only.

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 05 October 2017
Accepted: 01 July 2017
Revised: 01 May 2017
Received: 01 November 2016
Published in CSUR Volume 50, Issue 5

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Programming languages
  2. active objects
  3. actors
  4. concurrency
  5. distributed systems

Qualifiers

  • Survey
  • Research
  • Refereed

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)60
  • Downloads (Last 6 weeks)6
Reflects downloads up to 19 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Proving Correctness of Parallel Implementations of Transition System ModelsACM Transactions on Programming Languages and Systems10.1145/366063046:3(1-50)Online publication date: 20-Apr-2024
  • (2024)Intelligent Agents: Multi-Agent SystemsReference Module in Life Sciences10.1016/B978-0-323-95502-7.00040-3Online publication date: 2024
  • (2024)Assuring GDPR Conformance Through Language-Based CompliancePrivacy and Identity Management. Sharing in a Digital World10.1007/978-3-031-57978-3_4(46-63)Online publication date: 23-Apr-2024
  • (2024)Actors Upgraded for Variability, Adaptability, and DeterminismActive Object Languages: Current Research Trends10.1007/978-3-031-51060-1_9(226-260)Online publication date: 29-Jan-2024
  • (2024)Simulating User Journeys with Active ObjectsActive Object Languages: Current Research Trends10.1007/978-3-031-51060-1_8(199-225)Online publication date: 29-Jan-2024
  • (2024)A Survey of Actor-Like Programming Models for Serverless ComputingActive Object Languages: Current Research Trends10.1007/978-3-031-51060-1_5(123-146)Online publication date: 29-Jan-2024
  • (2024)Bridging Between Active Objects: Multitier Programming for Distributed, Concurrent SystemsActive Object Languages: Current Research Trends10.1007/978-3-031-51060-1_4(92-122)Online publication date: 29-Jan-2024
  • (2024)Encore: CodaActive Object Languages: Current Research Trends10.1007/978-3-031-51060-1_3(59-91)Online publication date: 29-Jan-2024
  • (2024)Actor-Based Designs for Distributed Self-organisation ProgrammingActive Object Languages: Current Research Trends10.1007/978-3-031-51060-1_2(37-58)Online publication date: 29-Jan-2024
  • (2024)Enforced Dependencies for Active ObjectsActive Object Languages: Current Research Trends10.1007/978-3-031-51060-1_13(359-374)Online publication date: 29-Jan-2024
  • Show More Cited By

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media