Skip to main content
Log in

Development of global specification for dynamically adaptive software

  • Published:
Computing Aims and scope Submit manuscript

Abstract

As software systems are becoming increasingly complex, they need to dynamically and continually adapt their behavior to changing conditions in the long-term running. There will be large numbers of adaptations in these systems when evolving and the adaptations may be unknowable until system operation. To specify these adaptations, this paper proposes the mode-supported Linear Temporal Logic (mLTL) that is an effective way to describe global specifications of adaptive software. The global specifications are defined for adaptive software as requirements from the perspective of global adapting process. The model checking problem of mLTL is also resolved using Linear Temporal Logic (LTL) and Labelled Transition System Analyser (LTSA). Finally, we provide a prototype implementation for modelling and analyzing adaptive programs, and experimental evaluation shows feasibility and scalability of our approach.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

Similar content being viewed by others

Notes

  1. http://www.doc.ic.ac.uk/ltsa/.

  2. http://www.eclipse.org/.

  3. http://www.w3.org/TR/scxml/.

  4. http://commons.apache.org/scxml/.

References

  1. Allen R, Douence R, Garlan D (1998) Specifying and analyzing dynamic software architectures. In: Proceedings of the 1st International Conference on Fundamental Approaches to Software Engineering, Springer Verlag, p 21

  2. Alur R, Yannakakis M (2001) Model checking of hierarchical state machines. ACM Trans Program Lang Syst 23(3):273–303

    Article  Google Scholar 

  3. Avizienis A, Laprie JC, Randell B, Landwehr C (2004) Basic concepts and taxonomy of dependable and secure computing. IEEE Trans Dependable Secur Comput 1(1):11–33

    Article  Google Scholar 

  4. Baier C, Katoen JP (2008) Principles of model checking. MIT Press, Cambridge

    MATH  Google Scholar 

  5. Baresi L, Heckel R, Thöne S, Varro D, Varró D, Milano PD (2004) Style-based refinement of dynamic software architectures. In: Proceeding of 4th Working IEEE/IFIP Conference on Software Architecture, IEEE, pp 155–164

  6. Barringer H, Goldberg A, Havelund K, Sen K (2004) Program monitoring with ltl in eagle. In: Proceedings of 18th IEEE International Parallel and Distributed Processing Symposium, IEEE Computer Society, Washington, DC, p 264

  7. Bauer A, Leucker M, Schallhart C (2010) Comparing ltl semantics for runtime verification. J Logic Comput 20(3):651–674

    Article  MathSciNet  MATH  Google Scholar 

  8. Benedetti M, Cimatti A (2003) Bounded model checking for past ltl. In: Proceedings of the 9th international conference on Tools and algorithms for the construction and analysis of systems, TACAS’03, Springer, Berlin/Heidelberg, pp 18–33

  9. Bertrand D, Déplanche AM, Faucou S, Roux OH (2008) A study of the aadl mode change protocol. In: Proceedings of the 13th IEEE International Conference on Engineering of Complex Computer Systems, IEEE Computer Society, Washington, DC, pp 288–293

  10. Biyani KN, Kulkarni SS (2008) Assurance of dynamic adaptation in distributed systems. J Parallel Distrib Comput 68(8):1097–1112

    Article  MATH  Google Scholar 

  11. Bodden E (2004) A lightweight ltl runtime verification tool for java. In: the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, OOPSLA ’04, ACM, New York, pp 306–307

  12. Bradbury JS, Cordy JR, Dingel J, Wermelinger M (2004) A survey of self-management in dynamic software architecture specifications. In: Proceedings of the 1st ACM SIGSOFT workshop on Self-managed systems, ACM, New York, pp 28–33

  13. Broy M, Leuxner C, Sitou W, Spanfelner B, Winter S (2009) Formalizing the notion of adaptive system behavior. In: Proceedings of the (2009) ACM symposium on Applied Computing. ACM, New York, pp 1029–1033

  14. Bruni R, Corradini A, Gadducci F, Lluch Lafuente A, Vandin A (2012) A conceptual framework for adaptation. In: Lara J, Zisman A (eds) Fundamental Approaches to Software Engineering, Lecture Notes in Computer Science, vol 7212. Springer, Berlin/Heidelberg, pp 240–254

  15. Canal C, Pimentel E, Troya JM (1999) Specification and refinement of dynamic software architectures. In: Proceedings of the TC2 First Working IFIP Conference on Software Architecture. Kluwer B.V., Deventer, pp 107–126

  16. Chan W, Anderson RJ, Beame P, Burns S, Modugno F, Notkin D, Reese JD (1998) Model checking large software specifications. IEEE Trans Softw Eng 24(7):498–520

    Article  Google Scholar 

  17. Clarke EM, Heinle W (2000) Modular translation of statecharts to smv. Carnegie-Mellon University School of Computer Science, Tech. rep., Pittsburgh

  18. Georgas JC, van der Hoek A, Taylor RN (2005) Architectural runtime configuration management in support of dependable self-adaptive software. ACM SIGSOFT Softw Eng Notes 30:1–6

    Google Scholar 

  19. Goldsby HJ, Cheng BH, Zhang J (2008a) Models in software engineering. In: Chap AMOEBA-RT: Run-Time Verification of Adaptive Software. Springer, Berlin/Heidelberg, pp 212–224

  20. Goldsby HJ, Sawyer P, Bencomo N, Cheng BHC, Hughes D (2008b) Goal-based modeling of dynamically adaptive system requirements. In: Proceedings of the 15th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems, IEEE Computer Society, ECBS ’08, Washington, DC, pp 36–45

  21. Harel D (1987) Statecharts: a visual formalism for complex systems. Sci Comput Program 8(3):231–274

    Article  MathSciNet  MATH  Google Scholar 

  22. Kramer J, Magee J (1998) Analysing dynamic change in software architectures: a case study. In: Proceedings of the 4th International Conference on Configurable Distributed Systems, IEEE Computer Society, Washington, DC, p 91

  23. Kramer J, Magee J (2007) Self-managed systems: an architectural challenge. In: Future of software engineering. IEEE Computer Society, Washington, DC, pp 259–268

  24. Lapouchnian A, Yu Y, Liaskos S, Mylopoulos J (2006) Requirements-driven design of autonomic application software. In: Proceedings of the 2006 conference of the Center for Advanced Studies on Collaborative research, CASCON ’06, IBM Corp., Riverton

  25. Le Métayer D (1998) Describing software architecture styles using graph grammars. IEEE Trans Softw Eng 24(7):521–533

    Article  Google Scholar 

  26. Lichtenstein O, Pnueli A (1985) Checking that finite state concurrent programs satisfy their linear specification. In: Proceedings of the 12th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, ACM, New Yrok, pp 97–107

  27. Magee J, Kramer J (1996) Dynamic structure in software architectures. In: Proceedings of the 4th ACM SIGSOFT Symposium on Foundations of Software Engineering. ACM, New York, pp 3–14

  28. Magee J, Kramer J (2006) Concurrency: state models & Java programs. Wiley, New York

  29. Malek S, Edwards G, Brun Y, Tajalli H, Garcia J, Krka I, Medvidovic N, Mikic-Rakic M, Sukhatme GS (2010) An architecture-driven software mobility framework. J Syst Softw 83(6):972–989

    Article  Google Scholar 

  30. Maraninchi F, Rémond Y (1998) Mode-automata: about modes and states for reactive systems. In: Proceedings of the 7th European Symposium on Programming. Springer, New York, pp 185–199

  31. Maraninchi F, Rémond Y (2003) Mode-automata: a new domain-specific construct for the development of safe critical systems. Sci Comput Program 46(3):219–254

    Article  MATH  Google Scholar 

  32. Martin L, Christian S (2009) A brief account of runtime verification. J Logic Algebr Program 78(5):293–303

    Article  MATH  Google Scholar 

  33. McKinley PK, Sadjadi SM, Kasten EP, Cheng BHC (2004) Composing adaptive software. Computer 37(7):56–64

    Article  Google Scholar 

  34. Medvidovic N, Taylor RN (2000) A classification and comparison framework for software architecture description languages. IEEE Trans Softw Eng 26(1):70–93

    Article  Google Scholar 

  35. Mikk E, Lakhnech Y, Siegel M, Holzmann GJ (1998) Implementing statecharts in promela/spin. In: Proceedings of the Second IEEE Workshop on Industrial Strength Formal Specification Techniques, IEEE Computer Society, WIFT ’98, Washington, DC, pp 90

  36. Morandini M, Penserini L, Perini A (2008) Modelling self-adaptivity: a goal-oriented approach. In: Proceedings of the 2008 Second IEEE International Conference on Self-Adaptive and Self-Organizing Systems, IEEE Computer Society, SASO ’08, Washington, DC, pp 469–470

  37. Morin B, Barais O, Nain G, Jezequel JM (2009) Taming dynamically adaptive systems using models and aspects. In: Proceedings of the 31st International Conference on Software Engineering, IEEE Computer Society, Washington, DC, pp 122–132

  38. Northrop L, Feiler P, Gabriel R, Goodenough J, Linger R, Kazman R, Schmidt D, Sullivan K, Wallnau K (2006) Ultra-large-scale systems-the software challenge of the future. Software Engineering Institute, Carnegie Mellon University, Tech. rep., Pittsburgh

  39. Oquendo F (2004) \(\pi \)-adl: an architecture description language based on the higher-order typed \(\pi \)-calculus for specifying dynamic and mobile software architectures. ACM SIGSOFT Softw Eng Notes 29(3):1–14

  40. Sadjadi SM, McKinley PK, Kasten EP (2003) Architecture and operation of an adaptable communication substrate. In: Proceedings of the 9th IEEE Workshop on Future Trends of Distributed Computing Systems, IEEE Computer Society, p 46

  41. Salehie M, Tahvildari L (2009) Self-adaptive software: Landscape and research challenges. ACM Trans Auton Adap Syst 4(2):1–42

    Article  Google Scholar 

  42. Taentzer G, Goedicke M, Meyer T (1998) Dynamic change management by distributed graph transformation: Towards configurable distributed systems. In: Proceedings of 6th International Workshop on Theory and Application of Graph Transformations, Springer, Berlin, pp 179–193

  43. Thums A, Schellhorn G, Ortmeier F, Reif W (2004) Interactive verification of statecharts. In: Ehrig H, Damm W, Desel J, Groe-Rhode M, Reif W, Schnieder E, Westkmper E (eds) Integration of Software Specification Techniques for Applications in Engineering, Lecture Notes in Computer Science, vol 3147. Springer, Berlin/Heidelberg, pp 355–373

  44. Vardi MY, Wolper P (1986) An automata-theoretic approach to automatic program verification. In: Proceedings of 1st IEEE Symposium on Logic in Computer Science, IEEE Computer Society, Cambridge, pp 332–344

  45. Varró D (2002) A formal semantics of uml statecharts by model transition systems. In: Corradini A, Ehrig H, Kreowski H, Rozenberg G (eds) Graph Transformation, Lecture Notes in Computer Science, vol 2505. Springer, Berlin / Heidelberg, pp 378–392

  46. Yu Y, Lapouchnian A, Liaskos S, Mylopoulos J, Leite J (2008) From goals to high-variability software design. In: An A, Matwin S, Ras Z, Slezak D (eds) Foundations of Intelligent Systems, Lecture Notes in Computer Science, vol 4994. Springer, Berlin/Heidelberg, pp 1–16

  47. Zhang J, Cheng BH (2006a) Model-based development of dynamically adaptive software. In: Proceedings of the 28th International Conference on Software Engineering, ACM, New York, pp 371–380

  48. Zhang J, Cheng BH (2006b) Using temporal logic to specify adaptive program semantics. J Syst Softw 79(10):1361–1369

    Article  MathSciNet  Google Scholar 

  49. Zhang J, Goldsby HJ, Cheng BHC (2009) Modular verification of dynamically adaptive systems. In: Proceedings of the 8th ACM International Conference on Aspect-oriented Software Development, ACM, New York, pp 161–172

Download references

Acknowledgments

This work has been supported in part by the National Natural Science Foundation of China (NSFC) under the Grant No.61003017 and the Project of National Laboratory of Software Development Environment under the Grant No.SKLSDE-2010ZX-05.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yongwang Zhao.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Zhao, Y., Li, Z., Shen, H. et al. Development of global specification for dynamically adaptive software. Computing 95, 785–816 (2013). https://doi.org/10.1007/s00607-013-0295-3

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00607-013-0295-3

Keywords

Mathematics Subject Classification (2000)

Navigation