Smart cyber-physical systems (sCPS) is a growing research field focused on scenarios such as smart cities or smart mobility, where autonomous components are deployed in a physical environment, and are expected to cooperate with one another, as well as with humans. As these systems typically operate in a highly uncertain and dynamically changing environment, being able to cooperate and adapt in groups to cope with various (possibly unanticipated) situations becomes a crucial and challenging task.
In this artifact, we respond to this challenge by presenting the Intelligent Ensembles framework, consisting of a high-level declarative language for describing dynamic cooperation groups, and a Java runtime library for automatically forming groups that best satisfy the given specification. The framework provides dynamic architecture adaptation (i.e., forming groups of components and exchanging data between them) based on the state of components and situation in their environment.
Further, the framework can be used as a first step of a group-wise adaptation (i.e., identifying components that are to negotiate and coordinate in an adaptation). The framework is built on top of the Z3 SMT solver and the Eclipse Modelling Framework.