Advertisement

Agile Requirements Evolution via Paraconsistent Reasoning

  • Neil A. Ernst
  • Alexander Borgida
  • John Mylopoulos
  • Ivan J. Jureta
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7328)

Abstract

Innovative companies need an agile approach for the engineering of their product requirements, to rapidly respond to and exploit changing conditions. The agile approach to requirements must nonetheless be systematic, especially with respect to accommodating legal and nonfunctional requirements. This paper examines how to support a combination of lightweight, agile requirements which can still be systematically modeled, analyzed and changed. We propose a framework, RE-KOMBINE, which is based on a propositional language for requirements modeling called Techne. We define operations on Techne models which tolerate the presence of inconsistencies in the requirements. This paraconsistent reasoning is vital for supporting delayed commitment to particular design solutions. We evaluate these operations with an industry case study using two well-known formal analysis tools. Our evaluations show that the proposed framework scales to industry-sized requirements models, while still retaining (via propositional logic) the informality that is so useful during early requirements analysis.

Keywords

paraconsistency agility requirements evolution 

References

  1. 1.
    Jarke, M., Loucopoulos, P., Lyytinen, K., Mylopoulos, J., Robinson, W.: The Brave New World of Design Requirements: Four Key Principles. In: Pernici, B. (ed.) CAiSE 2010. LNCS, vol. 6051, pp. 470–482. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  2. 2.
    Mcgee, S., Greer, D.: Software Requirements Change Taxonomy: Evaluation by Case Study. In: Int. Conf. on Req. Engineering, Trento, Italy (September 2011)Google Scholar
  3. 3.
    Ramesh, B., Cao, L., Baskerville, R.: Agile requirements engineering practices and challenges: an empirical study. Information Systems Journal 20(5), 449–480 (2010)CrossRefGoogle Scholar
  4. 4.
    IEEE Software Engineering Standards Committee: IEEE Recommended Practice for Software Requirements Specifications. Technical report, IEEE (1998)Google Scholar
  5. 5.
    Dardenne, A., van Lamsweerde, A., Fickas, S.: Goal-directed requirements acquisition. Science of Computer Programming 20(1-2), 3–50 (1993)zbMATHCrossRefGoogle Scholar
  6. 6.
    Sebastiani, R., Giorgini, P., Mylopoulos, J.: Simple and Minimum-Cost Satisfiability for Goal Models. In: Persson, A., Stirna, J. (eds.) CAiSE 2004. LNCS, vol. 3084, pp. 20–35. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  7. 7.
    Ernst, N.A., Borgida, A., Jureta, I.: Finding Incremental Solutions for Evolving Requirements. In: Int. Conf. on Req. Engineering, Trento, Italy (September 2011)Google Scholar
  8. 8.
    Zave, P., Jackson, M.: Four Dark Corners of Requirements Engineering. ACM Transactions on Software Engineering and Methodology 6, 1–30 (1997)CrossRefGoogle Scholar
  9. 9.
    Jureta, I.J., Borgida, A., Ernst, N.A., Mylopoulos, J.: Techne: Towards a New Generation of Requirements Modeling Languages with Goals, Preferences, and Inconsistency Handling. In: Int. Conf. on Req. Engineering, Sydney, Australia (September 2010)Google Scholar
  10. 10.
    Robinson, W.N., Pawlowski, S.D., Volkov, V.: Requirements interaction management. ACM Computing Surveys 35(2), 132 (2003)CrossRefGoogle Scholar
  11. 11.
    Easterbrook, S.M., Nuseibeh, B.: Managing inconsistencies in an evolving specification. In: Int. Conf. on Req. Engineering, York, England, pp. 48–55 (1995)Google Scholar
  12. 12.
    Zowghi, D., Gervasi, V.: On the interplay between consistency, completeness, and correctness in requirements evolution. Information and Software Technology 45(14), 993–1009 (2003)CrossRefGoogle Scholar
  13. 13.
    Nuseibeh, B., Easterbrook, S.M., Russo, A.: Making inconsistency respectable in software development. Journal of Systems and Software 58(2), 171–180 (2001)CrossRefGoogle Scholar
  14. 14.
    Thimbleby, H.: Delaying commitment. IEEE Software 5(3), 78–86 (1988)CrossRefGoogle Scholar
  15. 15.
    Rescher, N., Manor, R.: On inference from inconsistent premisses. Theory and Decision 1(2), 179–217 (1970)zbMATHCrossRefGoogle Scholar
  16. 16.
    de Kleer, J.: An assumption-based TMS. Artificial Intelligence 28(2), 127–162 (1986)CrossRefGoogle Scholar
  17. 17.
    Chung, L., Mylopoulos, J., Nixon, B.: Representing and Using Nonfunctional Requirements: A Process-Oriented Approach. Trans. Soft. Eng. 18, 483–497 (1992)CrossRefGoogle Scholar
  18. 18.
    Giorgini, P., Mylopoulos, J., Nicchiarelli, E., Sebastiani, R.: Formal Reasoning Techniques for Goal Models. In: Spaccapietra, S., March, S., Aberer, K. (eds.) Journal on Data Semantics I. LNCS, vol. 2800, pp. 1–20. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  19. 19.
    PCI Security Standards Council: PCI DSS Requirements and Security Assessment Procedures, Version 2.0. Technical report, PCI, Boston (October 2010)Google Scholar
  20. 20.
    O’Callaghan, R.: Fixing the payment system at Alvalade XXI: a case on IT project risk management. Journal of Information Technology 22(4), 399–409 (2007)CrossRefGoogle Scholar
  21. 21.
    van Lamsweerde, A.: Goal-oriented requirements enginering: a roundtrip from research to practice. In: Int. Conf. on Req. Engineering, pp. 4–7 (2004)Google Scholar
  22. 22.
    Zowghi, D., Offen, R.: A logical framework for modeling and reasoning about the evolution of requirements. In: Int. Conf. on Req. Engineering, pp. 247–257 (1997)Google Scholar
  23. 23.
    Ghose, A.: Formal tools for managing inconsistency and change in RE. In: International Workshop on Software Specification and Design, pp. 171–181 (2000)Google Scholar
  24. 24.
    Hunter, A., Nuseibeh, B.: Managing inconsistent specifications: reasoning, analysis, and action. ACM Transactions on Software Engineering and Methodology 7(4) (1998)Google Scholar
  25. 25.
    Poppleton, M., Groves, L.: Software evolution with refinement and retrenchment. In: International Workshop on Refinement of Critical Systems: Methods, Tools and Developments, Turku, Finland (2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Neil A. Ernst
    • 1
  • Alexander Borgida
    • 2
  • John Mylopoulos
    • 3
  • Ivan J. Jureta
    • 4
  1. 1.Department of Computer ScienceUniversity of British ColumbiaCanada
  2. 2.Department of Computer ScienceRutgers UniversityUSA
  3. 3.Dipartimento di Ingegneria e Scienza dell’InformazioneUniversity of TrentoItaly
  4. 4.FNRS & Louvain School of ManagementUniversity of NamurBelgium

Personalised recommendations