0018-9162/00/$10.00 © 2000 IEEE 78 Computer
The Koala Component
Model for Consumer
Electr onics Softw ar e
M
ost consumer electronics today contain
embedded software. In the early days,
developing CE software presented rela-
tively minor challenges, but in the past
several years three significant problems
have become apparent:
• The size and complexity of the software in indi-
vidual products are increasing rapidly. Embedded
software roughly follows Moore’s law, doubling
in size every two years.
• The required diversity of products and their soft-
ware is increasing rapidly.
• Development time must decrease significantly.
What does all this embedded software do? At first,
it provided only basic control of the hardware. Since
then, some of the signal and data processing has shifted
from hardware to software. Software has made new
product features possible, such as electronic pro-
gramming guides and fancy user interfaces. The latest
trends show a merging with the computer domain,
resulting in services such as WebTV.
No longer isolated entities, CE products have
become members of complex product-family struc-
tures. These structures exhibit diversity in product fea-
tures, user control style, supported broadcasting
standards, and hardware technology—all factors that
increase complexity.
Today’s dynamic CE market makes it impossible to
wait two years between the conception and introduc-
tion of a new product. Instead we must create new
products by extending and rearranging elements of
existing products. The highly competitive market also
requires us to keep prices low, using computing hard-
ware with severely constrained capabilities.
THE CHALLENGE
How can we handle the diversity and complexity of
embedded software at an increasing production speed?
Not by hiring more software engineers—they are not
readily available, and even if they were, experience
shows that larger projects induce larger lead times and
often result in greater complexity. We believe that the
answer lies in the use and reuse of software components
that work within an explicit software architecture.
Why softwar e components?
Software reuse lets us apply the same software in
different products, which saves product-development
effort. Software reuse has been a goal for some time.
1
The classical approach of defining libraries can be
highly successful in limited domains, such as scientific
and graphical libraries. However, while stimulating
low-level code reuse, libraries do not help much in
managing the similarities and differences in the struc-
ture of applications.
Developers devised object-oriented frameworks to
create multiple applications that share structure and
code.
2
The framework provides a skeleton that they
can specialize in different ways. This approach makes
application development faster, as long as the appli-
cations share similar structures. But changing the
structure significantly is difficult because it is embed-
ded in the framework. Also, a strong and often
undocumented dependency exists between compo-
A component-oriented approach is an ideal way to handle the diversity of
software in consumer electronics. The Koala model, used for embedded
software in TV sets, allows late binding of reusable components with no
additional overhead.
Rob van
Ommering
Frank van der
Linden
Philips
Research
Laboratories
Jeff Kramer
Jeff Magee
Imperial
College,
London
RESEARCH FEATURE