JDEECo is the Java-based implementation of the DEECo component model (stands for Dependable Emergent Ensembles of Components). The goal of DEECo is to support development of systems consisting of autonomous, self-aware, and adaptable components.
The components, implicitly organized in groups called ensembles, live in a very dynamic environment where a component can enter/exit an ensemble at any time. The second version is a complete redesign of the original software and supports a number of new features such as models-at-runtime and large-scale software simulation of realistic deployments.