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 / wisr6 / proceedings / ascii / whittle.ascii < prev    next >
Text File  |  1993-10-19  |  19KB  |  407 lines

  1.  
  2.  
  3.  
  4.  
  5. Criteria  for  Evaluating  Reuse  Supp ort  in  Education  Courses
  6.  
  7.  
  8.  
  9.                                              Ben R. Whittle
  10.  
  11.  
  12.  
  13.              Dept. of Computer Science, University of Wales, Aberystwyth,
  14.  
  15.                                                Aberystwyth
  16.  
  17.                                             Dyfed, Wales, UK
  18.  
  19.                                          Tel:  (+44) 970 622450
  20.  
  21.                                         Fax: (+44) 970 622455
  22.  
  23.                                         Email: brw@aber.ac.uk
  24.  
  25.  
  26.  
  27.                                                   Abstract
  28.  
  29.  
  30.     This position paper discusses the criteria that could be used to examine support techniques
  31. for a reuse course based upon traditional lecturing principles. A prototype environment is de-
  32. scribed that is being developed to support reuse courses at UW Aberystwyth. This development
  33. is part of the larger TIPSE teaching environment project.
  34.  
  35.  
  36. Keywords:  Component Reuse, Component Description, Technology Transfer, Reuse Educa-
  37. tion.
  38.  
  39.  
  40. Workshop Goals: Attendance of the workshop will provide me with the opportunity to ascer-
  41. tain and understand the state of the art in reuse research and practice. I will be able to bring
  42. this knowledge to bear on my own research, the projects I am involved in, and report it to the
  43. UK through the British Computer Society Special Interest Group on Reuse, who's newsletter
  44. I edit.  The workshop will give me a chance to explain and obtain feedback on the ideas in my
  45. PhD thesis which has recently been submitted.
  46.  
  47.  
  48. Working Groups:  Design guidelines for reuse, Reuse andOO  methods, Tools and environ-
  49. ments, Education.
  50.  
  51.  
  52.  
  53.                                                  Whittle- 1
  54.  
  55.  
  56. 1      Background
  57.  
  58.  
  59.  
  60. The University of Wales,  Aberystwyth (UWA) has a long record of reuse research including the
  61. Alvey funded project ECLIPSE [1], and the European Esprit funded project DRAGON [2]. Part of
  62. this work at UWAincluded that of Gautier, Ratcliffe and Shah on component description languages
  63. [3, 4 ]. UWAinvolvement in environments research hasb een particularly influential in the formation
  64. of a teaching environment project,the TIPSE [5 , 6]. The work in my PhDthesis combines these two
  65. fields, looking at the design of an appropriate a component description language, which I call the
  66. Component Interface DEscriptoR (CIDER), and an asso ciated toolset thatcould b e used as a way
  67. of introducing students to the ideas of reuse. Rather than being an academics toy, this language,
  68. based on the 3C model of the reusable component [7, 8 , 9 ], provides an interesting insight into the
  69. use of object-oriented software description for reuse.
  70.  
  71.  
  72. In  recent  years, reuse  education  has  become  an  important  issue.  At  the  1992  Reuse  Education
  73. Workshop, Mosemann [10 ] made thecomment that reuse education is:
  74.  
  75.  
  76.  
  77.        one of our major hurd if reuse is to become common in the lifecycle of our systems.
  78.  
  79.  
  80.  
  81. In a similar way to reuse itself, two schools have developed; these can be termed `education with
  82. reuse'  and  `education  for  reuse'.  That  is, should  people  be  taught  reuse  as  part  of  the  existing
  83. modules, or should reuse be taught separately.  A lack of agreement on definitions and the turbulen
  84. of an evolving discipline only add to this debate. The position presented in this paper stems from
  85. ideas  formulated  during  the  development  of  a  reuse  technique  suitable  for  both  education  with
  86. reuse and education for reuse.
  87.  
  88.  
  89. Rather than describe the development of the CIDERlanguage and its environment, a subject that
  90. will be covered in other academic publications, this position paper will be used to outline:
  91.  
  92.  
  93.  
  94.     ffla set of pragmatic guidelines for choosing techniques to be used in reuse education,
  95.  
  96.  
  97.     fflthe reasons why I think that a component description language and its asso ciated environment
  98.        is particularly appropriate for this.
  99.  
  100.  
  101.  
  102. 2      Position
  103.  
  104.  
  105.  
  106. 2.1     Capturing Reuse Principles for Education
  107.  
  108.  
  109.  
  110. This section discusses the criteria that could be used to examine support techniques for a reuse
  111. course based upon traditional lecturing principles. These criteria are summarised at the end of the
  112. section.
  113.  
  114.  
  115. In an educational environment specialising in the training ofsoftware engineers, it is important
  116. to stress the underlying principles of programming over and above the practice and idiosyncrasy
  117. of  one  language  or  method.  These  principles  can  be  reinforced  by  practical  use  and  experience
  118. of example techniques.  The example technique must transparently embody the principles of the
  119. research. It would also be an advantage if the techniquewas widely used in practice and contained
  120. state_of_the_art_research_work1.___________________
  121.    1 It is unlikely that a language that is widely used will contain recent research.
  122.  
  123.  
  124.  
  125.                                                         Whittle- 2
  126.  
  127.  
  128. In industrial use a reuse language that is used as part of a design process or metho d must have
  129. (Krueger [11 ]) as small a cognitive distance as possible. Cognitive distance is the amountof intel-
  130. lectual effort that a software designer needs to understand a software system so that, for example,
  131. it may be taken from one stage of development to the next.  Cognitive distance is correlated to
  132. the reusability of a component. The idea of understandability can also be applied to the descrip-
  133. tion  language  itself, that  is  the  language  should  itself  present  little  problem  for  the  student  to
  134. understand.
  135.  
  136.  
  137. Having said that the principles of reuse are abstract,it is necessary to demonstrate these principles
  138. through  an  exemplary  concrete  medium, in  this  case  the  reuse  language.   The  area  chosen  to
  139. demonstrate a technique should be complete or a conceptually complete subset of a larger model.
  140. It should build on existing techniques, for example using the language with which the students are
  141. most familiar. Students must be able to see that the technique is of use. To satisfy this lattergoal
  142. the technique should be appropriate for use within small projects. For example, a student should
  143. be able to reuse components or groups of components using the techniqueand follow this through
  144. to the implementation languages with which he is familiar.
  145.  
  146.  
  147. Languages are an area that the student/engineer understands as most of their practical experience
  148. will involve the use of programming languages that are used to `describe' or implement algorithms.
  149. One could argue that a language based component description technique could be used to represent
  150. software for reuse. Indeed the language used could be the same as that used in practical program-
  151. ming  exercises, however  it  is  widely  agreed  that,  as  Cramer  et al.   state in  [12 ],  programming
  152. languages are not suitable for component description for reuse.
  153.  
  154.  
  155. In summary, the technique used to encourage reuse should:
  156.  
  157.  
  158.  
  159.     ffltransparently embody the principles of reuse,
  160.  
  161.  
  162.     fflideally be widely used in practice and contain state of the art research work,
  163.  
  164.  
  165.     fflnot be at the implementation level,
  166.  
  167.  
  168.     fflbe easy to understand in itself,
  169.  
  170.  
  171.     fflpresent a complete, workable system,
  172.  
  173.  
  174.     fflrelate to the students' other work, and thus demonstrate the applicability of reuse.
  175.  
  176.  
  177.  
  178. 2.2     A  Component  Description  Language  &  Environment  as  an  Example  of
  179.  
  180.         Reuse
  181.  
  182.  
  183.  
  184. In this section I describe a prototype environment that is being developed to support reuse courses
  185. at UW Aberystwyth. This development is part of the larger TIPSE teaching environment project.
  186.  
  187.  
  188. The approach to reuse education proposed in this position statement is atraditional lecture course
  189. backed up with practicals. I envisage a lecture course covering the key principles of reuse at different
  190. levels of the lifecycle, together with an explanation of the tools and techniques that can b eused
  191. to achieve this. This course would be applicable to advanced undergraduates, postgraduates and
  192. could be collapsed into a one week intensive course for industry.
  193.  
  194.  
  195. The component description environment will be used as the practical element of the course.  This
  196. gives the course participant the chanceto use some of the tools and techniques, learning their use
  197.  
  198.  
  199.                                                         Whittle- 3
  200.  
  201.  
  202. first  hand.  The  most  important  part  of  the  environment  is  support  for  a  design  level  language
  203. for component description. Using the design level ensures that the student does not immediately
  204. think  of  the  reusable  component  as  source  code,  but  as  a  representation  of  an  idea,  and  as  a
  205. relationship between a set of other ideas. Around this central reusable component representation
  206. and it's associated editor, there are reuse tools allowing the reuser to browse, select and edit reusable
  207. components in textual and graphical form. Finally there are a series of source code language editors
  208. and translation programs allowing a mapping too and from the design level description.
  209.  
  210.  
  211. Going back to the summary in the section above, we can see how the component description and
  212. environment I have just describ ed willprovide a support for reuse education.
  213.  
  214.  
  215.  
  216.     ffltransparently  embody  the  principles  of  reuse.  The principles of reuse are perhaps a
  217.        matter of philosophical debate.  However the language I have briefly introduced implements
  218.        the 3C model of the reusable component, and the environment contains tools which display
  219.        the key ideas of reuse, cataloging, browsing, selecting, and configuring components.
  220.  
  221.  
  222.     fflideally be widely used in practice and contain state of the art research work. The
  223.        environment is extensible and can therefore contain both those tools and techniques widely
  224.        used in practice together with recent research.
  225.  
  226.  
  227.     fflnot be at the implementation level. The component language is at the design level.
  228.  
  229.  
  230.     fflbe easy to understand in itself.  The comp onent description language has been designed
  231.        to be orthogonal,  with a relatively small set of constructs.  Each language mechanism and
  232.        construct has a well defined syntax and distinct semantic purpose.
  233.  
  234.  
  235.     fflpresent  a  complete, workable  system.  The combination of the component description
  236.        language with the environment tools gives a complete solution. The small scale of the toolset
  237.        insulates the student from the learning curve of larger industrial strength environments.  The
  238.        environment has a similar look and feel to the support environment that the studentswill
  239.        have used on other courses.
  240.  
  241.  
  242.     fflrelate  to  the  students'  other  work,  and  thus  demonstrate  the  applicability  of
  243.        reuse.  The provision of the mapping programs enable a student to transfer the component
  244.        descriptions into implementation language scripts, in our caseC++ and Ada.  This translation
  245.        enables the student to relate the design level reuse work to source code in languages that they
  246.        know and understand. The ability to produce more than one language is an advantage,clearly
  247.        demonstrating that reuse is not language specific, and enabling students to see therelationship
  248.        between semantically similar mechanisms in different languages.
  249.  
  250.  
  251.  
  252. 3      Comparison
  253.  
  254.  
  255.  
  256. In the sections above I have presented my ideas for the evaluation of reuse course support material,
  257. and  suggested  one  approach  to  this  problem, a  component  description  language  with  a  support
  258. environment. In this section I will briefly discuss some of the other approaches to reuse education.
  259. A direct technical comparison is not possible as the approaches differ in themetho d ofteaching.
  260. This comparison serves to highlight the differences b etween the approaches, and the reason for my
  261. position.
  262.  
  263.  
  264. The  failure  to  adopt  a  widespread  practice  of  software  reuse  must  in  part  be  attributed  to  the
  265. educators. The education of tomorrows software engineers musttread a fine line between educating
  266.  
  267.  
  268.                                                         Whittle- 4
  269.  
  270.  
  271. for  the  tools  and  skills  of  today, and  enlightening  and  explaining  the  techniques  of tomorrow.
  272. Despite the large body of research into reuse and the large number of pro jects inthis area (see
  273. [13 ,  section  1.3]  for  example),  there  is  only  evidence  of  a  few  entire  course  modules  devoted  to
  274. reuse.  For example, Gray [14 ] talks about a practical course, using Ada for reuse based software
  275. engineering.   However  the  majority  of  courses  are  for  advanced  students, such  as  the  seminar
  276. module run by Bill Frakes atthe Software Engineering Guild.  This is similar to the module at
  277. the Norwegian Institute of Technology in Trondheim [15 ], resulting from their involvement in the
  278. REBOOT project.   Another is  a  nine  lecture  course  module  at  the  University  of  Durham, that
  279. concerns Software Design and Reuse 2.  Other courses mention reuse,  in passing,  but with little
  280. practice of the techniques.  Whilst it is certain that the methods and models necessary to teach
  281. reuse  provide  a  wealth  of  available  and  acceptable  material,  see  [16 ]  for  example,  reuse  course
  282. modules do not exist. This is due, in part, to the lack of industrial acceptance of reuse, but must
  283. surely be short sighted in educational terms.
  284.  
  285.  
  286. The  position  taken  here  is  that  a  traditional  approach  with  lecture  courses  will  be  necessary  in
  287. some institutions and for industry,where the aim of the course is to relay information rather than
  288. encourage debate.  This lecture based approach will not be sufficient without a supporting base
  289. of practical examples of reuse.  These practical examples can b e offered as part of an integarted
  290. teaching environment, reducing the students learningcurve and encouraging reuse as a standard
  291. part of the programming experience.
  292.  
  293.  
  294. One of the key arguements that many people raise against reuse education is that the reuse domain
  295. is not yet mature or well enough defined to support this.  I submit that at the level of detailed
  296. design and component reuse, which has been developing for over 25 years, the domain is mature
  297. enough to support a the development of a course in the fundamentals of reuse.
  298.  
  299.  
  300.  
  301. References
  302.  
  303.  
  304.  
  305.   [1] M.  F.  Bott,  ed.,  Eclipse  _  An  Integrated  Project  Support  Environment.   Peter Pereginus,
  306.       Stevenage, England, 1989.
  307.  
  308.  
  309.   [2] A. DiMaio, C. Cardigno, R. Bayan, C. Destombes, and C. Atkinson, "DRAGOON _ An Ada
  310.       based object-oriented language for concurrent, real time, distributed systems," in Proceedings
  311.       of Ada Europe Conference, Madrid, 1989.
  312.  
  313.  
  314.   [3] M. Ratcliffe, C. Wang, R. Gautier, and B. Whittle, "Dora _ a structure oriented environment
  315.       generator," IEE BCS Software Engineering Journal, vol. 7, May 1992.
  316.  
  317.  
  318.   [4] I. Shah, Abstract Specifications & Programming Language Bindings. PhD thesis, University of
  319.       Wales, Aberystwyth, 1990.
  320.  
  321.  
  322.   [5] M. Ratcliffe, M. Bott, T. Stotter-Brooks, and B. Whittle, "The TIPSE: An IPSEfor teaching,"
  323.       BCS/IEE Software Engineering Journal,vol. 7, September 1992.
  324.  
  325.  
  326.   [6] M. Ratcliffe,  B. R. Whittle,  M. Bott,  and T. Stotter-Brooks,  "The TIPSE: An educational
  327.       support environment," in The 11th Annual National Conference on Ada Technology, Williams-
  328.       burg, VA, pp. 97-111, March 15-18th 1993.
  329. ___________________________________________________2
  330.      This description of Boldyreff's course is taken from a news message in a summary to a request for reuse textbooks
  331. posted by news@cybernet.cse.fau.edu on 12th February1993
  332.  
  333.  
  334.  
  335.                                                         Whittle- 5
  336.  
  337.  
  338.   [7] W. Tracz, "The impact of domain analysis onsoftware reuse," in First International Work-
  339.       shop on Software Reusability, Dortmund, Germany, Universit{t Dortmund SWT memo Nr.57,
  340.       pp. 180-186, 1991.
  341.  
  342.  
  343.   [8] W. Tracz, Formal Specification of Parameterized Programs in LILEANNA. PhD thesis, Stan-
  344.       ford University, to app ear, 4thdraft 1992.
  345.  
  346.  
  347.   [9] L. Latour, T. Wheeler, and B. Frakes, "Descriptive and prescriptive aspects of the 3Cs model:
  348.       Seta1 working group summary," in Proceedings of the Third Annual Workshop, Methods and
  349.       tools for Reuse, CASE Centre Technical Report number 9014, Syracuse University, June1990.
  350.  
  351.  
  352. [10]  L. Mosemann, "The reuse challenge: Education," in Proceedings of the Reuse EducationWork-
  353.       shop, 23-24th September 1992, pp. 12-17, Septemb er 1992.
  354.  
  355.  
  356. [11]  C. Krueger, "Software reuse," ACM Computing Surveys, vol. 24, June 1992.
  357.  
  358.  
  359. [12]  J. Cramer, W. Fey, M. Goedicke, and M. Grobe-Rhode, "Towards a formally based comp onent
  360.       description language _ a foundation for reuse.," Structured Programming, vol. 12, pp. 91-110,
  361.       1991.
  362.  
  363.  
  364. [13]  J. Hooper and R. Chester, Software Reuse: Guidelines and Methods. Plenum Press, 1991.
  365.  
  366.  
  367. [14]  J. Gray, "Teaching the second computer science course in a Reuse based setting," in The 11th
  368.       Annual National Conferenceon Ada Technology, Williamsburg, VA, pp. 38-45, March 15-18th
  369.       1993.
  370.  
  371.  
  372. [15]  G. Sindre, E.-A. Karlsson, and T. S. lhane, "Software reuse in an educational perspective,"
  373.       in Proceedings  of  the  6th  International  Conference  on  Software  Engineering  Education, San
  374.       Diego, 5-7 Oct., Springer Verlag, 1992.
  375.  
  376.  
  377. [16]  F. VanScoy, "Software reuse in computer science courses, working group summary," in Pro-
  378.       ceedings of the Reuse Education Workshop, 23-24th September 1992,  pp. 21-29,  September
  379.       1992.
  380.  
  381.  
  382. [17]  R. Prieto-Diaz, W. Sch{fer, J. Cramer, and S. Wolf, eds., First International Workshop on
  383.       Software Reusability,  Dortmund, Germany,  Universit{t Dortmund SWT memo Nr.57,  June
  384.       3-5th 1991.
  385.  
  386.  
  387. [18]  C. Lillie,  "Proceedings of the reuse education workshop, 23-24th september 1992," tech. rep.,
  388.       West Virginia University, January 27th 1993.
  389.  
  390.  
  391.  
  392. 4      Biography
  393.  
  394.  
  395.  
  396. Ben Whittle graduated in Agricultural Economics from UW Aberystwyth in 1989.  He subse-
  397. quently  completed  a  masters  in  Computer  Science  and  was  invited  to  proceed  to  research  for  a
  398. PhD in  Software  Engineering.  Foremost  among  Mr  Whittle's  research  interests are  comp onent
  399. reuse and reuse education, these subject provide the basis of hisrecently submitted PhD thesis. He
  400. is also interested in teaching support, and has been activein the development of the Aberystwyth
  401. teaching environment, the TIPSE. Mr Whittle is a member of the British Computer Society Reuse
  402. special interest group committee and the editor of the group newsletter.
  403.  
  404.  
  405.  
  406.                                                         Whittle- 6
  407.