Mirko Viroli | Università di Bologna (original) (raw)

Papers by Mirko Viroli

Research paper thumbnail of An Adaptation Logic Framework for Java-based Component Systems

Abstract: This paper describes a Java-based framework for developing componentbased software syst... more Abstract: This paper describes a Java-based framework for developing componentbased software systems supporting adaptation with logic laws and considering component interactions as a first-class aspect. On the one side, the framework makes it possible to specify the logic of interaction at the component-level, in terms of input and output interfaces, the events generated and observed by a component, and related information about the management of the control flow.

Research paper thumbnail of Formalizzazione dei Sistemi Distribuiti

Research paper thumbnail of Argumentation and artifact for dialogue support

Intelligent and autonomous software agents may engage in dialogue and argument with one another, ... more Intelligent and autonomous software agents may engage in dialogue and argument with one another, and much recent research has considered protocols, architectures and frameworks for this. Just as with human dialogues, such agent dialogues may be facilitated by the presence of a mediator, able to summarise different positions, identify common assumptions and inconsistencies, and make appropriate interventions in the dialogue.

Research paper thumbnail of Engineering MAS environment with artifacts

Abstract. In this paper, we elaborate on the notion of artifact for MAS (multi-agent system), aim... more Abstract. In this paper, we elaborate on the notion of artifact for MAS (multi-agent system), aimed at providing a unifying abstraction to model and engineer the environment of agents. This notion, inspired by the studies on Activity Theory, generalises over existing infrastructures for MAS environments, and over previous work on coordination artifacts [1] and agent coordination contexts [2, 3].

Research paper thumbnail of Object Oriented Programming Languages and Systems (OOPS)

Today's large scale software systems are typically designed and implemented using the concepts of... more Today's large scale software systems are typically designed and implemented using the concepts of the object-oriented (OO) paradigm. However, there is still a need for existing OO languages and architectures to continuously adapt in response to demands for new features and innovative approaches. These new features, to name a few, include unanticipated software evolution, security, safety, distribution, and interoperability.

Research paper thumbnail of Agent coordination context: From theory to practice

Abstract The Agent Coordination Context abstraction (ACC) has been recently introduced as a mean ... more Abstract The Agent Coordination Context abstraction (ACC) has been recently introduced as a mean to model the environment and the agent-environment interaction in the context of Multi-Agent Systems (MASs). In this article we discuss how the ACC notion has been embedded in a MAS infrastructure, in terms of the new runtime structures and services. As a reference, we will take TuCSoN coordination infrastructure, which is extended with the ACC framework to integrate organisation and security support with coordination.

Research paper thumbnail of On observation as a coordination paradigm: an ontology and a formal framework

ABSTRACT The observation pattern represents one of the most common and widespread coordination sc... more ABSTRACT The observation pattern represents one of the most common and widespread coordination schemata in today complex models and systems, as it emerges from a variety of different research and application areas. This paper aims first at providing a common ontological foundation for the many different models, architectures, and systems supporting the observation pattern, allowing them to be classified and compared despite their seeming diversity.

Research paper thumbnail of Modelling agents as observable sources

Abstract: Observation is a fundamental interaction pattern in today's computerbased systems. Adop... more Abstract: Observation is a fundamental interaction pattern in today's computerbased systems. Adopting observation as the main modelling criterion, computer-based systems can be represented as composed by three class of entities: observers, observables (or sources), and coordinators, that is, the entities managing the observer/source interaction.

Research paper thumbnail of Integrating Java and Prolog through generic methods and type inference

Abstract P@ J is a framework, based on the tuProlog open-source engine, allowing Prolog code to b... more Abstract P@ J is a framework, based on the tuProlog open-source engine, allowing Prolog code to be used as possible implementation of a Java method: Java annotations are used for specifying all the necessary information to fill the Java-Prolog gap. This framework is useful to inject a declarative, logic-based paradigm into mainstream object-oriented programming, so as to easily code functionalities related to automatic reasoning, adaptivity, and conciseness in expressing algorithms.

Research paper thumbnail of A survey on nature-inspired metaphors for pervasive service ecosystems

Purpose–Emerging pervasive computing scenarios require open service frameworks promoting situated... more Purpose–Emerging pervasive computing scenarios require open service frameworks promoting situated and self-adaptive behaviors, and supporting diversity in services and long-term evolvability. This suggests adopting a nature-inspired approach, where pervasive services are modeled and deployed as autonomous individuals in an ecosystem of other services, data sources, and pervasive devices.

Research paper thumbnail of A chemical inspired simulation framework for pervasive services ecosystems

Abstract This paper grounds on the SAPERE project (Self-Aware PERvasive Service Ecosystems), whic... more Abstract This paper grounds on the SAPERE project (Self-Aware PERvasive Service Ecosystems), which aims at proposing a multi-agent framework for pervasive computing, based on the idea of making each agent (service, device, human) manifest its existence in the ecosystem by a Live Semantic Annotation (LSA), and of coordinating agent activities by a small and fixed set of so-called eco-laws, which are sort of chemical-like reactions evolving the distributed population of LSAs.

Research paper thumbnail of Specifying agent observable behaviour

Abstract This paper investigates the application of a formal framework for the observation issue ... more Abstract This paper investigates the application of a formal framework for the observation issue in agent-based systems to the specification of the individual agent interactive behaviour. An abstract architecture is defined for agents that is based on the idea of viewing them as observable sources--of knowledge, services, capabilities.

Research paper thumbnail of Extending ReSpecT for multiple coordination flows

Abstract—In this paper, the ReSpecT specification language for programming the behaviour of tuple... more Abstract—In this paper, the ReSpecT specification language for programming the behaviour of tuple centres is extended with the out tc predicate, enabling communication between tuple centres. The extension is formally defined, and its benefits in the management of multiple coordination flows are outlined. The paper shows how relevant interaction scenarios–typically event-oriented–can be framed as multiple coordination flow problems, and properly engineered using tuple centres with the extended ReSpecT language.

Research paper thumbnail of Simulating emergent properties of coordination in Maude: the collective sort case

Recent coordination languages and models are moving towards the application of techniques coming ... more Recent coordination languages and models are moving towards the application of techniques coming from the research context of complex systems: adaptivity and self-organization are exploited in order to tackle the openness, dynamism and unpredictability of today's distributed systems. In this area, systems are to be described using stochastic models, and simulation is a valuable tool both for analysis and design.

Research paper thumbnail of CArtAgO: An infrastructure for engineering computational environments in MAS

Abstract. Artifacts have been recently proposed as first-class abstractions to model and engineer... more Abstract. Artifacts have been recently proposed as first-class abstractions to model and engineer general-purpose computational environments for multiagent systems. In this paper, we consider the design and development of an infrastructure called CArtAgO, directly supporting the artifact notion for the engineering of multiagent applications. We first propose an abstract model of the infrastructure, and then describe an implementation prototype of it.

Research paper thumbnail of Integrating objective & subjective coordination in multi-agent systems

Abstract Subjective and objective coordination can be integrated and exploited fruitfully in the ... more Abstract Subjective and objective coordination can be integrated and exploited fruitfully in the same context. In this paper we investigate such integration in multi-agent systems, in particular taking as a reference context FIPA agents-typically adopting subjective approaches-aiming at exploiting the coordination services provided by TuCSoN objective coordination infrastructure.

Research paper thumbnail of Design patterns for self-organising systems

Natural systems are regarded as rich sources of inspiration for engineering artificial systems, p... more Natural systems are regarded as rich sources of inspiration for engineering artificial systems, particularly when adopting the multiagent system (MAS) paradigm. To promote a systematic reuse of mechanisms featured in self-organising systems, we analyse a selection of design patterns devised from the self-organisation literature. Starting from our reference MAS metamodel, we propose a pattern scheme that reflects the peculiarities of self-organising systems.

Research paper thumbnail of Variant path types for scalable extensibility

Abstract Much recent work in the design of object-oriented programming languages has been focusin... more Abstract Much recent work in the design of object-oriented programming languages has been focusing on identifying suitable features to support so-called scalable extensibility, where the usual extension mechanism by inheritance works in different scales of software components-that is, classes, groups of classes, groups of groups and so on. Its typing issues has usually been addressed by means of dependent type systems, where nested types are seen as properties of objects.

Research paper thumbnail of On the expressiveness of event-based coordination media

In the context of component-based systems, coordination can be thought of as an event-based servi... more In the context of component-based systems, coordination can be thought of as an event-based service provided by a coordination medium. However, this interpretation is not endorsed by some researches in the field of coordination and in particular by existing attempts to define a notion of expressiveness for coordination models.

Research paper thumbnail of Lightweight family polymorphism

Family polymorphism has been proposed for object-oriented languages as a solution to supporting r... more Family polymorphism has been proposed for object-oriented languages as a solution to supporting reusable yet type-safe mutually recursive classes. A key idea of family polymorphism is the notion of families, which are used to group mutually recursive classes. In the original proposal, due to the design decision that families are represented by objects, dependent types had to be introduced, resulting in a rather complex type system.

Research paper thumbnail of An Adaptation Logic Framework for Java-based Component Systems

Abstract: This paper describes a Java-based framework for developing componentbased software syst... more Abstract: This paper describes a Java-based framework for developing componentbased software systems supporting adaptation with logic laws and considering component interactions as a first-class aspect. On the one side, the framework makes it possible to specify the logic of interaction at the component-level, in terms of input and output interfaces, the events generated and observed by a component, and related information about the management of the control flow.

Research paper thumbnail of Formalizzazione dei Sistemi Distribuiti

Research paper thumbnail of Argumentation and artifact for dialogue support

Intelligent and autonomous software agents may engage in dialogue and argument with one another, ... more Intelligent and autonomous software agents may engage in dialogue and argument with one another, and much recent research has considered protocols, architectures and frameworks for this. Just as with human dialogues, such agent dialogues may be facilitated by the presence of a mediator, able to summarise different positions, identify common assumptions and inconsistencies, and make appropriate interventions in the dialogue.

Research paper thumbnail of Engineering MAS environment with artifacts

Abstract. In this paper, we elaborate on the notion of artifact for MAS (multi-agent system), aim... more Abstract. In this paper, we elaborate on the notion of artifact for MAS (multi-agent system), aimed at providing a unifying abstraction to model and engineer the environment of agents. This notion, inspired by the studies on Activity Theory, generalises over existing infrastructures for MAS environments, and over previous work on coordination artifacts [1] and agent coordination contexts [2, 3].

Research paper thumbnail of Object Oriented Programming Languages and Systems (OOPS)

Today's large scale software systems are typically designed and implemented using the concepts of... more Today's large scale software systems are typically designed and implemented using the concepts of the object-oriented (OO) paradigm. However, there is still a need for existing OO languages and architectures to continuously adapt in response to demands for new features and innovative approaches. These new features, to name a few, include unanticipated software evolution, security, safety, distribution, and interoperability.

Research paper thumbnail of Agent coordination context: From theory to practice

Abstract The Agent Coordination Context abstraction (ACC) has been recently introduced as a mean ... more Abstract The Agent Coordination Context abstraction (ACC) has been recently introduced as a mean to model the environment and the agent-environment interaction in the context of Multi-Agent Systems (MASs). In this article we discuss how the ACC notion has been embedded in a MAS infrastructure, in terms of the new runtime structures and services. As a reference, we will take TuCSoN coordination infrastructure, which is extended with the ACC framework to integrate organisation and security support with coordination.

Research paper thumbnail of On observation as a coordination paradigm: an ontology and a formal framework

ABSTRACT The observation pattern represents one of the most common and widespread coordination sc... more ABSTRACT The observation pattern represents one of the most common and widespread coordination schemata in today complex models and systems, as it emerges from a variety of different research and application areas. This paper aims first at providing a common ontological foundation for the many different models, architectures, and systems supporting the observation pattern, allowing them to be classified and compared despite their seeming diversity.

Research paper thumbnail of Modelling agents as observable sources

Abstract: Observation is a fundamental interaction pattern in today's computerbased systems. Adop... more Abstract: Observation is a fundamental interaction pattern in today's computerbased systems. Adopting observation as the main modelling criterion, computer-based systems can be represented as composed by three class of entities: observers, observables (or sources), and coordinators, that is, the entities managing the observer/source interaction.

Research paper thumbnail of Integrating Java and Prolog through generic methods and type inference

Abstract P@ J is a framework, based on the tuProlog open-source engine, allowing Prolog code to b... more Abstract P@ J is a framework, based on the tuProlog open-source engine, allowing Prolog code to be used as possible implementation of a Java method: Java annotations are used for specifying all the necessary information to fill the Java-Prolog gap. This framework is useful to inject a declarative, logic-based paradigm into mainstream object-oriented programming, so as to easily code functionalities related to automatic reasoning, adaptivity, and conciseness in expressing algorithms.

Research paper thumbnail of A survey on nature-inspired metaphors for pervasive service ecosystems

Purpose–Emerging pervasive computing scenarios require open service frameworks promoting situated... more Purpose–Emerging pervasive computing scenarios require open service frameworks promoting situated and self-adaptive behaviors, and supporting diversity in services and long-term evolvability. This suggests adopting a nature-inspired approach, where pervasive services are modeled and deployed as autonomous individuals in an ecosystem of other services, data sources, and pervasive devices.

Research paper thumbnail of A chemical inspired simulation framework for pervasive services ecosystems

Abstract This paper grounds on the SAPERE project (Self-Aware PERvasive Service Ecosystems), whic... more Abstract This paper grounds on the SAPERE project (Self-Aware PERvasive Service Ecosystems), which aims at proposing a multi-agent framework for pervasive computing, based on the idea of making each agent (service, device, human) manifest its existence in the ecosystem by a Live Semantic Annotation (LSA), and of coordinating agent activities by a small and fixed set of so-called eco-laws, which are sort of chemical-like reactions evolving the distributed population of LSAs.

Research paper thumbnail of Specifying agent observable behaviour

Abstract This paper investigates the application of a formal framework for the observation issue ... more Abstract This paper investigates the application of a formal framework for the observation issue in agent-based systems to the specification of the individual agent interactive behaviour. An abstract architecture is defined for agents that is based on the idea of viewing them as observable sources--of knowledge, services, capabilities.

Research paper thumbnail of Extending ReSpecT for multiple coordination flows

Abstract—In this paper, the ReSpecT specification language for programming the behaviour of tuple... more Abstract—In this paper, the ReSpecT specification language for programming the behaviour of tuple centres is extended with the out tc predicate, enabling communication between tuple centres. The extension is formally defined, and its benefits in the management of multiple coordination flows are outlined. The paper shows how relevant interaction scenarios–typically event-oriented–can be framed as multiple coordination flow problems, and properly engineered using tuple centres with the extended ReSpecT language.

Research paper thumbnail of Simulating emergent properties of coordination in Maude: the collective sort case

Recent coordination languages and models are moving towards the application of techniques coming ... more Recent coordination languages and models are moving towards the application of techniques coming from the research context of complex systems: adaptivity and self-organization are exploited in order to tackle the openness, dynamism and unpredictability of today's distributed systems. In this area, systems are to be described using stochastic models, and simulation is a valuable tool both for analysis and design.

Research paper thumbnail of CArtAgO: An infrastructure for engineering computational environments in MAS

Abstract. Artifacts have been recently proposed as first-class abstractions to model and engineer... more Abstract. Artifacts have been recently proposed as first-class abstractions to model and engineer general-purpose computational environments for multiagent systems. In this paper, we consider the design and development of an infrastructure called CArtAgO, directly supporting the artifact notion for the engineering of multiagent applications. We first propose an abstract model of the infrastructure, and then describe an implementation prototype of it.

Research paper thumbnail of Integrating objective & subjective coordination in multi-agent systems

Abstract Subjective and objective coordination can be integrated and exploited fruitfully in the ... more Abstract Subjective and objective coordination can be integrated and exploited fruitfully in the same context. In this paper we investigate such integration in multi-agent systems, in particular taking as a reference context FIPA agents-typically adopting subjective approaches-aiming at exploiting the coordination services provided by TuCSoN objective coordination infrastructure.

Research paper thumbnail of Design patterns for self-organising systems

Natural systems are regarded as rich sources of inspiration for engineering artificial systems, p... more Natural systems are regarded as rich sources of inspiration for engineering artificial systems, particularly when adopting the multiagent system (MAS) paradigm. To promote a systematic reuse of mechanisms featured in self-organising systems, we analyse a selection of design patterns devised from the self-organisation literature. Starting from our reference MAS metamodel, we propose a pattern scheme that reflects the peculiarities of self-organising systems.

Research paper thumbnail of Variant path types for scalable extensibility

Abstract Much recent work in the design of object-oriented programming languages has been focusin... more Abstract Much recent work in the design of object-oriented programming languages has been focusing on identifying suitable features to support so-called scalable extensibility, where the usual extension mechanism by inheritance works in different scales of software components-that is, classes, groups of classes, groups of groups and so on. Its typing issues has usually been addressed by means of dependent type systems, where nested types are seen as properties of objects.

Research paper thumbnail of On the expressiveness of event-based coordination media

In the context of component-based systems, coordination can be thought of as an event-based servi... more In the context of component-based systems, coordination can be thought of as an event-based service provided by a coordination medium. However, this interpretation is not endorsed by some researches in the field of coordination and in particular by existing attempts to define a notion of expressiveness for coordination models.

Research paper thumbnail of Lightweight family polymorphism

Family polymorphism has been proposed for object-oriented languages as a solution to supporting r... more Family polymorphism has been proposed for object-oriented languages as a solution to supporting reusable yet type-safe mutually recursive classes. A key idea of family polymorphism is the notion of families, which are used to group mutually recursive classes. In the original proposal, due to the design decision that families are represented by objects, dependent types had to be introduced, resulting in a rather complex type system.