This book provides an introduction to the specification and implementation of organizational information systems. It aims to combine and integrate these traditionally compartmentalized activities. This unity is achieved through the use of a relational specification language Z in conjunction with the relational database language SQL. Both these languages have their roots in predicate logic and set theory. Features of the book include:
Abstract: The work reported in this chapter uses operational reflection as a means of enabling cooperation between pre-existing and autonomous information sources located at a number of remote sites. Each component database system is encapsulated by a layer of metalevel software that knows about that system's functionality and competence, incorporates basic programmable cooperative processing facilities, and provides access to the enclosed system by means of an abstract program interface, regardless of the underlying system's complexity.
Abstract: A proper understanding of the general nature, potential and obligations of electronic services may be achieved by examining existing commercial services in detail. The everyday services that surround us, and the ways in which we engage with them, are the result of social and economic interaction that has taken place over a long period of time. If we attempt to provide electronic services \emph{to people}, and do not take this history into account will fail, then we will fail. Any attempt to provide automated electronic services that ignores this history will deny consumers the opportunity to negotiate and refine, over a large range of issues, the specific details of the actual service to be provided. To succeed, we require a rich and accurate means of representing of services. The properties of services that we need to capture include the methods of charging and payment, the channels by which the service is provided, spatial and temporal availability, and service quality and security. Fundamental to any comprehensive service ontology is a satisfactory concept of a service life cycle. This will describe a service both from the provider's viewpoint, in terms of market awareness, conception, advertisement, provisioning, and from the consumer's viewpoint in terms of need recognition, discovery, negotiation, invocation and payment. This paper builds on an understanding of services and their life cycle to outline these properties and the challenges faced in their representation. Accurate descriptions are integral to meaningful discovery, composition and management of services.
Abstract: We present a flexible framework that enables workflow systems to adapt to changing conditions. The model is designed to reveal key aspects of the tasks involved in representing and enacting business processes. These fundamental characteristics are identified as state, behaviour, distribution, coordination and enactment. By isolating such core concepts in a way that allows them to be varied, we open up the general process of task coordination and execution, allowing for extensions in a planned way. By suitable manipulation of each of these aspects, at the appropriate level, a workflow system may be extensively modified in a way that minimises the effect of such change upon other aspects of the system. Thus, 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.
Abstract: This paper describes a number of approaches to the development of more intelligent and more adaptable software. The paper introduces the notion of reflection and surveys two major styles: task and programming reflection. The paper then introduces a new form, viz operational reflection, based on the integration of these styles. This form of reflection is applied to cooperative environments and enables local database systems to be surrounded by a layer of metalevel software. This is used to capture domain and operational knowledge, and to describe, at least in part, remote systems and to monitor task-oriented activities. Thus we can turn a set of discrete database systems into a cooperative environment.
Abstract: Most computers are used in an organisational setting and most organisational information systems are database systems. A database system is one in which the simple statements far outnumber the complex ones, to the extent that a special database management system is required to enable sufficiently rapid access to the data thus stored. SQL is the standard language for database access and manipulation. Z is a formal notation which has achieved some degree of acceptance -- even popularity. Yet, Z and SQL are rarely considered in conjunction, which is unfortunate because both languages have their roots in set theory and predicate calculus. This paper examines some of the issues involved in mapping from a Z specification to an SQL-based implementation.
Abstract: This paper introduces the ROK (Reflective Object Knowledge) Model. Using this model, a new information system may be constructed by interconnecting pre-existing systems. The process is enabled by the introduction of a layer of metalevel software that surrounds each local DBMS, and which knows a system's capabilities and functionality. An object-oriented approach is taken to the description of the metalevel with the introduction of a group of special reflective objects that are used to describe and monitor every domain object in the system. Metaobjects allow the specification and implementation of a newly composed system to be intertwined. In this way a newly composed information system can draw upon the functionality of already existing systems.
Abstract: One of the most difficult requirements of database support is to guarantee schema and instance update correctness. Engineering applications rely on this safeguard during product development. Thus it is essential that a DBMS dynamically support schema modifications by allowing on-line access to the schema, and providing automatic consistency checking of objects as well as self-adaptive dynamic linking of new methods. Our paper addresses these issues by providing a set of formalized procedures for defining and hence checking schema correctness. In that context, we propose a core model for schema correctness management in object-oriented databases.
Abstract: Belief in the importance of business processes has triggered considerable interest in the workflow systems that automate these processes. However, of the two competing management philosophies that promulgate business processes, Business Process Reengineering proposes radical change, whereas Continuous Process Improvement places much greater emphasis on adaptability. The former school is somewhat discredited, whereas the latter school seems more likely to endure, thus making the flexibility and evolution of workflows an issue of increasing importance. In this paper, we present a programmable object-oriented metalevel framework which aims to reveal the processes of assembling and coordinating the tasks that make up business processes. This is achieved by isolating four key facets -- state, behaviour, location and coordination. In particular, we open up the general process of task coordination and specification, allowing for extensions in a {\em planned} way. By suitable manipulation of coordination aspects, at the appropriate level, task structures may be modified in a way that minimises the effect of change upon other aspects of the system.
Abstract: We investigate the possibility of some kind of automated and ad hoc trading based on the formulation of specific commercial arrangements derived from libraries of commonly-used trading patterns. Against this background, we discuss the issue of service composition, and introduce some basic forms. We then discuss the issue of composition as a process in its own right, and how that process may be extended with new forms.
Abstract: With the increasing number of market places and potential trading partners across the e--commerce environment, it will become natural for multiple trading activities to be deployed as part of a single trading strategy. This paper describes a multi--process model for controlling interrelated trading activities. The model includes a powerful generic synchronization construct for building a variety of executable trading engines. The modular design of the construct enables the realization of complex trading schemes, including a number of well known strategies from the financial trading domain. A homogeneous interface is defined to allow seamless integration of control modules built using this construct with elementary trading tasks which directly interact with the trading partners using various negotiation protocols. The model also enables iterative negotiation capabilities, which are essential in any complex trading environment. In addition, the model is designed to be orthogonal to the reasoning model so that any reasoning mechanism can be plugged into it.
Abstract: An understanding of the temporal and locative constraints surrounding a service are important for interacting with it. These constraints apply to both the service requestor and the service provider. In this paper, we discuss service interactions including the less common ones of cancellation, suspension and resumption. We then discuss various kinds of temporal windows and argue for certain locative constraints.
Abstract: We view cooperating systems as being a set of systems that are distributed over a common communication network and that work towards solving a common task. This is achieved by coordinating and exchanging information and expertise. Such systems exclude conventional database systems since the knowledge these systems contain is buried within application code. In this paper, we overcome this problem by introducing a layer of special reflective, i.e. metalevel, objects which surround each local database system. These objects are used to capture domain and operational knowledge, and to describe, at least in part, remote systems and to monitor task-oriented activities. In this way, we can turn interconnected conventional database systems into a set of cooperating knowledge-based systems.
Abstract: There are a number of commonly-used Z operations that may be paired off. Such pairings include (1) the domain and range operations, (2) domain and range restriction, and (3) domain and range anti-restriction. Not only are the operations within each pair very closely related in terms of what they do, they also give rise to a number of very similar laws. Ockham's razor (or the Law of Parsimony) suggests that we should try to avoid unnecessary duplication. This may be achieved in the way shown in the paper. Furthermore, we can use this approach to make specifications more immediately readable.
Abstract: Object-oriented data models have proven to be popular tools for developing complex database applications since they provide expressive modelling power, which allows us to naturally model real- world entities and semantics. However, typically the modelling of inter-object associations has been implementation oriented and consequently their semantics have been either suppressed or completely lost. In this paper we present an extension to object-oriented data models in which relationships are expressed as objects in their own right, possessing properties which allow them to naturally express associations between objects. Our approach allows us to divide relationships into coherent object partitions to which we can attach further distinguishable properties. This mechanism can be used to implement dynamic and temporal properties and aspects of relationships which are essential to the modelling of large and complex systems.
Abstract: Reflection may be used as a way of opening up the general process of object reification and management. Instead of having a situation where such activities are either totally closed or totally ad-hoc, we may provide a general policy framework for object management, one that allows particular policies in a controlled manner. By revealing the process or processes involved in making an object available to an application program, and by making those revelations in an modifiable and object-oriented way, distributed and possibly heterogeneous data and program resources, such as the so-called legacy systems, may be used by new applications in a transparent way. This paper discusses the R-OK (reflective object knowledge) model and how it may be used to such ends.
David Edmond
November 2002