Refine
Document Type
- Doctoral thesis (5)
Has Fulltext
- yes (5)
Is part of the Bibliography
- no (5)
Language
- English (5) (remove)
Keywords
Institute
Database caching techniques promise to improve the performance and scalability of client-server database applications. The task of a cache is to accept requests of clients and to compute them locally on behalf of the server. The content of a cache is filled dynamically based on the application and users' data domain of interest. If data is missing or concurrent access has to be controlled, the computation of the request is completed at the central server. As a result, applications benefit from quick responses of a cache and load is taken from the server. The dynamic nature of a cache, the need of transactional consistency, and the complex nature of a request make database caching a challenging field of research. This thesis presents a novel approach to the shared and parallel execution of stored procedure code between a cache and the server. Every commercial database product provides such stored procedures that are coded in a complete programming language. Given a request in form of such a procedure, we introduce the concept of split twin transactions that logically split the procedure code into two parts, say A and B, such that A is executed at the cache and B at the server in a simultaneous and parallel manner. Furthermore, we analyse the procedure code to detect suitable parts. To the best of our knowledge, this has not yet been addressed by any existing approaches. Within a detailed case study, we show that our novel scheme improves the performance of existing caching approaches. Furthermore, we demonstrate that different load conditions of the system require different sizes of the parts A and B to gain maximal performance. As a result, we extend database caching by a new dimension of optimization, namely by splitting of the procedure code into A and B. To solve this problem of dynamically balancing the code execution between cache and server, we define the maximum performance of a database cache over time and propose a stochastic model to capture the average execution time of a procedure. Based on the execution frequencies of primitive database operations, the model allows us to partially predict the response times for different sizes of A and B, hence providing a partial solution to the optimization problem.
The thesis discusses the problems of database development and maintenance, and presents an approach to conceptual tuning realized by conceptual design using the HERM/RADD notation. The RADD design tool has been designed in order to develope HERM specifications graphically. RADD adds semantics and operations to the design, which are not directly annotated on the graphical specification, such as "afunctional" dependencies and SQL operations and procedures. The RADD/raddstar system extends the graphical specification of the database schema with the posibility to specify the operations and with the invocations for transforming the schema, for evaluating transactions, and for optimizing the schema, each of which according the implicite requirements graphically modeled and the explicite requirements specified by means of the conceptual specification language (CSL). CSL is used as command line interface of the RADD/raddstar. The graphical RADD schema as well as the CSL specifications are compiled into terms of the RADD* data model by the system, such that these terms are used for further evaluation actions. The actions performed by the RADD/raddstar (schema transformation, transaction and cost evaluating, schema optimization) are based on rules, that can be developed and modified by the user using the CSL.
The dynamics of an information system (IS) is characterized not only by its computational behavior, but also by its interactive behavior. Interactive dynamics forms an integral part of most information systems. Despite this, an understanding of the interactive nature of an IS is still low. Interaction impacts expressiveness of an IS at such fundamental levels that Wegner [Weg97, Weg99a] came with a contention saying interactive behavior cannot be modeled by Turing Machines (TMs). A TM is considered the foundational model of computation. It models computable functions that map between problem and solution domains. However, a TM models only non-interactive mappings. A mapping between a problem and a solution domain that is interactive in nature can change its direction of computation resulting from intermediate interactions. Based on this contention, Wegner proposes interaction (rather than computation) as the fundamental framework for IS modeling [Weg99]. In this thesis, we address Wegner's contention and the nature of interactive dynamics. An information system is modeled as a collection of semantic processes or Problem Solving Processes (PSPs). If these PSPs are interactive in nature, they are called open systems; and if they are non-interactive, such an IS is called a closed system. Intuitively, open system dynamics are known to be richer than closed system dynamics. We make this distinction precise in this thesis. Interaction is shown to be made up of three properties: computation, persistence of state across computations, and channel sensitivity. Persistence of state and channel sensitivity each contribute to richer behavioral semantics than just computation. This is shown by introducing a concept called the solution space of a semantic process. A solution space is the abstract domain characterized by the process dynamics. Interactive solution spaces are found to be richer than algorithmic solution spaces and also interactive solution spaces require at least a three-valued system of logic for their characterization. The earlier question of interactive behavior as applied to IS design is then revisited. Interactive dynamics of an IS characterize the IS functionality. We call the solution space of interactive IS behavior as its interaction space. The interaction space of an IS is contrasted with the object space of the IS which is concerned with the IS structure and state maintenance dynamics. The interaction space has a degree of autonomy with respect to the object space. This aspect is often not acknowledged in IS design, resulting in the intermixing of structural and functionality concerns. Separating these concerns can avoid certain conflicting problems in IS design, as well as provide better maintainability. We call this the "dual" nature of open systems. Based on this insight we propose an IS design paradigm called dualism, where an IS model is made up of an object schema, characterizing the IS structure and an interaction schema, characterizing the IS functionality. The interaction schema is characterized by a three-valued system of logic, representing a set of obligated (or liveness) behavior, permitted (or possible) behavior and forbidden behavior. The system should perform the obligated behavior to be termed functional; it may perform any of the permitted behavior and it may not perform forbidden behavior. An analysis of the dynamics of any real world system can make these three-valued characteristics apparent. Domain theory is used to propose solution space concept, and deontic logic is used to represent the three modalities of interactive IS behavior.
Today, developers of human-computer interaction increasingly face high expectations regarding the adaptivity of interaction. The World Wide Web is a fitting example for how diverse and 'fickle' the demands on interaction are which users, service providers and even the available technical infrastructure pose. In this thesis, a general framework for the development of interaction for such heterogeneous and dynamic interaction environments is created. The main focus is the provision of abstract constructs which make it possible to specify interaction abstractly, i.e., independently from concrete properties of an individual interaction environment. We then show how such an abstract specification can be used to automatically create human-computer interfaces which - due to the fact that the automatic generation takes the current interaction environment into account - are tailored to the requirements of the current user, technical infrastructure, etc.
The discipline of software engineering is increasingly shifting from classical design and development tasks towards tasks concerning reuse, adaptation, and integration. Driving motivations for this shift are (i) decreasing development time and costs and (ii) increasing quality of design results. Unfortunately, these new tasks are not yet supported sufficiently. While classical approaches to information system's design are quite well suited to a design from scratch, they do not provide powerful concepts concerning reuse. In particular, methods concerning encapsulation of dialog structures are commonly neglected. An according approach which enables reuse of dialog structures poses substantially different problems. This thesis formalizes such an approach which is essentially based on models from three research areas: (i) interaction patterns, (ii) interaction specification, and (iii) component frameworks.