Academia.eduAcademia.edu

Outline

The domain theory for requirements engineering

1998, … Engineering, IEEE Transactions on

https://doi.org/10.1109/32.667878

Abstract

Retrieval, validation, and explanation tools are described for cooperative assistance during requirements engineering and are illustrated by a library system case study. Generic models of applications are reused as templates for modeling and critiquing requirements for new applications. The validation tools depend on a matching process which takes facts describing a new application and retrieves the appropriate generic model from the system library. The algorithms of the matcher, which implement a computational theory of analogical structure matching, are described. A theory of domain knowledge is proposed to define the semantics and composition of generic domain models in the context of requirements engineering. A modeling language and a library of models arranged in families of classes are described. The models represent the basic transaction processing or 'use case' for a class of applications. Critical difference rules are given to distinguish between families and hierarchical levels. Related work and future directions of the domain theory are discussed.

References (72)

  1. A. Aamodt et al., "The Common KADS Library," Vrieje Univer- siteit, Brussels, Deliverable KADS-II Project, KADS-II/T1.3/ VUB/TR/005, 1992.
  2. J. Allen, "A Common Sense Theory of Time," Proc. Int'l Joint Conf. Artificial Intelligence, 1985.
  3. J.R. Anderson, The Adaptive Character of Thought. Hillsdale, N.J.: Lawrence Erlbaum Assoc., 1990.
  4. G. Arango, E. Schoen, and R. Pettengill, "Design as Evolution and Reuse," Proc. Second Int'l Workshop Software Reusability (Advances in Software Reuse), pp. 9-18, 1993.
  5. B. Chandrasekaran, A. Keuneke, and M. Tanner, "Explanation in Knowledge Systems: The Roles of the Task Structures and Do- main Functional Models," Proc. Workshop Task Based Explanation, Univ. of the Aegean, Samos, Greece, 1992.
  6. P.W. Cheng and K.J. Holyoak, "Pragmatic Reasoning Schemas," Cognitive Psychology, vol. 17, pp. 391-416, 1985.
  7. M.T.H. Chi, R. Glaser, and E. Rees, "Expertise in Problem Solv- ing," Advances in the Psychology of Human Intelligence, R. Sternberg, ed., pp. 7-75, 1982.
  8. M.T.H. Chi, M. Bassock, M.W. Lewis, P. Reimann, and R. Glaser, "Self-Explanations: How Students Study and Use Examples in Learning to Solve Problems," Cognitive Science, vol. 13, pp. 145- 182, 1989.
  9. L. Chung, "Representing and Using Non-Functional Require- ments: A Process-Oriented Approach," Research in Data and Knowledge Base Systems, DKBS-TR-93-1, Dept. of Computer Sci- ence, Univ. of Toronto, 1993.
  10. P. Coad and E.E. Yourdon, Object-Oriented Analysis. New York: Yourdon Press, 1990.
  11. P. Constantopoulos, M. Jarke, J. Mylopoulos, and Y. Vassilou, "Software Information Base: A Server for Reuse," Technical Re- port, FORTH Research Inst., Univ. of Heraklion, Crete, 1991.
  12. A. Dardenne, A. v. Lamsweerde, and S. Fickas, "Goal Directed Requirements Acquisition," Science of Computer Programming, vol. 20, pp. 3-50, 1993.
  13. S. Easterbrook, "Handling Conflict Between Domain Descriptions with Computer-Supported Negotiation," Knowledge Acquisition, vol. 3, pp. 255-289, 1991.
  14. B. Falkenhainer, K.D. Forbus, and D. Gentner, "The Structure- Mapping Engine: Algorithm and Examples," Artificial Intelligence, no. 41, pp. 1-63, 1989.
  15. C.J. Fillmore, "The Case for Case Reopened," Syntax and Semantics VIII, P. Cole and J.M. Sadock, eds. New York: Academic Press, 1977.
  16. C.J. Filmore, P. Kay, and M.C. O'Connor, "Regularity and Idio- maticity in Grammmatic Constructions: The Case of Let Alone Language," vol. 64, pp. 501-538.
  17. G. Fischer, A. Girensohn, K. Nakakoji, and D. Redmiles, "Sup- porting Software Designers with Integrated Domain-Oriented Design Environments," IEEE Trans. Software Eng., vol. 18, no. 6, pp. 511-522, 1992.
  18. G. Fischer, K. Nakakoji, J. Otswald, G. Stahl, and T. Sumner, "Em- bedding Computer-Based Critics in the Contexts of Design," Proc. INTERCHI'93, S. Ashlund, K. Mullet, A. Henderson, E. Hollnagel, and T. White, eds., pp. 157-163, 1993.
  19. D. Gentner, "Structure-Mapping: A Theoretical Framework for Analogy," Cognitive Science, vol. 5, pp. 121-152, 1983.
  20. T.R.G. Green and R. Navarro, "Programming Plans, Imagery and Visual Programming," Proc. Human Computer Interaction-IN- TERACT'95, K. Nordby, P.H. Helersen, D. Gilmore, S.A. Arnesen, eds., London: Chapman and Hall, 1995.
  21. R. Greiner, "Learning by Understanding Analogies," Artificial Intelligence, vol. 5, pp. 81-125, 1988.
  22. T.R. Gruber, "Towards Principles for the Design of Ontologies Used for Knowledge Sharing," Knowledge Systems Laboratory Report, KSL 93-04, Dept. of Computer Science, Stanford Univ., 1993.
  23. T.R. Gruber, "A Translation Approach to Portable Ontology Speci- fications," Knowledge Acquisition, vol. 5, pp. 199-220, 1993.
  24. R. Guindon, "Designing the Design Process: Exploiting Oppor- tunistic Thoughts," Human-Computer Interaction, no. 5, pp. 305- 344, 1990.
  25. J.A. Hampton, "Disjunction in Natural Categories," Memory and Cognition, vol. 16, pp. 579-591, 1988.
  26. M.T. Harandi and M.Y. Lee, "Acquiring Software Design Sche- mas: A Machine Learning Perspective," Proc. Sixth Conf. Knowl- edge Based Software Engineering, Syracuse, N.Y., vol. 1, pp. 239-250, Sept. 1991.
  27. K.J. Holyoak and P. Thagard, "Analogical Mapping by Constraint Satisfaction," Cognitive Science, vol. 13, pp. 295-355, 1989.
  28. M.J. Jackson, Systems Development. Prentice Hall, 1983.
  29. L. Jacobson, Object-Oriented Software Engineering: A User Case- Driven Approach. ACM Press, 1992.
  30. M. Jarke, J. Mylopoulos, J. Schmidt, and Y. Vassilou, "DIADA- An Environment for Evolving Information Systems," ACM Trans. on Information Systems, vol. 10, pp. 1-50, 1992.
  31. M. Jarke, "ConceptBase V3.1 User Manual," Aachen, Germany, RWTH-Aachen, 1992.
  32. M. Jarke, Y. Bubenko, C. Rolland, A.G. Sutcliffe, and Y. Vassilou, "Theories Underlying Requirements Engineering: An Overview of NATURE at Genesis," Proc. IEEE Symp. Requirements Engineer- ing, pp. 19-31, 1993.
  33. M. Jarke et al., "Requirements Engineering: An Integrated View of Representation," Proc. Fourth European Software Engineering Conf., Garmish-Partenkirchen, Sept. 1993.
  34. P. Johnson, H. Johnson, R. Waddington, and R. Shouls, "Task- Related Knowledge Structures: Analysis, Modeling and Applica- tion," D.M. Jones and R. Winder, eds., HCI'88, pp. 35-61. Cam- bridge: Cambridge Univ. Press, 1988.
  35. G. Lakoff, Women, Fire and Dangerous Things: What Categories Re- veal about the Mind. Chicago: Univ. of Chicago Press, 1987.
  36. J.C.S.P. Leite and P.A. Freeman, "Requirements Validation Through Viewpoint Resolution," IEEE Trans. Software Eng., vol. 17, no. 12, pp. 1,253-1,269, 1991.
  37. P. Loucopoulos, G. Papamastatiou, D. Pantazis, and G. Diakono- laou, "Design and Execution of Event/Action DB Applications," Proc. Second Int'l Workshop Deductive Approach to Information Sys- tems and Databases, Aiguablava, Spain, 1991.
  38. N.A.M. Maiden and A.G. Sutcliffe, "Analogical Matching for Specification Retrieval," Proc. Sixth Knowledge-Based Software En- gineering Conf., pp. 108-116, 1991.
  39. N.A.M. Maiden and A.G. Sutcliffe, "Exploiting Reusable Specifi- cations Through Analogy," Comm. ACM, vol. 35, no. 4, pp. 55-64, 1992.
  40. N.A.M. Maiden and A.G. Sutcliffe, "Analogical Retrieval in Re- use-Oriented Requirements Engineering," Software Engineering J., vol. 11, no. 5, pp. 281-292, 1996.
  41. N.A.M. Maiden and A.G. Sutcliffe, "Requirements Engineering by Example: An Empirical Study," Proc. IEEE Symp. Requirements Engineering RE-93, E. Finkelstein A.C. IEEE CS Press, 1993.
  42. N.A.M. Maiden, P. Mistry, and A.G. Sutcliffe, "How People Cate- gorise Requirements for Reuse: A Natural Approach," Proc. Sec- ond Int'l Symp. Requirements Engineering RE'95, P. Zave and M.D. Harrison, eds., pp. 148-157. IEEE CS Press, 1995.
  43. S.M. McMenami and J.F. Palmer, Essential Systems Analysis. Your- don Press, 1984.
  44. B. Meyer, "On Formalism in Specifications," IEEE Software, pp. 6- 26, Jan. 1985.
  45. J. Mylopoulos, A. Borgida, M. Jarke, and M. Koubarakis, "Telos: Representing Knowledge about Information Systems," ACM Trans. Office Information Systems, vol. 8, no. 4, 1990.
  46. J. Mylopoulos, L. Chung, and B. Nixon, "Representing and Using Nonfunctional Requirements: A Process-Oriented Approach," IEEE Trans. Software Eng., vol. 18, no. 6, pp. 483-497, 1992.
  47. J.M. Neighbors, "Software Construction Using Components," PhD thesis, Dept. of Information and Computer Science, Univ. of California, Irvine, 1980.
  48. N. Pennington, "Stimulus Structures and Mental Representation in Expert Comprehension of Computer Programs," Cognitive Psy- chology, vol. 19, pp. 295-341, 1987.
  49. R. Prieto-Diaz and P. Freeman, "Classifying Software for Reus- ability," IEEE Software, pp. 6-16, Jan. 1987.
  50. R. Prieto-Diaz, "Domain Analysis: An Introduction," ACM SIG- SOFT Software Engineering Notes, vol. 15, no. 2, pp. 47-54, 1990.
  51. R. Prieto-Diaz, "Implementing Faceted Classification for Software Reuse," Comm. ACM, vol. 34, no. 5, pp. 88-97, 1991.
  52. P.P. Puncello, "ASPIS: A Knowledge-Based CASE Environment," IEEE Software, pp. 58-65, Mar. 1988.
  53. M.R. Quillian, Semantic Memory. Cambridge, Mass.: Bolt, Beranak and Newman, 1966.
  54. B. Ramesh and V. Dhar, "Supporting Systems Development by Capturing Deliberations During Requirements Engineering," IEEE Trans. Software Eng., vol. 18, no. 6, pp. 498-510, 1992.
  55. H.B. Reubenstein and R.C. Waters, "The Requirements Appren- tice: An Initial Scenario," Proc. Fifth Int'l Workshop Software Specifi- cation and Design, Pittsburgh, pp. 211-218, May 1989.
  56. C.K. Riesbeck and R.C. Schank, Inside Case-Based Reasoning. Hillsdale, N.J.: Lawrence Erlbaum Assoc., 1989.
  57. G. Roman, "A Taxonomy of Current Issues in Requirements Engi- neering," Computer, pp. 14-22, Apr. 1985.
  58. E. Rosch, C.B. Mervis, W.D. Grey, D.M. Johnson, and P. Boyes- Braem, Basic Objects in Natural Categories. Academic Press, 1976.
  59. E. Rosch, "Prototype Classification and Logical Classification: The Two Systems," New Trends in Conceptual Representation: Challenges to Piaget's Theory? E.K. Scholnick, ed., 1985.
  60. D.E. Rumelhart, "Notes on a Schema for Stories," Representation and Understanding, D.G. Bobrow and A.M. Collins, eds., 1976.
  61. R.C. Schank, Dynamic Memory: A Theory of Reminding and Learning in Computers and People. Cambridge Univ. Press, 1982.
  62. M. Shaw, "Heterogeneous Design Idioms for Software Architec- ture," Proc. Sixth Int'l Workshop Software Specification and Design, pp. 158-165, 1991.
  63. D.R. Smith, "KIDS: A Semi-Automated Program Development System," IEEE Trans. Software Eng., vol. 16, no. 9, pp. 1,024-1,043, 1990.
  64. D.R. Smith, "Track Assignment in an Air Traffic Control System: A Rational Reconstruction of System Design," Proc. KBSE'92, Knowledge Based Software Engineering, pp. 60-68, 1992.
  65. J.F. Sowa, Conceptual Structures: Information Processing in Mind and Machine. Addison-Wesley, 1984.
  66. A.G. Sutcliffe and N.A.M. Maiden, "Software Reusability: Deliv- ering Productivity Gains or Short Cuts," Proc. INTERACT'90, D. Diaper, D. Gilmore, G. Cockton, and B. Shackel, eds., pp. 895-901, 1990.
  67. A.G. Sutcliffe and N.A.M. Maiden, "Supporting Component Matching for Software Reuse," Proc. Fourth Conf. Advanced Infor- mation Software Engineering CAiSE'92, M.P. Loucopoulos, ed., pp. 290-303, 1992.
  68. A.G. Sutcliffe and N.A.M. Maiden, "Bridging the Requirements Gap: Policies, Goals and Domains," Proc. Seventh Int'l Workshop System Specification and Design, pp. 52-55, 1993.
  69. C.N. Taylor, A.G. Sutcliffe, N.A.M. Maiden, and D. Till, "Formal Representations for Domain Knowledge," Technical Report, 95/5, Centre for HCI Design, School of Informatics, City Univ., London, 1995.
  70. B.J. Wielinga, A.T. Schreiber, and J.A. Breuker, "KADS: A Model- ing Approach to Knowledge Engineering," Technical Report ES- PRIT Project P5248 KADS-II, 1991.
  71. R. Wirfs-Brook, B. Wilkerson, and L. Wiener, Designing Object- Oriented Software. Prentice Hall, 1990.
  72. E.S.K. Yu, "Modeling Organizations for Information Systems Requirements Engineering," Proc. IEEE Symp. Requirements Engi- neering RE-93, San Diego, Calif., A.C.W. Finkelstein, ed., pp. 34-41, 1993.