This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
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.
Citation:
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.