Nuova ricerca

Letizia LEONARDI

Professore Ordinario
Dipartimento di Ingegneria "Enzo Ferrari"


Home | Curriculum(pdf) | Didattica |


Pubblicazioni

2023 - A Survey on the Use of the Multi-agent Paradigm in Coordination of Connected and Autonomous Vehicles [Relazione in Atti di Convegno]
Cabri, G.; Leonardi, L.; Rotonda, E.
abstract

In this paper we present our work of searching, filtering and selecting relevant papers about the exploitation of the multi-agent paradigm in self-driving vehicles, along with the results of our survey.


2021 - The future of factories: Different trends [Articolo su rivista]
Salierno, G.; Leonardi, L.; Cabri, G.
abstract

The technological advancements promote the rise of the fourth industrial revolution, where key terms are efficiency, innovation, and enterprises’ digitalization. Market globalization, product mass customization, and more complex products need to reflect on changing the actual design methods and developing business processes and methodologies that have to be data-driven, AI-assisted, smart, and service-oriented. Therefore, there is a great interest in experimenting with emerging technologies and evaluating how they impact the actual business processes. This paper reports a comparison among the major trends in the digitalization of a Factory of the Future, in conjunction with the two major strategic programs of Industry 4.0 and China 2025. We have focused on these two programs because we have had experience with them in the context of the FIRST H2020 project. European industrialists identify the radical change in the traditional manufacturing production process as the rise of Industry 4.0. Conversely, China mainland launched its strategic plan in China 2025 to promote smart manufacturing to digitalize traditional manufacturing processes. The main contribution of this review paper is to report about a study, conducted and part of the aforementioned FIRST project, which aimed to investigate major trends in applying for both programs in terms of technologies and their applications for the factory’s digitalization. In particular, our analysis consists of the comparison between Digital Factory, Virtual Factory, Smart Manufacturing, and Cloud Manufacturing. We analyzed their essential characteristics, the operational boundaries, the employed technologies, and the interoperability offered at each factory level for each paradigm. Based on this analysis, we report the building blocks in terms of essential technologies required to develop the next generation of a factory of the future, as well as some of the interoperability challenges at a different scale, for enabling inter-factories communications between heterogeneous entities.


2020 - An Architecture for Predictive Maintenance of Railway Points Based on Big Data Analytics [Relazione in Atti di Convegno]
Salierno, G.; Morvillo, S.; Leonardi, L.; Cabri, G.
abstract

Massive amounts of data produced by railway systems are a valuable resource to enable Big Data analytics. Despite its richness, several challenges arise when dealing with the deployment of a big data architecture into a railway system. In this paper, we propose a four-layers big data architecture with the goal of establishing a data management policy to manage massive amounts of data produced by railway switch points and perform analytical tasks efficiently. An implementation of the architecture is given along with the realization of a Long Short-Term Memory prediction model for detecting failures on the Italian Railway Line of Milano - Monza - Chiasso.


2020 - Specification and verification of railway safety-critical systems using TLA+: A Case Study [Relazione in Atti di Convegno]
Salierno, Giulio; Morvillo, Sabatino; Leonardi, Letizia; Cabri, Giacomo
abstract


2019 - A Survey of the Use of Software Agents in Digital Factories [Relazione in Atti di Convegno]
Bicocchi, N.; Cabri, G.; Leonardi, L.; Salierno, G.
abstract

Digital factories represent an abstraction of real factories, which is useful to manage at a high level the processes as well as the interactions inside the factories but also the interactions between factories. This abstraction can automatize several processes and can enable to dynamically adapt the factory production to unexpected situations. Software agents can meet the requirements of digital factories by means of their features of autonomy, reactivity, proactivity and sociality. In this paper, we survey the use of software agents in the context of digital factories, showing how they can be exploited. A discussion about the advantages brought by software agents and the limitation of agent-based approaches completes the paper.


2019 - Different Perspectives of a Factory of the Future: An Overview [Relazione in Atti di Convegno]
Salierno, Giulio; Cabri, Giacomo; Leonardi, Letizia
abstract

Digitalfactory,andCloudManufacturingaretwoapproaches that aim at addressing the Factory of the Future, i.e., to provide digital support to manufacturing factories. They find their roots in two different geographical areas, respectively Europe and China, and therefore presents some differences as well as the same goal of building the factory of the future. In this paper, we present both the digital factory and the cloud manufacturing approaches and discuss their differences.


2019 - Intelligent agents supporting digital factories [Relazione in Atti di Convegno]
Bicocchi, N.; Cabri, G.; Leonardi, L.; Salierno, G.
abstract

Intelligent agents represent a widely exploited paradigm of the Distributed Artificial Intelligence (DAI). They have been applied in many fields, and recently they have appeared also in the digital factory field. Digital factories are abstractions of real factories, which enable high-level management of factories' processes, along with their automatization. So, the real factories can dynamically adapt their processes to unexpected situations. In this paper, we survey different works at the state of the art that show how intelligent agents can support digital factories, along with the limitations of their application. A discussion about the advantages of intelligent agents and the open issues completes the paper.


2019 - QoS evaluation of constrained cloud manufacturing service composition [Relazione in Atti di Convegno]
Salierno, G.; Cabri, G.; Leonardi, L.
abstract

Cloud manufacturing is a paradigm that represents distributed cyber-physical systems in which software abstractions and services work in strict connection to manufacturing equipment and machines. In cloud manufacturing, the cloud platform receives high-level tasks that are decomposed into subtasks, which are fulfilled by appropriate services. Despite different approaches have been proposed to compose services in order to accomplish manufacturing tasks, physical constraints have not been considered.In this paper, we propose an approach that enacts a trade-off between quality of service and physical constraints of manufacturing services in order to adapt to equipment constraints. To show the effectiveness of the proposed approach, we quantitatively compare it with a straightforward approach which does not consider any physical constraint. Experimental results of our algorithm show that the trade-off between quality of service and capacity of physical manufacturing equipment is acceptable for efficient cloud service compositions.


2016 - Evolutionary Strategies for Novelty-Based Online Neuroevolution in Swarm Robotics [Relazione in Atti di Convegno]
Galassi, Marco; Capodieci, Nicola; Cabri, Giacomo; Leonardi, Letizia
abstract

Neuroevolution in robot controllers throughobjective-based genetic and evolutionary algorithms is a wellknownmethodology for studying the dynamics of evolution inswarms of simple robots. A robot within a swarm is able toevolve the simple neural network embedded as its controllerby also taking into account how other robots are performingthe task at hand. In online scenarios, this is obtained throughinter-robot communications of the best performing genomes (i.e.representation of the weights of their embedded neural network).While many experiments from previous work have shown thesoundness of this approach, we aim to extend this methodologyusing a novelty-based metric, so to be able to analyze differentgenome exchange strategies within a simulated swarm of robotsin deceptive tasks or scenarios in which it is difficult to modela proper objective function to drive evolution. In particular, wewant to study how different information sharing approachesaffect the evolution. To do so we developed and tested threedifferent ways to exchange genomes and information betweenrobots using novelty driven evolution and we compared themusing a recent variation of the mEDEA (minimal EnvironmentdrivenDistributed Evolutionary Algorithm) algorithm. As thedeceptiveness and the complexity of the task increases, ourproposed novelty-driven strategies display better performancein foraging scenarios.


2015 - Building self-adaptive systems by adaptation patterns integrated into agent methodologies [Relazione in Atti di Convegno]
Puviani, Mariachiara; Cabri, Giacomo; Capodieci, Nicola; Leonardi, Letizia
abstract

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.


2015 - Integrating Adaptation Patterns into Agent Methodologies to Build Self-Adaptive Systems [Relazione in Atti di Convegno]
Puviani, Mariachiara; Cabri, Giacomo; Leonardi, Letizia
abstract

Agent systems represent a very good example of complex and self-adaptive systems. Adaptation must be conceived not only at the level of single components, but also at the system level, where adaptation must concern the entire structure of one system; adaptation patterns have been proposed to address both levels. Many methodologies have been proposed to support developers in their work, but they lack in addressing the choice and the exploitation of adaptation patterns. In this work, we propose an integration of adaptation patterns in agent-oriented methodologies, exploiting an existing methodology to concretely show how such an integration can be enacted.


2015 - Software-Intensive Systems for Smart Cities: from Ensembles to Superorganisms [Capitolo/Saggio]
Bicocchi, Nicola; Leonardi, Letizia; Zambonelli, Franco
abstract

Smart cities infrastructures can be considered as large-scale, software-intensive systems exhibiting close sinergies among ICT devices and humans. However, current deployments of smart city technologies rely on rather traditional technologies. This chapter introduces a novel perspective in which large-scale ensembles of software components, ICT devices, and humans, can be made working together in an orchestrated and self-organized way to achieve urban-level goals as if they were part of a single large-scale organism, i.e., a superorganism. Accordingly, we delineate our vision of urban superorganisms and overview related application areas. Finally, we identify the key challenges in engineering selforganizing systems that can work as a superorganism, and we introduce the reference architecture for an infrastructure capable of supporting our vision.


2014 - Enabling Self-expression: the Use of Roles to Dynamically Change Adaptation Patterns [Relazione in Atti di Convegno]
Puviani, Mariachiara; Cabri, Giacomo; Leonardi, Letizia
abstract

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.


2013 - Is self-expression useful? Evaluation by a case study [Relazione in Atti di Convegno]
Puviani, Mariachiara; C., Pinciroli; Cabri, Giacomo; Leonardi, Letizia; Zambonelli, Franco
abstract

In the context of adaptive component-based systems, self-expression is the capability of changing the adaptation pattern when some changes occur in the system itself or in its environment. Even if functional requirements can be met without changing the adaptation pattern, the achievement of non-functional requirements, such as performance, can benefit from a change of adaptation pattern. The aim of this paper is to show, by means of a case study in swarm robotics, that a change of adaptation pattern can affect the performance of a system. In our case study, the robots must collect food items (foraging); we will show that while in an open arena the Reactive Stigmergy Pattern performs better, the Centralised AM Pattern better suits the presence of obstacles. Since the situation of the environment can be unknown in advance, or it can change at runtime, we claim that the change of adaptation pattern can be useful in adaptive componentbased systems.


2012 - Adaptive Patterns for Intelligent Distributed Systems: a Swarm robotics Case Study [Relazione in Atti di Convegno]
Puviani, Mariachiara; Cabri, Giacomo; Leonardi, Letizia
abstract

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.


2011 - A multi-agent approach for territorial emergency management [Relazione in Atti di Convegno]
Domnori, E.; Cabri, G.; Leonardi, L.
abstract

The management of territorial emergencies and disasters has become a real issue in the healthcare system. The recent events such as earthquakes and inundations have brought into attention the need for an improvement of rescue operations in order to limit the lost of human lives. Such scenarios require a distributed, context-aware, reactive and autonomous support. In this paper we present an architectural approach for coordination based on the multi-agent technology. In the following, we will show how agents behaviour well fits to these requirements and how they can be efficiently applied to these problems.


2011 - Comparing Service-Oriented Computing and Agent-Oriented Programming towards Integration [Articolo su rivista]
Cabri, Giacomo; Leonardi, Letizia; Puviani, Mariachiara; Quitadamo, Raffaele
abstract

Service Oriented Computing (SOC) and Agent Oriented Programming (AOP) are two promising paradigms exploitedin the development of distributed systems. In fact, even if starting from different conceptual abstractions, both paradigms tryto face unpredictability and complexity in wide and open distributed scenarios. In this context, they exhibit both strengths andweaknesses. The aim of this paper is to propose a comparison between the two paradigms, performed with regard to some issuespeculiar of distributed systems that the two paradigms address: space decomposition, interactions among distributed components,reusability/customization, interoperability/heterogeneity and security. Of course the purpose of this paper is not to define the“best one”, rather the paper aims at providing developers with critical knowledge about the advantages and the limitations ofthe two paradigms. Finally, the need for a smart integration of the two paradigms is pointed out, which will lead to exploit theadvantages of both in a joint way. We briefly survey some proposals in this direction and report some considerations about them.


2011 - Coordination Issues in an Agent-Based Approach for Territorial Emergence Management [Relazione in Atti di Convegno]
Domnori, Elton; Cabri, Giacomo; Leonardi, Letizia
abstract

This paper presents a new architectural approachfor managing the health-care emergences and large scaledisasters using agent-based applications. Such scenarios requirea support that must be distributed, context-aware, reactive andautonomous. In the following we will show how agent’s behaviourbest fits to these requirements and how the technologycan be applied efficiently to problems where the main challengeis the coordination and collaboration between components. Wepropose a FIPA compliant Multi-Agent System based on theBDI and PIM technology.


2011 - Designing and implementing intelligent agents for e-health [Relazione in Atti di Convegno]
Domnori, Elton; Cabri, Giacomo; Leonardi, Letizia
abstract

Recent large-scale disasters and territorial emergences,such as the Japan seaquake and Australian inundation,has bring to the attention to the efficiency of the rescueoperation. Such scenarios are unpredictable and require aprompt and coordinated reaction from the authorities. Thispaper presents an architectural approach for coordinationand cooperation based on the Multi-Agent technology. Inthe following, we will show how agents are able to offera distributed, context-aware, reactive and autonomous support.We propose a multi-agent framework which enables theimplementation Multi-Agent Systems (MAS) for emergencyscenarios management.


2011 - Managing territorial emergencies with Ubimedic2 [Relazione in Atti di Convegno]
Domnori, Elton; Cabri, Giacomo; Leonardi, Letizia
abstract

We propose Ubimedic2, an agent based frame-work that enables the implementation of Multi-Agent Systemsfor emergency management and territorial disasters. In thisdemo we present a simple simulation to better expose theUbimedic2 functionalities.


2011 - Multi-Agent approach for Disaster Management [Relazione in Atti di Convegno]
Domnori, Elton; Cabri, Giacomo; Leonardi, Letizia
abstract

The emergency situations deriving from naturaldisasters or large scale accidents represent one of the mostcritical activities in the health care system.We are all concernedabout the necessity of a coordinated reaction and organizationwhen there is a large number of people involved and time isa very precious aspect. This paper introduces a multi-agentsystem for the management of the territorial emergencies inlarge scale disasters and shows how the agent technology canmeet successfully the related requirements. In this paper wepropose a multi-agent framework, called Ubimedic2, able tocoordinate autonomously the operative units during the rescueoperation.


2011 - On Self-adaptation, Self-expression, and Self-awareness in Autonomic Service Component Ensembles [Relazione in Atti di Convegno]
Zambonelli, Franco; Bicocchi, Nicola; Cabri, Giacomo; Leonardi, Letizia; Puviani, Mariachiara
abstract

Software systems operating in open-ended andunpredictable environments have to become autonomic, i.e.,capable of dynamically adapting their behavior in response tochanging situations. To this end, key research issues include:(i) framing the schemes that can facilitate components (orensembles of) to exhibit self-adaptive behaviors; (ii) identifyingmechanisms to enable components or ensembles to self-expressthe most suitable adaptation scheme; and (iii) acquiring theproper degree of self-awareness to enable putting in action selfadaptation and self-expression schemes. In this position paper, with the help of a representative case study, we frame anddiscuss the above issues, survey the state of the art in the area,and sketch the main research challenges that will be faced inthe ASCENS project towards the definition of a fully-fledgedframework for autonomic services.


2011 - Ubimedic2: An Agent-Based Approach in Territorial Emergence Management [Relazione in Atti di Convegno]
Domnori, Elton; Cabri, Giacomo; Leonardi, Letizia
abstract

Healthcare emergences and large scale disastersare two of the most critic scenarios of healthcare system.Such scenarios require a support that must be distributed,context-aware, reactive and autonomous. This paper presentsan architectural approach for coordination based on the multiagenttechnology. In the following, we will show how agentsbehaviour best fits to these requirements and how can beefficiently applied to these problems. In this paper we propose aframework, called Ubimedic2, that enables the implementationof Multi-Agent Systems for emergency management. Theframework is FIPA compliant and based on the BDI technology.


2010 - Role-Based Software Agent Interaction Models: A Survey [Articolo su rivista]
Cabri, Giacomo; L., Ferrari; Leonardi, Letizia; Zambonelli, Franco
abstract

The role concept represents a useful approach that has been exploited in different agent-based systems, in particular applied to interactions between agents. There are some requirements that are important for the development of agent-based applications using roles, for instance the support for the analysis, the design and the implementation phases. We have considered and compared different role-based proposals in the literature, and this paper presents a survey of the most spread ones. Weexplain each proposal and point out if and how it meets the identified requirements. Far from deciding the best proposal, our aim is to present the advantages and drawbacks of several proposals to designers and developers, so that they can make the best choice with regard to their needs.


2009 - Experiences in Applying Situational Method Engineering in AOSE [Relazione in Atti di Convegno]
Puviani, Mariachiara; Cabri, Giacomo; Leonardi, Letizia
abstract

In the software engineering field different methodologies have been provided to support developers in their work. However, the development of systems proposes complex and different scenarios nowadays, and existing methodologies can hardly meet the requirements of all existing scenarios. This problem can be solved applying the Situational Method Engineering (SME) approach, which enables to build appropriate methodologies by composing fragments of existing ones. This approach has also the valuable advantage of reusing models, solutions and tools of existing and tested methodologies. In this paper, we focus on Agent Oriented Software Engineering (AOSE) and reports three examples of application of the Situational Method Engineering approach. We show that this approach can be applied following different 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 and self-organizing systems, all constructed composing methodology fragments to meet scenario requirements.


2009 - The MAR&A Methodology to Develop Agent Systems [Relazione in Atti di Convegno]
Cabri, Giacomo; Puviani, Mariachiara; Leonardi, Letizia
abstract

In this paper we present a new agent methodology called MAR&A. Its aim is to better connect agent methodologiesand agent infrastructures, since in the agent development we can find a “gap” between them. Ourapproach was not to build a new agent methodology from scratch, but to reuse “fragments” of existing methodologies.Besides presenting the methodology, we propose its use in a case study, to help readers understandthe exploitation of this methodology and to sketch the connections with agent infrastructures.


2009 - The future of AOSE: exploiting SME for a new conception of methodologies [Relazione in Atti di Convegno]
Puviani, Mariachiara; Cabri, Giacomo; Leonardi, Letizia
abstract

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.


2008 - Agent Roles: from Methodologies to Infrastructures [Relazione in Atti di Convegno]
Puviani, Mariachiara; Cabri, Giacomo; Leonardi, Letizia
abstract

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.


2008 - Methodologies and Infrastructures for Agent Society Simulation: Mapping PASSI and RoleX [Relazione in Atti di Convegno]
Cabri, Giacomo; Leonardi, Letizia; Puviani, Mariachiara
abstract

Today’s development of agent applicationsin general, but in particular related to society simulation, presents two aspects thatare separated by a gap: agent methodologies and agent infrastructures. On the onehand, methodologies support the agent development in its first phases—mainly analysis and design—while infrastructures areclearly focused on the implementation anddeployment. Unfortunately, there are fewconnections between them, leading to fragmented solutions. In this paper, we proposeto bridge this gap by means of meta-models,and we show how the PASSI methodologyand the RoleX infrastructure can be connected by following our approach.


2008 - Methodologies for Designing Agent Societies [Relazione in Atti di Convegno]
Cabri, Giacomo; Leonardi, Letizia; Puviani, Mariachiara
abstract

Today's complex systems can be addressed by exploiting software agents, and in particular sets of interacting agents. Agent societies represent a powerful means to design organization-oriented agent-based systems, in particular those where agents belonging to different users meet and interact. To effectively exploit them, developers must be supported by appropriate methodologies. In this paper we present a survey of agent-based methodologies, evaluated under some criteria that, in our opinion, are useful for developing societies. Our aim is to help developers in understanding the society-related features and choosing the most appropriate to their needs.


2008 - Mobile JikesRVM: a Framework to Support Transparent Java Thread Migration [Articolo su rivista]
Quitadamo, R; Cabri, Giacomo; Leonardi, Letizia
abstract

Today’s complex applications must face the distribution of data and code among different networknodes. Computation in distributed contexts is demanding increasingly powerful languages andexecution environments, able to provide programmers with appropriate abstractions and tools. Java isa wide-spread language that allows developers to build complex software, even distributed, but itcannot handle the migration of computations (i.e. threads), due to intrinsic limitations of manytraditional JVMs. After analyzing the approaches in literature, this paper presents our thread migrationframework (called Mobile JikesRVM), implemented on top of the IBM Jikes Research VirtualMachine (RVM): exploiting some of the innovative techniques in the JikesRVM, we implemented anextension of its scheduler that allows applications to easily capture the state of a running thread andmakes it possible to restore it elsewhere (i.e. on a different hardware architecture or operating system),but still with a version of framework installed). Our thread serialization mechanism provides supportfor both proactive and reactive migration, available also for multi-threaded Java applications, andtools to deal with the problems of resource relocation management. With respect to previousapproaches, we implemented Mobile JikesRVM without recompiling its JVM (Java Virtual Machine)source code, but simply extending JikesRVM functionalities with a full Java package to be importedwhen thread migration is needed.


2008 - Tackling Complexity of Distributed Systems: towards an integration of Service-Oriented Computing and Agent-Oriented Programming [Relazione in Atti di Convegno]
Cabri, Giacomo; Leonardi, Letizia; Quitadamo, Raffaele
abstract

The development of distributed systems poses different issues that developers must carefully take into consideration. Web services and (mobile) agents are two promising paradigms that are increasingly exploited in distributed systems design: they both try, albeit with very different conceptual abstractions, to govern unpredictability and complexity in wide-open distributed scenarios. In this paper, we compare the two approaches with regard to different aspects. Our aim is to provide developers with critical knowledge about the advantages of the two paradigms, stressing also the need for an intelligent integration of the two approaches.


2008 - The LAICA Project: An ad-hoc middleware to support Ambient Intelligence [Articolo su rivista]
Cabri, Giacomo; DE MOLA, Francesco; Ferrari, Luca; Leonardi, Letizia; Quitadamo, Raffaele; Zambonelli, Franco
abstract

Our everyday environments are going to be disseminated of devices and sensors that exhibit some degree of autonomy and that collaborate to support users in their activities. This envisions a not-so-far future called "Ambient Intelligence", i.e., environments that show a certain degree of intelligence. Useful abstractions for Ambient Intelligence are represented by software agents, since they are autonomous and capable of acting on behalf of their owners. In the context of the LAICA project we have exploited the agent paradigm to model devices and sensors, and have developed an ad-hoc middleware to orchestrate all the involved components. This paper discusses the adoption of agents in Ambient Intelligence, and explains the design and implementation of the middleware.


2007 - Agent-based Plug-and-Play Integration of Role-Enabled Medical Devices [Relazione in Atti di Convegno]
Cabri, Giacomo; DE MOLA, Francesco; Leonardi, Letizia
abstract

Information technology is proposing as an important support for managing health care. In particular, software agents represent a useful paradigm to meet the different requirements of e-health applications. In this paper we focus on the issues related to the integration of heterogeneous medical devices, to perform flexible vital sign monitoring by means of easy plug-and-play device connection. We propose an approach that integrates the agent-based UbiMedic framework, which provides facilities for e- health applications, and the RoleSystem infrastructure, which allows the management of interactions by means of agent roles. A prototype has been implemented and an example is exploited to show the advantages of the proposed approach, notably its interoperability.


2007 - Role Suggestion for Agents by Overhearing [Articolo su rivista]
Cabri, Giacomo; Ferrari, L; Leonardi, Letizia; Quitadamo, R.
abstract

Software agents represent an interesting paradigm to develop intelligent and distributed systems, because of their autonomy, proactiveness and reactivity; in addition, their sociality enables the distribution of the application logic in different agents that can interact together and with the host environment. In such scenario interactions must be carefully designed and managed at run-time. The concept of role has been adopted in different (agent) approaches to flexibly manage interactions; roles represent stereotypes of behavior, which are useful not only in the modeling of systems and applications, but also in their design and implementation. Overhearing is a technique that enables the observation of agents’ behavior by “hearing” the exchanged messages. In general, overhearing can be useful to “label” observed agents and manage agent organizations. In this paper we explore the adoption of overhearing in conjunction with agent roles in order to provide more features to agents themselves. In particular the approach presented here can support and help the agent deciding the role to assume and then how to use it, after having observed the agent behavior.


2007 - Service-Oriented Agent Methodologies [Relazione in Atti di Convegno]
Cabri, Giacomo; Leonardi, Letizia; Puviani, Mariachiara
abstract

Agents and services are two concepts that more andmore are integrating and exploiting the advantages ofeach other. Agent-oriented methodologies effectivelysupport the development of agent-based system in thedifferent phases. In this paper, we explore how andhow much the most common agent-orientedmethodologies are also oriented to the development ofservices. Rather than searching for the “best”methodology, we aim at defining some evaluationcriteria and surveying the existing methodologiesconsidering such criteria.


2006 - Applying security policies through agent roles: A JAAS based approach [Articolo su rivista]
Cabri, Giacomo; L., Ferrari; Leonardi, Letizia
abstract

Agents are an emerging technology that grants programmers a new way to exploit distributed resources. Role is a powerful concept that can be used to model agent interactions, both between different agents and between agents and environments. Roles allow agents to dynamically acquire capabilities to perform specific tasks, and therefore enable separation of concerns and code reusability in software development and maintenance. Permissions and security issues related to role´s use should be carefully taken into account, especially when the agent scenario becomes open, including even mobile agents. In a Java agent scenario, we believe that the standard policy file mechanism does not suffice, because a fine grain permission management is required. This paper focuses on how to exploit the Java Authentication and Authorization Service (JAAS) at the role level in order to apply authorizations and local policies to Java agents for controlling the use of their roles.


2006 - Collaboration-Driven Role Suggestion for Agents [Relazione in Atti di Convegno]
Cabri, Giacomo; L., Ferrari; Leonardi, Letizia; Quitadamo, Raffaele
abstract

Thanks to their capabilities of being autonomous, proactive and reactive, software agents are today a powerful paradigm to develop complex systems, which typically involve several interacting agents. In those systems, interactions must be carefully designed and must be smartly managed at run-time. A good paradigm to deal with interaction and run-time situations is represented by the concept of role, which has been exploited in different approaches. In this paper we investigate the adoption of overhearing, a paradigm to deal with cooperating agents, in order to improve the adoption of roles. The approach presented here can be adopted to support the agent decisions regarding the role to assume and its use


2006 - Enabling Java Mobile Computing on the IBM Jikes Research Virtual Machine [Relazione in Atti di Convegno]
Cabri, Giacomo; Leonardi, Letizia; Quitadamo, Raffaele
abstract

Today's complex applications must face the distribution of data and code among different network nodes. Java is a wide-spread language that allows developers to build complex software, even distributed, but it cannot handle the migration of computations (i.e. threads), due to intrinsic limitations of many traditional JVMs. After analyzing the approaches in literature, this paper presents our research work on the IBM Jikes Research Virtual Machine: exploiting some of its innovative VM techniques, we implemented an extension of its scheduler that allows applications to easily capture the state of a running thread and makes it possible to restore it elsewhere (i.e. on a different hardware or software architecture, but still with a version of JikesRVM installed). Our thread serialization mechanism provides support for both proactive and reactive migration of single- and multi-threaded Java applications. With respect to previous approaches, we implemented the mobility framework without recompiling a previous JVM source code, but simply extending its functionalities with a full Java package.


2006 - Leveraging strong agent mobility for Aglets with the Mobile JikesRVM framework [Articolo su rivista]
Quitadamo, R.; Leonardi, Letizia; Cabri, Giacomo
abstract

Mobility enables agents to migrate among several hosts, becoming active entities of networks. Java is today one of the most exploited languages to build mobile agent systems, thanks to its object-oriented support, portability and network facilities. Nevertheless, Java does not support strong mobility, i. e. the possibility of relocating running threads along with their execution state; challenges arising from implementing strong mobilityupon the JVM has led to the choice of a weaker form of agent mobility (i. e. weak mobility): although in many agent scenarios (e.g. in simple reactiveagents) weak mobility could be enough, it usually complicates programming parallel and distributed applications, as it forces developers to structure their agent-based programs as sort of FSMs (Finite State Machine). In this paper, we present our Mobile JikesRVM framework to enable strong Java thread migration, based on the IBM Jikes Research Virtual Machine. Moreover, we show how it is possible (and often desirable) to exploit such a framework to enrich a Mobile Agent Platform, like the IBM Aglets, with strong agent mobility and to leverage software agents potential in parallel and distributed computing.


2006 - Strong Agent Mobility for Aglets based on the IBM JikesRVM [Relazione in Atti di Convegno]
Cabri, Giacomo; L., Ferrari; Leonardi, Letizia; Quitadamo, Raffaele
abstract

Mobility enables agents to migrate among several hosts, becoming active entities of networks. Java is today one of the most exploited languages to build mobile agent systems, thanks to its object-oriented support, portability and network facilities. Nevertheless, Java does not support strong mobility, i.e., the mobility of threads along with their execution state; thus developers cannot develop agents as real mobile entities. This paper reports our approach for Java thread strong migration, based on the IBM Jikes Research Virtual Machine, presenting our results and proposing an enrichment of the Aglets mobile agent platform in order to exploit strong agent mobility.


2006 - Supporting the Development of Multi-agent Interactions Via Roles [Relazione in Atti di Convegno]
Cabri, Giacomo; Ferrari, L; Leonardi, Letizia
abstract

In the multi-agent scenario, interaction among agents is an issue that must be faced in an appropriate way. Modeling interactions by roles can simplify the development of the interactions in agent-based applications. The BRAIN framework proposes an interaction model based on roles, an XML notation to define roles, and interaction infrastructures based on the role model and notation. In this paper we explain how the BRAIN framework can be exploited in the different phases of the development of applications where agents play roles. The general advantage is that the development phases rely on the same information, adapted to different needs, granting coherence and continuity during the development.


2006 - Uncoupling Coordination: Tuple-based Models for Mobility [Capitolo/Saggio]
Cabri, Giacomo; L., Ferrari; Leonardi, Letizia; Mamei, Marco; Zambonelli, Franco
abstract

This chapter focuses on tuple-based (Linda-like) coordination models as middleware services for mobile and pervasive computing systems. After having introduced the basic concepts of tuple-based coordination, the chapter discusses the suitability of tuple-based models for mobility and introduces a simple taxonomy of tuple-based middleware models for mobile systems. Then, on the basis of the introduced taxonomy, the chapter presents several proposals – both industrial and academic – that have been made in the area. Eventually, the paper outlines open research issues and promising research directions in the area of tuple-based coordination models for mobile computing systems.


2005 - A role-based mobile-agent approach to support e-democracy [Articolo su rivista]
Cabri, Giacomo; L., Ferrari; Leonardi, Letizia
abstract

Information technology can fruitfully support the participation of citizens in the public life. E-democracy is the set of infrastructures, applications, and devices that make such participation easier and let people better approach to the political actions, for instance attending conventions and voting for a candidate. This paper proposes an approach based on mobile agents playing roles to simplify the task of the developers of e-democracy applications, making them more flexible and adaptable. An application example is exploited to show the concrete advantages of our approach.


2005 - Exploiting runtime bytecode manipulation to add roles to Java agents [Articolo su rivista]
Cabri, Giacomo; L., Ferrari; Leonardi, Letizia
abstract

Thanks to their sociality, agents can interact with other agents in a cooperative or competitive way. Such interactions must be carefully taken into consideration in the development of agent-based applications. A good paradigm for modeling such interactions is the one based on the concept of roles, which is fully exploited in the BRAIN framework. The use of roles achieves several advantages, from separation of concerns between the algorithmic issues and the interaction ones, to the reuse of solutions and experiences in different applications. In this paper, we propose an interaction infrastructure for enabling Java agents to dynamically assume roles at runtime and then to use them. Our approach is based on the capability of modifying the bytecode of Java agents at runtime in order to add the members of role classes. An application example and a comparison with other approaches show the effectiveness of our approach.


2005 - Improving Aglets with strong agent mobility through the IBM JikesRVM [Relazione in Atti di Convegno]
Cabri, G.; Ferrari, L.; Leonardi, L.; Quitadamo, R.
abstract

Agents are problem-solving entities that, thanks to characteristics such as autonomy, reactivity, proactivity and sociality, together with mobility, can be used to develop complex and distributed systems. In particular, mobility enables agents to migrate among several hosts, becoming active entities of networks. Java is today one of the most exploited languages to build mobile agent systems, thanks to its object-oriented support, portability and network facilities. Nevertheless, Java does not support strong mobility, i.e., the mobility of threads along with their execution state; thus developers cannot develop agents as real mobile entities. This paper reports our approach for Java thread strong migration, based on the IBM Jikes Research Virtual Machine, presenting our results and proposing an enrichment of the Aglets mobile agent platform in order to exploit strong agent mobility.


2005 - Injecting roles in Java agents through runtime bytecode manipulation [Articolo su rivista]
Cabri, Giacomo; L., Ferrari; Leonardi, Letizia
abstract

Agents are problem-solving entities that can be used to develop complex and distributed systems because they are autonomous, mobile, reactive, social, and proactive. Today's trends in agent technology include the development of applications as multi-agent systems, where several agents interact within the same application. In these systems, the interactions among agents must be carefully considered. Roles constitute a powerful paradigm for modeling interactions, allowing algorithmic issues and interaction-dependent issues to be handled independently. In this paper, we present the RoleX interaction infrastructure, which enables Java(TM) agents to dynamically assume and use roles at runtime. Our approach is based on using bytecode manipulation to add (or remove) Java members from agents, changing their capabilities. We detail the main component of RoleX, the Role Loader, which performs the bytecode manipulation that allows agents to dynamically assume and release roles.


2005 - The LAICA Project: Supporting Ambient Intelligence via Agents and Ad-Hoc Middleware [Relazione in Atti di Convegno]
Cabri, Giacomo; L., Ferrari; Leonardi, Letizia; Zambonelli, Franco
abstract

Users' environments are going to be disseminated of intelligent devices and sensors that coordinate each other to help users in their activities. This leads to what is called "ambient intelligence", i.e., environments that exhibits a certain degree of intelligence. Software agents are the natural candidates for this kind of task, thanks to their autonomy and the capability to act on behalf of their owners, resulting thus appropriate in the ambient intelligence area. In this position paper, we discuss the use of agents in ambient intelligence, and sketch the relevant aspects of the LAICA project. In particular, we focus on the design of a middleware for ambient intelligence that connects several kinds of agents and other distributed components.


2004 - Agent Role-based Collaboration and Coordination: a Survey About Existing Approaches [Relazione in Atti di Convegno]
Cabri, Giacomo; Ferrari, L.; Leonardi, Letizia
abstract

The development of agent-based systems musttake into account interactions, carefully modelling andengineering them. Roles represent a good concept thatcan help designers and developers dealing withinteractions. So far, several role approaches for agentshave been proposed. This paper presents a survey on themost important existing approaches. This surveyevaluates the above approaches presenting their maincharacteristics and comparing them each other to find outhow they provide support for analysis, design,implementation, interoperability and openness. Also thesupport for a formal notation is evaluated. This surveydoes not try to find out the best role approach, but toexpose to designers and developers advantages anddrawbacks of several approaches, so that they canrecognize the conditions under which their use ispreferable rather than others.


2004 - Co-Fields: A Physically Inspired Approach to Motion Coordination [Articolo su rivista]
Mamei, Marco; Zambonelli, Franco; Leonardi, Letizia
abstract

This work focuses on the problem of coordinating the movements of autonomous agents in a distributed environment. The term agent can refer not only to software components but also to any autonomous real-world entity with computing and networking capability, such as a PDA, a robot, or a modern car. The goals of these coordinated movements can include letting the agents meet somewhere, distribute themselves according to specific spatial patterns, or simply move in the environment without interfering with each other. To achieve this goal, we take inspiration from the physical world-that is, from the way particles in the universe move and globally self-organize according to the contextual information represented by fields.


2004 - Embedding Jaas in Agent Roles to Apply Local Security Policies [Relazione in Atti di Convegno]
Cabri, Giacomo; Leonardi, Letizia; L., Ferrari
abstract

Agents are an emerging technology that grants programmers a new way to exploit distributed resources. Roles are a powerful concept that can be used to model agent interactions, allowing agents to dynamically acquire operations to make specific tasks, and enabling separation of concerns and code reusability. Nevertheless roles should be developed taking into account permissions needed for the execution of their operations. The standard Java policy file mechanism does not suffice in this scenario, since a fine grain in managing permissions is required. This paper focuses on how to exploit the Java Authentication and Authorization Service (JAAS) at the role level in order to apply authorization and local policies to Java agents for limiting their operations.


2004 - MailConfigurator: Automatic Configuration of E-Mail Accounts through Java Mobile Agents [Relazione in Atti di Convegno]
Cabri, Giacomo; Leonardi, Letizia; L., Ferrari
abstract

E-Mail is the most exploited service in the Internet. We present an application based on Java mobile agents to automatically perform required steps to register an account. The use of roles makes the development easier and the application adaptable, while the use of the Java technology improves portability. Even if our approach is used for e-mail account creation, our results can be applied to other scenarios.


2004 - Rethinking agent roles: extending the role definition in the BRAIN framework [Relazione in Atti di Convegno]
Cabri, Giacomo; Ferrari, L.; Leonardi, Letizia
abstract

Agents represent a technology that grants developers a new way to develop complex applications. Thanks to their autonomy, reactivity and mobility agents can be exploited in today's applications, even playing on the behalf of users. Agents are not really useful if isolated, instead their powerful is increased as much as they can cooperate and coordinate with other agents or environments. To deal with the need of coordination, developers can use the role-based approach, where coordination issues are embedded in roles exploited by agents. Nevertheless, up to now, agent roles have been entities that agents can exploit, without following and providing a real agent evolution, as happens in the real life for human being. In this paper, we propose work in progress within the BRAIN role-based framework to overtake the above limitation, providing a new definition of role.


2004 - Role-based Approaches for Agent Development [Relazione in Atti di Convegno]
Cabri, Giacomo; Leonardi, Letizia; L., Ferrari; Zambonelli, Franco
abstract

Roles seem to be a suitable concept for the development of agent-based systems. We have compared different approaches based on roles for agent development. This paper illustrates the used evaluation criteria and reports the lesson learned.


2004 - The RoleX Environment for Multi-agent Cooperation [Relazione in Atti di Convegno]
Cabri, Giacomo; Ferrari, L; Leonardi, Letizia
abstract

In this paper we present the RoleX environment for multi-agent systems. Born to support the management of role-based interactions, Rolex provides different services, in particular to support open and flexible cooperation. To this purpose, RoleX exploits an event-based communication mechanism and adopts SOAP as message encoding. Such features make RoleX well suit dynamic and unpredictable scenarios such as the Internet.


2004 - Towards the Use of Mobile Agent Based Message Systems [Relazione in Atti di Convegno]
Cabri, Giacomo; Ferrari, L.; Leonardi, Letizia
abstract

Communication is the base mechanism for coordination and collaboration in human activities, and it plays a fundamental role in enterprise environments. However current communication systems are not based on the message content, but they focus on the message transport and delivery. Furthermore the presence of several communication protocols and tools leads to heterogeneity in communications, implying difficulties in activity coordination. This paper presents an approach for communications based on the use of mobile agents, which can realize content filtering, and can unify several message systems in a single one.


2004 - Virtual visits to cultural heritage supported by web-agents [Articolo su rivista]
M. E., Bonfigli; Cabri, Giacomo; Leonardi, Letizia; Zambonelli, Franco
abstract

The integration between information technologies and culturalheritage can impact on everyday life, both from the point of view ofinstitutions and of users. The cultural heritage community haverecently been attracted by the chance offered by informationtechnology, and, in particular, by the possibility of making culturalinformation available to a wide range of people. Museums,exhibitions and cultural institutions can now supply new services toaccess cultural information, and this calls for suitable infrastructuresand tools. In such a context, this paper proposes a Web-basedapplication that enables virtual visits to access cultural informationtailored on the basis of user profiles and devices. The application isclosely integrated within the Web; it also permits one group to buildup virtual visits that can be attended by different people interested inthe same subject. The application is based on an infrastructureexploiting innovative technologies such as active proxy servers andmobile agents; it grants a high degree of flexibility and is particularlysuitable for an improved promulgation of cultural information.


2003 - A Case Study in Role-based Agent Interactions [Relazione in Atti di Convegno]
Cabri, Giacomo; Ferrari, L.; Leonardi, Letizia
abstract

Mobile agents are an emerging approach to develop distributed and parallel application. They also can be exploited to develop enterprise applications, since they can act as active network components, and can execute on heterogeneous platforms or architectures. In this paper, we analyze the interaction issues of an agent based application for the automatic registration system of e-mail accounts, and we propose a role-based approach to deal with these interactions. Such an approach enables the development of flexible and reusable agent-based applications, which can also be exploited by enterprise systems to perform automatic or administrative tasks.


2003 - BRAIN: A framework for flexible role-based interactions in multiagent systems [Relazione in Atti di Convegno]
Cabri, Giacomo; Leonardi, Letizia; Zambonelli, Franco
abstract

Agent-based approaches in application development seem to meet the requirements of adaptability, scalability, decentralization, and flexibility imposed by complex software systems. In open applications, interactions among agents are one of the most important issues that must be faced carefully. In this paper we propose the BRAIN framework, which aims at supporting the different phases of the development of interactions in agent-based applications, relyingon the concept of role to model agent interactions. Roles carrydifferent advantages in modeling interactions and, consequently, in exploiting derived infrastructures to support multiagent systems. Besides the interaction model, the BRAIN framework includesXRole, an XML-based notation to express roles in an interoperableway, and Rolesystem, an interaction infrastructure that implements the proposed model. An application example shows the advantages of our approach in application engineering.


2003 - Co-fields: Towards a unifying approach to the engineering of swarm intelligent systems [Relazione in Atti di Convegno]
Mamei, Marco; Zambonelli, Franco; Leonardi, Letizia
abstract

Swarm intelligent systems, in which the paths to problem solving emerge as the result of interactions between simple autonomous components (agents or ants) and between them and their environment, appear very promising to develop robust and flexible software application. However, the variety of swarm-based approaches that have been proposed so far still lacks a common modeling and engineering methodology. In the attempt to overcome this problem, this paper presents a general coordination methodology in which swarm's components are simply driven by abstract computational force fields (Co-Fields), generated either by agents, or by the environment. By having agents be driven in their activities by such fields, globally coordinated behaviors can naturally emerge. Although this model still does not offer a complete engineering methodology, it can provide a unifying abstraction for swarm intelligent systems and it can also be exploited to formalize these systems in terms of dynamical systems whose behavior can be described via differential equations. Several example of swarm systems modeled with Co-Fields are presented to support our thesis.


2003 - Distributed Motion Coordination with Co-Fields: A Case Study in Urban Traffic Management [Relazione in Atti di Convegno]
Mamei, Marco; Zambonelli, Franco; Leonardi, Letizia
abstract

Coordinating the activities of distributed autonomous entities challenges traditional approaches to distributed coordination and calls for new paradigms and supporting middleware. This paper focuses on the problem of orchestrating the movements of mobile autonomous agents in a large-scale distributed systems, and proposes an approach that takes inspiration from physics. Our idea is to have the movements of agents driven by force fields, generated by the agents themselves and propagated via some infrastructure. A globally coordinated and self-organized behavior in the agent's movements can then emerge due to the interrelated effects of agents following the shape of the fields and dynamic fields re-shaping. The approach is presented and its effectiveness described with regard to a concrete case study in the area of urban traffic coordination.


2003 - Enabling Mobile Agents to Dynamically Assume Roles [Relazione in Atti di Convegno]
Cabri, Giacomo; Ferrari, L.; Leonardi, Letizia
abstract

Agent-based application development must face the issues related to the interactions among agents. In fact, their sociality allows decomposing large applications into collaborating agents, while open environments, such as the Internet, require agents belonging to different applications to compete to gain resources. In the BRAIN framework, interactions among agents are fruitfully modeled and implemented on the basis of roles. This approach achieves several advantages, from separation of concerns between the algorithmic issues and the interaction issues, to the reuse of solutions and experiences in different applications. In this paper we propose a mechanism to enable Java agents to dynamically assume roles at runtime. Our approach is based on the modification of the bytecode of Java agents, in order to implement an appropriate interface and to add the related methods. An application example and the comparison with other approaches show the effectiveness of our approach.


2003 - Implementing Role-based Interactions for Internet Agents [Relazione in Atti di Convegno]
Cabri, Giacomo; Leonardi, Letizia; Zambonelli, Franco
abstract

Large-scale decentralized environments, such as the Internet, achieve advantages in exploiting software agents for applications, thanks to their autonomy in carrying out tasks. In such a scenario, interactions among agents are an issue that must be faced in an appropriate way. In the BRAIN framework interactions among agents are fruitfully modeled on the basis of roles, which define a set of capabilities and expected behavior. This approach achieves several advantages, such as agent-oriented features, separation of concerns and reuse of solutions and experiences. In this paper we propose an interaction infrastructure, called Rolesystem, which relies on the aforementioned role-based interaction model. This infrastructure allows agents to dynamically assume roles and interact accordingly. An application example and comparison with other approaches show the effectiveness of our approach.


2003 - Location-dependent services for mobile users [Articolo su rivista]
Cabri, Giacomo; Leonardi, Letizia; Mamei, Marco; Zambonelli, Franco
abstract

Several approaches for the provisioning of servicesto mobile users aim at supporting service availability from anyplace and at any time. However, most scenarios also require theenforcement of context-awareness, to dynamically adapt servicesdepending on the context in which they are requested. In thispaper, we focus on the problem of adapting services dependingon the users’ location, whether physical (in space) or logical(within a specific distributed group/application). To this end, wepropose a framework to model users’ location via a multiplicityof local and active service contexts. First, service contextsrepresent the mean to access to services available within aphysical locality. This leads to an intrinsic dependency ofservice provisioning on the users’ physical location. Second, thebehavior of service contexts can be tuned depending on who isrequesting what service. This enables adapting services to thelogical location of users (e.g., a request can lead to differentbehaviors for users belonging to different groups/applications).The paper firstly describes the framework in general terms,showing how it can facilitate the design of distributedapplications involving mobile users as well as mobile agents.Then, it shows how the MARS coordination middleware,implementing service contexts in terms of programmable tuplespaces, can be used to develop and deploy applications andservices coherently with the above framework. A case study isintroduced and discussed through the paper to clarify ourapproach and to show its effectiveness.


2003 - Manipulation of Java Agent Bytecode to Add Roles [Relazione in Atti di Convegno]
Cabri, Giacomo; Ferrari, L.; Leonardi, Letizia
abstract

Roles are a powerful paradigm to develop distributed applications based on agents, especially when they are in need of interacting with other entities. An agent-oriented approach requires that roles are conceived as first-class entities, and at the same time that roles are dynamically embedded into agents at runtime. In this paper we propose an approach that addresses such requirements, enabling Java agents to dynamically assume roles. We present a mechanism that modifies the agent bytecode to add the role features.


2003 - Programming Ubiquitous and Mobile Computing Applications with TOTA Middleware. [Relazione in Atti di Convegno]
Mamei, Marco; Zambonelli, Franco; Leonardi, Letizia
abstract

Pervasive computing calls for suitable programmingmodels and associated supporting infrastructures todeal with large software systems dived in complex anddynamic network environments. Here, with the aid of acase study scenario, we discuss the inadequacies ofcurrent approaches in dealing with pervasivecomputing applications. Then we present TOTA (TuplesOn The Air): our proposal to solve the aboveinadequacies. TOTA relies on tuple-based informationto be spatially diffused in the network on the basis ofsome application-specific propagation rule, to beexploited by application agents to achieve contextawarenessand to effectively coordinate with each other.Finally related approaches in this area are presented.


2003 - Programming coordinated motion patterns with the TOTA middleware [Relazione in Atti di Convegno]
Mamei, Marco; Zambonelli, Franco; Leonardi, Letizia
abstract

In this paper, we present TOTA (Tuples On The Air), a novel middleware to coordinate the movements of a large number of autonomous components (i.e. agents) in a ubiquitous computing scenario. The key idea in TOTA is to rely on spatially distributed tuples for both representing contextual information and supporting uncoupled and adaptive interactions between application components. The TOTA middleware takes care both of propagating tuples across a network on the basis of application-specific rules and of adaptively re-shaping the resulting distributed structures accordingly to changes in the network structures. Application agents - via a simple API - can locally sense such distributed structures to achieve context-awareness and to effectively coordinate their movements.


2003 - Role Agent Pattern: a Developer Guideline [Relazione in Atti di Convegno]
Cabri, Giacomo; Ferrari, L.; Leonardi, Letizia
abstract

Agents are an emerging technology that grants programmers a new way to exploit distributed resources. One of the hardest difficult in the development of this kind of application is the managing of agent interactions, since agents must interact in a collaborative and/or competitive way to achieve their task. Roles are a powerful paradigm that can be used to model agent interactions, both between two (or more) agents and between an agent and the platform/node on which it is running. In this paper we propose a guideline to role developing and use, with regard to the agent technology. In particular we focus on the main problems that a role system and a role developer must take into account.


2003 - Role-based interaction infrastructures for Internet agents [Articolo su rivista]
Cabri, Giacomo; Leonardi, Letizia; Zambonelli, Franco
abstract

With no doubt the Internet will achieve advantages in exploiting software agents for applications, thanks to their autonomy in carrying out tasks. In such a scenario, appropriated methodologies are needed to manage the interactions among agents. The BRAIN framework proposes an interaction model based on roles, each one composed by a set of capabilities and an expected behavior. The achieved advantages are agent-oriented features, separation of concerns and reuse of solutions and experiences. In this paper we present two interaction infrastructures, Rolesystem and RoleX, which rely on the above mentioned role-based interaction model. These infrastructures allow agents to assume roles and to interact. An application example and the comparison with other approaches show the effectiveness of our approach.


2003 - Tuples On The Air: A Middleware for Context-Aware Computing in Dynamic Networks [Relazione in Atti di Convegno]
Mamei, Marco; Zambonelli, Franco; Leonardi, Letizia
abstract

We present TOTA (“Tuples On The Air”), a novelmiddleware for supporting adaptive context-awareapplication in dynamic network scenarios. The key ideain TOTA is to rely on spatially distributed tuples forboth representing contextual information andsupporting uncoupled and adaptive interactionsbetween application components. The middlewarepropagates tuples across a network on the basis ofapplication-specific patterns and adaptively re-shapesthe resulting distributed structures accordingly tochanges in the network scenario. Applicationcomponents can locally “sense” these structures andexploit them to acquire contextual information andcarry on complex coordination activities in an adaptiveway. Several examples show the effectiveness of theTOTA approach.


2002 - A Physically Grounded Approach to Coordinate Movements in a Team [Relazione in Atti di Convegno]
Mamei, Marco; Zambonelli, Franco; Leonardi, Letizia
abstract

Focuses on the problem of coordinating the movements of a cooperative team in an environment, and proposes an approach that takes inspiration from the laws of physics. The idea is to have the movements of team members driven by abstract force fields, generated by team members themselves and propagated via some embedded infrastructure. A globally coordinated and self-organized behavior in team members' movements emerges due to the interrelated effects of team members following the shape of the fields and of dynamic fields re-shaping. A case study in the area of warehouse management is introduced to exemplify the proposed approach.


2002 - Engineering mobile agent applications via context-dependent coordination [Articolo su rivista]
Cabri, Giacomo; Leonardi, Letizia; Zambonelli, Franco
abstract

The design and development of Internet applications requiring dynamic and possibly mobile access to Internet resources can take advantage of an approach based on autonomous mobile agents. However, mobility introduces peculiar issues related to the modeling and management of the agents' coordination activities. This paper introduces context-dependent coordination as a framework for the design and development of Internet applications based on mobile agents, and shows how it can be supported by a proper coordination infrastructure. Context-dependent coordination is centered on the notion of programmable coordination media, as the software abstraction via which an agent in an Internet site can access to local resources and coordinate with local agents. Programmability stems from the fact that the behavior of the media can be fully configured to influence agents' coordination activities. This enables local administrators to configure coordination media so as to enact site-dependent coordination policies, and mobile agents to configure the accessed coordination media to obtain an application-dependent behavior of the media themselves. Several application examples shows that exploiting context-dependent coordination promotes a clear separation of concern in design and development, and can make applications more modular and easier to be maintained. The MARS system is assumed as an exemplar coordination infrastructure to clarify the concepts expressed and to show their actual implementation.


2002 - MOMIS: Exploiting agents to support information integration [Articolo su rivista]
Cabri, Giacomo; Guerra, Francesco; Vincini, Maurizio; Bergamaschi, Sonia; Leonardi, Letizia; Zambonelli, Franco
abstract

Information overloading introduced by the large amount of data that is spread over the Internet must be faced in an appropriate way. The dynamism and the uncertainty of the Internet, along with the heterogeneity of the sources of information are the two main challenges for today's technologies related to information management. In the area of information integration, this paper proposes an approach based on mobile software agents integrated in the MOMIS (Mediator envirOnment for Multiple Information Sources) infrastructure, which enables semi-automatic information integration to deal with the integration and query of multiple, heterogeneous information sources (relational, object, XML and semi-structured sources). The exploitation of mobile agents in MOMIS can significantly increase the flexibility of the system. In fact, their characteristics of autonomy and adaptability well suit the distributed and open environments, such as the Internet. The aim of this paper is to show the advantages of the introduction in the MOMIS infrastructure of intelligent and mobile software agents for the autonomous management and coordination of integration and query processing over heterogeneous data sources.


2002 - Modeling Role-based Interactions for Agents [Relazione in Atti di Convegno]
Cabri, Giacomo; Leonardi, Letizia; Zambonelli, Franco
abstract

Software agents, thanks to their autonomy in carryingout tasks, are fruitfully exploited in large-scaledistributed environments, such as the Internet. In such ascenario, interactions among agents are an issue thatmust be faced in an appropriate way. This paperproposes an interaction model based on roles, being arole a set of capabilities and an expected behavior.Modeling interactions by roles can simplify the designof the agent-based applications. A notation based onXML is adopted to support the definition and theexploitation of roles at different phases of theapplication development. Finally, an applicationexample shows the effectiveness of the approach.


2002 - Separation of Concerns in Agent Applications by Roles [Relazione in Atti di Convegno]
Cabri, Giacomo; Leonardi, Letizia; Zambonelli, Franco
abstract

In the development of agent applications, interactions are an important issue, which must be faced with appropriate methodologies and tools. A separation of concerns between the agents and their interaction needs is helpful in the designing and the implementation phases of the life cycle. In this paper we propose XRole, a system that helps in dealing with interactions. It is based on the definition of roles, which are intended as intermediaries between the application needs and the environment needs. XRole is realized by exploiting the interesting features of the XML language. An application example shows the effectiveness of the approach.


2002 - XRole: XML Roles for Agent Interaction [Relazione in Atti di Convegno]
Cabri, Giacomo; Leonardi, Letizia; Zambonelli, Franco
abstract

Engineering interactions is a very importantissue in the design and development of Internetapplications. The wideness, the opennessand the uncertainty of the Internet environmentcall for appropriate methodologies. Inthis paper we propose XRole, a system thathelps in dealing with such a kind of interactionsin a modular and effective way. XRole isbased on the definition of roles, intended asintermediaries between the application needsand the environment needs. XRole is implementedexploiting the XML language. An applicationexample in the agent-negotiationarea shows the effectiveness of the approach.


2001 - Coordination infrastructures for mobile agents [Articolo su rivista]
Cabri, Giacomo; Leonardi, Letizia; Zambonelli, Franco
abstract

The mobile agent technology is gaining more and more interest in the distributed systems community. In this context, suitable coordination models are needed to handle the coordination, both among mobile agents and between agents and Internet resources. This paper presents two coordination infrastructures that follow two different coordination models: Aglets, based on the message-passing coordination model, and Mobile Agent Reactive Spaces (MARS), based on the Linda-like one. These two approaches are compared in detail, and a mobile-agent application in the area of auction-based negotiation is used to evaluate the pros and cans of the Aglets and MARS solutions in a concrete field. (C) 2001 Elsevier Science B.V. All rights reserved.


2001 - Developing Mobile Agent Organizations: A Case Study in Digital Tourism [Relazione in Atti di Convegno]
Cabri, Giacomo; Leonardi, Letizia; Zambonelli, Franco
abstract

Mobile agents are a useful paradigm for the development of complex Internet applications. However, the effective development of mobile agent applications requires suitable models and infrastructures. This paper proposes an organizational approach to the design and development of mobile agent applications and describes an infrastructure designed to support such approach. The approach models the Internet as a multiplicity of local and active organizational contexts, intended as the places where coordination activities of application agents occur and are ruled. The MARS coordination infrastructure supports the development of mobile agent applications by implementing organizational contexts in terms of programmable tuple spaces. An application example related to the use of mobile agents to access and organize tourist information is introduced and discussed through the paper to clarify our approach and to show its effectiveness.


2001 - Engineering Mobile-Agent Applications via Context-dependent Coordination [Relazione in Atti di Convegno]
Cabri, Giacomo; Leonardi, Letizia; Zambonelli, Franco
abstract

Mobility introduces peculiar coordination problems in agent-based Internet applications. First, it suggests the exploitation of an infrastructure based on a multiplicity of local interaction spaces. Second, it may require coordination activities to be adapted both to the characteristics of the execution environment where they occur and to the needs of the application to which the coordinating agents belong. This paper introduces the concept of context-dependent coordination based on programmable interaction spaces. On the one hand, interaction spaces associated to different execution environments may be independently programmed so as to lead to differentiated, environment-dependent, behaviors. On the other hand, agents can program the interaction spaces of the visited execution environments to obtain an application-dependent behavior of the interaction spaces themselves. Several examples show how an infrastructure for context-dependent coordination can be exploited to simplify the design of Internet applications based on mobile agents. In addition, the MARS coordination infrastructure is presented as an example of a system in which the concept of context-dependent coordination has found a clean and efficient implementation.


2001 - Engineering infrastructures for mobile organizations [Relazione in Atti di Convegno]
Cabri, Giacomo; Leonardi, Letizia; Mamei, Marco; Zambonelli, Franco
abstract

Mobile application components can be effectively and uniformly modeled in terms of autonomous agents moving across different contexts during execution. In this paper, we introduce a conceptual framework based on the definition of programmable organizational contexts, which can promote an engineered approach to application design and that, if is supported by a proper programmable coordination infrastructure, can make applications more modular and easy to maintain. On this base, the paper analyses several issues related to the implementation of programmable coordination infrastructures for mobility. In addition, the paper introduces a preliminary proposal for the modeling of programmable coordination infrastructures in terms of a general-purpose event-based infrastructure. Finally, the paper sketches open issues and promising research directions.


2001 - Mobile Agent Coordination for Distributed Network Management [Articolo su rivista]
Cabri, Giacomo; Leonardi, Letizia; Zambonelli, Franco
abstract

Mobile agents are a promising technology to face the problems raised by the increasing complexity and size of today networks. In particular, in the area of network management, mobile agents can lead to a fully distributed paradigm, which can overcome the limitation of the traditional centralised approaches. A basic requirement for the management of a complex network is to define high-level and flexible models to coordinate the accesses to the resources - data and services - provided by the network nodes. On this base, the paper describes the MARS coordination architecture for mobile agents. MARS is based on the definition of programmable tuple spaces associated to the network nodes: mobile agents can access to the local resources and services via the tuple space, thus adopting a standard and high-level interface. The network administrator - via mobile agents - can dynamically program the behaviour of the tuple space in response to the agents accesses, thus leading to a flexible network model. Several examples show the effectiveness of the MARS approach in supporting network management activities.


2001 - Mobile Devices to Assist Cultural Visits [Relazione in Atti di Convegno]
Bonfigli, E.; Cabri, Giacomo; Leonardi, Letizia; Zambonelli, Franco
abstract

Traditional visits to environments interesting from a cultural point of view are based on technologies that do not permit flexibility and modification to the visit itself on the basis of the visitors’ profile. Software agents running on personal mobile devices can overcome such limitations and lead to personalised visits. The innovative technology based on mobile agents seems to well fit this scenario, where the agents on the mobile devices can interact with fixed HW/SW infrastructures. This paper proposes the reuse of several concepts from the mobile agent technology in the design of distributed applications based on mobile devices. In particular, coordination issues are addressed, and reactive tuple spaces are proposed as coordination means: thanks to their openness and flexibility, they well suit a scenario composed by mobile entities.


2001 - Parallel object allocation via user-specified directives: A case study in traffic simulation [Articolo su rivista]
A., Corradi; Leonardi, Letizia; Zambonelli, Franco
abstract

Predefined and automatic approaches to allocation cannot always achieve satisfactory results, due to the very different behaviours in the dynamic need of resources of parallel applications. This paper presents the approach adopted in the Parallel Objects (PO) environment to let users drive object allocation in parallel/distributed architectures. A set of high-level directives permits users to specify the allocation needs of application objects; a dynamic load-balancing tool - part of the environment run-time support - uses the user-level allocation directives to tune its behaviour. This paper presents the PO implementation of an application example in the field of traffic simulation. The goal is to show the ease of use and the flexibility of the allocation directives, together with the effectiveness of the approach in improving the performances of dynamic object-oriented parallel applications. (C) 2001 Elsevier Science B.V. All rights reserved.


2001 - Supporting information integration with autonomous agents [Relazione in Atti di Convegno]
Bergamaschi, Sonia; Cabri, Giacomo; Guerra, Francesco; Leonardi, Letizia; Vincini, Maurizio; Zambonelli, Franco
abstract

The large amount of information that is spread over the Internet is an important resource for all people but also introduces some issues that must be faced. The dynamism and the uncertainty of the Internet, along with the heterogeneity of the sources of information are the two main challanges for the today’s technologies. This paper proposes an approach based on mobile agents integrated in an information integration infrastructure. Mobile agents can significantly improve the design and the development of Internet applications thanks to their characteristics of autonomy and adaptability to open and distributed environments, such as the Internet. MOMIS (Mediator envirOnment for Multiple Information Sources) is an infrastructure for semi-automatic information integrationthat deals with the integration and query of multiple, heterogeneous information sources (relational, object, XML and semi-structured sources). The aim of this paper is to show the advantage of the introduction in the MOMIS infrastructureof intelligent and mobile software agents for the autonomous management and coordination of the integration and query processes over heterogeneous sources.


2001 - Web-Assisted Visits to Cultural Heritage [Relazione in Atti di Convegno]
Cabri, Giacomo; Leonardi, Letizia; Zambonelli, Franco
abstract

The wide access to cultural heritage is gaining more and more interest from the information technology community. Museums, exhibitions and cultural places are becoming enterprises that supply new services to access cultural information, and this calls for suitable infrastructures and tools. In such a context, this paper proposes a distributed application to enable virtual visits, based on an infrastructure exploiting innovative technologies such as active proxy servers and mobile agents. Such application is integrated within the Web and permits to build up virtual visits that can be attended by groups of people interested in the same subject. Such visits are tailored on the basis of users' profiles and devices, and can be enhanced by the availability of distributed services. This grants a high degree of flexibility and autonomy for our application.


2001 - XML dataspaces for the coordination of Internet agents [Articolo su rivista]
Cabri, Giacomo; Leonardi, Letizia; Zambonelli, Franco
abstract

This article presents MARS-X, a programmable coordination architecture for autonomous and mobile Internet agents. In MARS-X, mobile Internet agents coordinate through programmable XML dataspaces, accessed by agents in a Linda-like fashion. Therefore, MARS-X enforces open and uncoupled interactions and, via XML, it offers a high degree of standard interoperability. These properties suit very well the characteristics of both mobile Internet agents and the Internet environment itself lit addition, coordination in MARS-X is made more flexible and secure by the capability of programming the behavior of the XML dataspaces by reaction to the agents' accesses. An application example related to the management of on-line academic courses shows the suitability and effectiveness of the MARS-X architecture.


2000 - A Web Infrastructure for People and Agent Interaction and Collaboration [Relazione in Atti di Convegno]
Cabri, Giacomo; Leonardi, Letizia; Zambonelli, Franco
abstract

Internet pervasive services call for flexible supports to enable a wide degree of collaboration. On the one hand, many people are connected to the Internet and surf the Web not only to retrieve information, but also to carry out several kinds of different tasks via online services. On the other hand, the Internet is likely soon to be populated by software agents that will act on behalf of users, and that are “intelligent” enough to achieve better results without boring their users. In this paper, we present a Web-based modular architecture that permits interaction and collaboration among people and agents, leading to a more fruitful exploitation of the capabilities offered by the Internet. A negotiation application based on auctions is used to show the advantages of the proposed architecture


2000 - Agent for Information Retrieval:Issues of Mobility and Coordination [Articolo su rivista]
Cabri, Giacomo; Leonardi, Letizia; Zambonelli, Franco
abstract

Internet pervasive services call for flexible supportsto enable a wide degree of collaboration. On the onehand, many people are connected to the Internet andsurf the Web not only to retrieve information, but also tocarry out several kinds of different tasks via the on-lineservices. On the other hand, the Internet is likely to besoon populated by software agents that will act in behalfof users, “intelligent” enough to achieve the better resultwithout boring their users. In this paper we present aWeb-based modular architecture that permitsinteraction and collaboration among people and agents,leading to a more fruitful exploitation of the capabilitiesoffered by the Internet. A negotiation application basedon auctions is used to show the advantages of theproposed architecture.


2000 - Auction-based agent negotiation via programmable tuple spaces [Relazione in Atti di Convegno]
Cabri, Giacomo; Leonardi, Letizia; Zambonelli, Franco
abstract

Auctions are proposed as a distributed negotiation mean, particularly useful in multiagent systems where both cooperative and self-interested agents compete for resources and services. The aim of this paper is to show how auction mechanisms on the Internet can be easily implemented by using programmable tuple spaces. Tuple spaces are shared repositories of information that follow the Linda model; the addition of programmability permits to adapt the tuple space behaviour to the application-specific requirements via reactions. In the implementation of auctions, programmable reactivity is exploited to uncouple the actual auction mechanisms from the selling and bidding policies of the attending agents.


2000 - Context-dependency in Internet-agent Coordination [Relazione in Atti di Convegno]
Cabri, Giacomo; Leonardi, Letizia; Zambonelli, Franco
abstract

The design and development of Internet applications can take advantage of a paradigm based on autonomous and mobile agents. However, mobility introduces peculiar coordination problems in multiagent-based Internet applications. First, it suggests the exploitation of an infrastructure based on a multiplicity of local interaction spaces. Second, it may require coordination activities to be adapted both to the characteristics of the execution environment where they occur and to the needs of the application to which the coordinating agents belong. In this context, this paper introduces the concept of context-dependent coordination based on programmable interaction spaces. On the one hand, interaction spaces associated to different execution environments may be independently programmed so as to lead to differentiated, environment-dependent, behaviors. On the other hand, agents can program the interaction spaces of the visited execution environments to obtain an application-dependent behavior of the interaction spaces themselves. Several examples show how a model of context-dependent coordination can be effectively exploited in Internet applications based on mobile agents. In addition, several systems are briefly presented that, to different extent, define a model of context-dependent coordination.


2000 - MARS: A Programmable Coordination Architecture for Mobile Agents [Articolo su rivista]
Cabri, Giacomo; Leonardi, Letizia; Zambonelli, Franco
abstract

Mobile agents offer much promise, but agent mobility and Internet openness make coordination more difficult. Mobile Agent Reactive Spaces, a Linda-like coordination architecture with programming features, can handle a heterogeneous network while still allowing simple and flexible application design.


2000 - MODE: A Java-like Environment for Experimenting Mobility Policies [Relazione in Atti di Convegno]
G., Armano; A., Corradi; Leonardi, Letizia; E., Vargiu
abstract

The wide acceptance of object oriented environments and proposals has renewed interest in all the class inheritance related issues; in particular its implementation in distributed architectures. The paper focuses on how the inheritance relationship could impact on (possibly heterogeneous) distributed systems that do not assume co-residence of objects and their classes/superclasses. In these systems, the object computation requires either to move/copy the (class) inheritance graph or to move the objects themselves. Several policies are feasible, depending on the decisions about moving/copying the data/code part of objects, and also depending on when these actions should take place. The paper presents MODE, an environment that, other than being very useful in promoting collaborative work, allows one to assess and compare different mobility policies. Java has been adopted as a common underlying language, able to confer portability to all modern and widely used architectures.


2000 - Mobile-agent coordination models for Internet applications [Articolo su rivista]
Cabri, Giacomo; Leonardi, Letizia; Zambonelli, Franco
abstract

Internet applications face challenges that mobile agents and the adoption of enhanced coordination models may overcome. Each year more applications shift from intranets to the Internet, and Internee-oriented applications become more popular. New design and programming paradigms can help harness the Web's potential. Traditional distributed applications assign a set of processes to a given execution environment that, acting as local-resource managers, cooperate in a network-unaware fashion. In contrast, the mobile-agent paradigm defines applications as consisting of network-aware entities-agents-which. can exhibit mobility by actively changing their execution environment, transferring themselves during execution. The authors propose a taxonomy of possible coordination models for mobile-agent applications, then use their taxonomy to survey and analyze recent mobile-agent coordination proposals, Their case study, which focuses on a Web-based information-retrieval application, helps show that the mobility of application components and the distribution area's breadth can create coordination problems different from those encountered in traditional distributed applications.


2000 - Parallel Objects Migration: a Fine-Grained Approach to Load Distribution [Articolo su rivista]
A., Corradi; Leonardi, Letizia; Zambonelli, Franco
abstract

Migration is a fundamental mechanism for achieving load balancing and locality of references in parallel and distributed applications. This paper presents the migration mechanisms implemented in the Parallel Objects (PO) programming environment, which assumes a fine granularity in allocation and reallocation of objects. In fact, a PO object can dynamically distribute its components onto several nodes depending on its dynamic need for resources, and the migration mechanisms implemented in PO allow object components to migrate independently of each other. This paper describes how the PO environment can exploit the migration mechanisms via an embedded load- balancing policy, possibly driven by user-defined allocation hints, and evaluates the effectiveness of the approach in several application examples.


2000 - Static vs. Dynamic Issues in OO Programming Languages [Articolo su rivista]
Corradi, A.; Leonardi, Letizia
abstract

Any decision in the design of both object-oriented programming languages (OOPLs) and their environments must face the choice between static and dynamic issues. The aim of this article is to discuss the implications of the static vs. dynamic choices. Despite the fact that dynamic choices induce runtime costs, the resulting flexibility permits the rapid prototyping of applications and reduces application development time. On the other hand, static strategies may even increase development time in applying early controls to all phases of development steps, but can greatly shorten maintenance and lifetime consistency phases.This article tries to establish a trafe-off between static and dynamic perspectives both to help programmers choose the most convenient OO language/environment for their applications and to help designers introduce static/dynamic property melding into their project developments. Well-know OOPLs are used to exemplify static and dynamic properties – the chosen languages are Smalltalk-80, Eifell, C++ and Java. Their selection stems from thei relevance within the OO community.


2000 - XML Dataspaces for Mobile Agent Coordination [Relazione in Atti di Convegno]
Cabri, Giacomo; Leonardi, Letizia; Zambonelli, Franco
abstract

This paper presents MARS-X, a programmable coordinationarchitecture for Internet applications based on mobile agents. InMARS-X, derived from the MARS coordination architecture,agents coordinate through programmable XML dataspaces,accessed by agents in a Linda-like fashion. This suits very wellthe characteristics of the Internet environment, because MARS-Xenforces open and uncoupled interactions and offers all theadvantages of XML in terms of standard interoperability. Inaddition, coordination in MARS-X is made more flexible andsecure by the capability of programming the behaviour of theXML dataspaces in reaction to the agents' accesses. Anapplication example related to the management of on-lineacademic courses shows the suitability and the effectiveness ofthe MARS-X architecture.


1999 - A proxy-based framework to support synchronous cooperation on the web [Articolo su rivista]
Cabri, Giacomo; Leonardi, Letizia; Zambonelli, Franco
abstract

Owing to its widespread diffusion and ease of use, the Web is an attractive platform to support distributed cooperative work. The paper presents an object-oriented proxy-based framework to support synchronous cooperation on the Web. The framework implements the general-purpose mechanisms of a proxy server. Specific application-dependent functionalities have to be implemented in a module to be installed in the proxy-framework. This leads to the implementation of an extensible proxy-framework, which facilitates the development of specific cooperative services. The paper presents and evaluates several applications enabling different cooperative Web activities, to confirm the effectiveness of our proposal in terms of reusability, usability and performance. Copyright


1999 - Design and Implementation of a Programmable Coordination Architecture for Mobile Agents [Relazione in Atti di Convegno]
Cabri, Giacomo; Leonardi, Letizia; Reggiani, G.; Zambonelli, Franco
abstract

The paper describes the design and the Java implementation of a coordination architecture for mobile agents, based on an object oriented Linda-like tuple space model, compliant with the Sun's JavaSpaces specifications. Moreover, unlike Linda and JavaSpaces, the proposed architecture integrates a reactive model: the behaviour of the tuple spaces can be programmed by installing reactions which are triggered by the accesses of mobile agents to the tuple spaces. Reactions can increase the coordination flexibility and ease agent programming as shown via an application example in the network management area


1999 - Diffusive load balancing policies for dynamic applications [Articolo su rivista]
Corradi, A; Leonardi, Letizia; Zambonelli, Franco
abstract

To evaluate a set of local dynamic load-balancing strategies inspired by diffusion and characterized by different scopes of locality, the authors compare the effect of application dynamicity on performance.


1999 - Network Management based on Mobile Agents using Programmable Tuple Spaces [Relazione in Atti di Convegno]
Cabri, Giacomo; Leonardi, Letizia; Zambonelli, Franco
abstract

Today networks are rapidly increasing both in size and in complexity, and their management requires new paradigms and new tools. In fact, centralised approaches suffer of several limits with regard to flexibility and scalability. Even traditional distributed solutions do not completely solve the problems. Instead, mobile agents can be exploited to realise a fully distributed, scalable and flexible network management model. In this context, an appropriate coordination model is required to develop effective network management applications. This paper proposes the MARS coordination architecture, based on programmable Linda-like tuple spaces. Tuples can be exploited both to access network resources and to let agents interact. Moreover, the programmability of the tuple spaces increases flexibility and permits the definition of application specific policies to rule the accesses of mobile agents to local network resources and services. This paper shows, by mean of several examples, how MARS can be employed to support network management.


1999 - Supporting Cooperative WWW Browsing: a Proxy-based Approach [Relazione in Atti di Convegno]
Cabri, Giacomo; Leonardi, Letizia; Zambonelli, Franco
abstract

The paper presents a system for synchronous cooperative browsing that permits users within a workgroup to share information and cooperate toward a common goal. The system implementation is based on a Java proxy, to achieve portability without requiring modification neither to browsers nor to servers. In addition, the paper shows that the implemented system defines a general framework for interactive multi-user WWW applications.


1998 - High-level management of allocation in a parallel objects environment [Articolo su rivista]
A., Corradi; Leonardi, Letizia; Zambonelli, Franco
abstract

The diffusion of parallel architectures is currently limited by the lack of tools to exploit efficiently all available resources with few programming efforts. This is specially a problem in the allocation area. The paper presents a set of allocation tools (ACL) implemented within an object-oriented parallel programming environment. ACL defines a set of directives that permit users to specify the allocation needs of his/her applications without any knowledge of the architecture details. ACL directives drive the run-time support by tuning its general-purpose behaviour to the specific allocation needs of the applications. The effectiveness of the ACL approach is confirmed by testbed applications. (C) 1998 Elsevier Science B.V. All rights reserved.


1998 - How to coordinate Internet applications based on mobile agents [Relazione in Atti di Convegno]
Cabri, Giacomo; Leonardi, Letizia; Zambonelli, Franco
abstract

The paper surveys the possible coordination models for mobile agent applications and evaluates them in the context of a widely distributed application in the area of WWW information retrieval. The analysis outlines the advantages and the drawbacks of each coordination model and shows how reactivity of the coordination media can provide the degree of flexibility and adaptability required by mobile agent applications


1998 - On the effectiveness of different diffusive load balancing policies in dynamic applications [Relazione in Atti di Convegno]
Corradi, Antonio; Leonardi, L.; Zambonelli, F.
abstract

The paper presents and evaluates a set of local dynamic load balancing strategies inspired to diffusion and characterised by different scopes of locality. The paper shows that policies with a very limited scope suit well highly dynamic applications; slowly dynamic applications, instead, can take advantage of diffusion policies with enlarged scope.


1998 - Reactive Tuple Spaces for Mobile Agent Coordination [Relazione in Atti di Convegno]
Cabri, Giacomo; Leonardi, Letizia; Zambonelli, Franco
abstract

The paper surveys several coordination models for mobile agent applications and outlines the advantages of uncoupled coordination models based on reactive blackboards. On this base, the paper presents the design and the implementation of the MARS system, a coordination tool for Java-based mobile agents. MARS defines Linda-like tuple spaces that can be programmed to react with specific actions to the accesses made by mobile agents.


1998 - Strategies and protocols for highly parallel Linda servers [Articolo su rivista]
A., Corradi; Leonardi, Letizia; Zambonelli, Franco
abstract

The tuple space abstraction is a powerful and general coordination model for parallel and distributed programming, However, this model is based on the abstraction of a global space, difficult to implement in distributed memory parallel systems with high-performance and scalability. The paper discusses the possible distribution strategies to implement a tuple space server and proposes a new replication policy suitable for massively parallel systems. The proposed strategy achieves scalability by organising the system in a hierarchical way and by integrating coherence protocols of limited overhead. Moreover, the chosen organisation encourages the presence of multiple tuple spaces each with a constrained scope. The paper describes and analyses a transputer-based implementation: the hierarchical organisation of the tuple space makes the access time proportional to the locality of the references and bounded by the logarithm of the system size.


1998 - The impact of the coordination model in the design of mobile agent applications [Relazione in Atti di Convegno]
Cabri, G.; Leonardi, L.; Zambonelli, F.
abstract

The paper introduces a taxonomy of the possible coordination models for mobile agent applications and evaluates their impact in the design of a widely distributed application in the area of information retrieval. The analysis outlines the advantages of uncoupled coordination models and points out the need for coordination models based on reactive blackboards.


1998 - The impact of the coordination model in the design of mobile agent applications [Relazione in Atti di Convegno]
Cabri, Giacomo; Leonardi, Letizia; Zambonelli, Franco
abstract

The paper introduces a taxonomy of the possible coordination models for mobile agent applications and evaluates their impact in the design of a widely distributed application in the area of information retrieval. The analysis outlines the advantages of uncoupled coordination models and points out the need for coordination models based on reactive blackboards


1997 - A Routing Strategy for Object-oriented Applications in Massively Parallel Architectures [Articolo su rivista]
Boari, M.; Corradi, A.; Leonardi, Letizia; Stefanelli, C.
abstract

Routers in a dynamic environment must efficiently deliver messages without knowledge of an application's process allocation. We've developed an adaptive routing system for a completely dynamic environment. Our system proposes two different strategies, depending on the application's communication patterns. In the first solution, the Hot-Spot Avoiding (HSA) algorithm, each message separately finds the route toward the destination. Even messages exchanged between the same couple of processes follow different, possibly nonminimal, paths. The HSA algorithm uses neighborhood information to choose the node to which the message is forwarded. It limits the number of hops in the source-destination path by reducing the occurrence of loops in it. The second algorithm, Virtual Path (VP), is tailored to long-lasting entities that cooperate intensively by exchanging messages. It achieves efficiency by finding a path at the beginning and following that path for several messages. For performance's sake, this algorithm partially renounces the HSA algorithm's adaptiveness.


1997 - An object-oriented approach to structured parallel programming [Articolo su rivista]
Corradi, A; Leonardi, Letizia; Zambonelli, Franco
abstract

Several kinds of parallel applications tend to employ regular patterns for communication between and internally to their components. Once the most commonly used patterns-such as pipelines, farms and trees-are identified (both in terms of their components and their communication), an environment can make them available as high-level abstractions to use in writing applications. This can lead to a structured style of parallel programming. The paper shows how this structured approach can be accommodated within an abject-oriented environment: on the one hand, a class library provides the patterns; on the other hand, programmers can define new patterns by exploiting inheritance. Several examples illustrate the approach and show that it can improve the usability of a parallel programming environment without sacrificing efficiency.


1997 - HPO: A programming environment for object-oriented metacomputing [Relazione in Atti di Convegno]
Corradi, A.; Leonardi, L.; Zambonelli, F.
abstract

Metacomputing is an emergent paradigm that makes it possible to distribute applications over a heterogeneous set of computing systems to exploit all available resources. The paper presents the HPO environment for object oriented metacomputing. The HPO programming model is based on the object oriented paradigm and defines architecture independent and portable applications. The HPO support makes it possible to distribute applications over a network of heterogeneous architectures. The paper describes this approach via several examples and evaluates its achieved performances. © 1997 IEEE.


1997 - High-level directives to drive the allocation of parallel object-oriented applications [Relazione in Atti di Convegno]
Corradi, Antonio; Leonardi, Letizia; Zambonelli, Franco
abstract

The paper presents the Abstract Configuration Language (ACL) implemented within the Parallel Objects object-oriented parallel programming environment. ACL defines a set of directives that allow users to specify the allocation needs of his/her application components without being aware of the architectural details. ACL directives drive the allocation decisions of the run-time support, by adapting its general-purpose behaviour to follow applications particular allocation needs. The effectiveness of the ACL approach in increasing the performances of parallel applications is confirmed by a testbed application.


1997 - Integration of automated and user-level tools toward efficient parallel objects allocation [Relazione in Atti di Convegno]
Corradi, Antonio; Leonardi, L; Zambonelli, F
abstract

Automated allocation tools do not achieve the same efficiency for all kinds of applications. A parallel programming environment should integrate high-level tools to permits users to easily adapt the behaviour of the automated allocation tools to the peculiar application needs. The paper faces this problem and presents a set of high-level directives to specify the allocation needs of the components of parallel applications based on the active object model. The allocation directives can drive the allocation decisions of the automated tools, by tuning their general-purpose behaviour to the peculiar application needs.


1997 - Performance comparison of load balancing policies based on a diffusion scheme [Relazione in Atti di Convegno]
Corradi, A.; Leonardi, L.; Zambonelli, F.
abstract

In the area of load balancing policies for massively parallel architectures, several load balancing policies can be inspired from the idea of diffusion: the paper defines a few basic strategies with different scope of locality and evaluates them depending on the properties of the system load.


1996 - Experiences on porting a Parallel Objects environment from a transputer network to a PVM-based system [Relazione in Atti di Convegno]
Zambonelli, F.; Pugassi, M.; Leonardi, L.; Scarabottolo, N.
abstract

Parallel Objects is a powerful model for distributed/parallel Object-Oriented programming. Goal of this paper is to present the approach adopted in porting the support of the Parallel Objects environment, originally implemented for a massively parallel architecture, onto the PVM environment, which is nowadays a de-facto standard in the design of distributed applications on heterogeneous networks of computers.


1996 - Object-Oriented Heterogeneous Computing: An Approach Based on Primitives [Relazione in Atti di Convegno]
Corradi, A.; Leonardi, L.; Zambonelli, F.
abstract


1995 - Adaptive Routing Strategies for Dynamic Applications in Massively Parallel Architectures [Articolo su rivista]
Boari, M.; Corradi, A; Leonardi, Letizia; Stefanelli, C.
abstract

Routers in a dynamic environment must efficiently deliver messages without knowledge of an application's process allocation. We've developed an adaptive routing system for a completely dynamic environment. Our system proposes two different strategies, depending on the application's communication patterns. In the first solution, the Hot-Spot Avoiding (HSA) algorithm, each message separately finds the route toward the destination. Even messages exchanged between the same couple of processes follow different, possibly nonminimal, paths. The HSA algorithm uses neighborhood information to choose the node to which the message is forwarded. It limits the number of hops in the source-destination path by reducing the occurrence of loops in it. The second algorithm, Virtual Path (VP), is tailored to long-lasting entities that cooperate intensively by exchanging messages. It achieves efficiency by finding a path at the beginning and following that path for several messages. For performance's sake, this algorithm partially renounces the HSA algorithm's adaptiveness


1995 - Scalable Tuple space model for structured parallel programming [Relazione in Atti di Convegno]
Corradi, Antonio; Zambonelli, Franco; Leonardi, Letizia
abstract

The paper proposes and analyzes a scalable model of an associative distributed shared memory for massively parallel architectures. The proposed model is hierarchical and fits the modern style of structured parallel programming. If parallel applications are composed of a set of modules with a well-defined scope of interaction, the proposed model can induce a memory access latency time that only logarithmically increases with the number of nodes. Experimental results show the effectiveness of the model with a transputer-based implementation.


1994 - Dynamic load distribution in massively parallel architectures: The parallel objects example [Relazione in Atti di Convegno]
Corradi, A.; Leonardi, L.; Zambonelli, F.
abstract

The paper presents the mechanisms for dynamic load distribution implemented within the support for the Parallel Objects (PO for short) programming environment. PO applications evolve depending on their dynamic need of resources, enhancing application performance. The goal is to show how dynamic load distribution can be successfully applied on a massively parallel architecture.


1994 - The benefits of migration in a parallel objects programming environment [Relazione in Atti di Convegno]
Ciampolini, A.; Corradi, A.; Leonardi, L.; Zambonelli, F.
abstract

The paper addresses dynamic allocation of objects in a distributed object-oriented (OO for short) programming environment, in particular Parallel Objects (PO for short). Intrinsic dynamicity of OO programming makes it difficult to foresee the behaviour of distributed applications and their consequent need of resources. In the Parallel Objects environment newly created objects are allocated on the basis of the current load; moreover, already allocated objects can migrate to achieve better load balancing. The paper presents the dynamic load balancing implemented in the PO environment, with the goal of showing the benefits of migration compared with the remote creation.


1992 - An adaptive routing tool for transputer-based architectures [Relazione in Atti di Convegno]
Ciampolini, A.; Corradi, A.; Leonardi, L.
abstract

A routing strategy is described, implemented for an object-oriented environment designed for a massively parallel architecture based on transputers, the MEIKO Computing Surface. The implemented routing algorithm belongs to the distance-vector family. The routing tool guarantees some pleasant properties: independence of topology, adaptability, nondeterministic behavior, and distribution of routing decision. The performance figures of the implementation are compared with the routing offered by CSSTools of MEIKO. The routing presented is adaptive and nondeterministic. It adapts both to traffic variation and to topology changes.


1992 - Load Balancing Strategies for Massively Parallel Architectures [Articolo su rivista]
A., Corradi; Leonardi, Letizia; Zambonelli, Franco
abstract

We show that local load balancing strategies for massively parallel architectures outperforms global strategies based on the diffusion of global load information.


1991 - Concurrency within objects: layered approach [Articolo su rivista]
Corradi, A.; Leonardi, L.
abstract

Object-oriented systems have provided a new methodology for decomposing problems. They have also brought out the issue of the specification of concurrency in a more structured manner. The paper shows how the Parallel Objects (PO) model addresses the problem of supporting concurrency. PO is a parallel object-oriented model. Any entity/object is capable of independent execution and in addition several concurrent activities can exist within the same object. In fact, as a feature distinguished from other concurrent object systems, PO does not strive to obtain intra-object sequentialization. In PO, the specification of concurrency can take advantage of a layered approach. Depending on user skill, the system requires more or less deep insight of PO to specify concurrency. A novice user can derive the specification of object concurrency from the PO environment. This approach stresses the reuse principle typical of object systems, i.e., inheritance. The PO environment makes it possible for skilled users to investigate complex concurrency policies and their performances for the same application. © 1991.


1991 - Taking advantage of inheritance to specify parallel object behavior [Relazione in Atti di Convegno]
Corradi, Antonio; Leonardi, Letizia
abstract

The author authors describe how the PO (parallel object) method takes advantage of inheritance to specify PO behavior at two different levels of abstraction: by programming intraobject scheduling and by expressing constraints. Low-level mechanisms that implement intraobject concurrent strategies in terms of variables and methods of scheduling are presented. Scheduling methods are subject to classification and inheritance; their combination forms the scheduler of objects. The predefined constraints available in PO method are described. The application of constraints to classes of objects related by inheritance produces constraint composition that is automatically translated into low-level specifications.


1991 - The support for a dynamic parallel object model on a transputer-based architecture [Relazione in Atti di Convegno]
Ciampolini, A.; Corradi, A.; Leonardi, L.
abstract

It is shown how a parallel object model can be used as a support environment for massively parallel architectures based on transputer technology. The intention is to verify that parallelism integrates well with such properties of the object paradigm as abstraction, uniformity, and dynamicity. The authors also present the guidelines to build prototypes by an approach based on primitives. In particular, the implemented primitives make possible the creation and communication of objects for a massively parallel architecture. Finally, trends in future work--static and dynamic allocation, replication and persistency of objects--are outlined.


1990 - A concurrent prototype in Smalltalk-80 [Relazione in Atti di Convegno]
Corradi, Antonio; Leonardi, Letizia
abstract

The implementation of a prototype of a support for a concurrent model called PO (parallel objects) is described. The target environment is Smalltalk-80. Objects in PO can be either passive or active (Aobjects) because of their independent capacity of execution. An Aobject can also host multiple activities within itself. Thanks to a uniform approach, the specification of the scheduling of the activities internal to one Aobject follows the object rules of classification and factorization. Inheritance gives a PO user the chance to rapidly prototype different concurrent schemes. The implementation aims at testing a Smalltalk environment suitable for rapid prototyping and even as a support for different concurrent object models.


1990 - Distributed environments based on objects: Upgrading smalltalk toward distribution [Relazione in Atti di Convegno]
Corradi, A.; Leonardi, L.; Zannini, M.
abstract

A distributed environment based on objects (DEO) is described. DEO configures an environment split in several contexts. The requirements of DEO are transparent sending of requests to remote objects that reside in different contexts, possibility of replicated objects in each context, and migration of objects from one context to another. DEO provides several kinds of replicated objects with regard to their consistency protocols. Consistency is based on the reconsideration of the equality relationship. The goal of the described implementation is compatibility with Smalltalk. No essential modifications to the standard virtual image are introduced. The interpreter has not been changed at all. Only a few primitives have been added to the virtual machine.


1990 - PROM: A support for robust replication in a distributed object environment [Articolo su rivista]
Corradi, A.; Leonardi, L.
abstract

The concept of object can be employed to achieve tolerance to hardware faults in distributed systems. Replication by introducing several copies for each object allows a continuous service even in case of failure. In particular, the paper describes an object model, PROM, which exploits replication by defining several passive back-up copies for any object. The system automatically recovers any failure of a copy in execution by activating a spare copy and restarting it from a previous checkpoint. The aim of the paper is the analysis of the effective support for PROM. This support is organized in structured levels on a distributed architecture. The services that the support should include to guarantee the desired replication model are described. © 1990, Science Press, Beijing China and Allerton Press Inc.. All rights reserved.


1990 - Parallelism in object-oriented programming languages [Relazione in Atti di Convegno]
Corradi, Antonio; Leonardi, Letizia
abstract

Parallelism in object-oriented systems is discussed. The most appealing way to insert parallelism in an object framework is to associate execution capacity with objects. This approach introduces active objects. Synchronous and asynchronous communication between active objects are described using examples of existing languages. A second dimension of parallelism comes from accommodating several activities within the same object. The synchronization techniques for the internal activities are described. The presented examples are written in a highly parallel language, called Parallel Objects. A distinctive characteristic of PO is the possibility of inheritance for the specification of concurrency internal to objects.


1990 - The object paradigm is to be reconsidered for distributed systems [Relazione in Atti di Convegno]
Corradi, A.; Leonardi, L.
abstract


1989 - PO: An Object Model to Express Parallelism [Articolo su rivista]
Corradi, A.; Leonardi, L.
abstract


1989 - Parallel object system support on transputer-based architectures [Articolo su rivista]
Ciampolini, A.; Corradi, A.; Leonardi, L.
abstract

The paper describes a possible support to a parallel object model, called PO for a massively parrallel architecture. PO has been chosen as an example because of the degree of parallelism it introduces. The paper stresses the constraints that affect the support because of occam staticity. The PO support has been implemented in occam for an architecture based on several Transputers. © 1989.


1988 - COMBINING LOGIC- AND OBJECT-ORIENTED PROGRAMMING LANGUAGE PARADIGMS [Relazione in Atti di Convegno]
Leonardi, Letizia; Mello, Paola
abstract

The usefulness and synergetic advantages of combining logic- and object-oriented programming in a declarative framework are explored. Rather than present another specific combination of logic and object programming, the authors discuss different kinds of extensions.


1988 - SPECIFICATION OF CONCURRENCY: AN OBJECT-BASED APPROACH [Relazione in Atti di Convegno]
Corradi, Antonio; Leonardi, Letizia
abstract

The authors present an object-based model that stresses the property of parallelism: parallel objects (PO). The main goal of an environment based on PO is to allow the user a maximally parallel decomposition of its applications. Two types of parallelism, interobject and intraobject parallelism, are utilized. The former results from the intrinsic capacity of execution associated with any object. The latter is guaranteed by the concurrent presence of activities within the same object. Thus, the PO scenario is made up of active objects that may have several internal activities going on simultaneously. The authors focus on intraobject parallelism and its expression; it is obtained by high-level specifications. This features takes advantage of the uniformity and dynamicity of object systems. Intraobject behavior can be decided and updated on an object base. In PO, several different concurrency strategies can be investigated and rapidly prototyped. PO is particularly suited to applications whose specifications have a high rate of updating.


1988 - The role of opaque types to build abstractions [Articolo su rivista]
Corradi, A.; Leonardi, L.
abstract

This note examines the MODULA-2 approach to build data abstractions and abstract data types. MODULA-2 provides a byreference semantics by providing opaque types via pointers. The paper compares this mechanism with the one furnished by ADA (*). A comparison with object-oriented systems brings out the issue of assignment, copy and compare operations. That leads to a constructive methodology for abstract data types in MODULA-2. Any abstraction must furnish copy operations with two different semantics, respectively shallow and deep, and related equality and inequality operations. © 1988, ACM. All rights reserved.


1987 - ENVIRONMENT BASED ON PARALLEL OBJECTS: PO [Relazione in Atti di Convegno]
Corradi, Antonio; Leonardi, Letizia
abstract

The authors define a programming environment, Parallel Objects (PO), where any entity is an object capable of autonomous execution. A high degree of parallelism is so determined. Moreover, PO allows concurrency within a single object. The user can specify the policy for the synchronization between internal activities. This policy is expressed using the canonical object tool of combination of methods. PO is an attempt to overcome the intrinsic sequentialization within an object, which is one of the major limits of several available implementations of the object model.