MODELS 2012: Model Driven Engineering Languages and Systems pp 53-69 | Cite as
Relaxing Claims: Coping with Uncertainty While Evaluating Assumptions at Run Time
Abstract
Self-adaptation enables software systems to respond to changing environmental contexts that may not be fully understood at design time. Designing a dynamically adaptive system (DAS) to cope with this uncertainty is challenging, as it is impractical during requirements analysis and design time to anticipate every environmental condition that the DAS may encounter. Previously, the RELAX language was proposed to make requirements more tolerant to environmental uncertainty, and Claims were applied as markers of uncertainty that document how design assumptions affect goals. This paper integrates these two techniques in order to assess the validity of Claims at run time while tolerating minor and unanticipated environmental conditions that can trigger adaptations. We apply the proposed approach to the dynamic reconfiguration of a remote data mirroring network that must diffuse data while minimizing costs and exposure to data loss. Results show RELAXing Claims enables a DAS to reduce adaptation costs.
Keywords
Link Failure Goal Model Requirement Engineer Environmental Uncertainty Synchronous PropagationPreview
Unable to display preview. Download preview PDF.
References
- 1.Ali, R., Dalpiaz, F., Giorgini, P.: A goal-based framework for contextual requirements modeling and analysis. Requir. Eng. 15, 439–458 (2010)CrossRefGoogle Scholar
- 2.Baresi, L., Pasquale, L., Spoletini, P.: Fuzzy goals for requirements-driven adaptation. In: Proceedings of the 18th IEEE International Requirements Engineering Conference, pp. 125–134. IEEE, Sydney (2010)CrossRefGoogle Scholar
- 3.Chen, B., Peng, X., Yu, Y., Zhao, W.: Are your sites down? requirements-driven self-tuning for the survivability of web systems. In: 19th International Conference on Requirements Engineering (2011)Google Scholar
- 4.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
- 5.Chung, L., Nixon, B., Yu, E., Mylopoulos, J.: Non-Functional Requirements in Software Engineering. Kluwer Academic Publishers (2000)Google Scholar
- 6.DeLoach, S.A., Miller, M.: A goal model for adaptive complex systems. International Journal of Computational Intelligence: Theory and Practice 5(2) (2010)Google Scholar
- 7.Feather, M.S., Fickas, S., van Lamsweerde, A., Ponsard, C.: Reconciling system requirements and runtime behavior. In: Proc. of the 8th Int. Workshop on Software Specification and Design, Washington, DC, USA, pp. 50–59 (1998)Google Scholar
- 8.Fickas, S., Feather, M.S.: Requirements monitoring in dynamic environments. In: Proc. of the Second IEEE Int. Symp. on Requirements Eng., Washington, DC, USA, pp. 140–147 (1995)Google Scholar
- 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)CrossRefGoogle Scholar
- 10.Jackson, M., Zave, P.: Deriving specifications from requirements: an example. In: Proceedings of the 17th International Conference on Software Engineering, pp. 15–24. ACM, Seattle (1995)Google Scholar
- 11.Ji, M., Veitch, A., Wilkes, J.: Seneca: Remote mirroring done write. In: USENIX 2003 Annual Technical Conference, pp. 253–268. USENIX Association, Berkeley (2003)Google Scholar
- 12.Keeton, K., Santos, C., Beyer, D., Chase, J., Wilkes, J.: Designing for disasters. In: Proceedings of the 3rd USENIX Conference on File and Storage Technologies, pp. 59–62. USENIX Association, Berkeley (2004)Google Scholar
- 13.Kramer, J., Magee, J.: The evolving philosophers problem: Dynamic change management. IEEE Trans. on Soft. Eng. 16(11), 1293–1306 (1990)CrossRefGoogle Scholar
- 14.van Lamsweerde, A.: Requirements Engineering: From System Goals to UML Models to Software Specifications. Wiley (March 2009)Google Scholar
- 15.van Lamsweerde, A., Letier, E.: Handling obstacles in goal-oriented requirements engineering. IEEE Tran. on Soft. Eng. 26(10), 978–1005 (2000)CrossRefGoogle Scholar
- 16.Lapouchnian, A.: Exploiting Requirements Variability for Software Customization and Adaptation. Ph.D. thesis, University of Toronto (2011)Google Scholar
- 17.Letier, E., van Lamsweerde, A.: Reasoning about partial goal satisfaction for requirements and design engineering. In: Proc. of the 12th ACM SIGSOFT Int. Symp. on Foundations of Software Eng., pp. 53–62. ACM, Newport Beach (2004)CrossRefGoogle Scholar
- 18.Ramirez, A.J., Cheng, B.H.C.: Cheng: Adaptive monitoring of software requirements. In: Proceedings of the IEEE Workshop on Requirements at Run Time, pp. 41–50. RE@RunTime, Sydney, Australia (September 2010)Google Scholar
- 19.Ramirez, A.J., Cheng, B.H.C.: Automatically deriving utility functions for monitoring software requirements. In: Proceedings of the 2011 International Conference on Model Driven Engineering Languages and Systems Conference, Wellington, New Zealand, pp. 501–516 (2011)Google Scholar
- 20.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
- 21.Salifu, M., Yu, Y., Nuseibeh, B.: Specifying monitoring and switching problems in context. In: IEEE Int. Requirements Engineering Conference, pp. 211–220 (October 2007)Google Scholar
- 22.Sawyer, P., Bencomo, N., Letier, E., Finkelstein, A.: Requirements-aware systems: A research agenda for re self-adaptive systems. In: Proceedings of the 18th IEEE International Requirements Engineering Conference, Sydney, Australia, pp. 95–103 (September 2010)Google Scholar
- 23.Serrano, M., Serrano, M., Sampaio, J.C., Leite, P.: Dealing with softgoals at runtime: A fuzzy logic approach. In: Proceedings of the 2nd International Workshop on Requirements at Run Time, Trento, Italy, pp. 23–31 (August 2011)Google Scholar
- 24.Silva Souza, V.E., Lapouchnian, A., Robinson, W.N., Mylopoulos, J.: Awareness requirements for adaptive systems. Tech. rep., University of Trento (2010)Google Scholar
- 25.Tarjan, R.: Depth-first search and linear graph algorithms. In: Proceedings of the 12th Annual Symposium on Switching and Automata Theory, pp. 114–121 (October 1971)Google Scholar
- 26.Villegas, N.M., Müller, H.A., Tamura, G., Duchien, L., Casallas, R.: A framework for evaluating quality-driven self-adaptive software systems. In: Proceedings of the 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, Waikiki, Honolulu, HI, USA, pp. 80–89 (May 2011)Google Scholar
- 27.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)CrossRefGoogle Scholar
- 28.Welsh, K., Sawyer, P., Bencomo, N.: Towards requirements aware systems: Run-time resolution of design-time assumptions. In: Proc. of the 26th IEEE/ACM Int. Conf. on Automated Software Engineering, Lawrence, Kansas, USA, pp. 560–563 (November 2011)Google Scholar
- 29.Welsh, K., Sawyer, P.: Understanding the Scope of Uncertainty in Dynamically Adaptive Systems. In: Wieringa, R., Persson, A. (eds.) REFSQ 2010. LNCS, vol. 6182, pp. 2–16. Springer, Heidelberg (2010)CrossRefGoogle Scholar
- 30.Whittle, J., Sawyer, P., Bencomo, N., Cheng, B.H.C., Bruel, J.M.: RELAX: Incorporating uncertainty into the specification of self-adaptive systems. In: Proc. of the 17th Int. Requirements Eng. Conf (RE 2009), Atlanta, Georgia, USA, pp. 79–88 (September 2009)Google Scholar
- 31.Yu, E.S.: Towards modeling and reasoning support for early-phase requirements engineering. In: Proc. of the Third IEEE Int. Symposium on Requirements Eng., Annapolis, MD, USA, pp. 226–235 (January 1997)Google Scholar