287 research outputs found
A Classification of Models for Concurrency
Models for concurrency can be classified with respect to the three relevant parameters: behaviour/system, interleaving/noninterleaving, linear/branching time. When modelling a process, a choice concerning such parameters corresponds to choosing the level of abstraction of the resulting semantics. The classifications are formalised through the medium of category theory
Deterministic Behavioural Models for Concurrency
This paper offers three candidates for a deterministic, noninterleaving, behaviour model which generalizes Hoare traces to the noninterleaving situation. The three models are all proved equivalent in the rather strong sense of being equivalent as categories. The models are: deterministic labelled event structures, generalized trace languages in which the independence relation is context-dependent, and deterministic languages of pomsets
Relationships between Models for Concurrency
Models for concurrency can be classified with respect to three relevant parameters: behaviour/system, interleaving/noninterleaving, linear/branching time. When modelling a process, a choice concerning such parameters corresponds to choosing the level of abstraction of the resulting semantics. The classifications are formalized through the medium of category theory
A programming logic for Java bytecode programs
One significant disadvantage of interpreted bytecode languages, such as Java, is their low execution speed in comparison to compiled languages like C. The mobile nature of bytecode adds to the problem, as many checks are necessary to ensure that downloaded code from untrusted sources is rendered as safe as possible. But there do exist ways of speeding up such systems.
One approach is to carry out static type checking at load time, as in the case of the Java Bytecode Verifier. This reduces the number of runtime checks that must be done and also allows certain instructions to be replaced by faster versions. Another approach is the use of a Just In Time (JIT) Compiler, which takes the bytecode and produces corresponding native code at runtime. Some JIT compilers also carry out some code optimization.
There are, however, limits to the amount of optimization that can safely be done by the Verifier and JITs; some operations simply cannot be carried out safely without a certain amount of runtime checking. But what if it were possible to prove that the conditions the runtime checks guard against would never arise in a particular piece of code? In this case it might well be possible to dispense with these checks altogether, allowing optimizations not feasible at present. In addition to this, because of time constraints, current JIT compilers tend to produce acceptable code as quickly as possible, rather than producing the best code possible. By removing the burden of analysis from them it may be possible to change this.
We demonstrate that it is possible to define a programming logic for bytecode programs that allows the proof of bytecode programs containing loops. The instructions available to use in the programs are currently limited, but the basis is in place to extend these. The development of this logic is non-trivial and addresses several difficult problems engendered by the unstructured nature of bytecode programs
A Comparison of Petri Net Semantics under the Collective Token Philosophy
In recent years, several semantics for place/transition Petri nets have been proposed that adopt the collective token philosophy. We investigate distinctions and similarities between three such models, namely configuration structures, concurrent transition systems, and (strictly) symmetric (strict) monoidal categories. We use the notion of adjunction to express each connection. We also present a purely logical description of the collective token interpretation of net behaviours in terms of theories and theory morphisms in partial membership equational logic
A decidable policy language for history-based transaction monitoring
Online trading invariably involves dealings between strangers, so it is
important for one party to be able to judge objectively the trustworthiness of
the other. In such a setting, the decision to trust a user may sensibly be
based on that user's past behaviour. We introduce a specification language
based on linear temporal logic for expressing a policy for categorising the
behaviour patterns of a user depending on its transaction history. We also
present an algorithm for checking whether the transaction history obeys the
stated policy. To be useful in a real setting, such a language should allow one
to express realistic policies which may involve parameter quantification and
quantitative or statistical patterns. We introduce several extensions of linear
temporal logic to cater for such needs: a restricted form of universal and
existential quantification; arbitrary computable functions and relations in the
term language; and a "counting" quantifier for counting how many times a
formula holds in the past. We then show that model checking a transaction
history against a policy, which we call the history-based transaction
monitoring problem, is PSPACE-complete in the size of the policy formula and
the length of the history. The problem becomes decidable in polynomial time
when the policies are fixed. We also consider the problem of transaction
monitoring in the case where not all the parameters of actions are observable.
We formulate two such "partial observability" monitoring problems, and show
their decidability under certain restrictions
On Linear Information Systems
Scott's information systems provide a categorically equivalent, intensional
description of Scott domains and continuous functions. Following a well
established pattern in denotational semantics, we define a linear version of
information systems, providing a model of intuitionistic linear logic (a
new-Seely category), with a "set-theoretic" interpretation of exponentials that
recovers Scott continuous functions via the co-Kleisli construction. From a
domain theoretic point of view, linear information systems are equivalent to
prime algebraic Scott domains, which in turn generalize prime algebraic
lattices, already known to provide a model of classical linear logic
Energy transitions and uncertainty: creating low carbon investment opportunities in the UK electricity sector
This paper examines how actors in the UK electricity sector are attempting to deliver investment in low carbon generation. Low carbon technologies, because of their relative immaturity, capital intensity and low operational costs, do not readily fit with existing electricity markets and investment templates which were designed for fossil fuel based energy. We analyse key electricity market and infrastructure policies in the UK and highlight how these are aimed at making low carbon technologies ‘investable’ by reducing uncertainty, managing investment risks and repositioning actors within the electricity socio-technical ‘regime’. We argue that our study can inform contemporary debates on the politics and governance of sustainability transitions by empirically investigating the agency of incumbent regime actors in the face of uncertainty and by offering critical insights on the role of markets and finance in shaping socio-technical change
Cutting out continuations
In the field of program transformation, one often transforms programs into continuation-passing style to make their flow of control explicit, and then immediately removes the resulting continuations using defunctionalisation to make the programs first-order. In this article, we show how these two transformations can be fused together into a single transformation step that cuts out the need to first introduce and then eliminate continuations. Our approach is calculational, uses standard equational reasoning techniques, and is widely applicable
An Event Structure Model for Probabilistic Concurrent Kleene Algebra
We give a new true-concurrent model for probabilistic concurrent Kleene
algebra. The model is based on probabilistic event structures, which combines
ideas from Katoen's work on probabilistic concurrency and Varacca's
probabilistic prime event structures. The event structures are compared with a
true-concurrent version of Segala's probabilistic simulation. Finally, the
algebraic properties of the model are summarised to the extent that they can be
used to derive techniques such as probabilistic rely/guarantee inference rules.Comment: Submitted and accepted for LPAR19 (2013
- …