Software systems tend to grow in size and complexity; they are often developed through a long period of time and become extremely difficult to understand and to maintain. The cost incurred by this complexity is becoming a serious concern, and a major challenge today is to find software solutions for making large applications manageable, favoring the reuse of components. Several languages or systems have been proposed to tackle this problem: they are called software architecture languages, configuration languages or coordination languages. Despite some differences of emphasis, they share a common point of view: the definition of a software application should make a clear distinction between individual components and their coordinated interaction in the overall software organization. The current understanding of coordination issues is still fragmentary, however, and its betterment is the main goal of this working group.
The aim of the Coordina project was to bring together theoreticians and practitioners in a collaborative assessment of diverse problems of and approaches to coordination, with a view towards consolidating the foundational work and identifying promising technological avenue.
Coordination work in Geneva considered both theoretical and practical aspects. On a theoretical level, we looked at the dynamic binding of independent modules into running applications. A formal model was designed to explain and verify the correctness of application extensions, in particular, that the extended system still possesses the behavior of the original. Another topic treated was mobile agent based Internet applications. We developed the Seal calculus for reasoning about agent security and mobility properties. Our experience with implementations based around this model emphasized that security is still a major weakness for Internet coordination. To this end, we designed the Secure Object Space model; this extends the Linda coordination model with security primitives for object locking. Thus, objects that are shared over the Internet via shared spaces can be locked with a key, and only a process possessing a matching key can read the object, thus modeling encryption semantics.
The project organized a series of annual workshops, which became the primary forum for participants to exchange results. This collaboration led to the publication of a book on coordination, entitled 'Coordination of Internet Agents' published by Springer in December 2000. The Geneva group contributed a chapter on security.
Further information about the participation of the Geneva group in Coordina can be found at our web site:
http://cui.unige.ch.