Marco Cioffi

Autonomic Computing

Autonomic Computing I wrote this paper as a student of the course of Software Engineering at Politecnico di Milano taught by Prof. Carlo Ghezzi. The following is the abstract of the article:
Factors like the interconnection, the heterogeneity and the high dynamism characterize ICT systems like software, services or nets. The management of such systems, consequently, becomes particularly complex and expensive. The autonomic computing defines an architecture which promises to pull down costs of maintenance of ICT systems defining an architecture in which each entity can self-repair, self-configure, self-optimize and self-protect itself. This paper represents an overview of the new paradigm, in which we go through the definition of the conceptual elements of the architecture, the standards, the technologies available and some examples of applications.
Sorry this article is available only italian.

Autonomic Computing Autonomic Computing

Requirements engineering?

4/19/2005, filed under — Marco Cioffi @ 5:18 pm

Requirements toon
The primary measure of success of a software system is the degree to which it meets the purpose for which it was intended.
(Nuseibeh&Easterbrook ‘00)

If you look the toon you notice that it is dramatically true. I think that this picture could be used as a metaphor for each course of software engineering, and it is a very good example of the first cause of software failure: the poor requirements.

In an hypothetical model, the process of software production goes over two distinct phases.
In the first one, called verification, we find an answer for the question “Are we doing the product right?” (is our software bug-free?). In the second one, called validation, we find an answer for the question “Are we doing the right product?” (is our software what the user asked for?).
The two phases are ideally distincts but they can merge and iterate several times, at every step, or at every release.

Finally, I think that languages for specification are a good tool to solve this problem, but they are so heavy to be used in common projects. As examples I suggest you to visit the “Petri Nets World” (link) portal and the “Alloy” website (link).


Web Services and Agents

3/25/2005, filed under — Marco Cioffi @ 7:22 pm

This is the project for the course of Software Engineering II, with Prof. Carlo Ghezzi at Politecnico di Milano. In this article, I explain the differences and the analogies between two kinds of paradigms, the Agent-Oriented paradigm and the Service-Oriented paradigm. I sketch also the two main instances of each paradigm, FIPA for Agent-Oriented and Web Services for Service-Oriented.

The main claim is that, in the modern era of on-line composition and orchestration of Web Services, we need some paradigm that can fit very well in dynamic and impredictable situations; in shorts if we want to achieve a high degree of autonomy and intelligence of services maybe we can use the Agent-Paradigm to models these situations.

Download the article

Cioffi curriculum Web Services and Agents

Multi-agent Infrastructures for Objective and Subjective Coordination

7/27/2004, filed under — Marco Cioffi @ 3:03 am

A. Omicini, A. Ricci, M. Viroli, M. Cioffi, G. Rimassa
Multi-agent Infrastructures for Objective and Subjective Coordination
Journal of Applied Artificial Intelligence 18(9/10). Taylor & Francis, October/December 2004.

Abstract:
Coordination in MAS can be conceived as either an agent activity (the subjective viewpoint) or an activity over agents (the objective viewpoint). The two viewpoints have generated two diverging and often contrasting lines of research, as well as different and non-compatible technologies: however, their integration is mandatory for modelling and engineering complex MAS. In this paper, we explore the issue of integration at both the model and the technology levels.
First, by taking FIPA agents and coordination artifacts as reference notions for subjective and objective approaches, respectively, we sketch a framework where agent interactions with coordination artifacts are modelled as physical acts, deliberated and executed by agents analogously to communicative actions. Then, we show how the JADE infrastructure for FIPA-compliant agents, and the TuCSoN infrastructure providing agents with coordination artifacts can be integrated at the technology level, allowing JADE agents to access TuCSoN tuple centres through JADE services.

(more…)


Kernel-Service Ontology in JADE