Coordinated Actors for Reliable Self-adaptive Systems

  • Maryam BagheriEmail author
  • Ilge Akkaya
  • Ehsan Khamespanah
  • Narges Khakpour
  • Marjan Sirjani
  • Ali Movaghar
  • Edward A. Lee
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10231)


Self-adaptive systems are systems that automatically adapt in response to environmental and internal changes, such as possible failures and variations in resource availability. Such systems are often realized by a MAPE-K feedback loop, where Monitor, Analyze, Plan and Execute components have access to a runtime model of the system and environment which is kept in the Knowledge component. In order to provide guarantees on the correctness of a self-adaptive system at runtime, the MAPE-K feedback loop needs to be extended with assurance techniques. To address this issue, we propose a coordinated actor-based approach to build a reusable and scalable model@runtime for self-adaptive systems in the domain of track-based traffic control systems. We demonstrate the approach by implementing an automated Air Traffic Control system (ATC) using Ptolemy tool. We compare different adaptation policies on the ATC model based on performance metrics and analyze combination of policies in different configurations of the model. We enriched our framework with runtime performance analysis such that for any unexpected change, subsequent behavior of the model is predicted and results are used for adaptation at the change-point. Moreover, the developed framework enables checking safety properties at runtime.


Self-adaptive system Model@runtime Performance analysis Cyber physical system Air Traffic Control System 



The work on this paper has been supported in part by the project “Self-Adaptive Actors: SEADA” (nr. 163205-051) of the Icelandic Research Fund.


  1. 1.
    Airport and air traffic control system (1982).
  2. 2.
    Agha, G.: Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, Cambridge (1986)Google Scholar
  3. 3.
    Agustn, A., Alonso-Ayuso, A., Escudero, L., Pizarro, C.: On air traffic flow management with rerouting. Part II: stochastic case. Eur. J. Oper. Res. 219(1), 167–177 (2012)MathSciNetCrossRefzbMATHGoogle Scholar
  4. 4.
    Arcaini, P., Riccobene, E., Scandurra, P.: Modeling and analyzing MAPE-K feedback loops for self-adaptation. In: Proceedings of the 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2015, pp. 13–23. IEEE Press (2015)Google Scholar
  5. 5.
    Bertsimas, D., Lulli, G., Odoni, A.: The air traffic flow management problem: an integer optimization approach. In: Lodi, A., Panconesi, A., Rinaldi, G. (eds.) IPCO 2008. LNCS, vol. 5035, pp. 34–46. Springer, Heidelberg (2008). doi: 10.1007/978-3-540-68891-4_3 CrossRefGoogle Scholar
  6. 6.
    Bertsimas, D., Patterson, S.S.: The traffic flow management rerouting problem in air traffic control: a dynamic network flow approach. Transp. Sci. 34(3), 239–255 (2000)CrossRefzbMATHGoogle Scholar
  7. 7.
    Calinescu, R., Grunske, L., Kwiatkowska, M., Mirandola, R., Tamburrelli, G.: Dynamic QoS management and optimization in service-based systems. IEEE Trans. Softw. Eng. 37(3), 387–409 (2011)CrossRefGoogle Scholar
  8. 8.
    Calinescu, R., Ghezzi, C., Kwiatkowska, M., Mirandola, R.: Self-adaptive software needs quantitative verification at runtime. Commun. ACM 55(9), 69–77 (2012)CrossRefGoogle Scholar
  9. 9.
    Cheng, B.H.C., et al.: Using models at runtime to address assurance for self-adaptive systems. In: Bencomo, N., France, R., Cheng, B.H.C., Aßmann, U. (eds.) Models@run.time. LNCS, vol. 8378, pp. 101–136. Springer, Cham (2014). doi: 10.1007/978-3-319-08915-7_4 CrossRefGoogle Scholar
  10. 10.
    Filieri, A., Ghezzi, C., Tamburrelli, G.: Run-time efficient probabilistic model checking. In: Proceedings of the 33rd International Conference on Software Engineering, ICSE 2011, pp. 341–350. ACM (2011)Google Scholar
  11. 11.
    Filieri, A., Tamburrelli, G.: Probabilistic verification at runtime for self-adaptive systems. In: Cámara, J., de Lemos, R., Ghezzi, C., Lopes, A. (eds.) Assurances for Self-Adaptive Systems. LNCS, vol. 7740, pp. 30–59. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-36249-1_2 CrossRefGoogle Scholar
  12. 12.
    Forejt, V., Kwiatkowska, M., Parker, D., Qu, H., Ujma, M.: Incremental runtime verification of probabilistic systems. In: Qadeer, S., Tasiran, S. (eds.) RV 2012. LNCS, vol. 7687, pp. 314–319. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-35632-2_30 CrossRefGoogle Scholar
  13. 13.
    Ghezzi, C., Molzam Sharifloo, A.: Dealing with non-functional requirements for adaptive systems via dynamic software product-lines. In: de Lemos, R., Giese, H., Müller, H.A., Shaw, M. (eds.) Software Engineering for Self-Adaptive Systems II. LNCS, vol. 7475, pp. 191–213. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-35813-5_8 CrossRefGoogle Scholar
  14. 14.
    Hewitt, C.: Description and theoretical analysis (using schemata) of planner: A language for proving theorems and manipulating models in a robot. Technical report, DTIC Document (1972)Google Scholar
  15. 15.
    Iftikhar, M.U., Weyns, D.: ActivFORMS: active formal models for self-adaptation. In: Proceedings of the 9th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2014, pp. 125–134 (2014)Google Scholar
  16. 16.
    International Civil Aviation Organization (ICAO): North atlantic operations and airspace manual (2016)Google Scholar
  17. 17.
    Kephart, J., Chess, D.: The vision of autonomic computing. Computer 36(1), 41–50 (2003)MathSciNetCrossRefGoogle Scholar
  18. 18.
    Khakpour, N., Jalili, S., Talcott, C., Sirjani, M., Mousavi, M.: PobSAM: policy-based managing of actors in self-adaptive systems. Electron. Notes Theor. Comput. Sci. 263, 129–143 (2010). Proceedings of the 6th International Workshop on Formal Aspects of Component Software (FACS 2009)CrossRefGoogle Scholar
  19. 19.
    Khakpour, N., Jalili, S., Talcott, C., Sirjani, M., Mousavi, M.: Formal modeling of evolving self-adaptive systems. Sci. Comput. Program. 78(1), 3–26 (2012). Special Section: Formal Aspects of Component Software (FACS 2009)CrossRefzbMATHGoogle Scholar
  20. 20.
    Křikava, F., Collet, P., France, R.B.: Actor-based runtime model of adaptable feedback control loops. In: Proceedings of the 7th Workshop on Models@Run.Time, MRT 2012, pp. 39–44. ACM (2012)Google Scholar
  21. 21.
    Křikava, F., Collet, P., France, R.B.: ACTRESS: domain-specific modeling of self-adaptive software architectures. In: Proceedings of the 29th Annual ACM Symposium on Applied Computing, SAC 2014, pp. 391–398. ACM (2014)Google Scholar
  22. 22.
    de Lemos, R., et al.: Software engineering for self-adaptive systems: a second research roadmap. In: de Lemos, R., Giese, H., Müller, H.A., Shaw, M. (eds.) Software Engineering for Self-Adaptive Systems II. LNCS, vol. 7475, pp. 1–32. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-35813-5_1 CrossRefGoogle Scholar
  23. 23.
    Ptolemaeus, C.: System Design, Modeling, and Simulation: Using Ptolemy II. Ptolemy. org, Berkeley (2014)Google Scholar
  24. 24.
    Sharifi, Z., Mosaffa, M., Mohammadi, S., Sirjani, M.: Functional and performance analysis of network-on-chips using actor-based modeling and formal verification. ECEASST 66 (2013)Google Scholar
  25. 25.
    Sirjani, M., Jaghoori, M.M.: Ten years of analyzing actors: Rebeca experience. In: Agha, G., Danvy, O., Meseguer, J. (eds.) Formal Modeling: Actors, Open Systems, Biological Systems. LNCS, vol. 7000, pp. 20–56. Springer, Heidelberg (2011). doi: 10.1007/978-3-642-24933-4_3 CrossRefGoogle Scholar
  26. 26.
    Talcott, C.: Composable semantic models for actor theories. Higher-Order Symbolic Comput. 11(3), 281–343 (1998)CrossRefzbMATHGoogle Scholar
  27. 27.
    Vogel, T., Giese, H.: Model-driven engineering of self-adaptive software with eurema. ACM Trans. Auton. Adapt. Syst. 8(4), 18:1–18:33 (2014)CrossRefGoogle Scholar
  28. 28.
    Wätzoldt, S., Giese, H.: Classifying distributed self-* systems based on runtime models and their coupling. In: Proceedings of the 9th Workshop on Models@ run. time Co-located with 17th International Conference on Model Driven Engineering Languages and Systems, Ceur-WS, pp. 11–20 (2014)Google Scholar
  29. 29.
    Weyns, D., Calinescu, R.: Tele assistance: a self-adaptive service-based system examplar. In: Proceedings of the 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2015, pp. 88–92. IEEE Press (2015)Google Scholar
  30. 30.
    Weyns, D., Malek, S., Andersson, J.: Forms: unifying reference model for formal specification of distributed self-adaptive systems. ACM Trans. Auton. Adapt. Syst. 7(1), 8:1–8:61 (2012)CrossRefGoogle Scholar
  31. 31.
    Wuttke, J., Brun, Y., Gorla, A., Ramaswamy, J.: Traffic routing for evaluating self-adaptation. In: Proceedings of the 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2012, pp. 27–32. IEEE Press (2012)Google Scholar
  32. 32.
    Zhang, J., Goldsby, H.J., Cheng, B.H.: Modular verification of dynamically adaptive systems. In: Proceedings of the 8th ACM International Conference on Aspect-oriented Software Development, AOSD 2009, pp. 161–172 (2009)Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Maryam Bagheri
    • 1
    Email author
  • Ilge Akkaya
    • 2
  • Ehsan Khamespanah
    • 3
    • 4
  • Narges Khakpour
    • 5
  • Marjan Sirjani
    • 4
    • 6
  • Ali Movaghar
    • 1
  • Edward A. Lee
    • 2
  1. 1.CE DepartmentSharif University Of TechnologyTehranIran
  2. 2.EECS DepartmentUniversity of California at BerkeleyBerkeleyUSA
  3. 3.School of ECEUniversity of TehranTehranIran
  4. 4.School of CS and CRESSReykjavik UniversityReykjavikIceland
  5. 5.CS DepartmentLinnaeus UniversityVäxjöSweden
  6. 6.School of IDTMälardalen UniversityVästerasSweden

Personalised recommendations