• Komponenten
  • Components

Formal Component Modeling and Component Frameworks

Component-based software engineering is the approach to build systems with components, which can be reused in different contexts. Components usually consist of a public specification and an implementation hidden to the context. Components are composed to (sub)systems using connectors wich represent different types of communication. This concept is leveraged by different component models, which have different features and foci. We developed a component model and an according modeling language named Pi, which focuses on self-containedness and context independence and allows to define concurrency constraints.

Recent work

We are currently working on a proposal for an enhancement of existing industrial component frameworks to support the advanced features of academic component models, including self-containedness, and the definition of non-functional requirements.

Prototype: Sequential Contracts for OSGi Service Interfaces

A prototype has been developed for declaring sequential contracts in source code of Java interfaces. These contracts can be used by the prototype for enforcing the sequential contract for services in the OSGi Service Platform.

Please click the following link to download the prototype: ia_prototype-1_0_0_20110117.zip (Paper: DOI)
The zip file contains a set of projects for the Eclipse IDE. The downloads are licensed under the BSD 2-Clause License.

Prototype: Sequential Contracts for the Java Enterprise Edition

We developed a prototype for declaring and using interface automata as sequential contracts in interfaces of the Java Enterprise Edition. The prototype enforces the contract when using the interface.


The zip file contains an ear file which is to be deployed on a server, and a zip file containing Eclipse projects. To compile the projects download the JEE version of eclipse and trigger the actions: File -> Import -> General -> Existing Projects into Workspace -> "Select Archive File" and choose all projects. Eclipse then requires you to specify a runtime library, i.e. a JBoss Server on your harddisk. In case of questions, please contact Marco Konersmann. The downloads are licensed under the BSD 2-Clause License.

Selected Publications

  • Marco Mueller, Moritz Balz, Michael Goedicke: Enriching OSGi Service Interfaces with Formal Sequential Contracts in: Proceedings of the Workshop "Design for Future 2011" in: Proceedings of "Software Engineering 2011", Karlsruhe, Germany, 2011
  • Marco Mueller, Moritz Balz, Michael Goedicke: Representing Formal Component Models in OSGi, in: Proceedings of "Software Engineering 2010", Paderborn, Germany 2010
  • Michael Goedicke, Gustaf Neumann, Uwe Zdun: Design and Implementation Constructs for the Development of Flexible, Component-Oriented Software Architectures, in: Proc. of Second International Symposium on Generative and Component-Based Software Engineering (GCSE'2000), Erfurt, Germany, Oct 9-12, 2000 2000
  • M. Goedicke, T. Meyer: On Distribution of Components in Pi in: Report Pi-1 of the DFG Project QUAFOS, University of Essen, Department of Mathematics and Computer Science / Specification of Software System. 1996
  • M. Goedicke , H. Schumann: Component-Oriented Software Development with Pi in: University of Essen, Department of Mathematics and Computer Science / Specification of Software Systems, Technical Report,1/94 1994

Contact Person

Marco Konersmann

Impressum • Kontakt • Anfahrt