Carma is a new language recently defined to support quantified specification and analysis of collective adaptive systems. It is a stochastic process algebra equipped with linguistic constructs specifically developed for modelling and programming systems that can operate in open-ended and unpredictable environments. This class of systems is typically composed of a huge number of interacting agents that dynamically adjust and combine their behaviour to achieve specific goals. A Carma model, termed a “collective”, consists of a set of components, each of which exhibits a set of attributes. To model dynamic aggregations, which are sometimes referred to as “ensembles”, Carma provides communication primitives based on predicates over the exhibited attributes. These predicates are used to select the participants in a communication. Two communication mechanisms are provided in the Carma language: multicast-based and unicast-based. A key feature of Carma is the explicit representation of the environment in which processes interact, allowing rapid testing of a system under different open world scenarios. The environment in Carma models can evolve at runtime, due to the feedback from the system, and it further modulates the interaction between components, by shaping rates and interaction probabilities.
Specification and Analysis of Open-Ended Systems with CARMA
Loreti Michele
2015-01-01
Abstract
Carma is a new language recently defined to support quantified specification and analysis of collective adaptive systems. It is a stochastic process algebra equipped with linguistic constructs specifically developed for modelling and programming systems that can operate in open-ended and unpredictable environments. This class of systems is typically composed of a huge number of interacting agents that dynamically adjust and combine their behaviour to achieve specific goals. A Carma model, termed a “collective”, consists of a set of components, each of which exhibits a set of attributes. To model dynamic aggregations, which are sometimes referred to as “ensembles”, Carma provides communication primitives based on predicates over the exhibited attributes. These predicates are used to select the participants in a communication. Two communication mechanisms are provided in the Carma language: multicast-based and unicast-based. A key feature of Carma is the explicit representation of the environment in which processes interact, allowing rapid testing of a system under different open world scenarios. The environment in Carma models can evolve at runtime, due to the feedback from the system, and it further modulates the interaction between components, by shaping rates and interaction probabilities.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.