31,300 research outputs found
Algebraic optimization of recursive queries
Over the past few years, much attention has been paid to deductive databases. They offer a logic-based interface, and allow formulation of complex recursive queries. However, they do not offer appropriate update facilities, and do not support existing applications. To overcome these problems an SQL-like interface is required besides a logic-based interface.\ud
\ud
In the PRISMA project we have developed a tightly-coupled distributed database, on a multiprocessor machine, with two user interfaces: SQL and PRISMAlog. Query optimization is localized in one component: the relational query optimizer. Therefore, we have defined an eXtended Relational Algebra that allows recursive query formulation and can also be used for expressing executable schedules, and we have developed algebraic optimization strategies for recursive queries. In this paper we describe an optimization strategy that rewrites regular (in the context of formal grammars) mutually recursive queries into standard Relational Algebra and transitive closure operations. We also describe how to push selections into the resulting transitive closure operations.\ud
\ud
The reason we focus on algebraic optimization is that, in our opinion, the new generation of advanced database systems will be built starting from existing state-of-the-art relational technology, instead of building a completely new class of systems
Functional units for natural numbers
Interaction with services provided by an execution environment forms part of
the behaviours exhibited by instruction sequences under execution. Mechanisms
related to the kind of interaction in question have been proposed in the
setting of thread algebra. Like thread, service is an abstract behavioural
concept. The concept of a functional unit is similar to the concept of a
service, but more concrete. A state space is inherent in the concept of a
functional unit, whereas it is not inherent in the concept of a service. In
this paper, we establish the existence of a universal computable functional
unit for natural numbers and related results.Comment: 17 pages; notational mistakes in tables 5 and 6 corrected; erroneous
definition at bottom of page 9 correcte
Web Services: A Process Algebra Approach
It is now well-admitted that formal methods are helpful for many issues
raised in the Web service area. In this paper we present a framework for the
design and verification of WSs using process algebras and their tools. We
define a two-way mapping between abstract specifications written using these
calculi and executable Web services written in BPEL4WS. Several choices are
available: design and correct errors in BPEL4WS, using process algebra
verification tools, or design and correct in process algebra and automatically
obtaining the corresponding BPEL4WS code. The approaches can be combined.
Process algebra are not useful only for temporal logic verification: we remark
the use of simulation/bisimulation both for verification and for the
hierarchical refinement design method. It is worth noting that our approach
allows the use of any process algebra depending on the needs of the user at
different levels (expressiveness, existence of reasoning tools, user
expertise)
Instruction sequence processing operators
Instruction sequence is a key concept in practice, but it has as yet not come
prominently into the picture in theoretical circles. This paper concerns
instruction sequences, the behaviours produced by them under execution, the
interaction between these behaviours and components of the execution
environment, and two issues relating to computability theory. Positioning
Turing's result regarding the undecidability of the halting problem as a result
about programs rather than machines, and taking instruction sequences as
programs, we analyse the autosolvability requirement that a program of a
certain kind must solve the halting problem for all programs of that kind. We
present novel results concerning this autosolvability requirement. The analysis
is streamlined by using the notion of a functional unit, which is an abstract
state-based model of a machine. In the case where the behaviours exhibited by a
component of an execution environment can be viewed as the behaviours of a
machine in its different states, the behaviours concerned are completely
determined by a functional unit. The above-mentioned analysis involves
functional units whose possible states represent the possible contents of the
tapes of Turing machines with a particular tape alphabet. We also investigate
functional units whose possible states are the natural numbers. This
investigation yields a novel computability result, viz. the existence of a
universal computable functional unit for natural numbers.Comment: 37 pages; missing equations in table 3 added; combined with
arXiv:0911.1851 [cs.PL] and arXiv:0911.5018 [cs.LO]; introduction and
concluding remarks rewritten; remarks and examples added; minor error in
proof of theorem 4 correcte
Process algebra with conditionals in the presence of epsilon
In a previous paper, we presented several extensions of ACP with conditional
expressions, including one with a retrospection operator on conditions to allow
for looking back on conditions under which preceding actions have been
performed. In this paper, we add a constant for a process that is only capable
of terminating successfully to those extensions of ACP, which can be very
useful in applications. It happens that in all cases the addition of this
constant is unproblematic.Comment: 41 page
- …