Daniel J. Dubois

Learn More
In this paper we outline the idea to adopt gamification techniques to engage, train, monitor, and motivate all the players involved in the development of complex software artifacts, from the inception to the deployment and maintenance. The paper introduces the concept of gamification and proposes a research approach to understand how its principles may be(More)
The dynamic provisioning of virtualized resources offered by cloud computing infrastructures allows applications deployed in a cloud environment to automatically increase and decrease the amount of used resources. This capability is called auto-scaling and its main purpose is to automatically adjust the scale of the system that is running the application to(More)
One of the today issues in software engineering is to find new effective ways to deal intelligently with the increasing complexity of distributed computing systems. In this context a crucial role is played by the balancing of the work load among all nodes in the system. So far load balancing approaches have been designed for networks with fixed or dynamic(More)
The dimension of modern distributed systems is growing everyday. This phenomenon has generated several management problems due to the increase in complexity and in the needs of energy. Selforganizing architectures showed to be able to deal with this complexity by making global system features emerge without central control or the need of excessive(More)
The purpose of this work is to provide a method for exploiting pervasive wireless communication capabilities that are often underutilized on smart devices (e.g., phones, tables, cameras, TVs, etc.) in an opportunistic and collaborative way. This goal can be accomplished by sharing device resources using their built-in WiFi adapter. In this paper we explain(More)
Cloud computing is becoming an interesting alternative as a flexible and affordable on-demand environment for deploying custom applications in the form of services. This work proposes a bio-inspired, self-organizing solution to support the allocation and deallocation of virtual machines and the deployment of services on virtual machines in a cloud(More)
What we have: A generic network of interconnected nodes; Every node is a piece of software that is able to execute a particolar task; Nodes that are able to execute the same type of task have the same color. What we want: Recongure this network in response to the needs of its nodes; Solving Load Balancing problems; Creating collaborative groups in order to(More)
ShAir is a middleware infrastructure that allows mobile applications to share resources of their devices (e.g., data, storage, connectivity, computation) in a transparent way. The goals of ShAir are: (i) abstracting the creation and maintenance of opportunistic delay-tolerant peer-to-peer networks; (ii) being decoupled from the actual hardware and network(More)
The current research trends in Software Engineering are focusing on the development of new techniques to deal intelligently and efficiently with the design of systems that are able to evolve overtime and adapt to rapid changes of their requirements. In particular, the field of Autonomic Computing has been created to study these types of systems with the(More)
One of the today issues in software engineering is to find new effective ways to deal intelligently with the increasing complexity of distributed computing systems. In particular, one of the aspects under study in the field of autonomic computing concerns the way such systems can autonomously reach a configuration that allows the entire system to work in a(More)