Skip to main content

Runtime Adaptation for Actor Systems

  • Conference paper
  • First Online:
Runtime Verification

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 9333))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    Messages are received in a message buffer called a mailbox, read only by the owning actor.

  2. 2.

    An RV tool for long-running reactive (actor) systems written in Erlang [3].

  3. 3.

    Decoration is easily performed through a linear scan of the script.

References

  1. 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)

    Chapter  Google Scholar 

  2. Agha, G.: Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, Cambridge (1986)

    Google Scholar 

  3. Armstrong, J.: Programming Erlang: Software for a Concurrent World. Pragmatic Bookshelf (2007). ISBN: 193435600X

    Google Scholar 

  4. 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)

    Chapter  Google Scholar 

  5. Bodden, E.: Efficient hybrid typestate analysis by determining continuation-equivalent states. ICSE, pp. 5–14. ACM (2010)

    Google Scholar 

  6. 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)

    Chapter  Google Scholar 

  7. Cassar, I., Francalanza, A.: On synchronous and asynchronous monitor instrumentation for actor-based systems. FOCLASA 175, 54–68 (2014)

    Google Scholar 

  8. 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)

    Google Scholar 

  9. Cesarini, F., Thompson, S.: ERLANG Programming, 1st edn. O’Reilly (2009). ISBN: 0596518188, 9780596518189

    Google Scholar 

  10. 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)

    Chapter  Google Scholar 

  11. 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)

    Chapter  Google Scholar 

  12. Francalanza, A., Seychell, A.: Synthesising correct concurrent runtime monitors. In: Formal Methods in System Design (FMSD), pp. 1–36 (2014)

    Google Scholar 

  13. 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)

    Chapter  Google Scholar 

  14. Haller, P., Sommers, F.: Actors in Scala. Artima Inc., Walnut Creek (2012)

    Google Scholar 

  15. Irmert, F., Fischer, T., Meyer-Wegener, K.: Runtime adaptation in a service-oriented component model. In: SEAMS, pp. 97–104. ACM (2008)

    Google Scholar 

  16. Kalareh, M.A.: Evolving Software Systems for Self-Adaptation. Ph.D. thesis, University of Waterloo, Ontario, Canada (2012)

    Google Scholar 

  17. Kell, S.: A survey of pract. software adaptation techniques. J. UCS 14, 2110–2157 (2008)

    Google Scholar 

  18. Kozen, D.: Results on the propositional \(\mu \)-calculus. TCS 27, 333–354 (1983)

    Article  MathSciNet  MATH  Google Scholar 

  19. Long, F., Sidiroglou-Douskos, S., Rinard, M.: Automatic runtime error repair and containment via recovery shepherding. SIGPLAN Not. 49, 227–238 (2014)

    Article  Google Scholar 

  20. Milner, R.: Communication and Concurrency. Prentice-Hall Inc, Upper Saddle River (1989)

    MATH  Google Scholar 

  21. Oreizy, P., Medvidovic, N., Taylor, R.N.: Runtime software adaptation: framework, approaches, and styles. In: ICSE Companion, pp. 899–910. ACM (2008)

    Google Scholar 

  22. Pierce, B.C. (ed.): Advanced Topics in Types and Prog. Languages. MIT Press, Cambridge (2005)

    MATH  Google Scholar 

  23. 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)

    Google Scholar 

  24. Roşu, G., Havelund, K.: Rewriting-based techniques for runtime verification. Autom. Softw. Eng. 12, 151–197 (2005)

    Article  Google Scholar 

  25. Sen, K., Vardhan, A., Agha, G., Roşu, G.: Efficient decentralized monitoring of safety in distributed systems. ICSE, pp. 418–427 (2004)

    Google Scholar 

  26. Zhang, J., Cheng, B.H.: Using temporal logic to specify adaptive program semantics. JSS 79, 1361–1369 (2006)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Adrian Francalanza .

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics