7,904 research outputs found
Logic programming in the context of multiparadigm programming: the Oz experience
Oz is a multiparadigm language that supports logic programming as one of its
major paradigms. A multiparadigm language is designed to support different
programming paradigms (logic, functional, constraint, object-oriented,
sequential, concurrent, etc.) with equal ease. This article has two goals: to
give a tutorial of logic programming in Oz and to show how logic programming
fits naturally into the wider context of multiparadigm programming. Our
experience shows that there are two classes of problems, which we call
algorithmic and search problems, for which logic programming can help formulate
practical solutions. Algorithmic problems have known efficient algorithms.
Search problems do not have known efficient algorithms but can be solved with
search. The Oz support for logic programming targets these two problem classes
specifically, using the concepts needed for each. This is in contrast to the
Prolog approach, which targets both classes with one set of concepts, which
results in less than optimal support for each class. To explain the essential
difference between algorithmic and search programs, we define the Oz execution
model. This model subsumes both concurrent logic programming
(committed-choice-style) and search-based logic programming (Prolog-style).
Instead of Horn clause syntax, Oz has a simple, fully compositional,
higher-order syntax that accommodates the abilities of the language. We
conclude with lessons learned from this work, a brief history of Oz, and many
entry points into the Oz literature.Comment: 48 pages, to appear in the journal "Theory and Practice of Logic
Programming
On mathematical theory of selection: Continuous time population dynamics
Mathematical theory of selection is developed within the frameworks of
general models of inhomogeneous populations with continuous time. Methods that
allow us to study the distribution dynamics under natural selection and to
construct explicit solutions of the models are developed. All statistical
characteristics of interest, such as the mean values of the fitness or any
trait can be computed effectively, and the results depend in a crucial way on
the initial distribution. The developed theory provides an effective method for
solving selection systems; it reduces the initial complex model to a special
system of ordinary differential equations (the escort system). Applications of
the method to the Price equations are given; the solutions of some particular
inhomogeneous Malthusian, Ricker and logistic-like models used but not solved
in the literature are derived in explicit form.Comment: 29 pages; published in J. of Mathematical Biolog
Auto-Mobiles: Optimised Message-Passing
Some message-passing concurrent systems, such as occam 2, prohibit aliasing of data objects. Communicated data must thus be copied, which can be time-intensive for large data packets such as video frames. We introduce automatic mobility, a compiler optimisation that performs communications by reference and deduces when these communications can be performed without copying. We discuss bounds for speed-up and memory use, and benchmark the automatic mobility optimisation. We show that in the best case it can transform an operation from being linear with respect to packet size into constant-time
Practical Fine-grained Privilege Separation in Multithreaded Applications
An inherent security limitation with the classic multithreaded programming
model is that all the threads share the same address space and, therefore, are
implicitly assumed to be mutually trusted. This assumption, however, does not
take into consideration of many modern multithreaded applications that involve
multiple principals which do not fully trust each other. It remains challenging
to retrofit the classic multithreaded programming model so that the security
and privilege separation in multi-principal applications can be resolved.
This paper proposes ARBITER, a run-time system and a set of security
primitives, aimed at fine-grained and data-centric privilege separation in
multithreaded applications. While enforcing effective isolation among
principals, ARBITER still allows flexible sharing and communication between
threads so that the multithreaded programming paradigm can be preserved. To
realize controlled sharing in a fine-grained manner, we created a novel
abstraction named ARBITER Secure Memory Segment (ASMS) and corresponding OS
support. Programmers express security policies by labeling data and principals
via ARBITER's API following a unified model. We ported a widely-used, in-memory
database application (memcached) to ARBITER system, changing only around 100
LOC. Experiments indicate that only an average runtime overhead of 5.6% is
induced to this security enhanced version of application
How to win the clonewars: efficient periodic n-times anonymous authentication
We create a credential system that lets a user anonymously authenticate at most n times in a single time period. A user withdraws a dispenser of n e-tokens. She shows an e-token to a verifier to authenticate herself; each e-token can be used only once, however, the dispenser automatically refreshes every time period. The only prior solution to this problem, due to Damg˚ard et al. [30], uses protocols that are a factor of k slower for the user and verifier, where k is the security parameter. Damg˚ard et al. also only support one authentication per time period, while we support n. Because our construction is based on e-cash, we can use existing techniques to identify a cheating user, trace all of her e-tokens, and revoke her dispensers. We also offer a new anonymity service: glitch protection for basically honest users who (occasionally) reuse etokens. The verifier can always recognize a reused e-token; however, we preserve the anonymity of users who do not reuse e-tokens too often.
Large Formal Wikis: Issues and Solutions
We present several steps towards large formal mathematical wikis. The Coq
proof assistant together with the CoRN repository are added to the pool of
systems handled by the general wiki system described in
\cite{DBLP:conf/aisc/UrbanARG10}. A smart re-verification scheme for the large
formal libraries in the wiki is suggested for Mizar/MML and Coq/CoRN, based on
recently developed precise tracking of mathematical dependencies. We propose to
use features of state-of-the-art filesystems to allow real-time cloning and
sandboxing of the entire libraries, allowing also to extend the wiki to a true
multi-user collaborative area. A number of related issues are discussed.Comment: To appear in The Conference of Intelligent Computer Mathematics: CICM
201
- …