16,517 research outputs found
A synchronous program algebra: a basis for reasoning about shared-memory and event-based concurrency
This research started with an algebra for reasoning about rely/guarantee
concurrency for a shared memory model. The approach taken led to a more
abstract algebra of atomic steps, in which atomic steps synchronise (rather
than interleave) when composed in parallel. The algebra of rely/guarantee
concurrency then becomes an instantiation of the more abstract algebra. Many of
the core properties needed for rely/guarantee reasoning can be shown to hold in
the abstract algebra where their proofs are simpler and hence allow a higher
degree of automation. The algebra has been encoded in Isabelle/HOL to provide a
basis for tool support for program verification.
In rely/guarantee concurrency, programs are specified to guarantee certain
behaviours until assumptions about the behaviour of their environment are
violated. When assumptions are violated, program behaviour is unconstrained
(aborting), and guarantees need no longer hold. To support these guarantees a
second synchronous operator, weak conjunction, was introduced: both processes
in a weak conjunction must agree to take each atomic step, unless one aborts in
which case the whole aborts. In developing the laws for parallel and weak
conjunction we found many properties were shared by the operators and that the
proofs of many laws were essentially the same. This insight led to the idea of
generalising synchronisation to an abstract operator with only the axioms that
are shared by the parallel and weak conjunction operator, so that those two
operators can be viewed as instantiations of the abstract synchronisation
operator. The main differences between parallel and weak conjunction are how
they combine individual atomic steps; that is left open in the axioms for the
abstract operator.Comment: Extended version of a Formal Methods 2016 paper, "An algebra of
synchronous atomic steps
A synchronous program algebra: a basis for reasoning about shared-memory and event-based concurrency
This research started with an algebra for reasoning about rely/guarantee
concurrency for a shared memory model. The approach taken led to a more
abstract algebra of atomic steps, in which atomic steps synchronise (rather
than interleave) when composed in parallel. The algebra of rely/guarantee
concurrency then becomes an instantiation of the more abstract algebra. Many of
the core properties needed for rely/guarantee reasoning can be shown to hold in
the abstract algebra where their proofs are simpler and hence allow a higher
degree of automation. The algebra has been encoded in Isabelle/HOL to provide a
basis for tool support for program verification.
In rely/guarantee concurrency, programs are specified to guarantee certain
behaviours until assumptions about the behaviour of their environment are
violated. When assumptions are violated, program behaviour is unconstrained
(aborting), and guarantees need no longer hold. To support these guarantees a
second synchronous operator, weak conjunction, was introduced: both processes
in a weak conjunction must agree to take each atomic step, unless one aborts in
which case the whole aborts. In developing the laws for parallel and weak
conjunction we found many properties were shared by the operators and that the
proofs of many laws were essentially the same. This insight led to the idea of
generalising synchronisation to an abstract operator with only the axioms that
are shared by the parallel and weak conjunction operator, so that those two
operators can be viewed as instantiations of the abstract synchronisation
operator. The main differences between parallel and weak conjunction are how
they combine individual atomic steps; that is left open in the axioms for the
abstract operator.Comment: Extended version of a Formal Methods 2016 paper, "An algebra of
synchronous atomic steps
ROSA Analyser: An automatized approach to analyse processes of ROSA
In this work we present the first version of ROSA Analyser, a tool designed
to get closer to a fully automatic process of analysing the behaviour of a
system specified as a process of the Markovian Process Algebra ROSA. In this
first development stage, ROSA Analyser is able to generate the Labelled
Transition System, according to ROSA Operational Semantics.
ROSA Analyser performance starts with the Syntactic Analysis so generating a
layered structure, suitable to then, apply the Operational Semantics Transition
rules in the easier way. ROSA Analyser is able to recognize some states
identities deeper than the Syntactic ones. This is the very first step in the
way to reduce the size of the LTS and then to avoid the state explosion
problem, so making this task more tractable.
For the sake of better illustrating the usefulness of ROSA Analyser, a case
study is also provided within this work.Comment: In Proceedings WS-FMDS 2012, arXiv:1207.1841. Formal model's too
On Protected Realizations of Quantum Information
There are two complementary approaches to realizing quantum information so
that it is protected from a given set of error operators. Both involve encoding
information by means of subsystems. One is initialization-based error
protection, which involves a quantum operation that is applied before error
events occur. The other is operator quantum error correction, which uses a
recovery operation applied after the errors. Together, the two approaches make
it clear how quantum information can be stored at all stages of a process
involving alternating error and quantum operations. In particular, there is
always a subsystem that faithfully represents the desired quantum information.
We give a definition of faithful realization of quantum information and show
that it always involves subsystems. This justifies the "subsystems principle"
for realizing quantum information. In the presence of errors, one can make use
of noiseless, (initialization) protectable, or error-correcting subsystems. We
give an explicit algorithm for finding optimal noiseless subsystems. Finding
optimal protectable or error-correcting subsystems is in general difficult.
Verifying that a subsystem is error-correcting involves only linear algebra. We
discuss the verification problem for protectable subsystems and reduce it to a
simpler version of the problem of finding error-detecting codes.Comment: 17 page
A Quantum Interior Point Method for LPs and SDPs
We present a quantum interior point method with worst case running time
for
SDPs and for LPs, where the output of our algorithm is a pair of matrices
that are -optimal -approximate SDP solutions. The factor
is at most for SDPs and for LP's, and is
an upper bound on the condition number of the intermediate solution matrices.
For the case where the intermediate matrices for the interior point method are
well conditioned, our method provides a polynomial speedup over the best known
classical SDP solvers and interior point based LP solvers, which have a worst
case running time of and respectively. Our results
build upon recently developed techniques for quantum linear algebra and pave
the way for the development of quantum algorithms for a variety of applications
in optimization and machine learning.Comment: 32 page
Extending and Relating Semantic Models of Compensating CSP
Business transactions involve multiple partners coordinating and interacting with each other. These transactions have hierarchies of activities which need to be orchestrated. Usual database approaches (e.g.,checkpoint, rollback) are not applicable to handle faults in a long running transaction due to interaction with multiple partners. The compensation mechanism handles faults that can arise in a long running transaction. Based on the framework of Hoare's CSP process algebra, Butler et al introduced Compensating CSP (cCSP), a language to model long-running transactions. The language introduces a method to declare a transaction as a process and it has constructs for orchestration of compensation. Butler et al also defines a trace semantics for cCSP. In this thesis, the semantic models of compensating CSP are extended by defining an operational semantics, describing how the state of a program changes during its execution. The semantics is encoded into Prolog to animate the specification. The semantic models are further extended to define the synchronisation of processes. The notion of partial behaviour is defined to model the behaviour of deadlock that arises during process synchronisation. A correspondence relationship is then defined between the semantic models and proved by using structural induction. Proving the correspondence means that any of the presentation can be accepted as a primary definition of the meaning of the language and each definition can be used correctly at different times, and for different purposes. The semantic models and their relationships are mechanised by using the theorem prover PVS. The semantic models are embedded in PVS by using Shallow embedding. The relationships between semantic models are proved by mutual structural induction. The mechanisation overcomes the problems in hand proofs and improves the scalability of the approach
- ā¦