The development of increasingly complex and massively distributed information systems on wide-area networks, e.g. Internet, is very fast. The number of servers and machines connected to the net grows rapidly. Therefore, the implementation of distributed web applications is a real challenge. Technological progress in workstations and networks, in particular with high data flow, and the standardization efforts of middleware (as CORBA) have made it possible to overcome the traditional low-level problems due to heterogeneous networks or the variety of operating systems and programming languages. Thus, distributed systems and co-operative solutions have become an accessible and even current option for many applications in industry, banking, multi-media, or e-commerce. The companies must fit themselves into this ongoing evolution in order to guarantee their productivity and competitiveness in phase with the technological developments. The economic pressure is considerable. However, the development of distributed applications is a difficult task and a complicated process: In addition to the complexity of classical centralized applications, a new kind of complexity arises due to the distribution and communication between the envolved agents, and due to their competitions and resource conflicts.
We conjecture that the availability of toolkits for simulation, visualization and evidence support becomes essential in the design and validation of programs in distributed environments. The underlying models represent the networks by graphs wherein the nodes correspond to machines or processors, and edges to the inter-processor connections. For the designers and researchers of distributed algorithms, such toolkits will make it possible to carry out tests and simulations easily in order to understand the operations of a distributed algorithm and to gain insight into its properties. The availability of such tools seems particularly essential in order to avoid those investigations to be carried out tediously by hand. Moreover, such tools could be useful for educational purposes when the execution of a distributed algorithm has to be explained in the class room. For the developers, the visualization of distributed program execution allows for an abstraction of the particular applications, which is especially beneficial in designing, installing and testing these programs. For several distributed applications, the development carried out by analyzing text files, traces or logs, turns often out as ineffective because of the complexity and the dynamic changes of data and network. It is assumed that in these cases visualization can be helpful in error diagnosis.
The goal of our project is the development of a simulation and visualization environment for distributed algorithms. This project brings together researchers of several LaBRI teams having various and synergetic competences in distributed algorithms, graphs, rewriting systems, and distributed objects. Our final aim is a real-world experimentation environment.