Last update: Sun Aug 5 02:03:07 MDT 2018
@Article{Heineman:2000:MDA,
author = "George T. Heineman",
title = "A model for designing adaptable software components",
journal = j-SIGSOFT,
volume = "25",
number = "1",
pages = "55--56",
month = jan,
year = "2000",
CODEN = "SFENDP",
DOI = "https://doi.org/10.1145/340855.340956",
ISSN = "0163-5948 (print), 1943-5843 (electronic)",
ISSN-L = "0163-5948",
bibdate = "Wed Aug 1 17:13:50 MDT 2018",
bibsource = "http://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
abstract = "An important aim of software engineering is to produce
reliable and robust software systems. As software
systems grow in size, however, it becomes infeasible to
design and construct software systems from scratch.
Most software developers are familiar with reusing code
from component libraries to speed up tedious
programming tasks, such as constructing graphical user
interfaces. However, it is still an elusive goal to
construct applications entirely from pre-existing,
independently developed components. We believe that
such component-based development will only occur when
application builders can adapt software components to
suit their needs. The goal of this research is to
develop novel techniques for designing software
components that provide a mechanism for adapting their
behavior. We aim to achieve higher levels of component
use/reuse than existing approaches for reusing software
components. The Active Interface technique we propose
enables software components to provide two interfaces
--- one for behavior and one for adapting that behavior
as needed. We make a distinction between software
evolution, where the component designer modifies the
software component, and adaptation, where an
application builder adapts the component for a
different use. We also differentiate adaptation from
customization; an end-user customizes a software
component by choosing from a fixed set of options. An
end-user adapts a software component by writing new
code to alter existing functionality.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGSOFT Software Engineering Notes",
journal-URL = "https://dl.acm.org/citation.cfm?id=J728",
}