80 research outputs found
The next 700 Krivine Machines
International audienceThe Krivine machine is a simple and natural implementation of the normal weak-head reduction strategy for pure lambda-terms. While its original description has remained unpublished, this machine has served as a basis for many variants, extensions and theoretical studies. In this paper, we present the Krivine machine and some well-known variants in a common framework. Our framework consists of a hierarchy of intermediate languages that are subsets of the lambda-calculus. The whole implementation process (compiler + abstract machine) is described via a sequence of transformations all of which express an implementation choice. We characterize the essence of the Krivine machine and locate it in the design space of functional language implementations. We show that, even within the particular class of Krivine machines, hundreds of variants can be designed
Conic Optimization Theory: Convexification Techniques and Numerical Algorithms
Optimization is at the core of control theory and appears in several areas of
this field, such as optimal control, distributed control, system
identification, robust control, state estimation, model predictive control and
dynamic programming. The recent advances in various topics of modern
optimization have also been revamping the area of machine learning. Motivated
by the crucial role of optimization theory in the design, analysis, control and
operation of real-world systems, this tutorial paper offers a detailed overview
of some major advances in this area, namely conic optimization and its emerging
applications. First, we discuss the importance of conic optimization in
different areas. Then, we explain seminal results on the design of hierarchies
of convex relaxations for a wide range of nonconvex problems. Finally, we study
different numerical algorithms for large-scale conic optimization problems.Comment: 18 page
An abstract machine for concurrent Haskell with futures
We show how Sestoftβs abstract machine for lazy evaluation of purely functional programs can be extended to evaluate expressions of the calculus CHF β a process calculus that models Concurrent Haskell extended by imperative and implicit futures. The abstract machine is modularly constructed by first adding monadic IO-actions to the machine and then in a second step we add concurrency. Our main result is that the abstract machine coincides with the original operational semantics of CHF, w.r.t. may- and should-convergence
Kolmogorov Complexity in perspective. Part II: Classification, Information Processing and Duality
We survey diverse approaches to the notion of information: from Shannon
entropy to Kolmogorov complexity. Two of the main applications of Kolmogorov
complexity are presented: randomness and classification. The survey is divided
in two parts published in a same volume. Part II is dedicated to the relation
between logic and information system, within the scope of Kolmogorov
algorithmic information theory. We present a recent application of Kolmogorov
complexity: classification using compression, an idea with provocative
implementation by authors such as Bennett, Vitanyi and Cilibrasi. This stresses
how Kolmogorov complexity, besides being a foundation to randomness, is also
related to classification. Another approach to classification is also
considered: the so-called "Google classification". It uses another original and
attractive idea which is connected to the classification using compression and
to Kolmogorov complexity from a conceptual point of view. We present and unify
these different approaches to classification in terms of Bottom-Up versus
Top-Down operational modes, of which we point the fundamental principles and
the underlying duality. We look at the way these two dual modes are used in
different approaches to information system, particularly the relational model
for database introduced by Codd in the 70's. This allows to point out diverse
forms of a fundamental duality. These operational modes are also reinterpreted
in the context of the comprehension schema of axiomatic set theory ZF. This
leads us to develop how Kolmogorov's complexity is linked to intensionality,
abstraction, classification and information system.Comment: 43 page
A Study of Syntactic and Semantic Artifacts and its Application to Lambda Definability, Strong Normalization, and Weak Normalization in the Presence of...
Church's lambda-calculus underlies the syntax (i.e., the form) and the semantics (i.e., the meaning) of functional programs. This thesis is dedicated to studying man-made constructs (i.e., artifacts) in the lambda calculus. For example, one puts the expressive power of the lambda calculus to the test in the area of lambda definability. In this area, we present a course-of-value representation bridging Church numerals and Scott numerals. We then turn to weak and strong normalization using Danvy et al.'s syntactic and functional correspondences. We give a new account of Felleisen and Hieb's syntactic theory of state, and of abstract machines for strong normalization due to Curien, CrΓ©gut, Lescanne, and Kluge
A Rational Deconstruction of Landin's SECD Machine
Landin's SECD machine was the first abstract machine for the lambda-calculus viewed as a programming language. Both theoretically as a model of computation and practically as an idealized implementation, it has set the tone for the subsequent development of abstract machines for functional programming languages. However, and even though variants of the SECD machine have been presented, derived, and invented, the precise rationale for its architecture and modus operandi has remained elusive. In this article, we deconstruct the SECD machine into a lambda-interpreter, i.e., an evaluation function, and we reconstruct lambda-interpreters into a variety of SECD-like machines. The deconstruction and reconstructions are transformational: they are based on equational reasoning and on a combination of simple program transformations--mainly closure conversion, transformation into continuation-passing style, and defunctionalization. The evaluation function underlying the SECD machine provides a precise rationale for its architecture: it is an environment-based eval-apply evaluator with a callee-save strategy for the environment, a data stack of intermediate results, and a control delimiter. Each of the components of the SECD machine (stack, environment, control, and dump) is therefore rationalized and so are its transitions. The deconstruction and reconstruction method also applies to other abstract machines and other evaluation functions. It makes it possible to systematically extract the denotational content of an abstract machine in the form of a compositional evaluation function, and the (small-step) operational content of an evaluation function in the form of an abstract machine
An Analytical Approach to Programs as Data Objects
This essay accompanies a selection of 32 articles (referred to in bold face in the text and marginally marked in the bibliographic references) submitted to Aarhus University towards a Doctor Scientiarum degree in Computer Science.The author's previous academic degree, beyond a doctoral degree in June 1986, is an "Habilitation Γ diriger les recherches" from the UniversitΓ© Pierre et Marie Curie (Paris VI) in France; the corresponding material was submitted in September 1992 and the degree was obtained in January 1993.The present 32 articles have all been written since 1993 and while at DAIMI.Except for one other PhD student, all co-authors are or have been the author's students here in Aarhus
Implementing a term rewriting engine for the EasyCrypt framework
La sociedad depende hoy mΓ‘s que nunca de la tecnologΓa, pero la inversiΓ³n en seguridad
es escasa y los sistemas informΓ‘ticos siguen estando muy lejos de ser seguros.
La criptografΓa es una de las piedras angulares de la seguridad en este Γ‘mbito, por
lo que recientemente se ha dedicado una cantidad considerable de recursos al desarrollo
de herramientas que ayuden en la evaluaciΓ³n y mejora de los algoritmos
criptogrΓ‘ficos. EasyCrypt es uno de estos sistemas, desarrollado recientemente en
el Instituto IMDEA Software en respuesta a la creciente necesidad de disponer de
herramientas fiables de verificaciΓ³n formal de criptografΓa.
En este trabajo se abordarΓ‘ la implementaciΓ³n de una mejora en el reductor de tΓ©rminos
de EasyCrypt, sustituyΓ©ndolo por una mΓ‘quina abstracta simbΓ³lica. Para ello
se estudiarΓ‘n e implementarΓ‘n previamente dos mΓ‘quinas abstractas muy conocidas,
la MΓ‘quina de Krivine y la ZAM, introduciendo variaciones sobre ellas y estudiando
sus diferencias desde un punto de vista prΓ‘ctico.---ABSTRACT---Today, society depends more than ever on technology, but the investment in security
is still scarce and using computer systems are still far from safe to use. Cryptography
is one of the cornerstones of security, so there has been a considerable amount
of effort devoted recently to the development of tools oriented to the evaluation
and improvement of cryptographic algorithms. One of these tools is EasyCrypt,
developed recently at IMDEA Software Institute in response to the increasing need
of reliable formal verification tools for cryptography.
This work will focus on the improvement of the EasyCryptβs term rewriting system,
replacing it with a symbolic abstract machine. In order to do that, we will previously
study and implement two widely known abstract machines, the Krivine Machine and
the ZAM, introducing some variations and studying their differences from a practical
point of view
Comparison of rule- and ordinary differential equation-based dynamic model of DARPP-32 signalling network
Dynamic modelling has considerably improved our understanding of complex molecular mechanisms. Ordinary differential equations (ODEs) are the most detailed and popular approach to modelling the dynamics of molecular systems. However, their application in signalling networks, characterised by multi-state molecular complexes, can be prohibitive. Contemporary modelling methods, such as rule- based (RB) modelling, have addressed these issues. The advantages of RB modelling over ODEs have been presented and discussed in numerous reviews. In this study, we conduct a direct comparison of the time courses of a molecular system founded on the same reaction network but encoded in the two frameworks. To make such a comparison, a set of reactions that underlie an ODE model was manually encoded in the Kappa language, one of the RB implementations. A comparison of the models was performed at the level of model specification and dynamics, acquired through model simulations. In line with previous reports, we confirm that the Kappa model recapitulates the general dynamics of its ODE counterpart with minor differences. These occur when molecules have multiple sites binding the same interactor. Furthermore, activation of these molecules in the RB model is slower than in the ODE one. As reported for other molecular systems, we find that, also for the DARPP-32 reaction network, the RB representation offers a more expressive and flexible syntax that facilitates access to fine details of the model, easing model reuse. In parallel with these analyses, we report a refactored model of the DARPP-32 interaction network that can serve as a canvas for the development of more complex dynamic models to study this important molecular system
Timing molecular motion and production with a synthetic transcriptional clock
The realization of artificial biochemical reaction networks with unique functionality is one of the main challenges for the development of synthetic biology. Due to the reduced number of components, biochemical circuits constructed in vitro promise to be more amenable to systematic design and quantitative assessment than circuits embedded within living organisms. To make good on that promise, effective methods for composing subsystems into larger systems are needed. Here we used an artificial biochemical oscillator based on in vitro transcription and RNA degradation reactions to drive a variety of βloadβ processes such as the operation of a DNA-based nanomechanical device (βDNA tweezersβ) or the production of a functional RNA molecule (an aptamer for malachite green). We implemented several mechanisms for coupling the load processes to the oscillator circuit and compared them based on how much the load affected the frequency and amplitude of the core oscillator, and how much of the load was effectively driven. Based on heuristic insights and computational modeling, an βinsulator circuitβ was developed, which strongly reduced the detrimental influence of the load on the oscillator circuit. Understanding how to design effective insulation between biochemical subsystems will be critical for the synthesis of larger and more complex systems
- β¦