Innovative techniques for extending object-oriented
platforms. Conceiving advanced programming techniques for
object-oriented programming platforms like Java.
Agent-oriented engineering of complex distributed systems.
Conceiving models and technologies for co-designing the agent and
artifact abstractions, and for conceiving and formalising languages
for the specification of their properties and implementation.
Coordination models. Systematically using formal modelling
techniques for the specification of coordination systems, used as
the basis for analysing properties and for building correct
systems.
Self-organising systems. Studying self-organising solutions
in the context of multi-agent systems, coordination models, and
pervasive computing.
Innovative techniques for the extension of object-oriented
platforms
The current reference for the development of software in the
context of distributed applications on heterogeneous architectures
is based on platforms like Java and .NET. They provide: (i) a
virtual machine (VM) executable on any device and node of the
network, (ii) a high-level programming language based on the
object-oriented paradigm (Java and C#), (iii) a set of libraries
and advanced tools for facilitating development and deployment of
complex distributed applications. These platforms, which are used
by millions of developers, are the de-facto standard for
programming a large set of applications: they keep evolving so as
to satisfy the ever growing requirements of expressiveness,
maintainability and flexibility which are typical of modern
applications. Research themes in this context concern:
- Run-time support to generics - Developing innovative techniques
for supporting at execution time the mechanism of generics, both by
a compilation and Java VM approach
- Variant parametric types and Java wildcards - Studying and
introducing theoretical and pragmatical aspects of this
"unification" mechanism for parametric and inclusive
polymorphism.
- Family polymorphism - Developing an approach to extend a
hierarchy of classes by creating a new specialised hierarchy where
all inner-classes' relationships (inheritance and delegation) are
preserved without incurring into the well-known covariance problem,
thus supporting functionalities of component systems
- Multi-paradigm programming - Exploring logic and agent-oriented
extensions of the Java programming language
Agent-oriented engineering of complex distributed
systems
The research field on multi-agent systems, originated in
distributed AI and then influenced by software engineering,
promotes the idea of analysing, designing, and implementing
software systems in terms of autonomous agents (each proactively
executing a given task and/or achieving a given goal). Agents
interact one another so as to achieve a social goal, which is the
objective of the overall system. A research activity developed in
this field starts with the recognition of the fundamental role of
environment in multiagent systems (a pattern typically inspired by
complex systems): this is not only seen as the superimposed locus
where the application is deployed, but rather as an objective of
design, thus requiring proper abstractions for it being modelled,
and infrastructures/technologies for being implemented. The
research themes in this context concern:
- Environment and infrastructures - Studying methodologies and
infrastructures for incorporating the environment as a first-class
entity in the engineering of agent systems
- Artifacts and A&A model - Identifying in the artifact
abstraction the fundamental abstraction for supporting the
environment: in this theme its foundational aspects are studied,
along with a support in terms of programming language and
infrastructure
- Agent Coordination Context - Introduction of an abstraction to
support organisation, security and coordination in agent systems,
representing at the infrastructure level the agent interface
towards its environment
Coordination Models
Coordination is one of the most pervasive and multidisciplinary
theme of research on modern (and classical) computer science: it
deals with the introduction of models, languages, and platforms for
managing the interactions between software components. Born in the
context of parallel architectures with the Linda model, it has been
then exploited in coordination technologies like TuCSoN. In
particular, models and technologies introduced in the field of
"coordination models and languages", are primary candidates for
being used as basic tools to build and manage the environment of a
multiagent system, due to their focus on interaction management for
distributed systems. The research themes in this context
concern:
- Advanced coordination models - In this research context new
coordination models are studied, along with extensions of existing
ones
- Coordination artifact - This abstraction, particular instance
of an artifact, allows us to create a bridge between the fields of
multiagent systems and coordination models
- Coordination as a service - By recognising the possibility of
providing coordination as a service, through an infrastructure, in
this research theme we analyse the relationship with existing
frameworks like process algebras and service-oriented
infrastructures.
Self-organising systems
In modern applications, coordination models for distributed systems
should more and more frequently face system's parts that are
outside the scope of design: they can have unpredictable behaviour,
for either legacy or deployment reasons. Characteristics like
robustness to failures and adaptativity to unforseen situations
become much more critical with respect to, e.g., performance, and
hence inspire implementations of coordination services based on
innovative techniques, related to self-organising models. In this
kind of approach, a system is realised by subparts that interact
locally based on very simple behaviours, with the result of making
interesting global properties emerge. This context requires
innovative analysis and design tools, for instance based on
simulations, and an early identification of design errors, and
hence a more rapid design of correct systems.
- Self-organising multi-agent systems - Introduction of a new
methodological approach to the design and verification of
multiagent systems featuring self-organisation
- Self-organisation and coordination - Studying self-organising
mechanisms for positioning data items into data-driven coordination
systems.
- Pervasive Service Ecosystems - Studying models and designing
infrastructures for self-organising pervasive service
ecosystems