Universität Karlsruhe
Software Engineering

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 area

Former

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
Login
Links