Monitoring and diagnosing software requirements

  • Yiqiao Wang
  • Sheila A. McIlraith
  • Yijun Yu
  • John Mylopoulos


We propose a framework adapted from Artificial Intelligence theories of action and diagnosis for monitoring and diagnosing failures of software requirements. Software requirements are specified using goal models where they are associated with preconditions and postconditions. The monitoring component generates log data that contains the truth values of specified pre/post-conditions, as well as system action executions. Such data can be generated at different levels of granularity, depending on diagnostic feedback. The diagnostic component diagnoses the denial of requirements using the log data, and identifies problematic components. To support diagnostic reasoning, we transform the diagnostic problem into a propositional satisfiability (SAT) problem that can be solved by existing SAT solvers. The framework returns sound and complete diagnoses accounting for observed aberrant system behaviors. Our solution is illustrated with two medium-sized publicly available case studies: a Web-based email client and an ATM simulation. Our experimental results demonstrate the scalability of our approach.


Requirement monitoring Diagnostics 


  1. Bjork, R.: An example of object-oriented design: an ATM simulation. (2007)
  2. Castello, R.: Squirrel mail. (2007)
  3. Dardenne, A., van Lamsweerde, A., Fickas, S.: Goal-directed requirements acquisition. Sci. Comput. Program. 20(1–2), 3–50 (1993) MATHCrossRefGoogle Scholar
  4. Davis, M., Logemann, G., Loveland, D.: A machine program for theorem-proving. J. ACM 5, 394–397 (1962) MATHCrossRefMathSciNetGoogle Scholar
  5. De Kleer, J., Mackworth, A.K., Reiter, R.: Characterizing diagnoses and systems. Artif. Intell. 56(2–3), 197–222 (1992) MATHGoogle Scholar
  6. Feather, M.S., Fickas, S., Van Lamsweerde, A., Ponsard, C.: Reconciling system requirements and runtime behavior. In: 9th International Workshop on Software Specification and Design (1998) Google Scholar
  7. Fickas, S., Feather, M.: Requirements monitoring in dynamic environments. In: Second IEEE International Symposium on Requirements Engineering (1995) Google Scholar
  8. Giorgini, P., Mylopoulos, J., Nicchiarelli, E., Sebastiani, R.: Reasoning with goal models. In: Conceptual Modeling, pp. 167–181. Springer, Berlin (2002) Google Scholar
  9. Goldberg, E., Novikov, Y.: Berkmin: A fast and robust SAT-solver. In: Design, Automation, and Test in Europe, pp. 142–149 (2002) Google Scholar
  10. Iwan, G.: History-based diagnosis templates in the framework of the situation calculus. AI Commun. 15, 31–45 (2002) MATHMathSciNetGoogle Scholar
  11. Kephart, J.O., Chess, D.M.: The vision of autonomic computing. IEEE Comput. Soc. 36, 41–50 (2003) Google Scholar
  12. Kiczales, G., Hilsdale, E., Hugunin, J.K.M., Palm, J., Griswold, W.: An Overview of AspectJ. Springer, Berlin (2001) Google Scholar
  13. Lamsweerde, A.V., Letier, E.: Handling obstacles in goal-oriented requirements engineering. IEEE Trans. Softw. Eng. 26, 978–1005 (2000) CrossRefGoogle Scholar
  14. Le Berre, D.: A satisfiability library for Java. (2007)
  15. McIlraith, S.: Explanatory diagnosis: Conjecturing actions to explain observations. In: Principles of Knowledge Representation and Reasoning, pp. 167–179 (1998) Google Scholar
  16. McIlraith, S., Fadel, R.: Planning with complex actions. In: International Workshop on Non-Monotonic Reasoning, pp. 356–364 (2002) Google Scholar
  17. Moskewicz, M.W., Madigan, C.F., Zhao, Y., Zhang, L., Malik, S.: Chaff: engineering an efficient sat solver. In: Design Automation, pp. 530–535. Assoc. Comput. Mach., New York (2001) Google Scholar
  18. Mylopoulos, J., Chung, L., Nixon, B.: Representing and using nonfunctional requirements: a process-oriented approach. IEEE Trans. Softw. Eng. 18(6), 483–497 (1992) CrossRefGoogle Scholar
  19. Reiter, R.: A theory of diagnosis from first principles. Artif. Intell. 32(1), 57–95 (1987) MATHCrossRefMathSciNetGoogle Scholar
  20. Reiter, R.: The frame problem in the situation calculus: A simple solution (sometimes) and a completeness result for goal regression. In: Artificial Intelligence and Mathematical Theory of Computation, pp. 359–380 (1991) Google Scholar
  21. Robinson, W.N.: Implementing rule-based monitors within a framework for continuous requirements monitoring. In: 38th Annual Hawaii International Conference on System Sciences (2005) Google Scholar
  22. Ryan, L.: Efficient algorithms for clause-learning SAT solvers. Master’s Thesis, Simon Fraser University (2004) Google Scholar
  23. Sebastiani, R., Giorgini, P., Mylopoulos, J.: Simple and minimum-cost satisfiability for goal models. In: The 16th International Conference on Advanced Information Systems Engineering, vol. 4, pp. 20–33. Springer, Berlin (2004) Google Scholar
  24. W3C: Web services (2002) Google Scholar
  25. Wang, Y., McIlraith, S., Yu, Y., Mylopoulos, J.: An automated approach to monitoring and diagnosing requirements. In: 22nd IEEE/ACM International Conference on Automated Software Engineering (2007) Google Scholar
  26. Winbladh, K., Alspaugh, T.A., Ziv, H., Richardson, D.J.: An automated approach for goal-driven, specification-based testing. In: 21st IEEE/ACM International Conference on Automated Software Engineering (2006) Google Scholar
  27. Yu, Y., Wang, Y., Mylopoulos, J., Liaskos, S., Lapouchnian, A., do Prado Leite, J.C.S.: Reverse engineering goal models from legacy code. In: Second IEEE International Symposium on Requirements Engineering, pp. 363–372 (2005) Google Scholar
  28. Zhou, X.: A goal-oriented instrumentation approach for monitoring requirements. Master’s Thesis, University of Toronto (2008) Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2008

Authors and Affiliations

  • Yiqiao Wang
    • 1
  • Sheila A. McIlraith
    • 1
  • Yijun Yu
    • 2
  • John Mylopoulos
    • 1
  1. 1.Department of Computer ScienceUniversity of TorontoTorontoCanada
  2. 2.Computing Department, Faculty of Maths & ComputingThe Open Univ.Milton KeynesUK

Personalised recommendations