The domain theory for requirements engineering
1998, … Engineering, IEEE Transactions on
https://doi.org/10.1109/32.667878Abstract
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)
- A. Aamodt et al., "The Common KADS Library," Vrieje Univer- siteit, Brussels, Deliverable KADS-II Project, KADS-II/T1.3/ VUB/TR/005, 1992.
- J. Allen, "A Common Sense Theory of Time," Proc. Int'l Joint Conf. Artificial Intelligence, 1985.
- J.R. Anderson, The Adaptive Character of Thought. Hillsdale, N.J.: Lawrence Erlbaum Assoc., 1990.
- 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.
- 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.
- P.W. Cheng and K.J. Holyoak, "Pragmatic Reasoning Schemas," Cognitive Psychology, vol. 17, pp. 391-416, 1985.
- 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.
- 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.
- 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.
- P. Coad and E.E. Yourdon, Object-Oriented Analysis. New York: Yourdon Press, 1990.
- 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.
- A. Dardenne, A. v. Lamsweerde, and S. Fickas, "Goal Directed Requirements Acquisition," Science of Computer Programming, vol. 20, pp. 3-50, 1993.
- S. Easterbrook, "Handling Conflict Between Domain Descriptions with Computer-Supported Negotiation," Knowledge Acquisition, vol. 3, pp. 255-289, 1991.
- B. Falkenhainer, K.D. Forbus, and D. Gentner, "The Structure- Mapping Engine: Algorithm and Examples," Artificial Intelligence, no. 41, pp. 1-63, 1989.
- C.J. Fillmore, "The Case for Case Reopened," Syntax and Semantics VIII, P. Cole and J.M. Sadock, eds. New York: Academic Press, 1977.
- 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.
- 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.
- 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.
- D. Gentner, "Structure-Mapping: A Theoretical Framework for Analogy," Cognitive Science, vol. 5, pp. 121-152, 1983.
- 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.
- R. Greiner, "Learning by Understanding Analogies," Artificial Intelligence, vol. 5, pp. 81-125, 1988.
- 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.
- T.R. Gruber, "A Translation Approach to Portable Ontology Speci- fications," Knowledge Acquisition, vol. 5, pp. 199-220, 1993.
- R. Guindon, "Designing the Design Process: Exploiting Oppor- tunistic Thoughts," Human-Computer Interaction, no. 5, pp. 305- 344, 1990.
- J.A. Hampton, "Disjunction in Natural Categories," Memory and Cognition, vol. 16, pp. 579-591, 1988.
- 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.
- K.J. Holyoak and P. Thagard, "Analogical Mapping by Constraint Satisfaction," Cognitive Science, vol. 13, pp. 295-355, 1989.
- M.J. Jackson, Systems Development. Prentice Hall, 1983.
- L. Jacobson, Object-Oriented Software Engineering: A User Case- Driven Approach. ACM Press, 1992.
- 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.
- M. Jarke, "ConceptBase V3.1 User Manual," Aachen, Germany, RWTH-Aachen, 1992.
- 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.
- M. Jarke et al., "Requirements Engineering: An Integrated View of Representation," Proc. Fourth European Software Engineering Conf., Garmish-Partenkirchen, Sept. 1993.
- 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.
- G. Lakoff, Women, Fire and Dangerous Things: What Categories Re- veal about the Mind. Chicago: Univ. of Chicago Press, 1987.
- 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.
- 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.
- 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.
- N.A.M. Maiden and A.G. Sutcliffe, "Exploiting Reusable Specifi- cations Through Analogy," Comm. ACM, vol. 35, no. 4, pp. 55-64, 1992.
- 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.
- 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.
- 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.
- S.M. McMenami and J.F. Palmer, Essential Systems Analysis. Your- don Press, 1984.
- B. Meyer, "On Formalism in Specifications," IEEE Software, pp. 6- 26, Jan. 1985.
- 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.
- 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.
- J.M. Neighbors, "Software Construction Using Components," PhD thesis, Dept. of Information and Computer Science, Univ. of California, Irvine, 1980.
- N. Pennington, "Stimulus Structures and Mental Representation in Expert Comprehension of Computer Programs," Cognitive Psy- chology, vol. 19, pp. 295-341, 1987.
- R. Prieto-Diaz and P. Freeman, "Classifying Software for Reus- ability," IEEE Software, pp. 6-16, Jan. 1987.
- R. Prieto-Diaz, "Domain Analysis: An Introduction," ACM SIG- SOFT Software Engineering Notes, vol. 15, no. 2, pp. 47-54, 1990.
- R. Prieto-Diaz, "Implementing Faceted Classification for Software Reuse," Comm. ACM, vol. 34, no. 5, pp. 88-97, 1991.
- P.P. Puncello, "ASPIS: A Knowledge-Based CASE Environment," IEEE Software, pp. 58-65, Mar. 1988.
- M.R. Quillian, Semantic Memory. Cambridge, Mass.: Bolt, Beranak and Newman, 1966.
- 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.
- 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.
- C.K. Riesbeck and R.C. Schank, Inside Case-Based Reasoning. Hillsdale, N.J.: Lawrence Erlbaum Assoc., 1989.
- G. Roman, "A Taxonomy of Current Issues in Requirements Engi- neering," Computer, pp. 14-22, Apr. 1985.
- E. Rosch, C.B. Mervis, W.D. Grey, D.M. Johnson, and P. Boyes- Braem, Basic Objects in Natural Categories. Academic Press, 1976.
- 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.
- D.E. Rumelhart, "Notes on a Schema for Stories," Representation and Understanding, D.G. Bobrow and A.M. Collins, eds., 1976.
- R.C. Schank, Dynamic Memory: A Theory of Reminding and Learning in Computers and People. Cambridge Univ. Press, 1982.
- M. Shaw, "Heterogeneous Design Idioms for Software Architec- ture," Proc. Sixth Int'l Workshop Software Specification and Design, pp. 158-165, 1991.
- D.R. Smith, "KIDS: A Semi-Automated Program Development System," IEEE Trans. Software Eng., vol. 16, no. 9, pp. 1,024-1,043, 1990.
- 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.
- J.F. Sowa, Conceptual Structures: Information Processing in Mind and Machine. Addison-Wesley, 1984.
- 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.
- 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.
- 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.
- 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.
- 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.
- R. Wirfs-Brook, B. Wilkerson, and L. Wiener, Designing Object- Oriented Software. Prentice Hall, 1990.
- 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.