Heterogeneous agents that cooperate to accomplish collective tasks constitute Collective Adaptive Systems (CAS). Engineering a CAS not only involves the definition of the individual agents, but also their roles in achieving a collective task and adaptation strategies to counteract to environmental changes. Current solutions for specifying CAS typically tackle the problem at a low level of abstraction (e.g., writing XML files), making this task time-consuming and error-prone. Moreover, such a low level of abstraction hinders the understandability of the specification. Model-Driven Engineering (MDE) proposes to reduce the complexity of development by adopting models as first class artifacts in the process. In this respect, this work proposes a MDE approach to enhance CAS specification. In particular, we introduce a domain-specific language (DSL) made-up of three main views: one devoted to adaptive systems design; one addressing ensembles definition; and one tackling the collective adaptation. These three separate aspects are woven seamlessly by the DSL to constitute a complete CAS design. While the different views allow us to exploit separation-of-concerns to reduce complexity and focus on a specific aspect of the system, facing CAS specification at a higher-level of abstraction permits to use concepts closer to the experts of the involved domains. Moreover, the precise definition of modeling concepts through corresponding meta-models enables correctness-by-construction of the system specification.
File in questo prodotto:
Non ci sono file associati a questo prodotto.