625 research outputs found
Program transformations using temporal logic side conditions
This paper describes an approach to program optimisation based on transformations, where temporal logic is used to specify side conditions, and strategies are created which expand the repertoire of transformations and provide a suitable level of abstraction. We demonstrate the power of this approach by developing a set of optimisations using our transformation language and showing how the transformations can be converted into a form which makes it easier to apply them, while maintaining trust in the resulting optimising steps. The approach is illustrated through a transformational case study where we apply several optimisations to a small program
Component-wise incremental LTL model checking
Efficient symbolic and explicit-state model checking
approaches have been developed for the verification of linear
time temporal
logic (LTL) properties. Several attempts have been made to
combine the advantages of the various algorithms. Model
checking LTL
properties usually poses two challenges: one must compute the
synchronous product of the state space and the automaton
model of the
desired property, then look for counterexamples that is
reduced to finding strongly connected components (SCCs) in
the state space
of the product. In case of concurrent systems, where the
phenomenon of state space explosion often prevents the
successful
verification, the so-called saturation algorithm has proved
its efficiency in state space exploration. This paper
proposes a new
approach that leverages the saturation algorithm both as an
iteration strategy constructing the product directly, as well
as in a
new fixed-point computation algorithm to find strongly
connected components on-the-fly by incrementally processing
the components
of the model. Complementing the search for SCCs, explicit
techniques and component-wise abstractions are used to prove
the absence
of counterexamples. The resulting on-the-fly, incremental LTL
model checking algorithm proved to scale well with the size
of
models, as the evaluation on models of the Model Checking
Contest suggests
Managing Schema Change in an Heterogeneous Environment
Change is inevitable even for persistent information. Effectively managing change of persistent information, which includes the specification, execution and the maintenance of any derived information, is critical and must be addressed by all database systems. Today, for every data model there exists a well-defined set of change primitives that can alter both the structure (the schema) and the data. Several proposals also exist for incrementally propagating a primitive change to any derived information (or view). However, existing support is lacking in two ways. First, change primitives as presented in literature are very limiting in terms of their capabilities allowing users to simply add or remove schema elements. More complex types of changes such the merging or splitting of schema elements are not supported in a principled manner. Second, algorithms for maintaining derived information often do not account for the potential heterogeneity between the source and the target. The goal of this dissertation is to provide solutions that address these two key issues. The first part of this dissertation addresses the challenge of expressing a rich complex set of changes. We propose the SERF (Schema Evolution through an Extensible, Re-usable and Flexible) framework that allows users to perform a wide range of complex user-defined schema transformations. Our approach combines existing schema evolution primitives using OQL (object query language) as the glue logic. Within the context of this work, we look at the different domains in which SERF can be applied, including web site management. To further enrich our framework, we also investigate the optimization and verification of SERF transformations. The second part of this dissertation addresses the problem of maintaining views in the face of source changes when the source and the view are not in the same data model. With today\u27s increasing heterogeneity in information structure, it is critical that maintenance of views addresses the data model boundaries. However, view definitions that go across data models are limited to hard-coded algorithms, thereby making it difficult to develop general maintenance algorithms. We provide a two-step solution for this problem. We have developed a cross algebra, that defines views such that there is no restriction that forces the view and the source data models to be the same. We then define update propagation algorithms that can propagate changes from source to target irrespective of the exact translation and the data models. We validate our ideas by applying them to translation and change propagation between the XML and relational data models
- ā¦