Towards a Theory on the Role of Ontologies in Software Engineering Problem Solving
We present and validate a theoretical model of methodological works in Software Engineering that, without claiming for completeness, allows us to investigate the role of ontologies in the problem solving process related with the development of software. Our main conclusion is the potential of ontologies as resources for an individual to think during problem solving. We argument that suitable ontologies can support solving strategies as well as motivate their invention. We also conclude the importance of accompany an ontology with knowledge that guides the engineer in reasoning with its concepts.
The model regards a methodological work as an heterogeneous theory about a class of problems and about a number of conceptual elements. Some of the elements are ontologies, which play the role of identifying and relating aspects of the knowledge about the class of problems, making up novel perspectives on the problems that may promote solving strategies.
For illustration purposes, we take Jackson’s “Problem Frames” as a case study. We analyse this work through the former model, identifying the ontologies, guides, and promoted strategies. Then we propose an alternative ontology, based on that used in the KAOS approach; we reformulate some parts of Jackson’s work through this ontology and propose a strategy as well as some guides.
KeywordsOntologies Methodologies Modelling Problem Solving Cognitive Science
- 1.Cañete, J.M., Galán, F.J., Toro, M.: Some Problems of Current Modelling Languages that Obstruct to Obtain Models as Instruments. In: Proceedings of the IX Spanish Conference on Software Engineering and Databases, JISBD 2004 (2004)Google Scholar
- 2.Boden, M.: The Creative Mind: Myths & Mechanisms. Basic Books (1990)Google Scholar
- 3.Boden, M.: What is creativity? In: Boden, M.A. (ed.) Dimensions of creativity, pp. 75–117. The MIT Press, Cambridge (1994)Google Scholar
- 8.Giere, R.: Explaining Science.A Cognitive Approach. University of Chicago Press, Chicago (1988)Google Scholar
- 9.Giere, R.: Understanding Scientific Reasoning, 4th edn. Harcourt Brace College Publishers (1997)Google Scholar
- 11.Jackson, M.: Problem Frames. Analyzing and structuring software development problems. Addison-Wesley, Reading (2001)Google Scholar
- 13.Letier, E., van Lamsweerde, A.: Agent-Based Tactics for Goal-Oriented Requirements Elaboration. In: Proceedings of the 24th International Conference on Software Engineering (ICSE 2002). ACM Press, New York (2002)Google Scholar
- 15.Mylopoulos, J.: Information Modeling in the Time of the Revolution. Information Systems 23(3–4), 127–155 (1998)Google Scholar
- 17.Potts, C., Bruns, G.: Recording the Reasons for Design Decisions. In: Proceedings of the 10th International Conference on Software Engineering, pp. 418–427 (1988)Google Scholar
- 19.Schaeken, W., De Vooght, G., Vandierendonck, A., d’Ydewalle, G, Deductive reasoning and strategies. Lawrence Erlbaum Associates (2000)Google Scholar
- 20.Suppe, F.: The Structure of Scientific Theories. University of Illinois Press, Urbana (1977)Google Scholar
- 21.Suppes, P.: A Comparison of the Meanaing and Use of Models in the Mathematical and Empirical Sciences. In: The Concept and Role of the Model in Mathematics and Natural and Social Sciences, pp. 163–167. Reidel, Dordrechtz (1961)Google Scholar
- 22.Suppes, P, What is a Scientific Theory? Philosophy of Science Today, pp. 55–67. Basic Books (1967)Google Scholar
- 24.Ward, T.B., Finke, R.A., Smith, S.M.: Creativity and the mind: Discovering the genius within. Plenum Press, New York (1995)Google Scholar
- 25.Wieringa, R.: Design Methods for Reactive Systems: Yourdon, Statemate and the UML. Morgan Kaufmann, San Francisco (2003)Google Scholar
- 26.Wieringa, R.: Requirements engineering research is the study of design. Internal report. Department of Computer Science, University of Twente, the Netherlands (2004)Google Scholar