[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
research-article

Handling Obstacles in Goal-Oriented Requirements Engineering

Published: 01 October 2000 Publication History

Abstract

Requirements engineering is concerned with the elicitation of high-level goals to be achieved by the envisioned system, the refinement of such goals and their operationalization into specifications of services and constraints and the assignment of responsibilities for the resulting requirements to agents such as humans, devices, and software. Requirements engineering processes often result in goals, requirements, and assumptions about agent behavior that are too ideal; some of them are likely not to be satisfied from time to time in the running system due to unexpected agent behavior. The lack of anticipation of exceptional behaviors results in unrealistic, unachievable, and/or incomplete requirements. As a consequence, the software developed from those requirements will not be robust enough and will inevitably result in poor performance or failures, sometimes with critical consequences on the environment. This paper presents formal techniques for reasoning about obstacles to the satisfaction of goals, requirements, and assumptions elaborated in the requirements engineering process. A first set of techniques allows obstacles to be generated systematically from goal formulations and domain properties. A second set of techniques allows resolutions to be generated once the obstacles have been identified thereby. Our techniques are based on a temporal logic formalization of goals and domain properties; they are integrated into an existing method for goal-oriented requirements elaboration with the aim of deriving more realistic, complete, and robust requirements specifications. A key principle in this paper is to handle exceptions at requirements engineering time and at the goal level, so that more freedom is left for resolving them in a satisfactory way. The various techniques proposed are illustrated and assessed in the context of a real safety-critical system.

References

[1]
E.J. Amoroso, Fundamentals of Computer Security. Prentice Hall, 1994.]]
[2]
T. Anderson and P.A. Lee, Fault Tolerance: Principles and Practice. Prentice Hall, 1981.]]
[3]
A.I. Anton W.M. McCracken and C. Potts, “Goal Decomposition and Scenario Analysis in Business Process Reengineering,” Proc. Conf. Advanced Information Systems Eng. (CAISE '94), pp. 94–104, 1994.]]
[4]
J.S. Anderson and S. Fickas, “A Proposed Perspective Shift: Viewing Specification Design as a Planning Problem,” Proc. Fifth Int'l Workshop Software Specification and Design, pp. 177-184, 1989.]]
[5]
T. Anderson R. de Lemos and A. Saeed, “Analysis of Safety Requirements for Process Control Systems,” Predictably Dependable Computing Systems, B. Randell, J.C. Laprie, B. Littlewood, and H. Kopetz, eds., Springer-Verlag, 1995.]]
[6]
A. Arora and M.G. Gouda, “Closure and Convergence: A Foundation of Fault-Tolerant Computing,” IEEE Trans. Software Eng., vol. 19, no. 11, pp. 1,015–1,027, 1993.]]
[7]
A. Arora and S. Kulkarni, “Component-Based Design of Multitolerant Systems,” IEEE Trans. Software Eng., vol. 24, no. 1, pp. 63–78, Jan. 1998.]]
[8]
D.M. Berry, “The Safety Requirements Engineering Dilemma,” Proc. Ninth Int'l Workshop Software Specification and Design, Apr. 1998.]]
[9]
A. Borgida, “Language Features for Flexible Handling of Exceptions in Information Systems,” ACM Trans. Database Systems, vol. 10, no. 4, pp. 565–603, Dec. 1985.]]
[10]
Readings in Knowledge Representation, R.J. Brachman and H.J. Levesque eds., Morgan Kaufmann, 1985.]]
[11]
R.W. Butler S.P. Miller J.N. Potts and V.A. Carreno, “A Formal Methods Approach to the Analysis of Mode Confusion,” Proc. 17th Digital Avionics Systems Conference, Nov. 1998, http://shemesh.larc.nasa.gov/fm/fm-now-mode-confusion.html.]]
[12]
E.C. Coffman M.J. Elphick and J. Shoshani, “System Deadlocks,” ACM Computing Surveys, vol. 3, no. 2, pp. 67–68, June 1971.]]
[13]
F. Cristian, “Understanding Fault-Tolerant Distributed Systems,” Comm. ACM, Feb. 1991.]]
[14]
F. Cristian, “Exception Handling,” Software Fault Tolerance, M.R. Lyu ed., 1995.]]
[15]
A. Dardenne S. Fickas and A. van Lamsweerde, “Goal-Directed Concept Acquisition in Requirements Elicitation,” Proc. Sixth Int'l Workshop Software Specification and Design, pp. 14–21, 1991.]]
[16]
A. Dardenne A. van Lamsweerde and S. Fickas, “Goal-Directed Requirements Acquisition,” Science of Computer Programming, vol. 20, pp. 3–50, 1993.]]
[17]
R. Darimont and A. van Lamsweerde, “Formal Refinement Patterns for Goal-Driven Requirements Elaboration,” Proc. Fourth ACM SIGSOFT Symp. Foundations of Software Eng., pp. 179-190, Oct. 1996.]]
[18]
R. Darimont E. Delor P. Massonet and A. van Lamsweerde, “GRAIL/KAOS: An Environment for Goal-Driven Requirements Engineering,” Proc. 20th Int'l Conf. Software Eng. (ICSE '98), vol. 2, pp. 58–62, Apr. 1998.]]
[19]
E.W. Dijkstra, “Hierarchical Ordering of Sequential Processes,” Acta Informatica, vol. 1, pp. 115–138, 1971.]]
[20]
M.B. Dwyer G.S. Avrunin and J.C. Corbett, “Patterns in Property Specifications for Finite-State Verification,” Proc. 21st Int'l Conf. Software Eng. (ICSE '99), May 1999.]]
[21]
S. Easterbrook, “Resolving Requirements Conflicts with Computer-Supported Negotiation,” M. Jirotka and J. Goguen eds., pp. 41–65, Academic Press, 1994.]]
[22]
M. Feather, “Language Support for the Specification and Development of Composite Systems,” ACM Trans. on Programming Languages and Systems, vol. 9, no. 2, pp. 198–234, Apr. 1987.]]
[23]
M. Feather, “Cardinality Evolution in Specifications,” Proc. Eighth Conf. Knowledge-Based Software Eng. (KBSE '93), Sept. 1993.]]
[24]
M. Feather, “Towards a Derivational Style of Distributed System Design,” Automated Software Eng., vol. 1, no. 1, pp. 31-60, 1995.]]
[25]
M. Feather S. Fickas A. Finkelstein and A. van Lamsweerde, “Requirements and Specification Exemplars,” Automated Software Eng., vol. 4, no. 4, Oct. 1997.]]
[26]
M. Feather S. Fickas A. van Lamsweerde and C. Ponsard, “Reconciling System Requirements and Runtime Behavior,” Proc. Ninth Int'l Workshop Software Specification and DesignI (WSSD '98), Apr. 1998.]]
[27]
S. Fickas and R. Helm, “Knowledge Representation and Reasoning in the Design of Composite Systems,” IEEE Trans. Software Eng., 470–482, June 1992.]]
[28]
A. Finkelstein, “The London Ambulance System Case Study,” Succ. Eighth Int'l Workshop Software Specification and Design (IWSSD 8), Sept. 1996.]]
[29]
F.C. Gartner, “Fundamentals of Fault-Tolerant Distributed Computing in Asynchronous Environment,” ACM Computing Surveys, vol. 31, no. 1, pp. 1–26, Mar. 1999.]]
[30]
D. Gries, The Science of Programming. Springer-Verlag, 1981.]]
[31]
R.J. Hall, “Explanation-Based Scenario Generation for Reactive System Models,” Proc. Automated Software Eng. (ASE '98), Oct. 1998.]]
[32]
M.P. Heimdahl and N.G. Leveson, “Completeness and Consistency in Hierarchical State-Based Requirements,” IEEE Trans. Software Eng., vol. 22, no. 6, pp. 363–377, June 1996.]]
[33]
C. Heitmeyer R. Jeffords and B. Labaw, “Automated Consistency Checking of Requirements Specificatons,” ACM Trans. Software Eng. and Methodology, vol. 5, no. 3, pp. 231–261, July 1996.]]
[34]
G. Holtzman, “The Model Checker SPIN,” IEEE Trans. Software Eng., vol. 23, no. 5, pp. 279-295, May 1997.]]
[35]
M.A. Jackson, System Development. Prentice Hall, 1983.]]
[36]
M. Jackson and P. Zave, “Domain Descriptions,” Proc. First Int'l IEEE Symp. Requirements Eng. (RE '93), pp. 56–64, Jan. 1993.]]
[37]
M. Jackson, Software Requirements & Specifications—A Lexicon of Practice, Principles and Pejudices. ACM Press, Addison-Wesley, 1995.]]
[38]
D. Jackson and C.A. Damon, “Elements of Style: Analyzing a Software Design Feature with a Counterexample Detector,” Proc. Int'l Symp. Software Testing and Analysis (ISTA '96), vol. 21, no. 3, pp. 239–249, 1996.]]
[39]
M.S. Jaffe et al., “Software Requirements Analysis for Real-Time Process-Control Systems,” IEEE Trans. Software Eng., vol. 17, no. 3, pp. 241–258, Mar. 1991.]]
[40]
P. Jalote, Fault Tolerance in Distributed Systems. Prentice Hall, 1994.]]
[41]
Real-Time Systems: Specification, Verification and Analysis, M. Joseph ed., Prentice Hall, 1995.]]
[42]
D.O. Keck and P.J. Kuehn, “The Feature and Service Interaction Problem in Telecommunication Systems: A Survey,” IEEE Trans. Software. Eng., vol. 24, no. 10, pp. 779–796, Oct. 1998.]]
[43]
S.E. Keller L.G. Kahn and R.B. Panara, “Specifying Software Quality Requirements with Metrics,” System and Software Requirements Eng., R.H. Thayer and M. Dorfman, eds., pp. 145–163, 1990.]]
[44]
S.J.H. Kent T.S.E. Maibaum and W.J. Quirk, “Formally Specifying Temporal Constraints and Error Recovery,” Proc. First Int'l Symp. Requirements Eng. (RE '93), pp. 208–215, Jan. 1996.]]
[45]
R. Koymans, Specifying Message Passing and Time-Critical Systems with Temporal Logic. Springer-Verlag, 1992.]]
[46]
A. van Lamsweerde, “Learning Machine Learning,” Introducing a Logic Based Approach to Artificial Intelligence, A. Thayse ed., vol. 3, pp. 263–356, 1991.]]
[47]
A. van Lamsweerde R. Darimont and P. Massonet, “Goal-Directed Elaboration of Requirements for a Meeting Scheduler: Problems and Lessons Learned,” Proc. Second Int'l Symp. Requirements Eng. (RE '95), 1995.]]
[48]
A. van Lamsweerde and E. Letier, “Integrating Obstacles in Goal-Driven Requirements Eng.,” Proc. 20th Int'l Conf. Software Eng. (ICSE '98), vol. 1, pp. 53–63, Apr. 1998.]]
[49]
A. van Lamsweerde R. Darimont and E. Letier, “Managing Conflicts in Goal-Driven Requirements Engineering,” IEEE Trans. Software Eng., vol. 24, no. 11, pp. 908–926, Nov. 1998.]]
[50]
A. van Lamsweerde and L. Willemet, “Inferring Declarative Requirements Specifications from Operational Scenarios,” IEEE Trans. Software. Eng., vol. 24, no. 12, pp. 1,089–1,114, Dec. 1998.]]
[51]
“Inquiry Into the London Ambulance Service,” Technical Report, ISBN 0-905133-70-6, The Communications Directorate, South West Thames Regional Authority, Feb. 1993, http://hsn.londamb.sthames.nhs.uk/http.dir/service/organisation/featurs/info.html.]]
[52]
R. de Lemos B. Fields and A. Saeed, “Analysis of Safety Requirements in the Context of System Faults and Human Errors,” Proc. IEEE Int'l Symp. and Workshop Systems Eng. of Computer Based Systems, pp. 374–381, Mar. 1995.]]
[53]
N.G. Leveson and J.L. Stolzy, “Safety Analysis using Petri Nets,” IEEE Trans. Software Eng., vol. 13, no. 3, pp. 386–397, Mar. 1987.]]
[54]
N. Leveson, Safeware—System Safety and Computers. Addison-Wesley, 1995.]]
[55]
R. Lutz, “Analyzing Software Requirements Errors in Safety-Critical, Embedded Systems,” Proc. First Int. Symp. Requirements Eng. (RE '93), pp. 126–133, Jan. 1996.]]
[56]
T. Maibaum, “Temporal Reasoning over Deontic Specifications,” Deontic Logic in Computer Science—Normative System Specification, J. Ch. Meyer and R.J. Wieringa eds., Wiley, 1993.]]
[57]
Z. Manna and A. Pnueli, The Temporal Logic of Reactive and Concurrent Systems, Springer-Verlag, 1992.]]
[58]
Z. Manna and the STep Group, “STeP: Deductive-Algorithmic Verification of Reactive and Real-Time Systems,” Proc. Eighth Int'l Conf. Computer-Aided Verification (CAV '96), pp. 415–418, July 1996.]]
[59]
P. Massonet and A. van Lamsweerde, “Analogical Reuse of Requirements Frameworks,” Proc. Third Int'l Symp. Requirements Eng. (RE '97), pp. 26–37, 1997.]]
[60]
K.L. McMillan, Symbolic Model Checking: An Approach to the State Explosion Problem. Kluwer, 1993.]]
[61]
B. Meyer, “On Formalism in Specifications,” IEEE Software, vol. 2, no. 1, pp. 6–26, Jan. 1985.]]
[62]
Deontic Logic in Computer Science—Normative System Specification, J.Ch. Meyer and R.J. Wieringa eds.,Wiley, 1993.]]
[63]
F. Modugno N.G. Leveson J.D. Reese K. Partridge and S.D. Sandys, “Integrated Safety Analysis of Requirements Specifications,” Proc. Third Int'l Symp. Requirements Eng. (RE '97), 1997.]]
[64]
J. Mylopoulos L. Chung and B. Nixon, “Representing and Using Non-Functional Requirements: A Process-Oriented Approach,” IEEE Trans. Software. Eng., vol. 18, no. 6, pp. 483–497, June 1992.]]
[65]
J. Mylopoulos L. Chung and E. Yu, “From Object-Oriented to Goal-Oriented Requirements Analysis,” Comm. ACM, vol. 42, no. 1, pp. 31–37, Jan. 1999.]]
[66]
N.J. Nilsson, Problem Solving Methods in Artificial Intelligence. McGraw-Hill, 1971.]]
[67]
B. Nuseibeh, “To Be and Not to Be: On Managing Inconsistency in Software Development,” Proc. Eighth Int'l Workshop Software Specification and Design (IWSSD 8), pp. 164–169, 1996.]]
[68]
S. Owre J. Rushby and N. Shankar, “Formal Verification for Fault-Tolerant Architectures: Prolegomena to the Design of PVS,” IEEE Trans. Software Eng., vol. 21, no. 2, pp. 107–125, Feb. 1995.]]
[69]
D.L. Parnas and J. Madey, “Functional Documents for Computer Systems,” Science of Computer Programming, vol. 25, pp. 41–61, 1995.]]
[70]
D.E. Perry, “The Inscape Environment,” Proc. 11th Int'l Conf. Software Eng. (ICSE 11), pp. 2–12, 1989.]]
[71]
C. Potts, “Using Schematic Scenarios to Understand User Needs,” Proc. ACM Symp. Designing Interactive Systems: Processes, Practices, and Techniques (DIS '95), Aug. 1995.]]
[72]
B. Potter J. Sinclair and D. Till, An Intro. to Formal Specification and Z, second ed., Prentice Hall, 1996.]]
[73]
B. Randel and J. Xu, “The evolution of the recovery block concept,” Software Fault Tolerance, M.R. Lyu, ed., Wiley, 1995.]]
[74]
V. Ratan K. Partridge J.D. Reese and N.G. Leveson, “Safety Analysis Tools for Requirements Specifications,” Proc. Compass 96, June 1996.]]
[75]
J.D. Reese and N. Leveson, “Software Deviation Analysis,” Proc. 19th Int'l Conf. Software Eng. (ICSE '97), pp. 250–260, May 1997.]]
[76]
W.N. Robinson, “Integrating Multiple Specifications Using Domain Goals,” Proc. Fifth Int'l Workshop Software Specification and Design (IWSSD 5), pp. 219–225, 1989.]]
[77]
W.N. Robinson and S. Volkov, “A Meta-Model for Restructuring Stakeholder Requirements,” Proc. 19th Int'l Conf. Software Eng. (ICSE 19), pp. 140–149, May 1997.]]
[78]
D.T. Ross and K.E. Schoman, “Structured Analysis for Requirements Definition,” IEEE Trans. Software Eng., vol. 3, no. 1, pp. 6–15, 1977.]]
[79]
D.S. Rosenblum, “Towards a Method of Programming with Assertions,” Proc., 14th Int'l Conf. Software Eng. (ICSE 14), pp. 92–104, 1992.]]
[80]
K.S. Rubin and A. Goldberg, “Object Behavior Analysis,” Comm. ACM, vol. 35, no. 9, pp. 48–62, Sept. 1992.]]
[81]
K. Ryan and S. Greenspan, “Requirements Engineering Group Report,” Succeedings Eighth Int'l Workshop Software Specification and Design (IWSSD 8), pp. 22–25, Sept. 1996.]]
[82]
A. Saed R. de Lemos and T. Anderson, “Robust Requirements Specifications for Safety-Critical Systems,” Proc. 12th Int'l Conf. Safety, Reliability, and Security (SAFECOMP '93), 1993.]]
[83]
I. Sommerville and P. Sawyer, Requirements Engineering: A Good Practice Guide. Wiley, 1997.]]
[84]
A.G. Sutcliffe N.A. Maiden S. Minocha and D. Manuel, “Supporting Scenario-Based Requirements Engineering,” IEEE Trans. Software Eng., vol. 24, no. 12, pp. 1,072–1,088, Dec. 1998.]]
[85]
R. Waldinger, “Achieving Several Goals Simultaneously,” Machine Intelligence, E. Elcock and D. Michie, eds., vol. 8, 1977.]]
[86]
K. Yue, “What Does It Mean to Say That a Specification is Complete?,” Proc. Fourth Int'l Workshop Software Specification and Design (IWSSD 4), 1987.]]
[87]
P. Zave, “Classification of Research Efforts in Requirements Engineering,” ACM Computing Surveys, vol. 29, no. 4, pp. 315–321, 1997.]]
[88]
P. Zave and M. Jackson, “Four Dark Corners of Requirements Engineering,” ACM Trans. Software Eng. and Methodology, pp. 1–30, 1997.]]

Cited By

View all
  • (2024)Resolving Goal-Conflicts and Scaling Synthesis through Mode-Based DecompositionProceedings of the 2024 IEEE/ACM 46th International Conference on Software Engineering: Companion Proceedings10.1145/3639478.3639801(207-211)Online publication date: 14-Apr-2024
  • (2023)Automated Repair of Unrealisable LTL Specifications Guided by Model CountingProceedings of the Genetic and Evolutionary Computation Conference10.1145/3583131.3590454(1499-1507)Online publication date: 15-Jul-2023
  • (2023)Accelerating Reinforcement Learning-Based CCSL Specification Synthesis Using Curiosity-Driven ExplorationIEEE Transactions on Computers10.1109/TC.2022.319795672:5(1431-1446)Online publication date: 1-May-2023
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image IEEE Transactions on Software Engineering
IEEE Transactions on Software Engineering  Volume 26, Issue 10
special section on current trends in exception handling—part II
October 2000
103 pages
ISSN:0098-5589
Issue’s Table of Contents

Publisher

IEEE Press

Publication History

Published: 01 October 2000

Author Tags

  1. Goal-oriented requirements engineering
  2. defensive requirements specification
  3. high-level exception handling
  4. lightweight formal methods.
  5. obstacle-based requirements transformation
  6. specification refinement

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 24 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Resolving Goal-Conflicts and Scaling Synthesis through Mode-Based DecompositionProceedings of the 2024 IEEE/ACM 46th International Conference on Software Engineering: Companion Proceedings10.1145/3639478.3639801(207-211)Online publication date: 14-Apr-2024
  • (2023)Automated Repair of Unrealisable LTL Specifications Guided by Model CountingProceedings of the Genetic and Evolutionary Computation Conference10.1145/3583131.3590454(1499-1507)Online publication date: 15-Jul-2023
  • (2023)Accelerating Reinforcement Learning-Based CCSL Specification Synthesis Using Curiosity-Driven ExplorationIEEE Transactions on Computers10.1109/TC.2022.319795672:5(1431-1446)Online publication date: 1-May-2023
  • (2023)Defending against social engineering attacksIET Information Security10.1049/ise2.1212517:4(703-726)Online publication date: 18-Jul-2023
  • (2023)ACoRe: Automated Goal-Conflict ResolutionFundamental Approaches to Software Engineering10.1007/978-3-031-30826-0_1(3-25)Online publication date: 22-Apr-2023
  • (2022)CaRE: a refinement calculus for requirements engineering based on argumentation theorySoftware and Systems Modeling (SoSyM)10.1007/s10270-021-00943-521:6(2113-2132)Online publication date: 1-Dec-2022
  • (2022)Towards Explainable Formal Methods: From LTL to Natural Language with Neural Machine TranslationRequirements Engineering: Foundation for Software Quality10.1007/978-3-030-98464-9_7(79-86)Online publication date: 21-Mar-2022
  • (2021)Mapping the State of the Art of Scientific Production on Requirements Engineering ResearchInternational Journal of Information Technologies and Systems Approach10.4018/IJITSA.28999915:1(1-23)Online publication date: 22-Oct-2021
  • (2021)How to Identify Boundary Conditions with Contrasty Metric?Proceedings of the 43rd International Conference on Software Engineering10.1109/ICSE43902.2021.00132(1473-1484)Online publication date: 22-May-2021
  • (2021)A goal‐driven approach for the joint deployment of safety and security standards for operators of essential servicesJournal of Software: Evolution and Process10.1002/smr.233833:9Online publication date: 12-Sep-2021
  • Show More Cited By

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media