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.
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.
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.
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.