Understanding Requirement Engineering for Context-Aware Service-Based Applications

Abstract

Requirements of software systems tend to change over time. The speed of this tendency depends on the application domain the software system under consideration belongs to. If we consider novel contexts such as pervasive systems and systems supporting dynamic B2B interaction, requirements change so fast that the research community is studying how to build systems that are able to self-adapt on the fly to some of these changes. When this happens, the system does not need to undergo through a new development cycle thus increasing its availability and, to a certain extent, its robustness. So far, the research in the area of self-adaptive systems has been focusing on the definition of the mechanisms for supporting self-adaptation. We argue that what is missing now is a structured and robust design process associated to these mechanisms. This design process should include a Requirement Engineering (RE) phase that somewhat differs from the traditional one. However, the identification of requirements for adaptation requires a good knowledge of the context in which the system will be executed. In this work, we consider the modeling of such context as part of the RE phase and we particularly focus on Service-Based Applications (SBAs). We argue that RE activities should be supported at run-time to handle context changes and to support adaptation for SBAs. We survey the state of the art for what concerns the elicitation, modeling, and analysis of requirements and will highlight some issues and challenges in order to support adaptation for SBAs.

Share and Cite:

S. Siadat and M. Song, "Understanding Requirement Engineering for Context-Aware Service-Based Applications," Journal of Software Engineering and Applications, Vol. 5 No. 8, 2012, pp. 536-544. doi: 10.4236/jsea.2012.58062.

Conflicts of Interest

The authors declare no conflicts of interest.

References

[1] N. Bencomo, J. Whittle, P. Sawyer, A. Finkelstein and E. Letier, “Requirements Reflection: Requirements as Runtime Entities,” International Conference on Software Engineering, Capetown, 2-8 May 2010, pp. 199-202.
[2] M. Salehie and L. Tahvildari, “Self-Adaptive Software: Landscape and Research Challenges,” ACM Transactions on Autonomous and Adaptive Systems, Vol. 4, No. 2, 2009, pp. 1-42. doi:10.1145/1516533.1516538
[3] R. Laddaga, “Self Adaptive Software Problems and Projects,” The 2nd International IEEE Workshop on Software Evolvability, IEEE Computer Society, Washington, DC, 2006, pp. 3-10.
[4] “An Architectural Blueprint for Autonomic Computing,” IBM White Paper, IBM, 2005.
[5] S. Dobson, S. Denazis, A. Fernandez, D. Gaiti, E. Gelenbe, F. Massacci, P. Nixon, F. Saffre, N. Schmidt and F. Zambonelli, “A Survey of Autonomic Communications,” ACM Transactions on Autonomous and Adaptive Systems, Vol. 1, No. 2, 2006, pp. 223-259. doi:10.1145/1186778.1186782
[6] P. Oreizy, M. M. Gorlick, R. N. Taylor, D. Heimbigner, G. Johnson, N. Medvidovic, A. Quilici, D. S. Rosenblum and A. L. Wolf, “An Architecture-Based Approach to Self-Adaptive Software,” IEEE Intelligent Systems, Vol. 14, No. 3, 1999, pp. 54-62. doi:10.1109/5254.769885
[7] J. O. Kephart and D. M. Chess, “The Vision of Autonomic Computing,” Computer, Vol. 36, No. 1, 2003, pp. 41-50. doi:10.1109/MC.2003.1160055
[8] A. Bucchiarone, R. Kazhamiakin, C. Cappiello, E. DiNitto and V. Mazza, “A Context-Driven Adaptation Process for Service-Based Applications,” The 2nd International Workshop on Principles of Engineering Service-Oriented Systems, ACM, New York, 2010, pp. 50-56.
[9] B. H. C. Cheng and J. M. Atlee, “Research Directions in Requirements Engineering,” Proceedings of Future of Software Engineering, IEEE Computer Society, Washington, 2007, pp. 285-303.
[10] N. Seyff, F. Graf, P. Grunbacher and N. Maiden, “Mobile Discovery of Requirements for Context-Aware Systems,” The 14th International Conference on Requirements Engineering: Foundation for Software Quality, Springer- Verlag, Berlin, 2008, pp. 183-197.
[11] N. Maiden, N. Seyff and P. Grunbacher, “The Mobile Scenario Presenter: Integrating Contextual Inquiry and Structured Walkthroughs,” The 13th IEEE International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises, IEEE Computer Society, Washington, 2004, pp. 115-120. doi:10.1109/ENABL.2004.65
[12] J. Cleland-Huang and B. Mobasher, “Using Data Mining and Recommender Systems to Scale up the Requirements Process,” The 2nd International Workshop on Ultra- Large-Scale Software-Intensive Systems, ACM, New York, 2008, pp. 3-6.
[13] T. Cohene and S. Easterbrook, “Contextual Risk Analysis for Interview Design,” The 13th IEEE International Conference on Requirements Engineering, IEEE Computer Society, Washington, 2005, pp. 95-104. doi:10.1109/RE.2005.20
[14] G. Brown, B. H. C. Cheng, H. Goldsby and J. Zhang, “Goal-Oriented Specification of Adaptation Requirements Engineering in Adaptive Systems,” Proceedings of the 2006 International Workshop on Self-Adaptation and Self-Managing Systems, Shanghai, 20-28 May 2006, pp. 23-29. doi:10.1145/1137677.1137682
[15] H. Nakagawa, A. Ohsuga and S. Honiden, “Constructing Self-Adaptive Systems Using a Kaos Model,” Proceedings of the 2008 2nd IEEE International Conference on Self-Adaptive and Self-Organizing Systems Workshops, IEEE Computer Society, Washington, 2008, pp. 132-137.
[16] A. Finkelstein and A. Savigni, “A Framework for Requirements Engineering for Context-Aware Services,” Proceedings of 1st International Workshop from Software Requirements to Architectures, Toronto, 14 May 2001.
[17] A. Dardenne, A. Lamsweerde and S. Fickas, “Goal-Directed Requirements Acquisition,” Science of Computer Programming, Vol. 20, No. 1-2, 1993, pp. 3-50. doi:10.1016/0167-6423(93)90021-G
[18] E. Yu. “Modelling Strategic Relationships for Process Reengineering,” Ph.D. Thesis, University of Toronto, Toronto, 1995.
[19] P. Giorgini, M. Kolp, J. Mylopoulos and M. Pistore, “The Tropos Methodology: An Overview,” Methodologies and Software Engineering for Agent Systems, Kluwer Academic Press, New York, 2003, pp. 505-525.
[20] J. Zhang and B. H. C. Cheng, “Using Temporal Logic to Specify Adaptive Program Semantics,” Journal of Systems and Software, Vol. 79, No. 10, 2006, pp. 1361-1369. doi:10.1016/j.jss.2006.02.062
[21] Q. Wang, “Towards a Rule Model for Self-Adaptive Software,” SIGSOFT Software Engineering Notes, Vol. 30, No. 1, 2005, pp. 8-12. doi:10.1145/1039174.1039198
[22] W. Sitou and B. Spanfelner, “Towards Requirements Engineering for Context Adaptive Systems,” The 31st Annual International Computer Software and Applications Conference, IEEE Computer Society, Washington, 2007, pp. 593-600.
[23] S. Fickas and M. S. Feather, “Requirements Monitoring in Dynamic Environments,” The 2nd IEEE International Symposium on Requirements Engineering, IEEE Computer Society, Washington, 1995, pp. 140-147.
[24] D. Cohen, M. S. Feather, K. Narayanaswamy and S. S. Fickas, “Automatic Monitoring of Software Requirements,” The 19th International Conference on Software engineering, ACM, New York, 1997, pp. 602-603.
[25] M. S. Feather, S. Fickas, A. Van Lamsweerde and C. Ponsard, “Reconciling System Requirements and Runtime Behavior,” The 9th International Workshop on Software Specification and Design, IEEE Computer Society, Washington, 1998, pp. 50-59.
[26] D. M. Berry, B. H. C. Cheng and J. Zhang, “The Four Levels of Requirements Engineering for and in Dynamic Adaptive Systems,” The 11th International Workshop on Requirements Engineering Foundation for Software Quality, Porto, 13-14 June 2005, pp. 95-100.
[27] M. Salehie and L. Tahvildari, “Self-Adaptive Software: Landscape and Research Challenges,” ACM Transactions on Autonomous and Adaptive Systems, Vol. 4, No. 2, 2009, pp. 1-42. doi:10.1145/1516533.1516538
[28] I. Epifani, C. Ghezzi, R. Mirandola and G. Tamburrelli, “Model Evolution by Run-Time Parameter Adaptation,” The 31st International Conference on Software Engineering, IEEE Computer Society, Washington, 2009, pp. 111-121.
[29] N. Robinson, “A Requirements Monitoring Framework for Enterprise Systems,” Requirements Engineering, Vol. 11, No. 1, 2005, pp. 17-41. doi:10.1007/s00766-005-0016-3
[30] C. Ghezzi and S. Guinea, “Run-Time Monitoring in Service-Oriented Architectures,” Test and Analysis of Web Services, 2007, pp. 237-264.
[31] A. Sutcliffe, S. Fickas and M. M. Sohlberg, “Pc-re: A Method for Personal and Contextual Requirements Engineering with Some Experience,” Requirements Engineering, Vol. 11, No. 3, 2006, pp. 157-173. doi:10.1007/s00766-006-0030-0
[32] W. L. Johnson and M. Feather, “Building an Evolution Transformation Library,” The 12th International Conference on Software Engineering, IEEE Computer Society Pess, Los Alamitos, 1990, pp. 238-248.
[33] G. Coulson, G. Blair, P. Grace, F. Taiani, A. Joolia, K. Lee, J. Ueyama and T. Sivaharan, “A Generic Component Model for Building Systems Software,” ACM Transactions on Computer Systems, Vol. 26, No. 1, 2008, pp. 1-42. doi:10.1145/1328671.1328672
[34] H. J. Goldsby, P. Sawyer, N. Bencomo, B. H. C. Cheng and D. Hughes, “Goal-Based Modeling of Dynamically Adaptive System Requirements,” The 15th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems, IEEE Computer Society, Washington, 2008, pp. 36-45.
[35] J. Y. Halpern, “Reasoning about Uncertainty,” MIT Press, Cambridge, 2003.
[36] H. Courtney, “20/20 Foresight: Crafting Strategy in an Uncertain World,” Harvard Business School Press, Boston, 2001.
[37] B. H. Cheng, P. Sawyer, N. Bencomo and J. Whittle, “A Goal-Based Modeling Approach to Develop Requirements of an Adaptive System with Environmental Uncertainty,” The 12th International Conference on Model Driven Engineering Languages and Systems, Springer- Verlag, Berlin, 2009, pp. 468-483.
[38] J. Whittle, P. Sawyer, N. Bencomo, B. H. C. Cheng and J. Bruel, “Relax: Incorporating Uncertainty into the Specification of Self-Adaptive Systems,” Proceedings of the 17th IEEE International Requirements Engineering Conference, Atlanta, 31 August-4 September 2009, pp. 79-88.
[39] J. Whittle, P. Sawyer, N. Bencomo, B. H. C. Cheng and J. Bruel, “Relax: A Language to Address Uncertainty in Self-Adaptive Systems Requirement,” Requirements Engineering, Vol. 15, No. 2, 2010, pp. 177-196. doi:10.1007/s00766-010-0101-0
[40] B. H. C. Cheng, et al., “Software Engineering for Self- Adaptive Systems: A Research Roadmap,” Software Engineering for Self-Adaptive Systems, Springer-Verlag, Berlin, 2009, pp. 1-26.
[41] Y. Brun, G. M. Serugendo, C. Gacek, H. Giese, H. Kienle, M. Litoiu, H. Muller, M. Pezze and M. Shaw, “Engineering Self-Adaptive Systems through Feedback Loops,” Software Engineering for Self-Adaptive Systems, Springer- Verlag, Berlin, 2009, pp. 48-70.
[42] H. Muller, M. Pezze and M. Shaw, “Visibility of Control in Adaptive Systems,” The 2nd International Workshop on Ultra-Large-Scale Software-Intensive Systems, ACM, New York, 2008, pp. 23-26.
[43] S. Dustdar, K. M. Goeschka, H. Truong and U. Zdun, “Self-Adaptation Techniques for Complex Service-Oriented Systems,” The 5th International Conference on Next Generation Web Services Practices, Prague, 9-11 September 2009, pp. 37-43.

Copyright © 2024 by authors and Scientific Research Publishing Inc.

Creative Commons License

This work and the related PDF file are licensed under a Creative Commons Attribution 4.0 International License.