%P 539-553 %T Programming of CAS Systems by Relying on Attribute-Based Communication %R doi:10.1007/978-3-319-47166-2_38 %B Leveraging Applications of Formal Methods, Verification and Validation: Foundational Techniques %V 9952 %D 2016 %A Yehia Moustafa Abd Alrahman %A Rocco De Nicola %A Michele Loreti %X In most distributed systems, named connections (i.e., channels) are used as means for programming interaction between communicating partners. These kinds of connections are low level and usually totally independent of the knowledge, the status, the capabilities, ..., in one word, of the attributes of the interacting partners. We have recently introduced a calculus, called AbC, in which interactions among agents are dynamically established by taking into account ?connection? as determined by predicates over agent attributes. In this paper, we present Open image in new window, a Java run-time environment that has been developed to support modeling and programming of collective adaptive systems by relying on the communication primitives of the AbC calculus. Systems are described as sets of parallel components, each component is equipped with a set of attributes and communications among components take place in an implicit multicast fashion. By means of a number of examples, we also show how opportunistic behaviors, achieved by run-time attribute updates, can be exploited to express different communication and interaction patterns and to program challenging case studies. %L eprints3953 %I Springer