Abstract
We study the problem of extending RV techniques in the context of (asynchronous) actor systems, so as to be able to carry out a degree of system adaptation at runtime. We propose extensions to specification logics that provide handles for programming both monitor synchronisations (with individual actors), as well as the administration of the resp. adaptations once the triggering behaviour is observed. Since this added functionality allows the specifier to introduce erroneous adaptation procedures, we also develop static analysis techniques based on substructural type systems to assist the construction of correct adaptation scripts.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
Messages are received in a message buffer called a mailbox, read only by the owning actor.
- 2.
An RV tool for long-running reactive (actor) systems written in Erlang [3].
- 3.
Decoration is easily performed through a linear scan of the script.
References
Aceto, L., Ingólfsdóttir, A.: Testing hennessy-milner logic with recursion. In: Thomas, W. (ed.) FOSSACS 1999. LNCS, vol. 1578, pp. 41–55. Springer, Heidelberg (1999)
Agha, G.: Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, Cambridge (1986)
Armstrong, J.: Programming Erlang: Software for a Concurrent World. Pragmatic Bookshelf (2007). ISBN: 193435600X
Bocchi, L., Chen, T.-C., Demangeon, R., Honda, K., Yoshida, N.: Monitoring networks through multiparty session types. In: Beyer, D., Boreale, M. (eds.) FORTE 2013 and FMOODS 2013. LNCS, vol. 7892, pp. 50–65. Springer, Heidelberg (2013)
Bodden, E.: Efficient hybrid typestate analysis by determining continuation-equivalent states. ICSE, pp. 5–14. ACM (2010)
Bodden, E., Lam, P.: Clara: partially evaluating runtime monitors at compile time. In: Barringer, H., Falcone, Y., Finkbeiner, B., Havelund, K., Lee, I., Pace, G., Roşu, G., Sokolsky, O., Tillmann, N. (eds.) RV 2010. LNCS, vol. 6418, pp. 74–88. Springer, Heidelberg (2010)
Cassar, I., Francalanza, A.: On synchronous and asynchronous monitor instrumentation for actor-based systems. FOCLASA 175, 54–68 (2014)
Castellani, I., Dezani-Ciancaglini, M., Pérez, J.A.: Self-adaptation and secure information flow in multiparty structured commun.: a unified perspective. In: BEAT, pp. 9–18 (2014)
Cesarini, F., Thompson, S.: ERLANG Programming, 1st edn. O’Reilly (2009). ISBN: 0596518188, 9780596518189
Colombo, C., Francalanza, A., Gatt, R.: Elarva: a monitoring tool for erlang. In: Khurshid, S., Sen, K. (eds.) RV 2011. LNCS, vol. 7186, pp. 370–374. Springer, Heidelberg (2012)
Falcone, Y., Jaber, M., Nguyen, T.-H., Bozga, M., Bensalem, S.: Runtime verification of component-based systems. In: Barthe, G., Pardo, A., Schneider, G. (eds.) SEFM 2011. LNCS, vol. 7041, pp. 204–220. Springer, Heidelberg (2011)
Francalanza, A., Seychell, A.: Synthesising correct concurrent runtime monitors. In: Formal Methods in System Design (FMSD), pp. 1–36 (2014)
Goldsby, H.J., Cheng, B.H.C., Zhang, J.: AMOEBA-RT: run-time verification of adaptive software. In: Giese, H. (ed.) MODELS 2008. LNCS, vol. 5002, pp. 212–224. Springer, Heidelberg (2008)
Haller, P., Sommers, F.: Actors in Scala. Artima Inc., Walnut Creek (2012)
Irmert, F., Fischer, T., Meyer-Wegener, K.: Runtime adaptation in a service-oriented component model. In: SEAMS, pp. 97–104. ACM (2008)
Kalareh, M.A.: Evolving Software Systems for Self-Adaptation. Ph.D. thesis, University of Waterloo, Ontario, Canada (2012)
Kell, S.: A survey of pract. software adaptation techniques. J. UCS 14, 2110–2157 (2008)
Kozen, D.: Results on the propositional \(\mu \)-calculus. TCS 27, 333–354 (1983)
Long, F., Sidiroglou-Douskos, S., Rinard, M.: Automatic runtime error repair and containment via recovery shepherding. SIGPLAN Not. 49, 227–238 (2014)
Milner, R.: Communication and Concurrency. Prentice-Hall Inc, Upper Saddle River (1989)
Oreizy, P., Medvidovic, N., Taylor, R.N.: Runtime software adaptation: framework, approaches, and styles. In: ICSE Companion, pp. 899–910. ACM (2008)
Pierce, B.C. (ed.): Advanced Topics in Types and Prog. Languages. MIT Press, Cambridge (2005)
Rinard, M., Cadar, C., Dumitran, D., Roy, D., Leu, T., Beebee, W.: Enhancing availability & security through failure-oblivious computing. In: OSDI, pp. 303–316. USENIX (2004)
Roşu, G., Havelund, K.: Rewriting-based techniques for runtime verification. Autom. Softw. Eng. 12, 151–197 (2005)
Sen, K., Vardhan, A., Agha, G., Roşu, G.: Efficient decentralized monitoring of safety in distributed systems. ICSE, pp. 418–427 (2004)
Zhang, J., Cheng, B.H.: Using temporal logic to specify adaptive program semantics. JSS 79, 1361–1369 (2006)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Cassar, I., Francalanza, A. (2015). Runtime Adaptation for Actor Systems. In: Bartocci, E., Majumdar, R. (eds) Runtime Verification. Lecture Notes in Computer Science(), vol 9333. Springer, Cham. https://doi.org/10.1007/978-3-319-23820-3_3
Download citation
DOI: https://doi.org/10.1007/978-3-319-23820-3_3
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-23819-7
Online ISBN: 978-3-319-23820-3
eBook Packages: Computer ScienceComputer Science (R0)