| Description
Object-oriented software development and component systems. Building complex systems is still a difficult task. Developers ought to handle many aspects, a lot of dependencies and different sometimes even contradicting requirements.
To cope with complexity, system developers
decompose systems into managable parts, called modules or components. These parts should encapsulate coherent aspects; changes in requirements should not cause changes spread all over the system. Unfortunately, there is no general system decomposition encapsulating all aspects that are subject to change. System decomposition can be done according to many dimensions, where each dimension encapsulates some aspects well whereas others are
spread over the whole system.
Composing components almost always requires adaption.
Component developers cannot anticipate the environment
a component is plugged-in;
different environments require different modularizations.
Adapting components by hand is an error prone and cumbersome task. Instead, specifications should describe necessary adaptations. Programs generated from these specifications perform the composition and adaption at hand.
Our approaches perform static as well as dynamic adaptations:
- Meta-programs defined in Java take components as
input and deliver adapted components. For that purpose,
the COMPOST
library provides basic data structures and transformations.
- Complex data is adapted at run-time: XML Schemas describe data types provided by one component and required by another, respectively. XSLT scripts define the adaption in between. A generated high speed adapter performs the actual adaption. The aXMLerate project develops such generators.
You can find an overview and detailed information
of our competences in software composition on
our software composition page.
Projects in this areaFormer
 |  | aXMLerate |
 |  |
 |  | aXMLerate - a toolbox for fast XML processing |  |  |
 | |  | |  |
 |  | |  |  |
 | |  | |  |
 |  | CATE |
 |  |
 |  | Component Analysis and Transformation Engine |  |  |
 | |  | |  |
 |  | |  |  |
 | |  | |  |
 |  | COMPOST |
 |  |
 |  | COMPOST - The Composition System |  |  |
 | |  | |  |
 |  | |  |  |
 | |  | |  |
 |  | EASYCOMP |
 |  |
 |  | Easy Composition in Future Generation Component Systems |  |  |
 | |  | |  |
 |  | |  |  |
 | |  | |  |
 |  | IPD Web Reengineering |
 |  |
 |  | Software ages. Even our old 'new' web pages. Maintenance made reengineering inevitable. |  |  |
 | |  | |  |
 |  | |  |  |
 | |  | |  |
 |  | IPD Web-Site |
 |  |
 |  | Dynamische Generierung von HTML-Dokumenten aus Datenbankinformationen |  |  |
 | |  | |  |
 |  | |  |  |
 | |  | |  |
 |  | MOST |
 |  |
 |  | Media Oriented Systems-Transport |  |  |
 | |  | |  |
 |  | |  |  |
 | |  | |  |
 |  | VizzEditor |
 |  |
 |  | VizzEditor - A Framework for the rapid development of program visualisations |  |  |
 | |  | |  |
 |  | |  |  |
 | |  | |  |
Related publications
 |  | 2004 |
 |  |
 |  | Pulvermüller, Speck, XOpT - XML-Based Composition Concept |  |  |
 | |  | |  |
 |  | Heuzeroth, Heuzeroth, Aspektorientierte Konfiguration und Adaption von Komponenteninteraktionen |  |  |
 | |  | |  |
| | |
 |  | 2003 |
 |  |
 |  | Kleine, Erweiterung eines Metaprogrammiersystems um einen iterativ
aktualisierbaren Zwischensprachaufbau |  |  |
 | |  | |  |
 |  | Heuzeroth, Heuzeroth, Löwe, Löwe, Mandel, Mandel, Generating Design Pattern Detectors from Pattern Specifications |  |  |
 | |  | |  |
 |  | Van Der Straeten, Speck, Pulvermüller, Clauß, Correctness of Model-Based Software Composition - Proceedings |  |  |
 | |  | |  |
 |  | Speck, Pulvermüller, Heuzeroth, Validation of Business Process Models |  |  |
 | |  | |  |
 |  | Heuzeroth, Heuzeroth, Löwe, Löwe, Understanding Architecture Through Structure and Behavior Visualization, Chapter 9 in book:
Software-Visualization - From Theory to Practice |  |  |
 | |  | |  |
 |  | Heuzeroth, Heuzeroth, Holl, Holl, Högström, Högström, Löwe, Löwe, Automatic Design Pattern Detection |  |  |
 | |  | |  |
| | |
 |  | 2002 |
 |  |
 |  | Schonger, Pulvermüller, Sarstedt, Aspect-Oriented Programming and Component Weaving: Using XML Representations of Abstract Syntax Trees |  |  |
 | |  | |  |
 |  | Pulvermüller, Composition and Correctness |  |  |
 | |  | |  |
 |  | Speck, Pulvermüller, Clauß, Versioning in Software Modeling |  |  |
 | |  | |  |
 |  | Noga, Schott, Löwe, Lazy XML Processing |  |  |
 | |  | |  |
 |  | Schmidt, Realisierung eines invertierenden C-Zerteilers für COMPOST |  |  |
 | |  | |  |
 |  | Holl, Werkzeuggestützte Erkennung von statischen und dynamischen Mustern in objektorientierter Software |  |  |
 | |  | |  |
 |  | Löwe, Noga, Scenario-Based Connector Optimization - An XML Approach |  |  |
 | |  | |  |
 |  | Löwe, Noga, A Lightweight XML-based Middleware Architecture |  |  |
 | |  | |  |
 |  | Heuzeroth, Holl, Löwe, Combining Static and Dynamic Analyses to Detect Interaction Patterns |  |  |
 | |  | |  |
 |  | Löwe, Noga, Gaul, Foundations of Fast Communication via XML |  |  |
 | |  | |  |
| | |
 |  | 2001 |
 |  |
 |  | Löwe, Ludwig, Schwind, Understanding Software - Static and Dynamic Aspects |  |  |
 | |  | |  |
 |  | Schäfer, Realisierung eines invertierenden C-Präprozessors für COMPOST |  |  |
 | |  | |  |
 |  | Heuzeroth, Holl, Löwe, Combining Static and Dynamic Analyses to Detect Interaction Patterns |  |  |
 | |  | |  |
 |  | Goerigk, Pulvermüller, Speck, Sprachen, Architekturen und neue objektorientierte Softwaretechniken, TR No. 2018 |  |  |
 | |  | |  |
 |  | Pulvermüller, Speck, D'Hondt, DeMeuter, Coplien, Feature Interaction in Composed Systems, ECOOP 2001 - Proceedings, TR No. 2001-14 |  |  |
 | |  | |  |
 |  | Speck, Pulvermüller, Versioning in Software Engineering |  |  |
 | |  | |  |
 |  | Mehner, Mezini, Pulvermüller, Speck, Aspektorientierung - Workshop der GI-Fachgruppe 2.1.9 Objektorientierte Software-Entwicklung |  |  |
 | |  | |  |
 |  | Pulvermüller, Speck, Coplien, A Version Model for Aspect Dependency Management |  |  |
 | |  | |  |
 |  | Pulvermüller, Speck, Coplien, D'Hondt, DeMeuter, Position Paper: Feature Interaction in Composed Systems |  |  |
 | |  | |  |
 |  | Speck, Pulvermüller, Feature Modeling |  |  |
 | |  | |  |
 |  | Heuzeroth, Heuzeroth, Löwe, Löwe, Ludwig, Ludwig, Assmann, Assmann, Aspect-Oriented Configuration and Adaptation of Component Communication |  |  |
 | |  | |  |
 |  | Jaeger, Heuzeroth, Assmann, Automating the Management of Reusable System Components |  |  |
 | |  | |  |
 |  | Dieterich, Generierung von Graphersetzern als XML-Transformatoren |  |  |
 | |  | |  |
 |  | Gaul, Löwe, Noga, Specification in a large Industry Consortium - The MOST Approach |  |  |
 | |  | |  |
 |  | Löwe, Liebrich, VizzScheduler - A Framework for the Visualization of Scheduling Algorithms |  |  |
 | |  | |  |
| | |
 |  | 2000 |
 |  |
 |  | Noga, Erzeugung validierender Zerteiler aus XML Schemata |  |  |
 | |  | |  |
 |  | Speck, Pulvermüller, Component Frameworks for Software Generators |  |  |
 | |  | |  |
 |  | Pulvermüller, Generative and Component-Based Software Engineering |  |  |
 | |  | |  |
 |  | Speck, Pulvermüller, Mezini, Reusability of Concerns |  |  |
 | |  | |  |
 |  | Pulvermüller, Rashid, Speck, Supporting Composition using Assertions |  |  |
 | |  | |  |
 |  | Klaeren, Pulvermüller, Rashid, Speck, Aspect Composition applying the Design by Contract Principle |  |  |
 | |  | |  |
 |  | Ludwig, Ludwig, Heuzeroth, Heuzeroth, Metaprogramming in the Large |  |  |
 | |  | |  |
 |  | Fellhauer, Verteilte Gruppenarbeitssysteme im heterogenen Rechnerumfeld |  |  |
 | |  | |  |
| | |
 |  | 1999 |
 |  |
 |  | Assmann, Assmann, Aspect Weaving by Graph Rewriting |  |  |
 | |  | |  |
 |  | Heuzeroth, Reussner, A Meta-protocol and Type System for the Dynamic Coupling of Binary Components |  |  |
 | |  | |  |
 |  | Heuzeroth, Reussner, Dynamic Coupling of Binary Components and its Technical Support |  |  |
 | |  | |  |
 |  | Speck, Rashid, Pulvermüller, Chitchyan, Individual Software Development in Generative Programming |  |  |
 | |  | |  |
 |  | Pulvermüller, Aspekte in verteilten Umgebungen |  |  |
 | |  | |  |
 |  | Assmann, Assmann, Ludwig, Ludwig, Introducing Connections into Classes with
Static Metaprogramming |  |  |
 | |  | |  |
 |  | Pulvermüller, Klaeren, Speck, Aspects in Distributed Environments |  |  |
 | |  | |  |
| |