Concepts in reflection
In this thesis, a reflective model for the expression and evolution of cooperative information systems is presented. We begin with an introduction to the basic concepts in reflection, and discuss the most relevant related work.
The ROK model
In the second chapter, the ROK model is introduced. This model is founded upon a group of five different kinds of metaobject which describe, synthesise and monitor the state and activities relating to information that originates from discrete database systems.
Adaptive workflow systems
In the following chapter, we demonstrate how reflective techniques may be applied to workflow systems, and how they may be made more adaptable as a result. We discuss the process of evolution, and how that meta-level process may also be modified. Next, we demonstrate how, within the same framework, workflow instance enactment may be specified and controlled. Finally, by merging the control structures for schema evolution and instance enactment, we derive a control structure for instance evolution.
Sustaining an open database
In the next two chapters, we first examine, in detail, the metaobject that is charged with the responsibility of explaining how a system is put together -- how information is materialised, and how it is subsequently processed in accordance with specifications that appear in the other metaobjects. This discussion is in the context of developing an open database system.
Rules for engagement
Then we formulate rules for engagement: these appear as obligations that must be satsified in order to ensure that the incorporation of a new data source into such a system is performed rigorously.
Data and service maintenance
In the next chapter, we consider data and service maintenance -- the incremental development of state (in the form of data definitions) and behaviour (in the form of service definitions).
Service composition
In the final chapter, we pose the possibility of some kind of automated and ad hoc trading based on the formulation of specific commercial arrangements from libraries of commonly-used trading patterns. Against this background, we discuss the issue of service composition. We begin by showing the problems that arise when introducing something as basic as the sequential composition of two task structures. We follow this with a discussion of how reflection may be used to overcome these difficulties, and of some of the problems encountered in doing so, and how a more generic approach to the specification of semantics might be more appropriate.
Epilogue
In conclusion, we believe that, merely by repeated application of a few basic ideas, key aspects of cooperative systems may be addressed; that, by enabling the modification of these key areas, extensive adaptability is possible; and that, by applying formalisms at many different levels, a deeper understanding of cooperative information systems is achieved.