• Corpus ID: 7900061

Design of Reversible Computing Systems Logic , Languages , and Circuits

  title={Design of Reversible Computing Systems Logic , Languages , and Circuits},
  author={Michael Kirkedal Car{\o}e},
Reversible computing spans computational models that are both forward and backward deterministic. These models have applications in program inversion and bidirectional computing, and are also interesting as a study of theoretical properties. The motivation for reversible computing comes, however, often from the fact that these models are information preserving. Landauer’s principle links information theory and thermodynamics; all information has some physical representation, so a loss of… 
1 Citations

Figures from this paper

Design and Implementation of a Reversible Object-Oriented Programming Language
The first reversible object-oriented programming language, ROOPL, is introduced, with support for user-defined data types, class inheritance and subtype-polymorphism, and the results indicate that core language features for object- oriented programming carries over to the field of reversible computing in some capacity.


What Do Reversible Programs Compute?
This work provides a novel semantics-based approach to such a theory of reversible computing, using reversible Turing machines (RTMs) as the underlying computation model, and proposes r-Turing completeness as the 'gold standard' for computability in reversible computation models.
Reversibility for efficient computing
This thesis gives the first analysis demonstrating that in a realistic model of computation that accounts for thermodynamic issues, as well as other physical constraints, the judicious use of reversible computing can strictly increase asymptotic computational efficiency, as machine sizes increase.
Reversible computing and cellular automata - A survey
  • K. Morita
  • Computer Science
    Theor. Comput. Sci.
  • 2008
This survey/tutorial paper discusses how computation can be carried out in a reversible system, how a universal reversible computer can be constructed by reversible logic elements, and how such logic elements are related to reversible physical phenomena.
Logical reversibility of computation
This result makes plausible the existence of thermodynamically reversible computers which could perform useful computations at useful speed while dissipating considerably less than kT of energy per logical step.
A functional language for describing reversible logic
  • M. Thomsen
  • Computer Science
    Proceeding of the 2012 Forum on Specification and Design Languages
  • 2012
A novel functional language that is designed to describe only reversible logic circuits is presented, which includes high-level constructs such as conditionals and a let-in statement that can be used to locally change wires that are otherwise considered to be constant.
Conservative logic
Conservative logic is a comprehensive model of computation which explicitly reflects a number of fundamental principles of physics, such as the reversibility of the dynamical laws and the
An Injective Language for Reversible Computation
This paper presents a point-free functional language, with a relational semantics, in which the programmer is allowed to define injective functions only and non-injective functions can be transformed into a program returning a history.
Reversible computer engineering and architecture
The primary contributions of this thesis are the discoveries about how to design and build reversible switching circuits, including memory and control structures, and notational inventions that ease reversible system design, and the architectural innovations brought about by the development of the Pendulum reversible processor.
Principles of a reversible programming language
The clean simulation of reversible Turing machines as a criterion for computing strength of reversible languages is suggested and demonstrated, and the results indicate that the reversible programming paradigm has fundamental properties that are relevant to many different areas of computer science.
Isomorphic Interpreters from Logically Reversible Abstract Machines
This paper presents a systematic technique for developing a large and expressive class of reversible recursive programs, that of logically reversible small-step abstract machines, and develops several simple interpreters over numbers and addition, move on to tree traversals, and finish with a meta-circular interpreter for the reversible language.