Early Identification of Problem Interactions: A Tool-Supported Approach

[Context and motivation] The principle of "divide and conquer" suggests that complex software problems should be decomposed into simpler problems, and those problems should be solved before considering how they can be composed. The eventual composition may fail if solutions to simpler problems interact in unexpected ways. [Question/problem] Given descriptions of individual problems, early identification of situations where composition might fail remains an outstanding issue. [Principal ideas/results] In this paper, we present a tool-supported approach for early identification of all possible interactions between problems, where the composition cannot be achieved fully. Our tool, called the OpenPF, (i) provides a simple diagramming editor for drawing problem diagrams and describing them using the Event Calculus, (ii) structures the Event Calculus formulae of individual problem diagrams for the abduction procedure, and (iii) communicates with an off-the-shelf abductive reasoner in the background and relates the results of the abduction procedure to the problem diagrams. The theory and the tool framework proposed are illustrated with an interaction problem from a smart home application. [Contribution] This tool highlights, at an early stage, the parts in problem diagrams that will interact when composed together.

[1]  Bashar Nuseibeh,et al.  Composing Features by Managing Inconsistent Requirements , 2007, ICFI.

[2]  Roberto J. Bayardo,et al.  Using CSP Look-Back Techniques to Solve Real-World SAT Instances , 1997, AAAI/IAAI.

[3]  Murray Shanahan,et al.  The Event Calculus in Classical Logic - Alternative Axiomatisations , 1999, Electron. Trans. Artif. Intell..

[4]  Andreas Classen,et al.  Using the event calculus to reason about problem diagrams , 2008, IWAAPF '08.

[5]  Michael Wooldridge,et al.  Artificial Intelligence Today , 1999, Lecture Notes in Computer Science.

[6]  David Lorge Parnas,et al.  The Role of Inspection in Software Quality Assurance , 2003, IEEE Trans. Software Eng..

[7]  Roberto J. Bayardo,et al.  Using CSP Look-Back Techniques to Solve Exceptionally Hard SAT Instances , 1996, CP.

[8]  Danny De Schreye,et al.  SLDNFA: An Abductive Procedure for Normal Abductive Programs , 1992, JICSLP.

[9]  Yijun Yu,et al.  An automated approach to monitoring and diagnosing requirements , 2007, ASE.

[10]  Krzysztof R. Apt,et al.  Logic Programming , 1990, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[11]  William N. Robinson,et al.  Requirements interaction management , 2003, CSUR.

[12]  Bashar Nuseibeh,et al.  An Abductive Approach for Analysing Event-Based Requirements Specifications , 2002, ICLP.

[13]  Murray Shanahan,et al.  Prediction is Deduction but Explanation is Abduction , 1989, IJCAI.

[14]  Daniel Jackson,et al.  Requirement Progression in Problem Frames Applied to a Proton Therapy System , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[15]  Yijun Yu,et al.  Monitoring and diagnosing software requirements , 2009, Automated Software Engineering.

[16]  Mario Kolberg,et al.  Feature interactions in services for Internet personal appliances , 2002, 2002 IEEE International Conference on Communications. Conference Proceedings. ICC 2002 (Cat. No.02CH37333).

[17]  Helen M. Edwards,et al.  Problem frames: analyzing and structuring software development problems , 2002, Softw. Test. Verification Reliab..

[18]  E. Davis,et al.  Common Sense Reasoning , 2014, Encyclopedia of Social Network Analysis and Mining.

[19]  Murray Shanahan,et al.  The Event Calculus Explained , 1999, Artificial Intelligence Today.

[20]  Licia Capra,et al.  xlinkit: a consistency checking and smart link generation service , 2002, TOIT.

[21]  Alessandra Russo ON THE USE OF LOGICAL ABDUCTION IN SOFTWARE ENGINEERING , 1910 .

[22]  Alexander Egyed,et al.  Instant consistency checking for the UML , 2006, ICSE.

[23]  Axel van Lamsweerde,et al.  Managing Conflicts in Goal-Driven Requirements Engineering , 1998, IEEE Trans. Software Eng..

[24]  John Mylopoulos,et al.  Revisiting the Core Ontology and Problem in Requirements Engineering , 2008, 2008 16th IEEE International Requirements Engineering Conference.