In open systems, i.e. systems operating in unpredictable environments and with components that may join or leave at any time, behaviors can arise as side effects of intensive components interaction. Finding ways to understand and design these systems and, most of all, to model the interactions of their components, is a difficult but important endeavor. To tackle these issues, we present AbC, a calculus for attributebased communication. An AbC system consists of a set of parallel agents each of which is equipped with a set of attributes. Communication takes place in an implicit multicast fashion, and interactions among agents are dynamically established by taking into account 'connections' as determined by predicates over the attributes of agents. First, the syntax and the semantics of the calculus are presented, then expressiveness and effectiveness of AbC are demonstrated both in terms of modeling scenarios featuring collaboration, reconfiguration, and adaptation and of the possibility of encoding channelbased interactions and other interaction patterns. Behavioral equivalences for AbC are introduced for establishing formal relationships between different descriptions of the same system. A Java run-time environment has been developed to support programming of the above mentioned class of systems by relying on the communication primitives of the AbC calculus. The impact of centralized and decentralized implementations for the underlying communication infrastructure, that mediates the interaction between components, has been studied.
A Foundational Theory for Attribute-based Communication
2017
Abstract
In open systems, i.e. systems operating in unpredictable environments and with components that may join or leave at any time, behaviors can arise as side effects of intensive components interaction. Finding ways to understand and design these systems and, most of all, to model the interactions of their components, is a difficult but important endeavor. To tackle these issues, we present AbC, a calculus for attributebased communication. An AbC system consists of a set of parallel agents each of which is equipped with a set of attributes. Communication takes place in an implicit multicast fashion, and interactions among agents are dynamically established by taking into account 'connections' as determined by predicates over the attributes of agents. First, the syntax and the semantics of the calculus are presented, then expressiveness and effectiveness of AbC are demonstrated both in terms of modeling scenarios featuring collaboration, reconfiguration, and adaptation and of the possibility of encoding channelbased interactions and other interaction patterns. Behavioral equivalences for AbC are introduced for establishing formal relationships between different descriptions of the same system. A Java run-time environment has been developed to support programming of the above mentioned class of systems by relying on the communication primitives of the AbC calculus. The impact of centralized and decentralized implementations for the underlying communication infrastructure, that mediates the interaction between components, has been studied.File | Dimensione | Formato | |
---|---|---|---|
AbdAlrahman_phdthesis.pdf
accesso aperto
Tipologia:
Altro materiale allegato
Dimensione
4.01 MB
Formato
Adobe PDF
|
4.01 MB | Adobe PDF | Visualizza/Apri |
I documenti in UNITESI sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/20.500.14242/130230
URN:NBN:IT:IMTLUCCA-130230