Embedded pervasive devices are difficult to effectively coordinate using traditional programming methods due to their rapidly increasing number and density, close ties between functionality and spatial proximity, and the open and ever-changing nature of the network and its applications. Aggregate programming raises the level of abstraction, bringing bulk programming capabilities and a sound bottom-up engineering approach to the ill-controlled and heterogeneous environment of complex Internet of Things applications.
In the last decade, bio-inspired self-organising mechanisms have been applied to different domains, achieving results beyond traditional approaches. However, researchers usually use these mechanisms in an ad-hoc manner. In this way, their interpretation, definition, boundary (i.e. when one mechanism stops, and when another starts), and implementation typically vary in the existing literature, thus preventing these mechanisms from being applied clearly and systematically to solve recurrent problems. To ease engineering of artificial bio-inspired systems, this paper describes a catalogue of bio-inspired mechanisms in terms of modular and reusable design patterns organised into different layers. This catalogue uniformly frames and classifies a variety of different patterns. Additionally, this paper places the design patterns inside existing self-organising methodologies and hints for selecting and using a design pattern.
In this article we focus on the notion of artifact for agents in multi-agent systems (MAS) as a basis for a new meta-model promoting the modelling and engineering of agent societies and MAS environment as first-class entities. Its conceptual foundations lay upon theories and results coming from computational sciences as well as from organisational and cognitive sciences, psychology, computer supported cooperative work (CSCW), anthropology and ethology. In the resulting agents & artifacts (A&A) meta-model, agents are the (pro-)active entities in charge of the goals/tasks that altogether build up the whole MAS behaviour, whereas artifacts are the reactive entities providing the services and functions that make individual agents work together in a MAS, and that shape agent environment according to the MAS needs. After presenting the scientific background, we define the notions of artifact in the A&A meta-model, discuss how it affects the notion of intelligence in MAS, and show its application to a number of agent-related research fields.
This article introduces the notion of environment programming in software multiagent systems (MAS) and describes a concrete computational and programming model based on the artifact abstraction and implemented by the CArtAgO framework. Environment programming accounts for conceiving the computational environment where agents are situated as a first-class abstraction for programming MAS, namely a part of the system that can be designed and programmed-aside to agents-to encapsulate functionalities that will be exploited by agents at runtime. From a programming and software engineering perspective, this is meant to improve the modularity, extensibility and reusability of the MAS as a software system. By adopting the A&A meta-model, we consider environments populated by a dynamic set of computational entities called artifacts, collected in workspaces. From the agent viewpoint, artifacts are first-class entities of their environment, representing resources and tools that they can dynamically instantiate, share and use to support individual and collective activities. From the MAS programmer viewpoint, artifacts are a first-class abstraction to shape and program functional environments that agents will exploit at runtime, including functionalities that concern agent interaction, coordination, organisation, and the interaction with the external environment. The article includes a description of the main concepts concerning artifact-based environments and related CArtAgO technology, as well as an overview of their application in MAS programming.
Collective adaptive systems are an emerging class of networked computational systems, particularly suited in application domains such as smart cities, complex sensor networks, and the Internet of Things. These systems tend to feature large scale, heterogeneity of communication model (including opportunistic peer-to-peer wireless interaction), and require inherent self-adaptiveness properties to address unforeseen changes in operating conditions. In this context, it is extremely difficult (if not seemingly intractable) to engineer reusable pieces of distributed behaviour so as to make them provably correct and smoothly composable.Building on the field calculus, a computational model (and associated toolchain) capturing the notion of aggregate network-level computation, we address this problem with an engineering methodology coupling formal theory and computer simulation. On the one hand, functional properties are addressed by identifying the largest-to-date field calculus fragment generating self-stabilising behaviour, guaranteed to eventually attain a correct and stable final state despite any transient perturbation in state or topology, and including highly reusable building blocks for information spreading, aggregation, and time evolution. On the other hand, dynamical properties are addressed by simulation, empirically evaluating the different performances that can be obtained by switching between implementations of building blocks with provably equivalent functional properties. Overall, our methodology sheds light on how to identify core building blocks of collective behaviour, and how to select implementations that improve system performance while leaving overall system function and resiliency properties unchanged.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.