Read more
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.
List of contents
Why Invasive Software Composition Helps You.- Part I. On the Way to Composition Systems: Problems in Composition; From Modular to Composition Systems.- Part II. The Concept of Invasive Composition: Invasive Software Composition; How to Make Invasive Composition Reliable.- Part III. Applications of Invasive Composition with Declared Hooks: Generalized Parameterization; Architecture as Composition.- Part IV. Applications of Invasive Composition with Implicit Hooks: Inheritance as Hook Extension; Views with Sound Extensions; Aspect Composition as Distribution of Aspect Boxes; Reduce Composition to the Max; The Progress of Invasive Composition.- Appendices: Programming Languages and Compilers; A Facet Classification of Hooks; The Structure of COMPOST in UML; The Legend of the Box Graphics.
Summary
Invasive software composition is a new, component-based way to construct software systems and unifies several well-known software engineering techniques like generic programming, inheritance, aspect -oriented programming. The book, which is based on the JAVA language and the freely available COMPOST library offers a wealth of material for researchers, students and professional software architects alike.