Automatic Derivation of Utility Functions for Monitoring Software Requirements

  • Andres J. Ramirez
  • Betty H. C. Cheng
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6981)


Utility functions can be used to monitor requirements of a dynamically adaptive system (DAS). More specifically, a utility function maps monitoring information to a scalar value proportional to how well a requirement is satisfied. Utility functions may be manually elicited by requirements engineers, or indirectly inferred through statistical regression techniques. This paper presents a goal-based requirements model-driven approach for automatically deriving state-, metric-, and fuzzy logic-based utility functions for RELAXed goal models. State- and fuzzy logic-based utility functions are responsible for detecting requirements violations, and metric-based utility functions are used to detect conditions conducive to a requirements violation. We demonstrate the proposed approach by applying it to the goal model of an intelligent vehicle system (IVS) and use the derived utility functions to monitor the IVS under different environmental conditions at run time.


Utility Function Requirement Engineer Adaptive Cruise Control Distance Sensor Lead Vehicle 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Chajewska, U., Koller, D., Ormoneit, D.: Learning an agent’s utility function by observing behavior. In: Proceedings of the Eighteenth International Conference on Machine Learning, ICML, pp. 35–42. Morgan Kaufmann Publishers Inc., San Francisco (2001)Google Scholar
  2. 2.
    Cheng, B.H.C., Sawyer, P., Bencomo, N., Whittle, J.: A goal-based modeling approach to develop requirements of an adaptive system with environmental uncertainty. In: Schürr, A., Selic, B. (eds.) MODELS 2009. LNCS, vol. 5795, pp. 468–483. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  3. 3.
    Cheng, S.W., Garlan, D., Schmerl, B.: Architecture-based self-adaptation in the presence of multiple objectives. In: Proceedings of the 2006 International Workshop on Self-adaptation and Self-Managing Systems, pp. 2–8. ACM, Shanghai (2006)CrossRefGoogle Scholar
  4. 4.
    Chung, L., Nixon, B., Yu, E., Mylopoulos, J.: Non-Functional Requirements in Software Engineering. Kluwer Academic Publishers, Dordrecht (2000)CrossRefzbMATHGoogle Scholar
  5. 5.
    Dardenne, A., van Lamsweerde, A., Fickas, S.: Goal-directed requirements acquisition. Science of Computer Programming 20(1-2), 3–50 (1993)CrossRefzbMATHGoogle Scholar
  6. 6.
    Darimont, R., van Lamsweerde, A.: Formal refinement patterns for goal-driven requirements elaboration. SIGSOFT Software Engineering Notes 21(6), 179–190 (1996)CrossRefGoogle Scholar
  7. 7.
    Feather, M.S., Fickas, S., van Lamsweerde, A., Ponsard, C.: Reconciling system requirements and runtime behavior. In: IWSSD 1998: Proceedings of the 8th International Workshop on Software Specification and Design, pp. 50–59. IEEE Computer Society, Washington, DC (1998)Google Scholar
  8. 8.
    Fickas, S., Feather, M.S.: Requirements monitoring in dynamic environments. In: RE 1995: Proceedings of the Second IEEE International Symposium on Requirements Engineering, pp. 140–147. IEEE Computer Society, Washington, DC (1995)CrossRefGoogle Scholar
  9. 9.
    de Grandis, P., Valetto, G.: Elicitation and utilization of application-level utility functions. In: The Proceedings of the Sixth International Conference on Autonomic Computing (ICAC 2009), pp. 107–116. ACM, Barcelona (2009)Google Scholar
  10. 10.
    Jackson, M., Zave, P.: Deriving specifications from requirements: an example. In: Proceedings of the 17th International Conference on Software Engineering, ICSE, pp. 15–24. ACM, Seattle (1995)Google Scholar
  11. 11.
    Jureta, I.J., Faulkner, S., Schobbens, P.Y.: Achieving, satisficing, and excelling. In: Parent, C., Schewe, K.-D., Storey, V.C., Thalheim, B. (eds.) ER 2007. LNCS, vol. 4801, pp. 286–295. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  12. 12.
    van Lamsweerde, A.: Requirements Engineering: From System Goals to UML Models to Software Specifications. Wiley, Chichester (2009)Google Scholar
  13. 13.
    Letier, E., van Lamsweerde, A.: Reasoning about partial goal satisfaction for requirements and design engineering. In: Proceedings of the 12th ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp. 53–62. ACM, Newport Beach (2004)Google Scholar
  14. 14.
    Michel, O.: Webots: Professional mobile robot simulation. Journal of Advanced Robotics Systems 1(1), 39–42 (2004)Google Scholar
  15. 15.
    Ramirez, A.J., Cheng, B.H.C.: Adaptive monitoring of software requirements. In: Proceedings of the 2010 Workshop on Requirements at Run Time, RE@RunTime, pp. 41–50. IEEE Computer Society, Sydney (2010)CrossRefGoogle Scholar
  16. 16.
    Robinson, W.N.: Monitoring software requirements using instrumented code. In: HICSS 2002: Proceedings of the 35th Annual Hawaii International Conference on System Sciences, pp. 276–285. IEEE Computer Society, Hawaii (2002)Google Scholar
  17. 17.
    Walsh, W.E., Tesauro, G., Kephart, J.O., Das, R.: Utility functions in autonomic systems. In: Proceedings of the First IEEE International Conference on Autonomic Computing, pp. 70–77. IEEE Computer Society, New York (2004)Google Scholar
  18. 18.
    Whittle, J., Sawyer, P., Bencomo, N., Cheng, B.H.C., Bruel, J.M.: RELAX: Incorporating uncertainty into the specification of self-adaptive systems. In: The Proceedings of the 17th International Requirements Engineering Conference (RE 2009), pp. 79–88. IEEE Computer Society, Atlanta (2009)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Andres J. Ramirez
    • 1
  • Betty H. C. Cheng
    • 1
  1. 1.Department of Computer Science and EngineeringMichigan State UniversityEast LansingUSA

Personalised recommendations