[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/1810295.1810329acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Requirements reflection: requirements as runtime entities

Published: 01 May 2010 Publication History

Abstract

Computational reflection is a well-established technique that gives a program the ability to dynamically observe and possibly modify its behaviour. To date, however, reflection is mainly applied either to the software architecture or its implementation. We know of no approach that fully supports requirements reflection- that is, making requirements available as runtime objects. Although there is a body of literature on requirements monitoring, such work typically generates runtime artefacts from requirements and so the requirements themselves are not directly accessible at runtime. In this paper, we define requirements reflection and a set of research challenges. Requirements reflection is important because software systems of the future will be self-managing and will need to adapt continuously to changing environmental conditions. We argue requirements reflection can support such self-adaptive systems by making requirements first-class runtime entities, thus endowing software systems with the ability to reason about, understand, explain and modify requirements at runtime.

References

[1]
N. Bencomo, G. Blair, and R. France. Guest editor's introduction: [email protected]. IEEE Software, 2009.
[2]
L. Capra, G. Blair, C. Mascolo, W. Emmerich, and P. Grace. Exploiting reflection in mobile computing middleware. ACM SIGMOBILE Mobile Computing and Communications Review, 6(4):34--44, 2002.
[3]
B. H. Cheng, H. Giese, P. Inverardi, J. Magee, and R. de Lemos. Software engineering for self-adaptive systems: A research road map, dagstuhl-seminar on software engineering for self-adaptive systems. 2008.
[4]
B. H. Cheng, P. Sawyer, N. Bencomo, and J. Whittle. Goal-based modeling approach to develop requirements for adaptive systems with environmental uncertainty. In MODELS Conf., 2009.
[5]
G. Coulson, G. Blair, P. Grace, A. Joolia, K. Lee, J. Ueyama, and T. Sivaharan. A generic component model for building systems software. ACM Transactions on Computer Systems, February 2008.
[6]
A. Dingwall-Smith. Run-Time Monitoring of Goal-Oriented Requirements Specifications. PhD thesis, UCL, UK, 2006.
[7]
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 Trans. on Auton. and Adapt. Systems, 2, 2006.
[8]
M. Feather, S. Fickas, A. van Lamsweerde, and C. Ponsard. Reconciling system requirements and runtime behavior. Workshop Software Specification and Design, 1998.
[9]
N. Fenton and M. Neil. Making decisions: using bayesian nets and mcda. Knowl.-Based Syst., 14(7):307--325, 2001.
[10]
S. Fickas and M. Feather. Requirements monitoring in dynamic environments. In RE Conf., 1995.
[11]
H. J. Goldsby, P. Sawyer, N. Bencomo, D. Hughes, and B. H. Cheng. Goal-based modeling of dynamically adaptive system requirements. In ECBS Conf., 2008.
[12]
J. Y. Halpern. Reasoning about Uncertainty. The MIT Press, October 2003.
[13]
F. Kon, F. Costa, G. Blair, and R. Campbell. The case for reflective middleware. Communications of the ACM, 45(6):33--38, 2002.
[14]
J. Kramer and J. Magee. Self-managed systems: an architectural challenge. In FOSE '07: 2007 Future of Software Engineering, pages 259--268. IEEE Computer Society, 2007.
[15]
M. Z. Kwiatkowska, G. Norman, and D. Parker. Probabilistic symbolic model checking with prism: A hybrid approach. In TACAS, pages 52--66, 2002.
[16]
A. Lapouchnian, S. Liaskos, J. Mylopoulos, and Y. Yu. Towards requirements-driven autonomic systems design. In DEAS Workshop, 2005.
[17]
E. Letier and A. van Lamsweerde. Reasoning about partial goal satisfaction for requirements and design engineering. In Symposium on Foundations of software engineering, pages 53--62, NY, USA, 2004. ACM.
[18]
P. Maes. Computional reflection. PhD thesis, Vrije Universiteit, 1987.
[19]
W. N. Robinson. A requirements monitoring framework for enterprise systems. Requir. Eng., 11(1):17--41, 2006.
[20]
B. Roy. Multicriteria Methodology for Decision Aiding. Kluwer Academic, Dordrecht, 1996.
[21]
G. Spanoudakis and K. Mahbub. Requirements monitoring for service-based systems: Towards a framework based on event calculus. In ASE, pages 379--384, 2004.
[22]
A. van Lamsweerde. Requirements Engineering: From System Goals to UML Models to Software Specifications. John Wiley & Sons, 2009.
[23]
A. van Lamsweerde, R. Darimont, and E. Letier. Managing conflicts in goal-driven requirements engineering. IEEE Trans. Sof. Eng., 24(11), 1998.
[24]
Y. Wang, S. A. McIlraith, Y. Yu, and J. Mylopoulos. Monitoring and diagnosing software requirements. Autom. Softw. Eng., 16(1):3--35, 2009.
[25]
J. Whittle, P. Sawyer, N. Bencomo, B. H. Cheng, and J.-M. Bruel. Relax: Incorporating uncertainty into the specification of self-adaptive systems". In RE Conf., 2009.
[26]
E. Yu. Towards modeling and reasoning support for early-phase requirements engineering. In RE Conf., USA, 1997.

Cited By

View all
  • (2025)Proactive self-exploration: Leveraging information sharing and predictive modelling for anticipating and countering adversariesExpert Systems with Applications10.1016/j.eswa.2024.126118267(126118)Online publication date: Apr-2025
  • (2024)An empirical investigation of challenges of specifying training data and runtime monitors for critical software with machine learning and their relation to architectural decisionsRequirements Engineering10.1007/s00766-024-00415-429:1(97-117)Online publication date: 21-Mar-2024
  • (2024)Looking back and forward: A retrospective and future directions on software engineering for systems‐of‐systemsJournal of Software: Evolution and Process10.1002/smr.2697Online publication date: 9-Jun-2024
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '10: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2
May 2010
554 pages
ISBN:9781605587196
DOI:10.1145/1810295
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 May 2010

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. reflection
  2. requirements
  3. runtime
  4. self-adaptive systems

Qualifiers

  • Research-article

Conference

ICSE '10
Sponsor:

Acceptance Rates

Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)10
  • Downloads (Last 6 weeks)2
Reflects downloads up to 07 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2025)Proactive self-exploration: Leveraging information sharing and predictive modelling for anticipating and countering adversariesExpert Systems with Applications10.1016/j.eswa.2024.126118267(126118)Online publication date: Apr-2025
  • (2024)An empirical investigation of challenges of specifying training data and runtime monitors for critical software with machine learning and their relation to architectural decisionsRequirements Engineering10.1007/s00766-024-00415-429:1(97-117)Online publication date: 21-Mar-2024
  • (2024)Looking back and forward: A retrospective and future directions on software engineering for systems‐of‐systemsJournal of Software: Evolution and Process10.1002/smr.2697Online publication date: 9-Jun-2024
  • (2023)Towards Scalable Model Checking of Reflective Systems via Labeled Transition SystemsIEEE Transactions on Software Engineering10.1109/TSE.2022.317440849:3(1299-1322)Online publication date: 1-Mar-2023
  • (2023)Goal-Driven Adversarial Search for Distributed Self-Adaptive Systems2023 IEEE International Conference on Software Services Engineering (SSE)10.1109/SSE60056.2023.00034(198-209)Online publication date: Jul-2023
  • (2023)Runtime Monitoring for Systems of SystemDigital Transformation10.1007/978-3-662-65004-2_8(203-222)Online publication date: 3-Feb-2023
  • (2023)Synthesizing Multi-agent System Organization from Engineering DescriptionsEngineering Multi-Agent Systems10.1007/978-3-031-48539-8_11(167-177)Online publication date: 26-Nov-2023
  • (2023)Bringing Stakeholders Along for the Ride: Towards Supporting Intentional Decisions in Software EvolutionRequirements Engineering: Foundation for Software Quality10.1007/978-3-031-29786-1_4(56-64)Online publication date: 4-Apr-2023
  • (2023)An Investigation of Challenges Encountered When Specifying Training Data and Runtime Monitors for Safety Critical ML ApplicationsRequirements Engineering: Foundation for Software Quality10.1007/978-3-031-29786-1_14(206-222)Online publication date: 4-Apr-2023
  • (2022)Run-time adaptation of quality attributes for automated planningProceedings of the 17th Symposium on Software Engineering for Adaptive and Self-Managing Systems10.1145/3524844.3528063(98-105)Online publication date: 18-May-2022
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media