Skip to main content

AMOEBA-RT: Run-Time Verification of Adaptive Software

  • Conference paper
Models in Software Engineering (MODELS 2007)

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

Abstract

Increasingly, software must dynamically adapt its behavior in response to changes in the supporting computing, communication infrastructure, and in the surrounding physical environment. Assurance that the adaptive software correctly satisfies its requirements is crucial if the software is to be used in high assurance systems, such as command and control or critical infrastructure protection systems. Adaptive software development for these systems must be grounded upon formalism and rigorous software engineering methodology to gain assurance. In this paper, we briefly describe AMOebA-RT, a run-time monitoring and verification technique that provides assurance that dynamically adaptive software satisfies its requirements.

This work has been supported in part by NSF grants EIA-0000433, CNS-0551622, CCF-0541131, IIP-0700329, CCF-0750787, Department of the Navy, Office of Naval Research under Grant No. N00014-01-1-0744, Siemens Corporate Research, and a Quality Fund Program grant from Michigan State University.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. McKinley, P.K., Sadjadi, S.M., Kasten, E.P., Cheng, B.H.C.: Composing adaptive software. IEEE Computer 37(7), 56–64 (2004)

    Google Scholar 

  2. Métayer, D.L.: Software architecture styles as graph grammars. In: Proceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering, pp. 15–23. ACM Press, New York (1996)

    Chapter  Google Scholar 

  3. Taentzer, G., Goedicke, M., Meyer, T.: Dynamic change management by distributed graph transformation: Towards configurable distributed systems. In: Selected papers from the 6th International Workshop on Theory and Application of Graph Transformations, pp. 179–193. Springer, Heidelberg (2000)

    Google Scholar 

  4. Hirsch, D., Inverardi, P., Montanari, U.: Graph grammars and constraint solving for software architecture styles. In: Proceedings of the third international workshop on Software architecture, pp. 69–72. ACM Press, New York (1998)

    Chapter  Google Scholar 

  5. Oreizy, P., Medvidovic, N., Taylor, R.N.: Architecture-based runtime software evolution. In: Proceedings of the 20th International Conference on Software Engineering, pp. 177–186. IEEE Computer Society, Los Alamitos (1998)

    Chapter  Google Scholar 

  6. Taylor, R.N., Medvidovic, N., Anderson, K.M., Whitehead Jr., E.J., Robbins, J.E.: A component- and message-based architectural style for GUI software. In: Proceedings of the 17th International Conference on Software Engineering, pp. 295–304. ACM Press, New York (1995)

    Google Scholar 

  7. Kramer, J., Magee, J.: Analysing dynamic change in software architectures: a case study. In: Proc. of 4th IEEE International Conference on Configurable Distributed Systems, Annapolis (1998)

    Google Scholar 

  8. Zhang, J., Cheng, B.H.C.: Using temporal logic to specify adaptive program semantics. Journal of Systems and Software (JSS), Architecting Dependable Systems 79(10), 1361–1369 (2006)

    Google Scholar 

  9. Zhang, J., Cheng, B.H.C.: Model-based development of dynamically adaptive software. In: Proceedings of IEEE International Conference on Software Engineering (ICSE 2006), Shanghai,China (2006)

    Google Scholar 

  10. Zhang, J., Cheng, B.H.C.: Modular model checking of dynamically adaptive programs. Technical Report MSU-CSE-06-18, Computer Science and Engineering, Michigan State University, East Lansing, Michigan (2006), http://www.cse.msu.edu/~zhangji9/Zhang06Modular.pdf

  11. Havelund, K., Rosu, G.: Monitoring Java programs with Java PathExplorer. In: Proceedings of the 1st Workshop on Runtime Verification, Paris, France (2001)

    Google Scholar 

  12. Lee, I., Kannan, S., Kim, M., Sokolsky, O., Viswanathan, M.: Runtime assurance based on formal specifications. In: Proc. Parallel and Distributed Processing Techniques and Applications, pp. 279–287 (1999)

    Google Scholar 

  13. Drusinsky, D.: The temporal rover and the atg rover. In: Proceedings of the 7th International SPIN Workshop on SPIN Model Checking and Software Verification, London, UK, pp. 323–330. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  14. Feather, M.S., Fickas, S., Van Lamsweerde, A., Ponsard, C.: Reconciling system requirements and runtime behavior. In: Proceedings of the 9th International Workshop on Software Specification and Design, p. 50. IEEE Computer Society, Los Alamitos (1998)

    Chapter  Google Scholar 

  15. The AspectJ Team: The AspectJ(TM) programming guide (2007), http://eclipse.org/aspectj

  16. Appavoo, J., Hui, K., Soules, C.A.N., et al.: Enabling autonomic behavior in systems software with hot swapping. IBM Systems Journal 42(1), 60 (2003)

    Article  Google Scholar 

  17. Chen, W.K., Hiltunen, M.A., Schlichting, R.D.: Constructing adaptive software in distributed systems. In: Proc. of the 21st International Conference on Distributed Computing Systems, Mesa, AZ (2001)

    Google Scholar 

  18. Kulkarni, S.S., Biyani, K.N., Arumugam, U.: Composing distributed fault-tolerance components. In: Proceedings of the International Conference on Dependable Systems and Networks (DSN), Supplemental Volume, Workshop on Principles of Dependable Systems, pp. W127–W136 (2003)

    Google Scholar 

  19. Zhang, J., Yang, Z., Cheng, B.H.C., McKinley, P.K.: Adding safeness to dynamic adaptation techniques. In: Proceedings of IEEE ICSE 2004 Workshop on Architecting Dependable Systems, Edinburgh, Scotland, UK (2004)

    Google Scholar 

  20. Maes, P.: Concepts and experiments in computational reflection. In: Conference proceedings on Object-oriented programming systems, languages and applications, pp. 147–155. ACM Press, New York (1987)

    Chapter  Google Scholar 

  21. Barringer, H., Goldberg, A., Havelund, K., Sen, K.: Program monitoring with ltl in eagle. In: 18th International Parallel and Distributed Processing Symposium, Parallel and Distributed Systems: Testing and Debugging - PADTAD 2004, IEEE Computer Society Press, Los Alamitos (2004)

    Google Scholar 

  22. Bowman, H., Thompson, S.J.: A tableaux method for Interval Temporal Logic with projection. In: de Swart, H. (ed.) TABLEAUX 1998. LNCS (LNAI), vol. 1397, pp. 108–123. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  23. Vardi, M., Wolper, P.: An automata-theoretic approach to automatic program verification. In: Proceedings of the 1st Symposium on Logic in Computer Science, Cambridge, England, pp. 322–331 (1986)

    Google Scholar 

  24. Lichtenstein, O., Pnueli, A.: Checking that finite state concurrent programs satisfy their linear specification. In: Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages, pp. 97–107. ACM Press, New York (1985)

    Chapter  Google Scholar 

  25. Zhang, J., Lee, J., McKinley, P.K.: Optimizing the Java pipe I/O stream library for performance. In: Pugh, B., Tseng, C.-W. (eds.) LCPC 2002. LNCS, vol. 2481, Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  26. Goldsby, H., Cheng, B.H.C., Konrad, S., Kamdoum, S.: A visualization framework for the modeling and formal analysis of high assurance systems. In: Proceedings of the ACM/IEEE 8th International Conference on Model Driven Engineering Languages and Systems, Genova, Italy (2006)

    Google Scholar 

  27. Goldsby, H.J., Knoester, D.B., Cheng, B.H.C., McKinley, P.K., Ofria, C.A.: Digitally evolving models for dynamically adaptive systems. In: Proceedings of the IEEE ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS), Minneapolis, Minnesota (2007)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Holger Giese

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Goldsby, H.J., Cheng, B.H.C., Zhang, J. (2008). AMOEBA-RT: Run-Time Verification of Adaptive Software. In: Giese, H. (eds) Models in Software Engineering. MODELS 2007. Lecture Notes in Computer Science, vol 5002. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-69073-3_23

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-69073-3_23

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-69069-6

  • Online ISBN: 978-3-540-69073-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics