84,593 research outputs found
Editorial: the changing landscapes of literacy and adult education
Literacy, numeracy and language learning has always had a central place in adult
education theory and practice. Over the various historical moments and contexts, its
meaning, uses and importance have been changing considerably. It is difficult, therefore,
to build a consistent and complete road map to literacy and adult education that takes into
account every trend, theoretical approach and practical experience.info:eu-repo/semantics/publishedVersio
Towards Practical Graph-Based Verification for an Object-Oriented Concurrency Model
To harness the power of multi-core and distributed platforms, and to make the
development of concurrent software more accessible to software engineers,
different object-oriented concurrency models such as SCOOP have been proposed.
Despite the practical importance of analysing SCOOP programs, there are
currently no general verification approaches that operate directly on program
code without additional annotations. One reason for this is the multitude of
partially conflicting semantic formalisations for SCOOP (either in theory or
by-implementation). Here, we propose a simple graph transformation system (GTS)
based run-time semantics for SCOOP that grasps the most common features of all
known semantics of the language. This run-time model is implemented in the
state-of-the-art GTS tool GROOVE, which allows us to simulate, analyse, and
verify a subset of SCOOP programs with respect to deadlocks and other
behavioural properties. Besides proposing the first approach to verify SCOOP
programs by automatic translation to GTS, we also highlight our experiences of
applying GTS (and especially GROOVE) for specifying semantics in the form of a
run-time model, which should be transferable to GTS models for other concurrent
languages and libraries.Comment: In Proceedings GaM 2015, arXiv:1504.0244
Intellectualism and the argument from cognitive science
Intellectualism is the claim that practical knowledge or ‘know-how’ is a kind of propositional knowledge. The debate over Intellectualism has appealed to two different kinds of evidence, semantic and scientific. This paper concerns the relationship between Intellectualist arguments based on truth-conditional semantics of practical knowledge ascriptions, and anti-Intellectualist arguments based on cognitive science and propositional representation. The first half of the paper argues that the anti-Intellectualist argument from cognitive science rests on a naturalistic approach to metaphysics: its proponents assume that findings from cognitive science provide evidence about the nature of mental states. We demonstrate that this fact has been overlooked in the ensuing debate, resulting in inconsistency and confusion. Defenders of the semantic approach to Intellectualism engage with the argument from cognitive science in a way that implicitly endorses this naturalistic metaphysics, and even rely on it to claim that cognitive science support Intellectualism. In the course of their arguments, however, they also reject that scientific findings can have metaphysical import. We argue that this situation is preventing productive debate about Intellectualism, which would benefit from both sides being more transparent about their metaphilosophical assumptions
GPUVerify: A Verifier for GPU Kernels
We present a technique for verifying race- and divergence-freedom of GPU kernels that are written in mainstream ker-nel programming languages such as OpenCL and CUDA. Our approach is founded on a novel formal operational se-mantics for GPU programming termed synchronous, delayed visibility (SDV) semantics. The SDV semantics provides a precise definition of barrier divergence in GPU kernels and allows kernel verification to be reduced to analysis of a sequential program, thereby completely avoiding the need to reason about thread interleavings, and allowing existing modular techniques for program verification to be leveraged. We describe an efficient encoding for data race detection and propose a method for automatically inferring loop invari-ants required for verification. We have implemented these techniques as a practical verification tool, GPUVerify, which can be applied directly to OpenCL and CUDA source code. We evaluate GPUVerify with respect to a set of 163 kernels drawn from public and commercial sources. Our evaluation demonstrates that GPUVerify is capable of efficient, auto-matic verification of a large number of real-world kernels
- …