Over the past two decades, software engineering has come a long way from object-based to object-oriented to component-based design and development. Invasive software composition is a new technique that unifies and extends recent software engineering concepts like generic programming, aspect-oriented development, architecture systems, or subject-oriented development. To improve reuse, this new method regards software components as grayboxes and integrates them during composition. Building on a minimal set of program transformations, composition operator libraries can be developed that parameterize, extend, connect, mediate, and aspect-weave components.
The book is centered around the JAVA language and the freely available demonstrator library COMPOST. It provides a wealth of materials for researchers, students, and professional software architects alike.