3,682 research outputs found
A Refinement Calculus for Logic Programs
Existing refinement calculi provide frameworks for the stepwise development
of imperative programs from specifications. This paper presents a refinement
calculus for deriving logic programs. The calculus contains a wide-spectrum
logic programming language, including executable constructs such as sequential
conjunction, disjunction, and existential quantification, as well as
specification constructs such as general predicates, assumptions and universal
quantification. A declarative semantics is defined for this wide-spectrum
language based on executions. Executions are partial functions from states to
states, where a state is represented as a set of bindings. The semantics is
used to define the meaning of programs and specifications, including parameters
and recursion. To complete the calculus, a notion of correctness-preserving
refinement over programs in the wide-spectrum language is defined and
refinement laws for developing programs are introduced. The refinement calculus
is illustrated using example derivations and prototype tool support is
discussed.Comment: 36 pages, 3 figures. To be published in Theory and Practice of Logic
Programming (TPLP
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
The construction and validation of an instrument to measure group leadership potential in nonacademic college situations
Thesis (Ed.D.)--Boston University
Recommended from our members
The modification of activated carbon cloth by alumina deposition
This thesis was submitted for the degree of Doctor of Philosophy and awarded by Brunel University.The impregnation of mesoporous carbon cloth with alumina has been studied. The most successful method of impregnation resulted from preparation of the alumina phase by a sol/gel route. This method involves a boehmite intermediate, and the heating environment for the thermal transition of boehmite to the final alumina was investigated. Heat treatment of the boehmite intermediate under flowing N2, flowing
air and vacuum was found to give a different pore size distribution for the final alumina than did still air heat treatment. For the former environments the transition from boehmite to alumina was not accompanied
by the usual increase in pore size. Alumina/carbon composites were made by dipping pieces of mesoporous carbon cloth in a boehmite sol. The distribution of boehmite about the carbon cloth was found to be improved by pre-wetting the carbon cloth and by the use of ultrasonic dispersion during boehmite impregnation. Dried boehmite/carbon composites, with loading levels of up to 180wt.%, were heated under vacuum to 5000 C. In this manner alumina/carbon composites of up to 60wt.% alumina were fabricated. The distribution of the alumina phase about the carbon cloth was investigated by electron microscopy and by gas adsorption techniques. Nitrogen isotherm data indicated that the mesopores of the carbon cloth were not blocked by the deposited alumina, rather the pore volume of the carbon cloth was increased by the clustering of porous alumina about the pore entrances of the carbon cloth. Water isotherms were determined for the composite materials. The water activity of the composite, particularly at low relative pressures, was found to be significantly greater than that of the carbon cloth as a result of the
presence of alumina. CO2 activity of the composites was investigated by a gas chromatographic technique. The CO2 activity of the composite material was found to be up to 500 times greater than that of virgin
carbon cloth.This study is funded by a research grant from ALCOA
A Modified Agar Test Method for Wood Preservatives
There are two possible methods by which wood could be protected from the attack of saprophytic fungus growth. Either the conditions can be so controlled as to be unfavorable for the growth of the attacking organism, or the wood can be permeated with a poisonous substance which will in some way disrupt the vital processes of the fungus. It is the obvious that the first suggested preventative would not at all be practical due to the wide geographical range over which wood is used and to the various types of weather conditions to which it may be subjected. Consequently, the latter approach to the problem has been the one followed by the wood preservation industry and by scientific investigators in the field
A modified agar test method for wood preservatives
The principal criteria for a good wood preservative involves the following considerations 1. The preservative must be sufficiently toxic to curb the action of the wood rotting fungi and wood attacking insects 2. The preservative must not attack wood 3. The preservative must not undergo a chemical or physical change brought upon by contact with the wood cells so as to render the chemical agent non-toxic or less toxic 4. The preservative must not be a substance which will attack metals 5. The preservative must be of such a nature as to make it easily injected into wood 6. The volatility, chemical stability, penetrability, cleanliness, cost, toxicity to human beings and other similar factors must conform to the practical conditions under which the preservative is to be used. Although all of the above mentioned conditions are of high importance, the fact remains that the first consideration in selecting a wood preservative must be given to its ability to kill or to vitally inhibit the biological organisms which attack the wood. “Biological organisms” can be correctly construed as pertaining to both plants and animals. However, this discussion will be confined purely to the harmful effects of fungi upon spermatophytic plants and to the means by which the toxic action of chemical agents upon the saprophytic growth can be studied
- …