U. Aßmann
This book presents a new, component based way to construct
software systems, "invasive software composition". To improve reuse,
this
method regards software components as greybox and integrates them
during
composition. Then, components are distinct in design, but are merged in
implementations,
leading to highly integrated and more efficient systems. Building on a
minimal
set of program transformations, composition operator libraries can be
developed
that parameterize, extend, connect, mediate, and aspect-weave
components.
Hence, invasive composition unifies several software engineering
techniques
such as generic programming, architecture systems, inheritance,
view-based
programming, and aspect oriented programming (AOP). Since invasive
composition
is centered around a standard language, Java, and a demonstrator
library,
COMPOST, is freely
available, this book provides a wealth of material
for
the system architect in his everyday processes.
Invasive software composition is a method of the
growing
field of "composition systems", component systems that provide a
composition
language. Such systems provide the most general approach to component
based
engineering so far. To show this, the book evaluates and compares
several
approaches of the last 40 years. This makes the book to a compendium
for
component and composition based software engineering.
Reader Comments
Dr. Frank J. Furrer, System Architect,
frank.j.furrer@bluewin.ch
Many of today's
software systems show one or more of the following trends:
- Massive complexity increase,
- High or very high safety/dependability requirements,
- Pressure on increased productivity while developing the system.
Coping with
these trends calls for new software (and in fact: systems)
technologies. One promising element of such a new technology is the
invasive software composition developed in this book by Prof. U.
Assmann.
Invasive
software composition extends the notion of a software component (as
defined in object-oriented technology) an leads the idea from the
black-box component to well-defined gray-box components. The book
introduces the three necessary techniques - the component model, the
composition technique, and the composition language - to make invasive
software composition viable. The 334-page book covers the full chain of
defining, designing, assembling, composing the components, as well as a
possible architecture view. It also approaches the topic of reliability
and the propagation of reliability properties through composition.
Heavy emphasis is laid on the notion of interfacing the composable
components.
The book is both
an excellent, although quite demanding, introduction into this emerging
field and a reference volume for working with software composition. Its
tutorial flow is logical, consistent, and readable.
Use of the Book in Courses
Slide Set
More information to appear soon.