Abstract
Increasingly, computer software must adapt dynamically to changing conditions. The correctness of adaptation cannot be rigorously addressed without precisely specifying the requirements for adaptation. In many situations, these requirements involve absolute time, in addition to a logical ordering of events. This paper introduces an approach to formally specifying such timing requirements for adaptive software. We introduce TA-LTL, a timed adaptation-based extension to linear temporal logic, and use this logic to specify three timing properties associated with the adaptation process: safety, liveness, and stability. A dynamic adaptation scenario involving interactive audio streaming software is used to illustrate the timed temporal logic.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
RAPIDware. http://www.cse.msu.edu/rapidware/, Software Engineering and Network Systems Laboratory, Department of Computer Science and Engineering, Michigan State University, East Lansing, Michigan
Allen R, Douence R, Garlan D (1998) Specifying and analyzing dynamic software architectures. In: Proceedings of the 1998 conference on fundamental approaches to software engineering (FASE’98), Lisbon
Alur R, Henzinger TA (1994) A really temporal logic. J ACM 41(1):181–203
Appavoo J, Hui K, Soules CAN, Wisniewski RW, Silva DMD, Krieger O, Auslander MA, Edelsohn DJ, Gamsa B, Ganger GR, McKenney P, Ostrowski M, Rosenburg B, Stumm M, Xenidis J (2003) Enabling autonomic behavior in systems software with hot swapping. IBM Syst J Special Issue on Autonomic Comput 42(1)
Bellini P, Mattolini R, Nesi P (2000) Temporal logics for real-time system specification. ACM Comput Surv 32(1):12–42
Berry DM, Cheng BHC, Zhang J (2005) The four levels of requirements engineering for and in dynamic adaptive systems. In: Proceedings of the 11th international workshop on requirements engineering: foundation for software quality, Porto, Portugal
Bershad BN, et al (1994) Spin—an extensible microkernel for application-specific operating system services. Techincal report Department of Computer Science and Engineering, University of Washington
Bolot JC, Vega-Garcia A (1996) Control mechanisms for packet audio in Internet. In: Proceedings of IEEE INFOCOM’96, San Francisco, pp 232–239
Bowman H, Thompson SJ (1998) A tableaux method for interval temporal logic with projection. In: TABLEAUX’98, international conference on analytic tableaux and related methods. Springer-Heidelberg, no. 1397 in Lecture Notes in AI, pp 108–123, http://www.cs.ukc.ac.uk/pubs/1998/528
Chen WK, Hiltunen MA, Schlichting R (2001) Constructing adaptive software in distributed systems. In: of the 21st international conference on distributed computing systems, Phoenix, pp 635–643, http://citeseer.nj.nec.com/chen01constructing.html
Cuesta CE, de la Fuente P, Barrio-Solarzano M (2001) Dynamic coordination architecture through the use of reflection. In: Proceedings of the 2001 ACM symposium on applied computing, ACM, New York, pp 134–140
Degener J, Bormann C (2000) The GSM 06.10 lossy speech compression library and its applications. Available at http://kbs.cs.tu-berlin.de/ jutta/toast.html
Emerson EA (1990) Temporal and modal logic. Handbook of theoretical computer science: formal models and semantics. vol B pp 995–1072
Jahanian F, Mok AK (1986) Safety analysis of timing properties in real-time systems. IEEE Trans Softw Eng 12(9):890–904
Kephart JO, Chess DM (2003) The vision of autonomic computing. IEEE Comput 36(1):41–50
Kon F, Román M, Liu P, Mao J, Yamane T, Magalhães LC, Campbell RH (2000) Monitoring, security, and dynamic configuration with the dynamicTAO reflective ORB. In: Proceedings of the IFIP/ACM international conference on distributed systems platforms and open distributed processing, Springer-Heidelberg, no. 1795 in LNCS, pp 121–143
Koymans R (1990) Specifying real-time properties with metric temporal logic. Real-Time Syst 2(4):255–299
Kramer J, Magee J (1990) The evolving philosophers problem: dynamic change management. IEEE Trans Softw Eng 16(11):1293–1306
Kramer J, Magee J, Sloman M (1992) Configuring distributed systems. In: Proceedings of the 5th workshop on ACM SIGOPS European, ACM, New York, pp 1–5
Kulkarni SS, Biyani KN (2004) Correctness of component-based adaptation. In: Proceedings of the 7th international symposium on component-based software engineering, pp 48–58
Kulkarni SS, Biyani KN, Arumugam U (2003) Composing distributed fault-tolerance components. In: Proccedings of the international conference on dependable systems and networks (DSN), supplemental volume, workshop on principles of dependable systems, pp W127–W136
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 Press, pp 97–107, doi http://doi.acm.org/10.1145/318593.318622
McKinley P, Sadjadi SM, Kasten EP, Cheng BHC (2004) Composing adaptive software. IEEE Comput 37(7):56–64
Ostroff J, Wonham W (1987) Modeling and verifying real-time embedded computer systems. In: Proceedings of the IEEE real-time systems symposium, pp 124–132
Pal PP, Loyall J, Schantz RE, Zinky JA, Webber F (2000) Open implementation toolkit for building survivable applications. In: Proceedings of the DARPA information survivability conference and exposition, Hilton Head Island
Pnueli A (1977) The temporal logic of programs. In: Proceedings of the 18th IEEE symposium foundations of computer science (FOCS 1977), pp 46–57
Rizzo L (1997) Effective erasure codes for reliable computer communication protocols. ACM Comput Commun Rev
Rosenberg J, Qiu L, Schulzrinne H (2000) Integrating packet FEC into adaptive voice playout buffer algorithms on the Internet. In: Proceedings of IEEE INFOCOM 2000, pp 1705–1714
Rosner R, Pnueli A (1986) A choppy logic. In: Proceedings of symposium on logic in computer science, Cambridge, pp 306–313
Sadjadi S, McKinley P, Kasten E, Zhou Z (2006) Metasockets: design and operation of run-time reconfigurable communication services. Softw Pract Exp 36:1157–1178
Sadjadi SM, McKinley PK (2004) ACT: an adaptive CORBA template to support unanticipated adaptation. In: Proceedings of the 24th IEEE international conference on distributed computing systems (ICDCS), Tokyo
Sadjadi SM, McKinley PK, Kasten EP (2003) Architecture and operation of an adaptable communication substrate. In: Proceedings of the ninth IEEE international workshop on future trends in distributed computing, San Juan, Puerto Rico
Wang F, Mok A, Emerson EA (1992) Formal specification of asynchronous distributed real-time systems by APTL. In: Proceedings of the 14th international conference on software engineering, ACM, New York, pp 188–198
Zhang J, Cheng BHC (2005) Specifying adaptation semantics. In: Proceedings of the 2005 workshop on architecting dependable systems, ACM, pp 1–7
Zhang J, Cheng BHC (2006a) Model-based development of dynamically adaptive software. In: Proceedings of international conference on software engineering (ICSE’06), Shanghai
Zhang J, Cheng BHC (2006b) Modular model checking of dynamically adaptive programs. Technical Report MSU-CSE-06-18, computer science and engineering, Michigan State University, East Lansing, Michigan, http://www.cse.msu.edu/zhangji9/Zhang06Modular.pdf, http://www.cse.msu.edu/zhangji9/Zhang06Modular.pdf
Zhang J, Cheng BHC (2006c) Using temporal logic to specify adaptive program semantics. J Syst Softw (JSS), Architecting Dependable Systems 79(10):1361–1369
Zhang J, Yang Z, Cheng BHC, McKinley PK (2004) Adding safeness to dynamic adaptation techniques. In: Proceedings of ICSE 2004 workshop on architecting dependable systems, Edinburgh
Zhang J, Cheng BHC, Yang Z, McKinley PK (2005) Enabling safe dynamic component-based software adaptation. Architecting Dependable Systems, Lecture Notes in Computer Science pp 194–211
Zhou Z, McKinley PK, Sadjadi SM (2004) On quality-of-service and energy consumption tradeoffs in FEC-enabled audio streaming. In: Proceedings of the 12th IEEE international workshop on quality of service (IWQoS 2004), Montreal
Zhou Z, Zhang J, McKinley PK, Cheng BHC (2006) TA-LTL: Specifying adaptation timing properties in autonomic systems. In: 3rd IEEE workshop on engineering of autonomic systems (EASe 2006), Columbia
Author information
Authors and Affiliations
Corresponding author
Additional information
A number of related papers and technical reports of the Software Engineering and Network Systems Laboratory can be found at the following URL: http://www.cse.msu.edu/sens.
Rights and permissions
About this article
Cite this article
Zhang, J., Zhou, Z., Cheng, B.H.C. et al. Specifying real-time properties in autonomic systems. Innovations Syst Softw Eng 3, 3–16 (2007). https://doi.org/10.1007/s11334-006-0016-6
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11334-006-0016-6