Dynamic Distributed Systems: Distributed systems are rapidly evolving, and the advent of new classes of applications and technologies, such as VANET, Airborne Networks, Social Networks, Smart Environments, P2P, broad area supercomputing, and distributed cloud services, is radically changing the way we think about them. Dynamic distributed systems have structures that are self-defined at any instant by entities that might autonomously decide to par- ticipate in the same distributed application. These systems are characterized by dynamic arrival and departure of participating entities and normally it may not be possible to assume anything about the universe of participants, their identities, capabilities, or reliability. Understanding the fundamentals of how to master this dynamic dimension is of primary importance to design of robust, dependable, and predictable distributed systems.
Publish/Subscribe Systems: The publish/subscribe paradigm provides commu- nication services where message addressing is implicitly handled by an Event Notification Service (ENS) that matches the content of events produced by pub- lishers against interests expressed by subscribers in the form of subscriptions. Such paradigm is characterized by the following fundamental properties: (i) asynchronous communication, (ii) decoupling between senders and receivers, (iii) decoupling in time and space. Several semantics have been defined con- cerning the possible structure of the ENS (i.e. topic vs. content) and a lot of research is now going in the direction of enriching such specifications with several Quality of Service (QoS) policies.
Peer-to-peer Systems: In the last decade the advent of peer-to-peer (p2p) com- puting introduced a new model of distributed computation where (i) the scale of the system can be very large, comprising up to millions of users (peers), (ii) each peer acts independently from all the others, actually precluding any form of centralized network-wide administration or management, (iii) each peer acts as a client of the service and cooperates with other peers to enable services for other participants, and (iv) the system, due to its size and the autonomy of each peer, is intrinsically dynamic as peers can join in or leave at any time. In this context, one of the main issues to be addressed in order to build distributed applications is how to guarantee connectivity among participants. Connectivity is, in fact, the basic building block to enable network communications among peers.
Other interests are: Cloud Computing, Dependable Middleware, Information Sys- tems, Distributed Computing, Mobile Computing.