skip to main content
10.1145/1509239.1509262acmconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
research-article

Modular verification of dynamically adaptive systems

Published: 02 March 2009 Publication History

Abstract

Cyber-physical systems increasingly rely on dynamically adaptive programs to respond to changes in their physical environment; examples include ecosystem monitoring and disaster relief systems. These systems are considered high-assurance since errors during execution could result in injury, loss of life, environmental impact, and/or financial loss. In order to facilitate the development and verification of dynamically adaptive systems, we separate functional concerns from adaptive concerns. Specifically, we model a dynamically adaptive program as a collection of (non-adaptive) steady-state programs and a set of adaptations that realize transitions among steady state programs in response to environmental changes. We use Linear Temporal Logic (LTL) to specify properties of the non-adaptive portions of the system, and we use A-LTL (an adapt-operator extension toLTL) to concisely specify properties that hold during the adaptation process. Model checking offers an attractive approach to automatically analyzing models for adherence to formal properties and thus providing assurance. However, currently, model checkers are unable to verify properties specified using A-LTL. Moreover, as the number of steady-state programs and adaptations increase, the verification costs (in terms of space and time) potentially become unwieldy. To address these issues, we propose a modular model checking approach to verifying that a formal model of an adaptive program satisfies its requirements specified in LTL and A-LTL, respectively.

References

[1]
R. Allen, R. Douence, and D. Garlan. Specifying and analyzing dynamic software architectures. In Proceedings of the 1998 Conference on Fundamental Approaches to Software Engineering (FASE'98), Lisbon, Portugal, March 1998.
[2]
R. Alur and M. Yannakakis. Model checking of hierarchical state machines. ACM Trans. Program. Lang. Syst., 23(3):273--303, 2001.
[3]
J. Appavoo, K. Hui, C. A. N. Soules, et al. Enabling autonomic behavior in systems software with hot swapping. IBM Systems Journal, 42(1):60, 2003.
[4]
H. Bowman and S. J. Thompson. A tableaux method for Interval Temporal Logic with projection. In TABLEAUX'98, International Conference on Analytic Tableaux and Related Methods, number 1397 in Lecture Notes in AI, pages 108--123. Springer-Verlag, May 1998.
[5]
W.-K. Chen, M. A. Hiltunen, and R. D. Schlichting. Constructing adaptive software in distributed systems. In Proc. of the 21st International Conference on Distributed Computing Systems, Mesa, AZ, April 16 -- 19 2001.
[6]
B. H. C. Cheng, H. J. Goldsby, and J. Zhang. Amoeba-RT: Run-time verification of adaptive software. In In Holger Giese, editor, Models in Software Engineering Workshops and Symposia at MoDELS 2007, Nashville, TN, USA, October 2007. Springer Verlag.
[7]
C. Clifton and G. T. Leavens. Observers and assistants: A proposal for modular aspect-oriented reasoning. In In Foundations of Aspect Languages, pages 33--44, 2002.
[8]
J. M. Cobleigh, G. S. Avrunin, and L. A. Clarke. Breakingup is hard to do: an investigation of decomposition for assume-guarantee reasoning. In ISSTA'06: Proceedings of the 2006 International Symposium on Software Testing and Analysis, pages 97--108, 2006.
[9]
C. Courcoubetis, M. Vardi, P. Wolper, and M. Yannakakis. Memory-efficient algorithms for the verification of temporal properties. Formal Methods in System Design, 1(2--3):275--288, 1992.
[10]
E. A. Emerson and J. Y. Halpern. Decision procedures and expressiveness in the temporal logic of branching time. In STOC '82: Proceedings of the fourteenth annual ACM symposium on Theory of computing, pages 169--180. ACM Press, 1982.
[11]
K. Fisler and S. Krishnamurthi. Modular verification of collaboration-based software designs. In ESEC/FSE--9: Proceedings of the 8th European Software Engineering Conference held jointly with the 9th ACM SIGSOFT International Symposium on Foundations of Software Engineering, pages 152--163, New York, NY, USA, 2001. ACM Press.
[12]
C. Flanagan and S. Qadeer. Thread--modular model checking. In SPIN 03: SPIN Workshop, LNCS 2648, pages 213--225. Springer-Verlag, 2003.
[13]
B. Hailpern and S. Owicki. Modular verification of concurrent programs. In POPL '82: Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pages 322--336, New York, NY, USA, 1982. ACM.
[14]
K. Havelund and G. Rosu. Monitoring Java programs with Java PathExplorer. In Proceedings of the 1st Workshop on Runtime Verification, Paris, France, July 2001.
[15]
T. A. Henzinger, R. Jhala, R. Ma jumdar, and M. A. Sanvido. Extreme model checking. Verification: Theory and Practice, Lecture Notes in Computer Science 2772, Springer-Verlag, pages 332--358, 2004.
[16]
C. A. R. Hoare. Communicating Sequential Processes. Prentice Hall, Upper Saddle River, NJ, USA, 1985.
[17]
C. B. Jones. Tentative steps toward a development method for interfering programs. ACM Transactions on Programming Languages and Systems (TOPLAS), 5(4):596--619, 1983.
[18]
B. Jonsson and Y.-K. Tsay. Assumption/guarantee specifications in linear-time temporal logic. Theoretical Computer Science, 167(1--2):47--72, 1996.
[19]
J. Kramer and J. Magee. Analysing dynamic change in software architectures: a case study. In Proc. of 4th IEEE International Conference on Configurable Distributed Systems, Annapolis, May 1998.
[20]
S. Krishnamurthi, K. Fisler, and M. Greenberg. Verifying aspect advice modularly. In SIGSOFT '04/FSE-12: Proceedings of the 12th ACM SIGSOFT International Symposium on Foundations of Software Engineering, pages 137--146, New York, NY, USA, 2004. ACM Press.
[21]
S. Kulkarni and K. Biyani. Correctness of component-based adaptation. In Proceedings of International Symposium on Component-based Software Engineering, May 2004.
[22]
O. Kupferman and M. Y. Vardi. Modular model checking. In COMPOS'97: Revised Lectures from the International Symposium on Compositionality: The Significant Dierence, pages 381--401, London, UK, 1998. Springer-Verlag.
[23]
H. Li, S. Krishnamurthi, and K. Fisler. Verifying cross-cutting features as open systems. ACM SIGSOFT Software Engineering Notes, 27(6):89--98, 2002.
[24]
O. Lichtenstein and A. Pnueli. Checking that finite state concurrent programs satisfy their linear specification. In Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages, pages 97--107. ACM Press, 1985.
[25]
B. Liskov and J. Guttag. Abstraction and Specification in Program Development. MIT Press and McGraw-Hill, Cambridge, 1986.
[26]
J. Magee. Behavioral analysis of software architectures using LTSA. In Proceedings of the 21st International Conference on Software Engineering, pages 634--637. IEEE Computer Society Press, 1999.
[27]
P. K. McKinley. RAPIDware. http://www.cse.msu.edu/rapidware/. Software Engineering and Network Systems Laboratory, Department of Computer Science and Engineering, Michigan State Computer Science and Engineering, Michigan State
[28]
D. L. Parnas. On the criteria to be used in decomposing systems into modules. Commun. ACM, 15(12):1053--1058, 1972.
[29]
A. Pnueli. The temporal logic of programs. In Proceedings of the 18th IEEE Symposium on Foundations of Computer Science, pages 46--57, 1977.
[30]
M. Vardi and P. Wolper. An automata-theoretic approach to automatic program verification. In Proceedings of the 1st Symposium on Logic in Computer Science, pages 322--331, Cambridge, England, 1986.
[31]
J. Zhang and B. H. C. Cheng. Model-based development of dynamically adaptive software. In Proceedings of International Conference on Software Engineering (ICSE'06), Shanghai,China, May 2006.
[32]
J. Zhang and B. H. C. Cheng. Modular model checking of dynamically adaptive programs. Technical Report MSU-CSE-06-18, Computer Science and Engineering, Michigan State University, East Lansing, Michigan, March 2006. http://www.cse.msu.edu/ hjg/Zhang06Modular.pdf.
[33]
J. Zhang and B. H. C. Cheng. Using temporal logic to specify adaptive program semantics. Journal of Systems and Software (JSS), Architecting Dependable Systems, 79(10):1361--1369, 2006.
[34]
J. Zhang, B. H. C. Cheng, Z. Yang, and P. K. McKinley. Enabling safe dynamic component-based software adaptation. Architecting Dependable Systems, Lecture Notes in Computer Science, pages 194--211, 2005.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
AOSD '09: Proceedings of the 8th ACM international conference on Aspect-oriented software development
March 2009
278 pages
ISBN:9781605584423
DOI:10.1145/1509239
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 02 March 2009

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. autonomic computing
  2. dynamic adaptation
  3. formal specification
  4. global invariants
  5. modular model checking
  6. reliability
  7. verification

Qualifiers

  • Research-article

Conference

AOSD '09

Acceptance Rates

Overall Acceptance Rate 41 of 139 submissions, 29%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)16
  • Downloads (Last 6 weeks)0
Reflects downloads up to 26 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media