home *** CD-ROM | disk | FTP | other *** search
/ ftp.umcs.maine.edu / 2015-02-07.ftp.umcs.maine.edu.tar / ftp.umcs.maine.edu / pub / WISR / wisr4 / proceedings / detex / nakakoji.detex < prev    next >
Text File  |  1992-04-05  |  20KB  |  408 lines

  1.  [12pt] article  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.                    Software Reuse in Integrated, Domain-Oriented 
  12.                       Knowledge-based Design Environments 
  13.  
  14.                                   Kumiyo Nakakoji 
  15.         Department of Computer Science and Institute of Cognitive Scien 
  16.                             University of Colorado 
  17.                          Boulder, Colorado 80309, USA   
  18.                         E-mail: kumiyo@cs.colorado.edu 
  19.  
  20.                         Software Engineering Laboratory 
  21.                       Software Research Associates, Inc. 
  22.                1-1-1 Hirakawa-cho, Chiyoda-ku, Tokyo 102, Japan 
  23.  
  24.    
  25.  
  26.  
  27.   
  28.               Our approach to cope with  ill-structured  software
  29.               design  problems  is  to empower software designers
  30.               with  domain-oriented,   knowledge-based   software
  31.               environments  that  support coevolution of requirements 
  32.           specification and  design  construction.  The
  33.               synergy  of  this integration supports designers in
  34.               reusing prestored design objects relevant to  their
  35.               current  task at hand as articulated with a partial
  36.               specification and a partial construction.
  37.        
  38.   0.3in 
  39.  
  40.    Keywords:  ill-structured  software  design  problems, 
  41.     knowledge-based   software   environments,   multifaceted   architecture, integration   of  specification  and  construction,  reuse  and redesign, information retrieval, case-based reasoning
  42.  
  43.  
  44.   Introduction 
  45.  
  46.         Many software  design  problems  are  ill-structured  
  47. with
  48.         fluctuating and conflicting requirements.  Traditional software
  49.         design, use and maintenance methodologies  are  inadequate  for
  50.         dealing  with  ill-structured  problems. Empirical studies have
  51.         shown  that  those  problems  are  best  understood  as  design
  52.         problems  in  which  the  design  space and requirements unfold
  53.         incrementally  .
  54. These  problems  call  for  an  integrated
  55.         approach,  supporting coevolution of requirements specification
  56.         and design construction.
  57.  
  58. Complex systems are  not  designed  from  scratch,  but  they
  59.         evolve  .
  60. Complex systems evolve faster if they can be build
  61.         on stable subsystems  .
  62. Previously  solved  design  problems
  63.         and  design  experiences should be used for informing designers
  64.         of possible solutions, failures, or justifications  of  current
  65.         decisions.
  66.  
  67. The  above requirements have led us to conclude that software
  68.         should be developed in integrated, domain-oriented,  knowledge-based  
  69.     design  environments that support the whole lifecycle of
  70.         software -- requirement articulation, design, maintenance,  and
  71.         reuse. Our goal is to empower software designers and to augment
  72.         their capability and  productivity  through  artificial  
  73.     intelligence and human-computer interaction techniques.
  74.  
  75. The  research  described  here  addresses  issues of software
  76.         reuse in such design environments.  Design  environments  store
  77.         previously  constructed  design  solutions as domain knowledge.
  78.         By integrating  design  creation  tools  and  domain  knowledge
  79.         bases,  our environments based on the multifaceted architecture
  80.         support the cycle of    location ,    comprehension , 
  81.     and     modification 
  82.         of  prestored  design  objects  in  one coherent substrate. One
  83.         system component, CATALOGEXPLORER, which supports the  location
  84.         phase in design environments, is described.
  85.  
  86.  
  87.   Problems of Current Approach for Software Reuse 
  88.  
  89.         Reuse in software development should be supported in such a way
  90.         that designers can apply previously  made  design  efforts  not
  91.         only  to  a  final design artifact but also to a design process
  92.         and rationale behind  the  artifact.    Truly  reusable  design
  93.         objects  can  be  achieved  only  when  those objects have been
  94.         created in the same environment because  then  a  system  could
  95.         store  necessary  information  along  with  the  development of
  96.         objects for later  reuse  .
  97. Traditional  CASE  tools  fail
  98.         because  they  do  not  directly support reusing created design
  99.         artifacts  .
  100. Reuse should be supported in the  same  context
  101.         as the development of the software takes place.
  102.  
  103. The  richer the information spaces are, the more expensive it
  104.         is to access, in terms  of  both  computational  and  cognitive
  105.         costs.      Designers   first  must  locate  information,  then
  106.         comprehend the retrieved information, and modify  it  according
  107.         to  their  current  needs.   Comprehension may directly lead to
  108.         further retrieval, modification may require further  comprehension.    
  109.     Software  designers  should  not  be distracted by the
  110.         information access, which  is  not  their  primary  concern  in
  111.         designing software.
  112.  
  113. Conventional  query-based  retrieval  mechanisms  break  down
  114.            because they assume that humans can articulate  what  they
  115.         are  looking for by formulating a highly specific query. Stored
  116.         software objects in most software  reuse  support  systems  are
  117.         represented in terms of a solution domain; namely, final design
  118.         solutions.  When software  designers  need  those  information,
  119.         they   usually   have  in  their  mind  application  goals,  or
  120.         requirements, which are represented in a  problem  domain,  but
  121.         not concrete solutions.  Therefore, they cannot form a specific
  122.         query for retrieving such stored objects.
  123.  
  124. A purely    navigational access  provided by a browsing mechanism
  125.         only  partially  solves  the  above  problem  because  it still
  126.         requires that the information space  has  a  fairly  rigid  and
  127.         predetermined  structure.  For dealing with ill-defined domains
  128.         there is not one    right  structure for the information space  and
  129.         the  structure  needs  to  be tailored according to the task at
  130.         hand.  Moreover, humans may get lost while tracing links  among
  131.         the  information  spaces  if  the search space is large and the
  132.         structure is complex  .
  133.  
  134.  
  135.   The Approach 
  136.  
  137.         To  this  end,  we  have  developed  a   conceptual   framework
  138.         incorporating  evolutionary design and maintenance of software.
  139.         The  conceptual  framework  is  based  on  cooperative  problem
  140.         solving  between  designers and an integrated, knowledge-based,
  141.         design  environment,  which   supports   the   coevolution   of
  142.         specification   and   construction  .
  143. The  design
  144.         environment framework  is  instantiated  by  innovative  system
  145.         building   efforts   supporting  information  access  in  
  146.     high-functionality  software  environments,  providing  feedback  on
  147.         partial  designs,  and  enhancing  reuse, redesign and end-user
  148.         modifiability.  We have developed a  multifaceted  architecture
  149.         for such environments, consisting of design creation tools that
  150.         support both requirement specification and design construction,
  151.         and domain knowledge bases (see Figure 1).
  152.  
  153.   
  154.  
  155.    
  156.  
  157.  
  158.           Orthogonal  to  the   elements   of   an   environment,   the
  159.         architecture  supports  three  basic  processes for information
  160.         access:     location ,    comprehension , and     modification 
  161.     of  stored
  162.         design  objects.  Reuse of design objects is supported by using
  163.         the catalog base. The catalog allows designers to reuse various
  164.         perspectives  of  design  objects and design experiences in the
  165.         domain, either of their own, or of others that  used  the  same
  166.         design environments.
  167.  
  168. The   multifaceted   architecture   enables   an   innovative
  169.         information   retrieval   technique   for   complimenting   the
  170.         conventional  approaches  in  locating design objects stored in
  171.         the environments.  The  architecture  takes  advantage  of  the
  172.         synergistic integration that conventional information retrieval
  173.         systems are lacking.  A partially articulated task at hand  can
  174.         be used to filter out irrelevant information and reduce related
  175.         information spaces.  It  relieves  designers  of  the  task  of
  176.         specifying  queries  or  navigating  in  information spaces for
  177.         retrieval, thereby supporting designers to retain their working
  178.         context.   The  environments  then  support  the  designers  to
  179.         comprehend  the  retrieved  information,  which  may  lead   to
  180.         refinement of their specification and construction.
  181.  
  182.  
  183.   CATALOGEXPLORER 
  184.  
  185.         CATALOGEXPLORER  is a system component of the integrated design
  186.         environments   based   on   the   multifaceted    architecture.
  187.         CATALOGEXPLORER  illustrates  how  a  designer  is supported in
  188.         locating prestored design object  in  the  example  domains  of
  189.         plotting data in graphic programming  .
  190.  
  191. The CATALOGEXPLORER augments the frame-based search technique
  192.         provided by the HELGON system   with the following mechanisms
  193.         for retrieving from the catalog, design objects relevant to the
  194.         task at hand:
  195.  
  196.   
  197.  
  198. ordering  design  examples  by  computed   appropriateness
  199.              values  based on the current specification (   retrieval from
  200.              specification ).
  201.  
  202.            analyzing the current construction and retrieving  similar
  203.              examples from the catalog (   retrieval from construction ).
  204.  
  205.  
  206.  
  207.            Retrieval  from  Specification.     CATALOGEXPLORER  provides  a
  208.         questionnaire  type   specification   component   that   allows
  209.         designers to specify requirements to their current task, at the
  210.         level of a problem domain.  These requirements relate to    hidden
  211.         features  of a design.  Hidden features are related to functions
  212.         of the design rather than low-level or surface  structure 
  213.      .
  214.         For retrieving design objects by hidden feature specifications,
  215.         the system must have the domain  knowledge  for  mapping  those
  216.         features onto the surface structure.
  217.           Such domain knowledge is represented by:
  218.  
  219.   
  220.  
  221.    specification-linking  rules   that  link  each subjective
  222.               hidden feature specification item to  a  set  of  surface
  223.               condition  rules  (in  the  integrated  environment, this
  224.               domain knowledge can be derived from the content  of  the
  225.               argumentation base; see Figure 2).
  226.  
  227.     a  metric  that computes an    appropriateness  value of each
  228.               design example in the  catalog  in  terms  of  a  partial
  229.               specification   for   dealing   with   trade-offs   among
  230.               contradictory specifications (the  system  then  reorders
  231.               the examples according to those computed values).
  232.  
  233.  
  234.  
  235.  
  236.   
  237.  
  238.    
  239.     
  240.  
  241.           For  example, suppose a designer wants to create a program to
  242.         plot the results of two persons playing one-on-one  basketball.
  243.         The designer first specifies some of the requirements using the
  244.         specification sheet provided by CATALOGEXPLORER, such as ``   need
  245.         to   illustrate  the  correlation  of  the  two  values ''  (see
  246.         Figure 2).  The system uses domain knowledge in the form  of  a
  247.         specification   rule,   ``   illustrating   correlation   requires
  248.         horizontal and vertical axes and a diagonal line. '' Using  this
  249.         knowledge,  the  system searches the stored example programs in
  250.         the catalog which  have  those  characteristics.    The  search
  251.         yields  as  the  most appropriate one, for instance, an example
  252.         program that plots the results of two people playing squash.
  253.  
  254.  
  255.    Retrieval from Construction. 
  256. For  retrieving  design  examples
  257.         relevant  to  a  partial  construction,  one must deal with the
  258.         issues of matching design examples in terms of surface features
  259.         of   a   design,   namely,   at   a   structural  level.    Two
  260.            domain-specific parsers  analyze the design  under  construction
  261.         by  articulating  types of design components being used at LISP
  262.         structure level, and  at  graphics  semantic  level.  Then  the
  263.         system retrieves design examples from the catalog each of which
  264.         has the same set of types of design components in  one  of  the
  265.         two structure, according to a users' request.
  266.  
  267.  
  268.   Related Work 
  269.  
  270.         The   primary  uniqueness  of  our  work  is  our  emphasis  on
  271.         ``   human-centeredness. ''  For  example,   the   LaSSIE   project
  272.           
  273.     overlaps  with our approach in using a knowledge-base for
  274.         supporting software reuse. However, while  the  LaSSIE  project
  275.         stresses the knowledge base foremost in terms of its structure,
  276.         representation, and access methods,  we  stress  capturing  the
  277.         user's task at hand by supporting requirement specification and
  278.         design construction  concurrently,  and  retrieving  pre-stored
  279.         design  objects  in terms of that task.  Several software reuse
  280.         systems maintain representations of what I have referred to  as
  281.         the higher-level requirement specification.  They, however, use
  282.         formal, automated techniques to produce new programs and do not
  283.         support  humans  thinking  in  a  natural  manner 
  284.      . As
  285.         designers' understanding  of  potential  reuse  components  and
  286.         examples  increases, they are able to modify their requirements
  287.         and  the  solution  design  accordingly 
  288.      .    From   the
  289.         information  retrieval  perspective, searching a catalog in the
  290.         integrated design environment raises many issues in common with
  291.         retrieval  in  case-based reasoning.  Our approach addresses an
  292.         indexing  problem    by  combining  abstract   and   surface
  293.         features,  using  the  specification-linking rules that support
  294.         analogical matching  that  is  similar  to     systematicity-based
  295.         matching   .
  296.  
  297.  
  298.    Curt 91a 
  299.  
  300.              B. Curtis, ``The  Psychology  of  Software  Development'',
  301.              Tutorial  Presented  at  Conference  on  Human  Factors in
  302.              Computing Systems, CHI'91 (New Orleans, LA)
  303.  
  304.              R. Dawkins,    The Blind Watchmaker , W.W. Norton and Company,
  305.              New York - London, 1987.
  306.  
  307.              P.  Devanbu,  R.J.  Brachman, P.G. Sefridge, B.W. Ballard,
  308.              ``LaSSIE: A Knowledge-Based Software Information System'',
  309.                 Communications  of  the  ACM , Vol.  34, No.  5, 1991,  pp.
  310.              34-49.
  311.  
  312.              G.  Fischer,  A.C.  Lemke,  R.  McCall, A. Morch, ``Making
  313.              Argumentation    Serve    Design'',        Human     Computer
  314.              Interaction , 1991, (in press)
  315.  
  316.              G. Fischer,  A.  Girgensohn,  K.  Nakakoji,  D.  Redmiles,
  317.              ``Supporting  Software  Designers with Integrated, 
  318.          Domain-Oriented  Environments'',     IEEE  Transactions  on  Sofware
  319.              Engineering,  Special  Issue on ``Knowledge Representation
  320.              and Reasoning in Software Engineering'' , 1991, (submitted)
  321.  
  322.              G.  Fischer,  S.R.  Henninger,  D.F. Redmiles, ``Cognitive
  323.              Tools for Locating and Comprehending Software Objects  for
  324.              Reuse'',     Thirteenth  International Conference on Software
  325.              Engineering (Austin, TX) ,  IEEE  Computer  Society  Press,
  326.              ACM, IEEE, Los Alamitos, CA, 1991, pp. 318-328.
  327.  
  328.              G.  Fischer,  H.  Nieper-Lemke,  ``HELGON:  Extending  the
  329.              Retrieval  by  Reformulation  Paradigm'',    Human Factors in
  330.              Computing Systems, CHI'89 Conference Proceedings  (Austin,
  331.              TX) , ACM, New York, May 1989, pp. 357-362.
  332.  
  333.              G. Fischer, B.N. Reeves, ``Beyond Intelligent  Interfaces:
  334.              Exploring,   Analyzing  and  Creating  Success  Models  of
  335.              Cooperative  Problem  Solving'',      Applied   Intelligence,
  336.              Special Issue Intelligent Interfaces , 1991, (in press)
  337.   
  338.              W.B.  Frakes,   P.B.   Gandel,   ``Representing   Reusable
  339.              Software'',      Information  and  Software  Technology , Vol.
  340.              32, No. 10, December 1990, pp. 653-664.
  341.  
  342.              J.S.  Gero,  ``A Locus for Knowledge-Based Systems in CAAD
  343.              Education,''   in      The    Electronic    Design    Studio ,
  344.              M.  McCullough et al., eds., Cambridge, MA: The MIT Press,
  345.              1990, pp. 49-60.
  346.  
  347.              F.G.  Halasz, ``Reflections on NoteCards: Seven Issues for
  348.              the   Next    Generation    of    Hypermedia    Systems'',
  349.                 Communications  of the ACM , Vol. 31, No. 7, July 1988, pp.
  350.              836-852.
  351.  
  352.              J.L.  Kolodner,  ``What  is  Case-Based  Reasoning?'',  In
  353.              AAAI'90 Tutorial on Case-Based Reasoning, pp. 1-32
  354.  
  355.              D.  Navinchandra,  ``Case-Based  Reasoning  in  CYCLOPS'',
  356.                 Proceedings:      Case-Based      Reasoning      Workshop ,
  357.              J.  Kolodner,ed.,  Morgan  Kaufmann Publishers, Clearwater
  358.              Beach, FL, May 1988, pp. 286-301.
  359.  
  360.              J.M.  Neighbors,  ``The  Draco  Approach  to  Constructing
  361.              Software from Reusable Components'',    IEEE Transactions  on
  362.              Software  Engineering , Vol.  SE-10, No. 5, September 1984,
  363.              pp. 564-574.
  364.  
  365.              H.B.  Reubenstein,  ``Automated  Acquisition  of  Evolving
  366.              Informal Descriptions'', Tech. report, MIT, 1990.
  367.  
  368.              H.W.J.  Rittel,  ``Second-Generation  Design Methods,'' in
  369.                 Developments in Design Methodology ,  N.  Cross,  ed.,  New
  370.              York: John Wiley   Sons, 1984, pp. 317-327.
  371.  
  372.              D.A. Schoen,     The  Reflective  Practitioner:  How  Profes-
  373.              sionals Think in Action , Basic Books, New York, 1983.
  374.  
  375.              H.A. Simon, ``The Structure of Ill-Structured  Problems'',
  376.                 Artificial Intelligence , No. 4, 1973, pp. 181-200.
  377.  
  378.              H.A. Simon,    The Sciences of the Artificial , The MIT Press,
  379.              Cambridge, MA, 1981.
  380.  
  381.              W.R. Swartout, R. Balzer, ``On the Inevitable Intertwining
  382.              of  Specification  and Implementation'',    Communications of
  383.              the ACM , Vol. 25, No. 7, July 1982, pp. 438-439.
  384.  
  385.  
  386.  
  387.   About the Author 
  388.  
  389.  
  390.         Kumiyo Nakakoji received her B.A. degree  in  computer  science
  391.         from  Osaka  University,  Japan, in 1986 and her M.S. degree in
  392.         computer science from the University of Colorado,  Boulder,  in
  393.         1990.  She  is  currently  a Ph.D. student in the Department of
  394.         Computer Science and the  Institute  of  Cognitive  Science  at
  395.         University  of  Colorado,  Boulder.  Her  studies are sponsored
  396.         through a scholarship from Software Research Associates,  Inc.,
  397.         Japan, where she has been an employee since 1986.
  398.           Ms.  Nakakoji  is  a  member  of Human Computer Communication
  399.         group led by Prof.  Gerhard  Fischer.  Her  research  interests
  400.         include  human-computer communication, artificial intelligence,
  401.         knowledge-based design environments, case-based reasoning,  and
  402.         software   design.   Her   dissertation  title  is  "Delivering
  403.         Case-based Information in Knowledge-based Design Environments."
  404.  
  405.  
  406.  
  407.  
  408.