Four tutorials will be given at the Stata Center on July 8, 2007, just before the main conference. For details about the time schedule, see the tutorial program.


Tutorial 1


Biological systems, from embryos to social insects, get tremendous mileage using large decentralized systems of comparatively simple and unreliable components to achieve complex goals. Recent technological advances have made possible man-made systems composed of vast numbers of components, ranging from sensor networks to self-assembling modular robots. A key challenge is programming such systems: how does one harness the power of self-organization to achieve user-specified global goals from the local interactions of identically-programmed, simple agents? In this tutorial we will survey some of the recent research developments in practice and theory of global-to-local programming languages. We will describe the Amorphous Computing model and survey several spatial programming languages that achieve complex and self-repairing global goals by composing a small set of bio-inspired local behaviors. We will also present a theoretical framework for asking questions about the existence and complexity of global-to-local compilation. We will provide hands-on examples to show the construction and analysis of such languages, and discuss their applicability in networking and robotics.

Tutorial 2

  • Yaneer Bar-Yam, New England Complex Systems Institute (NECSI), USA
  • Introduction to Complex Systems and Applications to Engineering


The study of the unifying principles of complex systems offers valuable insights in a variety of scientific fields. This tutorial will introduce some of the methods currently used to study, understand and model physical, biological, social and engineered complex systems. Topics to be discussed include quantifying complexity, self-organization, interdependence, emergent behaviors, pattern formation, chaos, fractals and attractors. We will then examine applications to complex engineered systems and the engineering process. Special attention will be given to classification of networks, relative strengths and weakness of various control structures, and the creation of complex systems through evolutionary processes.

Tutorial 3


The success of many multi-agent systems (MAS's) depends on the existence of some form of organization among the individual agents that allows the system as a whole to achieve more than any single agent. In many traditional MAS's, organization is imposed by the system designer, or achieved dynamically by centralized control, or constrained by existing organizations in the problem domain. These mechanisms face severe limitations as the number of agents increases and as the problem domain becomes increasingly distributed and dynamic. An alternative approach is systems that organize themselves through local interactions. Self-organizing applications (SOAs) take inspiration from biology, physical world, chemistry, or social systems. Typical examples of SOAs are systems that reproduce socially-based insect behavior, such as robots or Artificial Life. The main characteristic of all these applications is their ability to achieve complex collective tasks with relatively simple individual behaviors, without central control or hierarchy. This tutorial focuses on the current state of practice in engineering SOA's. The tutorial gives a structured synthesis of the field as it is now, including the needs that motivate the effort, the major classes of techniques, and examples of applications.

Tutorial 4

  • Mark Jelasity, Hungarian Academy of Science and University of Szeged, Hungary
  • Peer-to-Peer Systems and Gossip Algorithms


During the past decade, a number of grassroots applications of the Internet have emerged in the form of various peer-to-peer systems. The most visible ones for the general public are filesharing and Internet telephony services. These systems are typically very large scale, decentralized, and consequently are based on some form of (intended or ad hoc) bottom-up self organization. This phenomenon directed the attention of many research communities towards large scale, robust, and decentralized networked systems, generating a steadily growing wave of rather revolutionary novel approaches to distributed computing. The tutorial will overview the most important algorithms that have been developed for applications such as file-sharing and cooperative content distribution. Apart from the classical topics of the field, the tutorial will also put special emphasis on so called gossip-based approaches to achieve scalability and robustness. These algorithms apply the analogy of gossip-spreading (or epidemics) to spread information, but also to implement other functions such as distributed data mining (data aggregation) and building overlay networks.


All inquiries about tutorials should be sent to the Tutorial Chair:
      David Hales
      Dept. of Computer Science
      University of Bologna
      e-mail address image