The University of Wales, Aberystwyth (UWA)
has a long record of reuse research including the Alvey
funded project
ECLIPSE [#!eclipse!#], and the European Esprit funded project DRAGON
[#!DRAGOON89!#]. Part of this work at UWA included that of Gautier,
Ratcliffe and Shah on component description languages [#!ratcliffe!#,#!shah!#].
UWA involvement in environments research has been particularly influential
in the formation of a teaching environment project, the TIPSE
[#!tipse_paper!#,#!tipse_ada!#].
The work in my PhD thesis combines these two fields, looking at
the design of an appropriate a component description language, which I
call the Component Interface DEscriptoR (CIDER), and
an associated toolset
that could be used as a way of introducing students to the ideas of reuse.
Rather than being an academics toy, this language, based on the 3C
model of the reusable component [#!tracz!#,#!tracz_lileanna!#,#!latour!#],
provides an interesting insight
into the use of object-oriented software description for reuse.
In recent years, reuse education has become an important issue.
At the 1992 Reuse Education
Workshop, Mosemann [#!mosemann!#] made the comment that reuse education
is:
one of our major hurd if reuse is to become common in the lifecycle
of our systems.
In a similar way to reuse itself, two schools have developed;
these can be termed
`education with reuse'
and `education for reuse'. That is, should people be taught reuse as
part of the existing modules, or should reuse be taught separately.
A lack of agreement on
definitions and the turbulen of an evolving discipline only
add to this debate. The position presented in this paper
stems from ideas formulated during the development of a reuse technique
suitable for both education with reuse and education for reuse.
Rather than describe the development of the CIDER language and its
environment, a subject that will be covered in other academic publications,
this position paper will be used to outline:
- a set of pragmatic guidelines for choosing techniques to be used in
reuse education,
- the reasons why I think that a component
description language and its associated environment
is particularly appropriate for this.