Dynamic Semantics Negotiation in Distributed and Evolving Software Systems: Towards Automated Semantics-Directed System Configuration
Berlin: Logos Verlag (2000)
Buch / Monographie / Fach: Wirtschaftswissenschaften
A major challenge in developing contemporary distributed software systems is dynamic accommodation of evolutionary change: modifications not envisaged at design time have to be handled at run time without disturbing those parts of the system unaffected by the change. The key feature of configuration management realizing such dynamic modifications and extensions is that semantic information about the constituent components has to be available in order to check the compliance wrt. adding a new or changed component. The aim of this thesis is to go beyond the currently available plug-in architectures such as CORBA, Java RMI or DCOM where the semantics of the public interfaces is often only implicit or represented by very naive descriptions such as keyword lists or simple name/value pairs. The final aim of these ideas is to achieve semantics-directed configuration of component based software systems in such a way that components organize themselves on the basis of a richer representation of their semantics concepts. The foundation of this work is given by an abstract view on software architecture which is compliant to more refined architecture specification models such as architecture description languages (e.g., P, DARWIN) or the CORBA object model. This architecture design is then extended by a prominent change model (developed at Imperial College, London) towards a framework for specifying configurable architectures. The next step is to guide the process of adding, deleting, linking or unlinking new or changed components within the architecture by semantic information. This is achieved by introducing concepts for representing and checking / changing component semantics. We propose distributed graph transformation as a technique to realize these ideas. Distributed graph transformation is a recent specification technique developed at the Technical University of Berlin which is based on a graph rewrite approach extended by modularization and distribution aspects. In several prior publications we have justified the decision to choose this formalism: we have shown that pseudo-semantic component properties as mentioned above do not suffice to realize semantics negotiation in configurable distributed systems and we have shown that exploiting structural information such as represented by distributed graphs is extremely helpful in many application areas. The main emphasis of this thesis lies on introducing different negotiation strategies and configuration protocols on top of semantics-directed component interaction. The final aim is automating most of this semantics-driven configuration process. This thesis introduces the concepts for semantics negotiation and semantics-directed system configuration and presents a major sample system to illustrate how our approach works. Finally, we give an overview of the tool implementing our ideas (which is realized as a cooperation between the University of Essen and the Technical University of Berlin) and present a concept for integrating it into a distributed software development environment developed and used at the University of Essen.