32 research outputs found
Patterns for self-adaptive systems: agent-based simulations
Self-adaptive systems are distributed computing systems that can adapt their behavior and structure to
different kinds of conditions. This adaptation does not concern the single components only, but the entire
system. In a previous work we have identified several patterns for self-adaptation, classifying them by means
of a taxonomy, which aims at being a support for developers of self-adaptive systems. Starting from that
theoretical work, we have simulated the described self-adaptation patterns, in order to better understand the
concrete and real features of each pattern. The contribution of this paper is to report about the simulation
work of three patterns as examples, detailing how it was carried out, in order to provide a further support for
the developers
The future of AOSE: exploiting SME for a new conception of methodologies
In the last years, the software engineering eld has provided developers with dierent methodologies to support
their work. Nevertheless, existing methodologies can hardly
meet the requirements of all existing scenarios, which are
more and more complex and highly dierentiated. This
problem can be faced by applying the Situational Method
Engineering (SME) approach, which enables to build appropriate methodologies by composing \fragments" of existing ones. We envision this approach as the future of software engineering in general, and in particular if applied in Agent Oriented Software Engineering (AOSE). This approach has also the valuable advantage of reusing models, solutions, experiences and tools of existing and tested methodologies.
In this paper we report three examples of application of
the Situational Method Engineering approach in AOSE. We
show that this approach can be applied following dierent directions, and in particular: entity-driven, metamodel-driven,
and characteristic-driven. To concretely show these directions, we present three examples of methodologies for developing agent systems (one regarding self-organising systems),
all constructed composing methodology fragments to meet
the scenario requirements
Building self-adaptive systems by adaptation patterns integrated into agent methodologies
Adopting patterns, i.e. reusable solutions to generic problems, turns out to be useful to rely on tested solutions and to avoid reinventing the wheel. To this aim, we proposed to use adaptation patterns to build systems that exhibit self-adaptive features. However, these patterns would be more usable if integrated in a methodology exploited to develop a system. In this paper we show how our Catalogue of adaptation patterns can be integrated into methodologies for adaptive systems; more in detail, we consider methodologies which support the development of multi-agent systems that can be considered good examples of adaptive systems. The paper, in particular, shows the integration of our Catalogue of adaptive patterns into the PASSI methodology, together with the graphical tool that we developed to support it
Towards filling the gap between AOSE methodologies and infrastructures: requirements and meta-model
Many different methodologies have been proposed
in Agent Oriented Software Engineering (AOSE) literature, and
the concepts they rely on are different from those adopted when
implementing the system. This conceptual gap often creates
inconsistencies between specifications and implementation. We
propose a metamodel-based approach that aims to bridge this
gap, resulting in an integrated meta-model that merges the best
aspects of four relevant AOSE methodologies (GAIA, Tropos,
SODA and PASSI). The meta-model assembly followed a welldefined
process: for each methodology to be integrated in the
meta-model, we elicited the requirements, identified a set of
process fragments, thoroughly compared the concepts belonging
to the various fragments, and finally composed the meta-model
Agent Roles: from Methodologies to Infrastructures
Role is an important and useful concept to define the collaboration in agent systems, since it allows to abstract from physical agents and to focus on their behaviour. So, the role concept is exploited in agent methodologies and agents infrastructures, but often in different and discontinue ways. The aim of this paper is to map the role concepts proposed in different agent methodologies, and also mapping other concepts related to role. Moreover, we try to extend this mapping also to agent infrastructures, so to help developers choosing the right methodologies and infrastructures. Providing a comparison (and outlining the contrasts) will be important and useful as a starting point to understand and to try to unify foundational agent concepts
F.: Towards a taxonomy of adaptive agentbased collaboration patterns for autonomic service ensembles
Services are increasingly becoming the building block of today’s distributed systems. However, to support the development of robust complex applications made up of ensembles of cooperating service components and to promote autonomic features, adaptive collaboration patterns among components have to be enforced. In this paper, we introduce a taxonomy of adaptive agent-based collaboration patterns, for their analysis and exploitation in the area of autonomic service ensembles. The preliminary proposed taxonomy has two main advantages: (i) it enables the reuse of existing experience from the agents ’ world in the area of autonomic service systems, and (ii) it can provide useful suggestions to designer for the choice of the most suitable patterns. KEYWORDS: Self-adaptation, collaboration, patterns, agent. 1
Connecting Methodologies and Infrastructures in the Development of Agent Systems
In the building of agent systems developers canbe supported by both appropriate methodologies and infrastructures, which guide them in the different phases of thedevelopment and provide useful abstractions.Nevertheless, we assist to a situation in which methodologiesand infrastructures are not connected each other: the products ofthe analysis and design phases could not always be exploited inthe implementation phase in a direct way, even if sometimesCASE-tools are present to help in translating methodologies’diagrams in infrastructures’ code. This leads to a “gap” betweenmethodologies and infrastructures that is likely to producefragmented solutions and to make the application maintenancedifficult.In this paper we face this issue, proposing three directions tosolve the problem. We do not want to propose a “new brand”methodology and infrastructure tightly connected, rather, weaim at reusing as much as possible what already exists, notonly in abstract terms, but also in concrete “fragments” ofmethodologies; an appropriate meta-language that describes howa methodologies works would be useful to more easily mapthem onto the infrastructures, or even to “compose” a newmethodologies. A further approach is based on an “intermediate”layer between methodologies and infrastructures, which providesa mapping between the involved entities
Adaptive Patterns for Intelligent Distributed Systems: a Swarm robotics Case Study
In order to propose some evaluation of adaptive architectural patterns for intelligent distributed systems, in this paper we present a case study where a swarm of robots is required to coordinate and adapt to perform a task. We will present the results of several simulations and propose some considerations that help further research about adaptive patterns in intelligent distributed systems
Enabling Self-expression: the Use of Roles to Dynamically Change Adaptation Patterns
Self-expression is the capability of a system of
changing its adaptation pattern at runtime; this can lead to
better performance still keeping the achievement of the global
goal in a Collective Adaptive System (CAS). In this paper, we
show how self-expression can be achieved by means of roles.
Developers can embed the adaptation logic in pieces of software
that represent roles that system units can play: by changing the
roles at runtime, the adaptation pattern changes as a consequence.
Exploiting a swarm robotics case study, we show the applicability
of our approach and the improvement of the performances with
respect to keeping the same pattern during the execution