Abstract
[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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Parnas, D.L., Lawford, M.: The role of inspection in software quality assurance. IEEE Trans. Softw. Eng. 29(8), 674–676 (2003)
Jackson, M.: Problem Frames: Analyzing and structuring software development problems. ACM Press & Addison Wesley (2001)
Robinson, W.N., Pawlowski, S.D., Volkov, V.: Requirements interaction management. ACM Computing Surveys 35(2), 132–190 (2003)
Jureta, I., Mylopoulos, J., Faulkner, S.: Revisiting the core ontology and problem in requirements engineering. In: Proceedings of the 2008 16th IEEE International Requirements Engineering Conference, pp. 71–80. IEEE Computer Society Press, Los Alamitos (2008)
Wang, Y., McIlraith, S.A., Yu, Y., Mylopoulos, J.: An automated approach to monitoring and diagnosing requirements. In: Proceedings of the International Conference on Automated Software Engineering, pp. 293–302. ACM, New York (2007)
Shanahan, M.: Prediction is deduction but explanation is abduction. In: Proceedings of the International Joint Conference on Artificial Intelligence, pp. 1055–1060. Morgan Kaufmann, San Francisco (1989)
Denecker, M., Schreye, D.D.: Sldnfa: an abductive procedure for normal abductive programs. In: Proc. of the International Joint Conference and Symposium on Logic Programming, pp. 686–700. MIT Press, Cambridge (1992)
Russo, A., Miller, R., Nuseibeh, B., Kramer, J.: An abductive approach for analysing event-based requirements specifications. In: Stuckey, P.J. (ed.) ICLP 2002. LNCS, vol. 2401, pp. 22–37. Springer, Heidelberg (2002)
Laney, R., Tun, T.T., Jackson, M., Nuseibeh, B.: Composing features by managing inconsistent requirements. In: Proceedings of 9th International Conference on Feature Interactions in Software and Communication Systems (ICFI 2007), pp. 141–156 (2007)
Shanahan, M.P.: The event calculus explained. In: Woolridge, M.J., Veloso, M. (eds.) Artificial Intelligence Today. LNCS, vol. 1600, pp. 409–430. Springer, Heidelberg (1999)
Miller, R., Shanahan, M.: The event calculus in classical logic - alternative axiomatisations. Journal of Electronic Transactions on Artificial Intelligence (1999)
Mueller, E.T.: Commonsense Reasoning. Morgan Kaufmann, San Francisco (2006)
Decreasoner, http://decreasoner.sourceforge.net/
Kolberg, M., Magill, E., Marples, D., Tsang, S.: Feature interactions in services for internet personal appliances. In: Proceedings of IEEE International Conference on Communications (ICC 2002), vol. 4, pp. 2613–2618 (2001)
Classen, A., Laney, R., Tun, T.T., Heymans, P., Hubaux, A.: Using the event calculus to reason about problem diagrams. In: Proceedings of International Workshop on Applications and Advances of Problem Frames, pp. 74–77. ACM, New York (2008)
Bayardo Jr., R.J., Schrag, R.: Using CSP look-back techniques to solve real-world SAT instances. In: AAAI/IAAI, pp. 203–208 (1997)
Relsat, http://code.google.com/p/relsat/
Russo, A., Nuseibeh, B.: On the use of logical abduction in software engineering. In: Chang, S.K. (ed.) Software Engineering and Knowledge Engineering. World Scientific, Singapore (2000)
Lamsweerde, A.v., Letier, E., Darimont, R.: Managing conflicts in goal-driven requirements engineering. IEEE Trans. Softw. Eng. 24(11), 908–926 (1998), http://dx.doi.org/10.1109/32.730542
Nentwich, C., Capra, L., Emmerich, W., Finkelstein, A.: xlinkit: a consistency checking and smart link generation service. ACM Trans. Interet Technol. 2(2), 151–185 (2002)
Egyed, A.: Instant consistency checking for the uml. In: Proceedings of the International Conference on Software Engineering, pp. 381–390. ACM Press, New York (2006)
Seater, R., Jackson, D.: Requirement progression in problem frames applied to a proton therapy system. In: Proceedings of RE 2006, Washington, DC, USA, pp. 166–175. IEEE Computer Society Press, Los Alamitos (2006)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Tun, T.T., Yu, Y., Laney, R., Nuseibeh, B. (2009). Early Identification of Problem Interactions: A Tool-Supported Approach. In: Glinz, M., Heymans, P. (eds) Requirements Engineering: Foundation for Software Quality. REFSQ 2009. Lecture Notes in Computer Science, vol 5512. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-02050-6_7
Download citation
DOI: https://doi.org/10.1007/978-3-642-02050-6_7
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-02049-0
Online ISBN: 978-3-642-02050-6
eBook Packages: Computer ScienceComputer Science (R0)