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 / wisr7 / workshop / WISR93-report / kitswg.tex < prev    next >
Text File  |  1995-08-19  |  12KB  |  321 lines

  1. %Last change 1/5/94
  2. %Group Leaders: Martin Griss, HP Laboratories
  3. %               Kevin Wentzel, HP Laboratories
  4. %
  5. %Scope:  This group will explore the hypothesis that high-payoff hybrid
  6. %reuse (combination of compositional and generative reuse) can be
  7. %systematically addressed in the form of domain-specific kits
  8. %(comprised of compatible, domains-specific frameworks, components,
  9. %glue language and supporting tools).  The leaders will describe HP's
  10. %proposed development process incorporating ``domain engineering'' and
  11. %``kit engineering'', and will refine by comparison with participants'
  12. %processes.  We will bring forth issues relating to how domain
  13. %analysis, modeling and engineering need to be constructed so as to
  14. %lead effectively to hybrid reuse, and collect other issues identified
  15. %by participants will be discussed.  Our prototype framework for kit
  16. %comparison (openness, extensibility, completeness, use and consumer
  17. %style, ...)  will be used to collect and compare participants case
  18. %study experience.  We solicit other such comparative frameworks from
  19. %participants.  We will build on some of the discussion of the Domain
  20. %Engineering Workshop at WISR'92.  Participants should prepare by:
  21. %studying material on kit process and framework, (attempting to)
  22. %describe one case study, and gathering other ``kit'' comparative
  23. %frameworks for discussion.
  24. %
  25. %Goals:
  26. %       o Describe kits concepts, methods and process
  27. %       o Review and update framework for comparing kits
  28. %       o Gather case-studies in different domains, compare using
  29. %         framework
  30. %       o Identify key process  and technology issues
  31. %------------------------------------------------------------------------
  32.  
  33. %WISR Working Group Report: Hybrid Reuse with Domain-Specific Kits
  34. %
  35. %
  36. \subsection*{Introduction: What is a Hybrid Kit}
  37.  
  38. The goal of this group was to explore the hypothesis that high-payoff
  39. hybrid reuse can be systematically addressed in the form of
  40. domain-specific kits, and that appropriate methods and technology
  41. should be developed to support this integrated approach to delivering
  42. reuse.
  43.  
  44. The leaders first described HP's notion of a kit, meant to be the
  45. ``complete'' and ``coherent'' packaging and delivery of (several
  46. different) reusable work products to simplify application building.  A
  47. kit is comprised of compatible, domain-specific frameworks, components,
  48. glue language and supporting tools.  The notion of ``hybrid kits'' was
  49. discussed in the domain-engineering WG at WISR'92.  We built on this
  50. work by describing  kit ``style'' as ranging
  51. from purely compositional to purely generative.  We identified hybrid
  52. reuse, combining compositional and generative reuse, as having the
  53. greatest payoff.  In this mode, generators and builders can be used to
  54. produce a variety of workproducts (such as the glue language,
  55. parameters for components, customized components, and data-tables).
  56.  
  57. We illustrated the concept and range of kits styles by discussion the
  58. Calculator Construction Kit and a prototype HP labs software-bus based
  59. kit for Task-list management.  The group discussed the notions of
  60. frameworks, components and glue languages, which workproducts could be
  61. reusable, where to place the domain-specificity, and the differences
  62. between generators (automated generation or configuration from
  63. specifications) and builders (graphical tools to aid in manual
  64. composition of components).
  65.  
  66. \subsection*{Kit Taxonomy}
  67.  
  68. A prototype kit taxonomy and comparison table from HP was described.
  69. This identifies a variety of kit attributes (such as style,
  70. domain-specificity, openness and completeness), and is intended as a
  71. taxonometric framework to compare the features of kits, and suggest
  72. alternative ways of delivering reusable workproducts.  The use of the
  73. analysis table was illustrated by comparing several systems (such as
  74. Genesis, the Calculator Construction Set, and several HP systems).
  75. Graphs were used to highlight useful clusterings by subsets
  76. of the attributes (openness, completeness and domain-specificity).
  77.  
  78. \subsection*{Kit Development Process}
  79.  
  80. The leaders described HP's proposed development process incorporating
  81. ``domain engineering'' and ``kit engineering'', building on some of the
  82. discussion of the Domain Engineering Workshop at WISR'92.  In the HP
  83. process, domain engineering includes the overlapping phases of domain
  84. analysis, domain design and domain implementation, focusing primarily
  85. on application functionality.  We have introduced a set of parallel
  86. and overlapping phases of kit engineering, called kit analysis, kit
  87. design, and kit implementation, focusing primarily on the style and
  88. technology of application development to be used by kit users,
  89. following a customized application engineering process.  The
  90. discussion brought forth issues relating to how domain analysis,
  91. modeling and engineering need to be constructed so as to lead
  92. effectively to hybrid reuse, how much the various phases of domain
  93. engineering and kit engineering overlap and/or are distinct, how some
  94. domain engineering techniques are now including part of what HP calls
  95. kit engineering and whether it makes sense to split up these
  96. activities at all.
  97.  
  98. Several draft papers on HP Labs notions of kit process and kit concepts
  99. were distributed.  One of these, ``Hybrid domain-specific kits for a
  100. flexible software factory'' by Martin Griss and Kevin Wentzel, will
  101. appear in the proceedings of SAC'94, Phoenix, Arizona, Mar'94.  For
  102. more details or a copy of this paper, contact either of the WG leaders.
  103.  
  104. \subsection*{Case Study Analysis}
  105.  
  106. As homework, and in breakout groups, the working group participants
  107. used the kit analysis table as the starting point to collect
  108. information about 13 kit-like systems.  In
  109. the process, many improvements were identified, and a revised table
  110. was proposed.
  111.  
  112. As motivation for developing, and using the table, the following reasons
  113. were suggested; each could motivate a different level of detail:
  114. \begin{itemize}\itemsep -3pt
  115.   \item Sales job -- explain to people why they should kits in general,
  116.                     or a particular kit
  117.  
  118.   \item Start DA of kit styles -- a tool, or reference diagram to allow kit
  119.                            designers to pick mechanisms and styles
  120.                            used as classification/reference
  121.  
  122.    \item Kit selection -- outline of a catalogue of kits, allowing kit-users
  123. to elect
  124. \end{itemize}
  125.  
  126. \subsection*{Original HP Kit Taxonomy Table}
  127. \begin{small}
  128. \begin{table}[t]
  129. %begin{center}
  130. \begin{tabular}{p{1.0in}p{2.5in}}
  131.   Kit Name: & \\
  132.   Domain:   & \\
  133.   Domain Specificity:  &
  134.   How specific to a particular application domain is the kit?\\
  135.   Style:               &
  136.   Are applications built from the kit in a compositional, generative
  137.   or hybrid manner?\\
  138.   Completeness:        &
  139.   Can the complete application be built from the kit?\\
  140.   Openness:            &
  141.   How easy is it to add new functionality to applications developed
  142.   using the kit?\\
  143.   Target User:         &
  144.   Who is expected to use the kit: application developers, system
  145.   integrators, or end users?\\
  146.   Granularity:         &
  147.   How big are the kit components? Range from functions to processes.\\
  148.   Quantity~of pieces:  &
  149.   How many components are there in the kit?\\
  150. \end{tabular}
  151. \end{table}
  152. \end{small}
  153.  
  154. \subsection*{Revised Kit Taxonomy Table}
  155.  
  156. Use as starting point for DA of kits: Collect and analyze information
  157. about various kits, value of features etc.
  158.  
  159. {\bf GENERAL:}
  160. \begin{small}
  161. \begin{verbatim}
  162.  Kit Name:
  163.  Style:
  164.  Purpose:
  165.  Application User:
  166.  Features of Merit:
  167.     (coherence, ease of use, evaluability of
  168.     results, distance from problem space,
  169.     ... "compression")
  170.  
  171.  Notes:
  172.     Interoperability with other kits
  173.     Sub-kits used
  174. \end{verbatim}
  175. \end{small}
  176.  
  177. {\bf ANALYSIS:}
  178. A two dimensional (matrix) model was chosen with kit elements on the
  179. vertical axis and element attributes on the horizontal axis.
  180. \begin{small}
  181. \begin{verbatim}
  182.   "kit elements" (work products list:)
  183.      components
  184.      architecture
  185.      framework
  186.      domain specific language
  187.      glue
  188.      generator
  189.      builder
  190.      tests
  191.      end user document
  192.      maintenance document
  193.      kit use documents
  194.      domain model
  195.      feature set
  196.      rationale
  197.      generic application
  198.      glue language
  199.  
  200.   Element (workproduct) attributes:
  201.      present?
  202.      completeness
  203.      openness
  204.        (includes openness of applications
  205.        and of the kit itself)
  206.      domain specificity
  207.      binding time
  208.      source
  209.        (provided in kit, created,
  210.         written by user)
  211.      Application Engineering Life Cycle stage
  212.        (How/when this element is used? --
  213.         problem, solution, implementation)
  214. \end{verbatim}
  215. \end{small}
  216.  
  217. \subsection*{Kits analyzed by participants}
  218.  
  219. ``Kits'' analyzed include:
  220. \begin{itemize}\itemsep -3pt
  221.  \item  Predator
  222.  \item  Boulder design Environments
  223.  \item  Marvel/Oz
  224.  \item  Robot Control Software
  225.  \item  Personnel Mgt Kit (MGIB)
  226.  \item  MacApp
  227.  \item  CCL
  228.  \item  Process/1 ``Anderson''
  229.  \item  DSSA-ADAGE
  230.  \item  Movement Controller
  231.  \item  PARTS (DEC)
  232.  \item  KIDS
  233. \end{itemize}
  234.  
  235. \subsection*{Revised Kit Process}
  236.  
  237. The discussion on the kit development and use process lead to several
  238. observations and some suggested modifications:
  239. \begin{itemize}\itemsep -3pt
  240.   \item DA constrains kit analysis/design.
  241.   \item KA constrains domain design.
  242.   \item Some methods of DA/DE include parts of KE.
  243.   \item Distinction between DE and KE is fuzzy.  What are some distinct
  244.        work products?
  245. \end{itemize}
  246.  
  247. The working group suggested that there was so little independence in
  248. implementation that separating kit and domain implementation may
  249. not make sense.  The constraint observation lead to a new model of
  250. development in which Domain Analysis and Kit analysis overlap, both
  251. affecting kit and domain design then merging in implementation.
  252.  
  253. {\bf Conclusions}
  254. %\subsection*{Conclusions}
  255.  
  256. \begin{itemize}\itemsep -3pt
  257.   \item Kit Taxonomy table was useful to collect and analyze cases.
  258.   \item Developers could use a table like this to suggest extra elements in kits.
  259.   \item Seems like KE/DE separation has validity.  (There are distinct, yet
  260.   interrelated WP and processes.)
  261. \end{itemize}
  262.  
  263. {\bf Next Steps}
  264. %\subsection*{Next Steps}
  265.  
  266. \begin{itemize}\itemsep -3pt
  267.   \item Kit Taxonomy
  268.   \begin{itemize}\itemsep -3pt
  269.       \item collect and analyze additional kits.
  270.       \item do DA like analysis of kits.
  271.       \item refine as a reference model.
  272.       \item use to find design rules/criteria (for particular reuse scenarios).
  273.       \item develop kit glossary, with terms such as ``kit'', ``framework'',
  274.         ``domain''.
  275.   \end{itemize}
  276.  
  277.   \item Kit Process
  278.   \begin{itemize}\itemsep -3pt
  279.       \item define distinct WP of Domain Engineering and Kit Engineering.
  280.       \item identify steps in domain analysis/engineering process(es)
  281.       as part of DE/KE.
  282.   \end{itemize}
  283.  
  284.   \item Overall
  285.   \begin{itemize}\itemsep -3pt
  286.       \item link Taxonomy \& Process to relate to kit design.
  287.   \end{itemize}
  288. \end{itemize}
  289.  
  290.   Questions and suggestions when the final results were presented at the
  291. plenary included:
  292.  
  293. \begin{itemize}\itemsep -3pt
  294.   \item Need to look at several different kinds of systems.
  295.   \item Are kits distinct from Application Generators or Generic
  296.        Architectures?
  297.   \item Why distinguish DE/KE?
  298.   \item Look at Ed Berard view on Kits, because he used the term before.
  299. \end{itemize}
  300.  
  301. %.0 WG Participants:
  302. %
  303. %    Martin Griss            <griss@hpl.hp.com>,
  304. %    Kevin Wentzel           <wentzel@hpl.hp.com>,
  305. %    W. (Voytek) Kozaczynski <voytek@Andersen.COM>,
  306. %     Sanjay Bhansali         <bhansali@eecs.wsu.edu>,
  307. %     Sholom Cohen            <sgc@SEI.CMU.EDU>,
  308. %     Kurt Wallnau            <wallnau@Cards.COM>,
  309. %     Jim-Qun Ning            <jning@Andersen.COM>,
  310. %     Steve Wartik            <wartik@software.org>,
  311. %     Jeff Thomas             <jthomas@cs.utexas.edu>,
  312. %     Scott Henninger         <scotth@cse.unl.edu>,
  313. %     Satish Thatte           <satish@sun.mcs.clarkson.edu>
  314. %     Robin Burdick           <rburdick@stars.reston.paramax.com>
  315. %     Vivek Singhal           <singhal@cs.utexas.edu>
  316. %     Pam Arya                <parya@grci.com>
  317. %     Lou Coglianese          <lou@vnet.ibm.com>
  318. %     Andrew Tong             <tong@cs.columbia.edu>
  319. %     Elizabeth Hobbs         <hobbs@source.asset.com>
  320.  
  321.