This Article 
 Bibliographic References 
 Add to: 
The Domain Theory for Requirements Engineering
March 1998 (vol. 24 no. 3)
pp. 174-196

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.

[1] A. Aamodt et al., "The Common KADS Library," Vrieje Universiteit, 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," in Advances in Software Reuse, IEEE Computer Society Press, Los Alamitos, Calif., Mar. 1993, pp. 9-18.
[5] B. Chandrasekaran, A. Keuneke, and M. Tanner, "Explanation in Knowledge Systems: The Roles of the Task Structures and Domain 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 Solving," 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 Requirements: A Process-Oriented Approach," Research in Data and Knowledge Base Systems, DKBS-TR-93-1, Dept. of Computer Science, Univ. of Toronto, 1993.
[10] P. Coad and E. Yourdon, Object-Oriented Analysis, Prentice Hall, Englewood Cliffs, N.J., 1989.
[11] P. Constantopoulos, M. Jarke, J. Mylopoulos, and Y. Vassilou, "Software Information Base: A Server for Reuse," Technical Report, FORTH Research Inst., Univ. of Heraklion, Crete, 1991.
[12] A. Dardenne, A. van Lamsweerde, and S. Fickas, "Goal-Directed Requirements Acquisition," Science of Computer Programming, pp. 3-50, vol. 20, Apr. 1993.
[13] S. Easterbrook, "Handling Conflict Between Domain Descriptions with Computer-Supported Negotiation," Knowledge Acquisition, Mar., 1991, pp. 255-289.
[14] B. Falkenhainer, K. Forbus, and D. Gentner, "The Structure-Mapping Engine: Algorithm and Examples," Artificial Intelligence, Vol. 41, 1989, pp. 1-63.
[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 Idiomaticity in Grammmatic Constructions: The Case of Let Alone Language," vol. 64, pp. 501-538.
[17] G. Fischer, A. Girgensohn, K. Nakakoji, and D. Redmiles, "Supporting Software Designers with Integrated Domain-Oriented Design Environments," IEEE Trans. Software Eng., pp. 511-522, vol. 18, June 1992.
[18] G. Fischer, K. Nakakoji, J. Otswald, G. Stahl, and T. Sumner, "Embedding 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—INTERACT'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 Specifications,” Knowledge Acquisition, vol. 5, pp. 199-220, 1993.
[24] R. Guindon, "Designing the Design Process: Exploiting Opportunistic 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 Schemas: A Machine Learning Perspective," Proc. Sixth Conf. Knowledge 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] I. Jacobson, Object-Oriented Software Engineering, Addison-Wesley/ACM Press, New York, 1991.
[30] M. Jarke, J. Mylopoulos, J.W. Schmidt, and Y. Vassiliou, "DAIDA: An Environment for Evolving Information Systems," ACM Trans. Information Systems, pp. 1-50, vol. 10, Jan. 1992.
[31] M. Jarke, "ConceptBase V3.1 User Manual,"Aachen, Germany, RWTH-Aachen, 1992.
[32] M. Jarke, J. Bubenko, C. Rolland, A. Sutcliffe, and Y. Vassiliou, "Theories Underlying Requirements Engineering: An Overview of NATURE at Genesis," Proc. IEEE Int'l Symp. Requirements Eng., pp. 19-31,San Diego, Jan. 1992.
[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 Application," D.M. Jones and R. Winder, eds., HCI'88, pp. 35-61.Cambridge: Cambridge Univ. Press, 1988.
[35] G. Lakoff, Women, Fire and Dangerous Things: What Categories Reveal about the Mind.Chicago: Univ. of Chicago Press, 1987.
[36] J. 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. Diakonolaou, "Design and Execution of Event/Action DB Applications," Proc. Second Int'l Workshop Deductive Approach to Information Systems and Databases,Aiguablava, Spain, 1991.
[38] N.A.M. Maiden and A.G. Sutcliffe, "Analogical Matching for Specification Retrieval," Proc. Sixth Knowledge-Based Software Engineering Conf., pp. 108-116, 1991.
[39] N. Maiden and A. Sutcliffe, “Exploiting Reusable Specification Through Analogy,” Comm. ACM, Apr. 1992, pp. 55‐64.
[40] N.A.M. Maiden and A.G. Sutcliffe, "Analogical Retrieval in Reuse-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 Categorise Requirements for Reuse: A Natural Approach," Proc. Second Int'l Symp. Requirements Engineering RE'95, P. Zave and M.D. Harrison, eds., pp. 148-157. IEEE CS Press, 1995.
[43] S.M. McMenamin and J. Palmer, Essential Systems Analysis, Prentice Hall, Englewood Cliffs, N.J., 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. Information Systems, pp. 325-362, vol. 8, Oct. 1990.
[46] J. Mylopoulos, L. Chung, and B. Nixon, "Representing and Using Nonfunctional Requirements: A Process-Oriented Approach," IEEE Trans. Software Eng., pp. 483-497, vol. 18, June 1992.
[47] J. Neighbors, "Software Construction Using Components," PhD thesis, ICS-TR-160, Univ. of California at Irvine, 1980.
[48] N. Pennington, "Stimulus Structures and Mental Representation in Expert Comprehension of Computer Programs," Cognitive Psychology, vol. 19, pp. 295-341, 1987.
[49] R. Prieto-Diaz and P. Freeman, "Classifying Software for Reusability," IEEE Software, pp. 6-16, Jan. 1987.
[50] R. Prieto-Diaz, "Domain Analysis: An Introduction," ACM Sigsoft Software Eng. Notes, Vol. 15, No. 2, 1990, pp. 47-54.
[51] R. Prieto-Diaz, “Implementing Faceted Classification for Software Reuse,” Comm. ACM, May 1991, pp. 88‐97.
[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., pp. 498-510, vol. 18, June 1992.
[55] H.B. Reubenstein and R.C. Waters, "The Requirements Apprentice: An Initial Scenario," Proc. Fifth Int'l Workshop Software Specification and Design,Pittsburgh, pp. 211-218, May 1989.
[56] C.K. Riesbeck and R.C. Shank, Inside Case-Based Reasoning.N.J.: Lawrence Erlbaum Associates, 1989.
[57] G. Roman, "A Taxonomy of Current Issues in Requirements Engineering," 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. Schank, Dynamic Memory: A Theory of Reminding and Learning in Computers and People, Univ. Cambridge Press, Cambridge, UK, 1982.
[62] M. Shaw, "Heterogeneous Design Idioms for Software Architecture," Proc. Sixth Int'l Workshop Software Specification and Design, pp. 158-165, 1991.
[63] D.R. Smith, KIDS: A Semiautomatic Program Development System IEEE Trans. Software Eng., vol. 16, no. 9, pp. 1024-1043, 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, Reading, Mass., 1984.
[66] A.G. Sutcliffe and N.A.M. Maiden, "Software Reusability: Delivering 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 Information 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 Modeling Approach to Knowledge Engineering," Technical Report ESPRIT Project P5248 KADS-II, 1991.
[71] R.J. Wirfs-Brock, B. Wilkerson, and L. Wiener, Designing Object Oriented Software, Prentice Hall, Upper Saddle River, N.J., 1990.
[72] E.S.K. Yu, "Modeling Organizations for Information Systems Requirements Engineering," Proc. IEEE Symp. Requirements Engineering RE-93,San Diego, Calif., A.C.W. Finkelstein, ed., pp. 34-41, 1993.

Index Terms:
Requirements engineering, domain modeling, software reuse, analogical reasoning, CASE tools.
Alistair Sutcliffe, Neil Maiden, "The Domain Theory for Requirements Engineering," IEEE Transactions on Software Engineering, vol. 24, no. 3, pp. 174-196, March 1998, doi:10.1109/32.667878
Usage of this product signifies your acceptance of the Terms of Use.