cost action ic1405 reversible computation …topps.diku.dk/ic1405/wg4yearendreport2017.pdfcost...

23
COST Action IC1405 Reversible Computation Extending Horizons of Computing Working Group 4 — Report on Case Studies Grant Period 2 report Editors: Ulrik Pagh Schultz and Carla Ferreira Contributors: Carla Ferreira, Stefan Kuhn, Ivan Lanese, Markus Schordan, Ulrik Pagh Schultz, Harun ˇ Siljak, Irek Ulidowski, Robert Wille, and Alwin Zulehner June 8, 2017 1

Upload: vukhanh

Post on 16-Apr-2018

225 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: COST Action IC1405 Reversible Computation …topps.diku.dk/ic1405/WG4yearendreport2017.pdfCOST Action IC1405 Reversible Computation Extending Horizons of Computing ... 2.5 Simulator

COST Action IC1405

Reversible Computation

Extending Horizons of Computing

Working Group 4 — Report on Case Studies

Grant Period 2 report

Editors:Ulrik Pagh Schultz and Carla Ferreira

Contributors:Carla Ferreira, Stefan Kuhn, Ivan Lanese, Markus Schordan,

Ulrik Pagh Schultz, Harun Siljak, Irek Ulidowski,Robert Wille, and Alwin Zulehner

June 8, 2017

1

Page 2: COST Action IC1405 Reversible Computation …topps.diku.dk/ic1405/WG4yearendreport2017.pdfCOST Action IC1405 Reversible Computation Extending Horizons of Computing ... 2.5 Simulator

Contents

1 Overview 41.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.2 Selected case studies . . . . . . . . . . . . . . . . . . . . . . . . . 41.3 Research areas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Case studies 62.1 Debugging of concurrent and distributed systems . . . . . . . . . 6

2.1.1 Conceptual description . . . . . . . . . . . . . . . . . . . . 62.1.2 Concrete example . . . . . . . . . . . . . . . . . . . . . . 62.1.3 Potential impact . . . . . . . . . . . . . . . . . . . . . . . 72.1.4 Progress . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.2 Reliability of distributed systems through reversibility . . . . . . 72.2.1 Conceptual description . . . . . . . . . . . . . . . . . . . . 72.2.2 Concrete example . . . . . . . . . . . . . . . . . . . . . . 82.2.3 Potential impact . . . . . . . . . . . . . . . . . . . . . . . 82.2.4 Progress . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.3 Reversibility in chemical reactions . . . . . . . . . . . . . . . . . 92.3.1 Conceptual description . . . . . . . . . . . . . . . . . . . . 92.3.2 Concrete example . . . . . . . . . . . . . . . . . . . . . . 102.3.3 Potential impact . . . . . . . . . . . . . . . . . . . . . . . 102.3.4 Progress . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.4 Reversible Control of Robots . . . . . . . . . . . . . . . . . . . . 112.4.1 Conceptual description . . . . . . . . . . . . . . . . . . . . 112.4.2 Concrete example . . . . . . . . . . . . . . . . . . . . . . 122.4.3 Potential impact . . . . . . . . . . . . . . . . . . . . . . . 132.4.4 Progress . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.5 Simulator for optimistic parallel discrete event simulation . . . . 132.5.1 Conceptual description . . . . . . . . . . . . . . . . . . . . 132.5.2 Concrete example . . . . . . . . . . . . . . . . . . . . . . 142.5.3 Potential impact . . . . . . . . . . . . . . . . . . . . . . . 152.5.4 Progress . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.6 Reversibility in Massive MIMO . . . . . . . . . . . . . . . . . . . 152.6.1 Conceptual description . . . . . . . . . . . . . . . . . . . . 162.6.2 Concrete example . . . . . . . . . . . . . . . . . . . . . . 162.6.3 Potential impact . . . . . . . . . . . . . . . . . . . . . . . 16

2.7 Synthesis of Encoder Circuits using Reversible Logic . . . . . . . 172.7.1 Conceptual description . . . . . . . . . . . . . . . . . . . . 172.7.2 Concrete example . . . . . . . . . . . . . . . . . . . . . . 172.7.3 Potential impact . . . . . . . . . . . . . . . . . . . . . . . 18

2

Page 3: COST Action IC1405 Reversible Computation …topps.diku.dk/ic1405/WG4yearendreport2017.pdfCOST Action IC1405 Reversible Computation Extending Horizons of Computing ... 2.5 Simulator

Preface

This report presents the case studies selected for investigation in the contextof the COST Action IC 1405 on reversible computation, collected and editedby Working Group 4. The descriptions of the specific case studies have beenprovided by the researchers interested in investigating the corresponding casestudies. The current status and recent development are described for each ofthe case studies.

More on the project:

• http://www.cost.eu/COST_Actions/ict/IC1405

• http://www.revcomp.eu/

3

Page 4: COST Action IC1405 Reversible Computation …topps.diku.dk/ic1405/WG4yearendreport2017.pdfCOST Action IC1405 Reversible Computation Extending Horizons of Computing ... 2.5 Simulator

1 Overview

1.1 Introduction

As outlined in the Memorandum of Understanding (MoU), the theories, tech-niques and support software tools delivered by Working Groups 1 to 3 will bevalidated and their suitability for practical applications will be assessed usingcase studies. The case studies will be used to provide feedback on the effec-tiveness of the reversibility-inspired theories, techniques, and solutions, and canpoint to new applications and research questions.

During the first year of the action five case studies have been selected, withtwo additional case studies added during the second year. The case studies aredeveloped based on an interest-driven bottom-up approach, matching memberresearch interests with case studies carrying a potential for external collabo-ration, either with industry or with researchers outside the area of reversiblecomputing.

1.2 Selected case studies

Seven case studies have been selected based on interest from members of theaction:

1. Debugging of concurrent and distributed systems

2. Reliability of distributed systems through reversibility

3. Reversibility in chemical reactions

4. Reversible control of robots

5. Simulator for optimistic parallel discrete event simulation

6. Reversibility in massive MIMO

7. Synthesis of encoder circuits using reversible logic

Case studies 1-5 were added at the end of the first year, case studies 6 and 7 atthe end of the second year.

1.3 Research areas

The research areas covered by the selected case studies are outlined in Table 1.The areas are divided into Reversible Computing (RC) topics and non-RC top-ics. There is a good coverage of RC topics from Working Groups 1 and 2, butnot currently any RC topics from Working Group 3. The proposed case studieson synthesis for reversible circuits and on reversible algorithms should howeverinvolve Working Group 3.

All case studies are based on significant interaction with researchers fromareas outside reversible computing. Moveover, the case studies on debugging,robots, simulation, massive MIMO, and encoder circuits all have significantpotential for industrial collaboration.

4

Page 5: COST Action IC1405 Reversible Computation …topps.diku.dk/ic1405/WG4yearendreport2017.pdfCOST Action IC1405 Reversible Computation Extending Horizons of Computing ... 2.5 Simulator

RC topics Non-RC topicsDebugging of concur-rent and distributedsystems

reversible language,checkpointing, causal-consistent reversibility,causal analysis

debugging, concurrentand distributed systems

Reliability of dis-tributed systemsthrough reversibility

reversible language,automatic recovery,reversible transac-tions, causal-consistentreversibility

concurrent and dis-tributed systems,transactions, replica-tion

Reversibility in chemi-cal reactions

reversible language,reversible processcalculi, out-of-causalorder reversibility, localreversibility

modelling of chemicalreactions, life sciencesmodelling

Reversible control ofrobots

reversible language,inversion, backtracking,reversible debugging,reversible concurrency

robotics, industrialrobots, domain-specificlanguages, modularrobots, swarm robots

Simulator for optimisticparallel discrete eventsimulation

reversible language,out-of-causal orderreversibility

simulation, high-performance computing

Reversibility in massiveMIMO (Multiple InputMultiple Output)

reversible control,reversible cellular au-tomata, reversible petrinets

MIMO, communicationnetworks, telecommuni-cations, 5G, antenna se-lection

Synthesis of EncoderCircuits using Re-versible Logic

reversible functionrepresentation, re-versible circuits, designof reversible circuits,reversible circuit syn-thesis

automatic synthesis,encoder design, networkon chip interconnects,coding techniques

Table 1: Research areas covered by the selected case studies

5

Page 6: COST Action IC1405 Reversible Computation …topps.diku.dk/ic1405/WG4yearendreport2017.pdfCOST Action IC1405 Reversible Computation Extending Horizons of Computing ... 2.5 Simulator

2 Case studies

We now present the seven case studies, in each case providing an overall con-ceptual description, a concrete example, an estimate of the potential impact,and an update (where applicable) on progress in the area.

2.1 Debugging of concurrent and distributed systems

Involved members: Ivan Lanese, Claudio Mezzina

2.1.1 Conceptual description

Finding bugs inside software has always been a main activity in the softwaredevelopment life cycle [BJC12], and reversibility can play a role here [Eng12,KDC05, GLM14]. In fact, reversibility allows one to go back in the past of theprogram, looking for the bug that caused a given misbehaviour. Indeed, manydebuggers provide features for reversible execution, including GDB [JC09] andUndoDB [UDB]. However, current reversible debuggers either do not supportconcurrency/distribution, or they just fix an interleaving among threads andstick to it. It is not yet clear which is the good way to debug a concurrentand/or distributed system, what is potentially very interesting. Indeed, findingbugs inside concurrent and distributed software is more difficult than insidesequential software [LPS08], since faults may appear or disappear accordingto the speed of the different processes and of the network communications.The bugs generating these faults, called Heisenbugs, are particularly difficult tofind. Note that, by exploring back and forward the same computation one isguaranteed that Eisenbugs that occurred will not disappear (provided that theapproach preserves causal dependencies between actions from different threads).

2.1.2 Concrete example

The causal-consistent approach to reversibility [LMT14] allows one to undo anyaction provided that its consequences, if any, are undone beforehand. Thisrelates reversibility to causality, instead of time, making it more suitable to dis-tributed systems where a unique notion of time may not exist. In debugging,the causal-consistent approach allows one to find bugs by following backwardcausal dependencies from the misbehaviour to the bug causing it. This is sup-ported by primitives allowing one to undo a past action, together with all andonly its distributed consequences [LMS11]. For instance, if one observes that,e.g., the value of a variable x is 5 instead of the expected 6, one can undo thelast assignment to x, reaching a state where the assignment could have beenperformed. A causal-consistent reversible debugger for the toy language muOzhas been presented in [GLM14], and is available at [CRD].

6

Page 7: COST Action IC1405 Reversible Computation …topps.diku.dk/ic1405/WG4yearendreport2017.pdfCOST Action IC1405 Reversible Computation Extending Horizons of Computing ... 2.5 Simulator

2.1.3 Potential impact

Debugging is a topic very relevant from the practical point of view, but mostlyneglected by academic research. Concerning impact, a 2012 study by the JudgeBusiness School of the University of Cambridge, UK, sponsored by Rogue WaveSoftware, goes as far as to estimate that the time spent in debugging correspondsto 49.9% of total programming time [BJC12]. According to another recent study[US14], the cost of debugging software amounts to $312 billions annually. Hence,any improvement in debugging techniques has potential huge practical impact.Given that systems are becoming more and more complex, and concurrencyand distribution is more and more relevant, the relevance of debugging will notdecrease in the close future.

There is a significant potential for industrial collaboration with Undo Soft-ware (Cambridge, UK), which is a company concentrated in reversible debug-ging. They are mainly concerned with sequential software, and in case of con-currency their approach is currently to consider a linearization of the execution.One of their main concerns and selling points is the limited overhead of theirdebugger, both in time and size of the logs. Still, they want to continue im-proving these features. Their approach is based on taking snapshots of the stateat variable rates, according to how likely the current part of the execution willneed to be reversed. Most of their work is in low-level optimizations and inproviding support for different compilers and operating system configurations.Undo Software currently has a limited interest in concurrency and distribution,with the more relevant open points for them being parallel logging (since sequen-tial logging requires to linearize execution, hence an unacceptable slow down),and debugging of MPI programs (since their customers are interested in thisprogramming library).

2.1.4 Progress

There is ongoing work to make the rollback command typical of causal-consistentdebugging available in a core subset of the Erlang language [NPV16]. The roll-back command is also being investigated for the tuple-based distributed coordi-nation language muKlaim [GLMT17]. For details we refer to the accompanyingCOST IC1405 Grant Period 2 report from Working Group 2 — Software andSystems.

2.2 Reliability of distributed systems through reversibil-ity

Involved members: Carla Ferreira, Ivan Lanese, Claudio Mezzina, VasileiosKoutavas

2.2.1 Conceptual description

The emergence of global services, operating over massive distribution of dataand computation, has lead to the recent paradigm of cloud computing. In this

7

Page 8: COST Action IC1405 Reversible Computation …topps.diku.dk/ic1405/WG4yearendreport2017.pdfCOST Action IC1405 Reversible Computation Extending Horizons of Computing ... 2.5 Simulator

global context building reliable systems is very hard, but reversibility can beused to achieve reliability in a natural way. If something goes wrong just undothe previous actions and return to a past consistent state. However, in thesehighly distributed systems there is no notion of global time, so there might notbe a clear previous action. Instead, actions are causally ordered. Leveraging on[DK04], that defined causal-consistent reversibility, this case study will demon-strate the use of reversibility as a recovery mechanism for highly distributedsystems. The goal is that a programmer can build a reversible distributed ap-plication for free, in the sense s/he just has to program the forward actions andwhenever something goes wrong all actions can be reverted automatically. Thiswas already explored in the context of long-running transactions (see [CP13] foran overview of calculi with support for compensations / backward actions). Inlong-running transactions, backward actions were defined by the programmerand the relation between forward and backward actions could be quite tenue.In this case study, we would want to explore how backward actions can be de-termined automatically for concurrent and distributed systems over a sharedstate.

Another axis to be explored by the case study is the use of replicateddatabases to achieve service availability and scalability, as it is common prac-tice in global services. In this setting, clients execute operations over the closestdatabase replica and later these operations are propagated to other remote repli-cas. Ensuring automatic reversibility in this case is even harder as coordinationis reduced (on weaker models of consistency coordination is avoided altogether).It should be explored how to ensure reversibility in this new context.

2.2.2 Concrete example

The concrete examples should include two classes of distributed systems. Dis-tributed and concurrent systems that operate over a shared state, and dis-tributed systems that operate over a replicated state. Several well known dis-tributed systems case studies used in the literature can be used: transactionalweb server for a online store [TPC], an auction system, and a student regis-tration system. These specific case studies should show the applicability andrelevance of reversibility for distributed systems.

2.2.3 Potential impact

Building concurrent and distributed systems is hard and reversible languagescan play an important role in helping programmers developing reliable softwareby providing reversibility by construction. Currently, error handling has tobe done explicitly by the programmer, but if reversibility could be achievedby pressing a button it would have an impact on the quality of the programsdeveloped. In fact, reversibility could be used as a way of providing speculativeexecution in cloud applications.

8

Page 9: COST Action IC1405 Reversible Computation …topps.diku.dk/ic1405/WG4yearendreport2017.pdfCOST Action IC1405 Reversible Computation Extending Horizons of Computing ... 2.5 Simulator

2.2.4 Progress

Investigation of the rollback command typical of causal-consistent debugging[GLMT17,NPV16] is also highly relevant for reliability of distributed systems,since it is key to implementing automated rollback of each node in the system.Complementary to this, automated recovery in distributed systems is being in-vestigated from the point of view of reversibility of multiparty protocols [NY17].For details we refer to the accompanying COST IC1405 Grant Period 2 reportfrom Working Group 2 — Software and Systems.

2.3 Reversibility in chemical reactions

Involved members: Irek Ulidowski, Stefan Kuhn, Gabriel Ciobanu, Bogdan Aman

2.3.1 Conceptual description

Biological reactions, pathways and reactions networks have been studied usingvarious techniques, including process calculi. The initial research focused onreaction rates, by modelling and simulating networks of reactions, in order toanalyse or even predict the common paths through the network. Reversibilitywas not considered there explicitly. Once a more structural approach was takenreversibility started to be taken into account, since it plays a crucial role inmany processes, typically by going back to a previous state in the system. Forexample, if a gene is regulated by a protein binding to and unbinding from it,then reversibility is needed if this to be modelled directly. Such examples canbe modelled by backtracking along the path taken to the current state. Beyondbacktracking and causal reversibility, there are more general forms of reversibil-ity, specifically the out-of-causal-order reversibility, which make it possible to getto states which cannot be reached by forward reactions alone. Such sequencesof forward and reversible reactions are important as they lead to new chemicalstructures and new reactions, which would not be possible if the out-of-causalreversibility was not used.

Looking at proteins and other macromolecules means working at relativelyhigh levels of abstraction. It also means that such biological entities are of-ten difficult to represent as there is still no complete understanding of theirbehaviour. Also their interactions with other similar molecules are hard to enu-merate as they are sometime not fully understood. This could also mean thatsome aspects of reversibility are not clearly modelled since we have abstractedtoo much detail. Therefore, we suggest to consider chemical reactions whenstudying reversibility in the context of living systems.

Chemical reactions involve various forms of reversibility and offer good casestudies for the modelling of reversibility. Specifically, we can find interestingexamples of the out-of-causal order reversibility in many chemical reactions,and can study the intermediate steps of such reactions where some bonds areonly helping to achieve the overall aim of the reaction: are only formed to bebroken before the end such reactions. The level of detail we have about such

9

Page 10: COST Action IC1405 Reversible Computation …topps.diku.dk/ic1405/WG4yearendreport2017.pdfCOST Action IC1405 Reversible Computation Extending Horizons of Computing ... 2.5 Simulator

chemical reactions should help with seeing reversibility in action in the waysnot obvious at higher levels. As an additional benefit, in many cases a goodunderstanding of the underlying reaction mechanisms exists.

2.3.2 Concrete example

We suggest to study the following three types of reactions:

• The hydration of formaldehyde in water: This is a basic textbook reaction,but there are different paths through the reaction, some quite rare, andthe reaction is reversible. Clearly backtracking is not sufficient to modelthis, since it is experimentally possible to go forward via one path andundo reactions via a different path.

• The Monsanto process: This is a typical catalytic cycle involving a metalcatalyst. We have two input molecules and want to produce anothermolecule by combining them. They cannot interact directly because toomuch energy would be required. By introducing the metal catalyst thiscan be overcome the catalyst breaks the input molecules and enables theirrecombination. The catalyst is restored to its original form after the pro-cess making it a cycle. Clearly, there must be undoing of bonds createdby the catalyst. If fact, some bonds are undone via the out-of-causal ordercomputation.

• The glucose-fructose isomerization: This is a reaction forming part of theKrebs cycle, an important pathway in the metabolism of organisms. It isan enzyme-assisted catalytic process, where an enzyme interacts with theglucose to produce fructose. Similarly to the Monsanto process the proteinemerges unchanged. The mechanism, however, involving both causal andout-of-causal order reversibility, is different.

These examples display various types of reversibility, including the out-of-causalorder reversibility. All examples have been studied extensively and are wellunderstood at a very detailed level. There are also aspects of reactions whichmay be included at a later stage, for example the energy levels of the varioussteps of reactions.

The aim is to model these reactions using different existing techniques. Wecurrently envisage the use of the kappa-calculus [DL04], P systems [CDK03,Pau00] and reversible process calculi [DK03, LMS11, PU07], including the re-cently developed [KU15]. The case study should give a clearer view of what theindividual calculi can do for each of the examples and clarify their strengthsand weaknesses.

2.3.3 Potential impact

The work can help to identify work which needs to be done to get a widerrange of reversible processes represented in computing. Furthermore it can helpwith building knowledge about chemical reactions. Regarding the potential for

10

Page 11: COST Action IC1405 Reversible Computation …topps.diku.dk/ic1405/WG4yearendreport2017.pdfCOST Action IC1405 Reversible Computation Extending Horizons of Computing ... 2.5 Simulator

external/industrial collaboration, there is interest in reaction simulation in thechemoinformatics area. A collaboration could be a long-term goal.

2.3.4 Progress

Recent progress in the area of reversibility in chemical reactions was presentedat the COST IC1405 meeting in Belgrade. Based on previous work a processcalculus called Calculus for Covalent Bonding (CCB) has been developed whichcan model many features found in chemical reactions [KU16]. The calculus hasformal semantics given by SOS rules that extended with appropriate predicates.Simulation software was developed based on CCB and used to successfully modelseveral examples of biochemical reactions of increasing complexity.

The reversibility of biochemical reactions in natural computing has beeninvestigated using reaction systems, in a theory of natural computing inspiredby the functioning of living cells [ER07]. A controlled form reversibility wasconsidered with additional reversing rules added to the initial set of rules withinhibitors, as well an external control by means of a special symbol informingthe system that a rollback is needed. Specific results (including loop results)were proved, including an operational correspondence between reaction systemsand rewriting theory. This operational correspondence was the basis for animplementation of reversible reaction systems in the rewriting engine Maude;several software experiments were performed on rather simple examples.

2.4 Reversible Control of Robots

Involved members: Ulrik Pagh Schultz, Gabriel Ciobanu

2.4.1 Conceptual description

Robots normally have one or more degrees of freedom controlled by a computa-tional process; using reversible computing to control the robot potentially givesrise to new reverse behaviours. For example, major industrial robot manufac-turers such as ABB and KUKA offer limited forms of ad-hoc reverse executionfor interactive programming and debugging, but due to limitations in the un-derlying execution models, their programming models are incapable of reversingcomplex actions such as steps of an assembly process [LSE15, MAH10]. We at-tribute the ad-hoc limitations to the lack of an underlying reversible model. Thefirst investigation of fully reversible robot behaviours was for self-reconfigurablerobots [SBS11]. To better understand the underlying relation between reversiblecomputation and physical reversibility, we will investigate reversible control ofindustrial robots and distributed robots.

Programming industrial robots is challenging due to the difficulty of pre-cisely specifying general yet robust operations. As the complexity of theseoperations increases, so does the likelihood of errors. Certain classes of er-rors during industrial robot operations can however be addressed using reverse

11

Page 12: COST Action IC1405 Reversible Computation …topps.diku.dk/ic1405/WG4yearendreport2017.pdfCOST Action IC1405 Reversible Computation Extending Horizons of Computing ... 2.5 Simulator

execution, allowing the robot to temporarily back out of an erroneous situa-tion, after which the operation can be automatically retried. Specifically, thisapproach has been shown to be useful for automatic error recovery for small-sized batch production of assembly operations [SLE15]. Moreover, reversibilitycan in this case be used to automatically derive a disassembly sequence from agiven assembly sequence, or vice versa. These results were demonstrated usingan initial design and implementation of a reversible domain-specific languages(DSL) for specifying such assembly sequences [SLE15, LSE15]. The area how-ever remains largely unexplored, both from a theoretical and practical point ofview. There is for example a large design space for different programming lan-guage approaches, both in terms of the generality of the language and the meansby which reversibility is achieved. At a more fundamental level, the notion ofreversible control of a reversible physical system remains largely unexplored.From a practical point of view, only the specific case of assembly operations hasbeen investigated, and only using a specific set of industrial use cases. Therehas been no attempt at integration into an existing robotics platform, althoughwe observe that many existing platforms offer limited notions of reversibility forusing during programming and debugging.

Distributed robotic systems can make use of reverse execution as a meansto reversing physical actions or correcting errors. As a concrete example, previ-ous work has studied self-reconfigurable, modular robots which are distributedmechatronic devices that can autonomously change their physical shape. Self-reconfiguration from one shape to another is typically achieved through a specificsequence of actuation operations distributed across the modules of the robot.Automatically reversing the sequence of operations brings the robot back to itsinitial shape, which has been experimentally demonstrated using the DynaRolereversible language [SBS11]. DynaRole however only allows simple sequences ofoperations to be reversed, which is suitable for reversing self-reconfiguration se-quences but lacks the generality needed to implement more complex behaviors.Initial ideas on generalizing the DynaRole language to support a wider range ofscenarios, while retaining the possibility of reversing distributed sequences, havebeen proposed [Sch12]. Reversibility is used here as a practical feature, reduc-ing the programming task of the programmer, and allowing error recovery bybacking out of an error state using reverse execution. Currently there however isno underlying model allowing a distributed robotic systems to use reversibilityfor backing out of distributed operations that have become blocked, e.g., dueto unexpected features of the environment, to under conflicting operations, orrecover from partial hardware failures.

2.4.2 Concrete example

An appropriately robust and useful reversible DSL for control of industrialrobots could be integrated into an existing robotics platform, and could be use-ful both for working interactively with the robot (programming and debugging)but also for error recovery during specific kinds of operations. Note that manyrobotic systems already integrate limited forms of reverse execution for interac-

12

Page 13: COST Action IC1405 Reversible Computation …topps.diku.dk/ic1405/WG4yearendreport2017.pdfCOST Action IC1405 Reversible Computation Extending Horizons of Computing ... 2.5 Simulator

tive debugging [MAH10], better understanding and improving these approachesto interactive debugging is probably interesting.

Using reversible computing to allow a subset of a distributed robotic systemto optimistically proceed with an operation, but then backtrack and undo theoperation if the system globally decides not to perform this operation. This isinteresting not only for modular robots but also for swarm robotic system e.g.drones. A single mobile robot navigating an environment can be modeled as a2D Turing machine [Tho14], presumably a useful model for multi-robot systemsnavigating an environment could be based on a similar model.

2.4.3 Potential impact

From a scientific point of view, the design of reversible languages for controllingreversible processes remains an open question. Moreover, exploring reversiblecontrol of physical processes may help to better understand the principles ofreversible computing. From a society point of view, industrial robots are key tomaintaining production in Europe, and reversible computation has the potentialto increase robustness for specific kinds of operations such as assembly, andmoreover facilitate the programming of such operations.

There is a significant potential for external/industrial collaboration for in-dustrial robots: Universal Robots ApS is a potential industrial collaborator, asare potentially also other robotics companies or perhaps companies perform-ing large numbers of error-prone assembly operations. For modular robots, wehowever note that swarm and modular robots are mostly at the level of basicresearch in robotics, with the obvious exception of drones (but here reversibilityseems less useful).

2.4.4 Progress

Significant progress in the area of reversibility for industrial robots was pre-sented at COST IC-1405 meeting in Belgrade. Key developments include animproved understanding of the interaction between reversible computing andreal-world systems that only are partially reversible, as well a substantial ex-perimental evaluation of the use of reversible languages to control industrialrobots performing assembly and disassembly in the context of small-batch pro-duction.

2.5 Simulator for optimistic parallel discrete event simu-lation

Involved members: Markus Schordan

2.5.1 Conceptual description

Discrete event simulation (DES) is a simulation paradigm suitable for systemswhose states are modeled as changing discontinuously and irregularly at discrete

13

Page 14: COST Action IC1405 Reversible Computation …topps.diku.dk/ic1405/WG4yearendreport2017.pdfCOST Action IC1405 Reversible Computation Extending Horizons of Computing ... 2.5 Simulator

moments of simulation time. DES is event-driven in that the times at whichstate changes occur are calculated dynamically rather than statically as in time-stepped simulations. Example applications include simulations of digital com-munication networks, vehicular traffic flow, markets and economies, epidemio-logical models, logistical models, ecological and population models, tactical andstrategic military models, and many others. Most systems whose behavior isnot describable by continuous equations and that are not suitable for simpletime-stepped models are candidates for DES.

Reverse computation has become a central notion in parallel discrete eventsimulation (PDES) over the last decade [CPF99, Per13]. It is not just a the-oretical line of research, but an immensely practical one necessary to achievehigh performance for large parallel discrete event simulations. In fact, the mosthighly parallel and fastest discrete event simulation benchmarks ever executedhave made essential use of reverse computation [BCJ13].

The fundamental issue that makes PDES so complex is the synchroniza-tion problem. Every logical process (LP) must execute all events from its ownevent queue in strictly non-decreasing timestamp order despite the fact that itdoes not generally know which LPs might be sending it events, or how many,or what timestamps they may carry. Furthermore there is no guarantee thatevent messages will arrive at an LP in increasing timestamp order. Optimisticsynchronization is that all event executions are speculative or provisional, andare always subject to rollback if the simulation gets into local synchronizationtrouble. Most of the time that does not happen and the simulation proceedsforward in parallel, but occasionally a causality violation occurs that has to becorrected by rollback (achieved by reversible computation) and then the simu-lation continues forward again. Therefore, reversible computation is paramountfor achieving high-performance in optimistic parallel discrete event simulationson supercomputers. Various approaches to reversibility have been developedover the years and have they been successfully applied in supporting optimisticPDES, with recent contributions in incremental state-saving [MOJ16, SJB15],reverse code generation [PP14, LGC14], utilization of transactional memory[SIP15], and hybrid combinations of these approaches [PVQ15, CPQ15].

2.5.2 Concrete example

We suggest to use an existing simulator as basis for optimistic PDES whichallows to plug-in reverse code for implementing the rollback as required foroptimistic PDES. A well known simulator is ROSS (Rensselaer’s OptimisticSimulation System), a general purpose discrete event simulator developed atRPI by C. Carothers et. al. [HC08].

ROSS helped to demonstrate that Time Warp simulators can be run effi-ciently both in terms of speed and memory usage relative to a high-performancesequential simulator and was used to achieve the world-record in 2013 for themost highly parallel and fastest discrete event simulation benchmarks ever exe-cuted [BCJ13]. In this strong scaling study of the ROSS simulator running TimeWarp with reverse computation, had 251 million PHOLD logical processes and

14

Page 15: COST Action IC1405 Reversible Computation …topps.diku.dk/ic1405/WG4yearendreport2017.pdfCOST Action IC1405 Reversible Computation Extending Horizons of Computing ... 2.5 Simulator

was executed in several configurations with up to a peak of 7.86 million MPItasks running on 1,966,080 cores. At the largest scale it processed 33 trillionevents in 65 seconds, yielding a sustained speed of 504 billion events/secondusing 120 racks of Sequoia. This is by far the highest event rate reported byany parallel discrete event simulation to date, whether running PHOLD or anyother benchmark.

In order to use Time Warp in a ROSS model, a reverse event function mustbe provided. For a given event message it is responsible for undoing the statechanges that the forward event function incurred for the same message. ROSS isopen-source and also comes with a number of models (implemented in C/C++)with efficient hand-written reverse functions. These can be used as a basis forcomparing different automated approaches to reversibility and perform compar-ative evaluations with the existing reversible ROSS implementations.

2.5.3 Potential impact

It is important to investigate how different approaches to reversibility can at-tack the problem of making the execution of a model’s event function reversible,because any overhead introduced in the forward execution or reverse computa-tion (dependent on the approach to reversibility) impacts the performance ofthe simulation. In particular, the combination of approaches is interesting forlarge-scale simulation models, as they are usually a combination of componentswith different computational properties and challenges for reversibility. If suc-cessful, the impact would be that this can bring also other approaches (fromthe COST project) to be used — or at least to be evaluated to be suitable —to HPC supercomputers, and may also help to improve the performance of sim-ulations. In particular, also reversible languages such as Janus [YAG08] thatcan be translated to C are candidates for integration with other approaches,and can be directly evaluated and compared to existing models utilizing reversecode generation. There is potential for industrial collaboration with LawrenceLivermore National Laboratory.

2.5.4 Progress

The Backstroke compiler for generating reversible program from C++ was re-leased to the public in March 2017 (version 2.1.0). This was the first publicrelease of Backstroke V2 using incremental state saving. Moreover the combi-nation of incremental state saving (i.e., using Backstroke) with Janus-generatedreversible C code was investigated during an STSM by Michael Kirkedal visit-ing Marchus Schordan at Lawrence Livermore National Laboratory. A recentpublication addresses instrumentation of binary codes [CPS17].

2.6 Reversibility in Massive MIMO

Involved members: Harun Siljak

15

Page 16: COST Action IC1405 Reversible Computation …topps.diku.dk/ic1405/WG4yearendreport2017.pdfCOST Action IC1405 Reversible Computation Extending Horizons of Computing ... 2.5 Simulator

2.6.1 Conceptual description

Massive MIMO (Multiple Input Multiple Output) systems have been introducedless than a decade ago as a theoretical concept in telecommunications [Mar10],but since then it has entered the practical realm as well ad established itself asone of primary technologies for the coming 5G framework [BHL14]. In brief, it isa concept expanding on classical MIMO by using tens and hundreds of antennaswhich may be distributed in the environment (distributed massive MIMO) orplaced on a single panel (collocated massive MIMO).

Since massive MIMO calls for solving several control and optimisation prob-lems in its application, we aim to introduce reversible computing in the massiveMIMO context through the concept of reversible control. In addition to that,since modelling of massive MIMO and networks created by it is of significantinterest, reversibility might be of use there as well. In particular, reversiblecellular automata [Mor08] and reversible Petri nets [BKM16] will be investi-gated as a way of massive MIMO modelling, because of their flexibility andnovelty. In case of massive MIMO, ability to keep track of reversible cellularautomaton’s history, undo actions and run it backwards can prove useful ina dynamical environment (periodic changes in environment or mobile stationmovements benefiting from running antenna selection backwards, algorithmsdefined on a higher level of abstraction benefiting from undo in case of costfunction decrease).

Another natural question to pose is the relationship between reversibilityand transmitter-receiver duality [VT03] and the question of its applicability inpractice.

2.6.2 Concrete example

There have been some recent efforts in solving the problem of antenna selectionin massive MIMO [HBD13,GET15] using cellular automata (work in progress byHarun Siljak, proposer of this case study). Due to the dynamical nature of theenvironment and movement of user equipment in it, it would only be natural toallow these selection algorithms to make a step backward or a step forward fromits current state to suit the needs of the user equipment in a new configurationwhich may have occured earlier as well. This reversible control problem couldbe, for instance, solved by moving from classical cellular automaton modellingthe antenna selection process to a reversible one.

2.6.3 Potential impact

There are several different potential impacts of this study. First of all, plac-ing massive MIMO (and communication networks in general [MGM16]) andreversibility in the context of complex systems science will help us investigaterelationship between emergent behaviour and reversibility, a question which hasdrawn some interest in the past as well [LAX14,HSC11]. Second, the interestfor reversibility in telecommunications is mostly spurred by the need for energyefficiency [MA17,GYG17] offered by reversible circuits. This study will offer a

16

Page 17: COST Action IC1405 Reversible Computation …topps.diku.dk/ic1405/WG4yearendreport2017.pdfCOST Action IC1405 Reversible Computation Extending Horizons of Computing ... 2.5 Simulator

fresh perspective on reversibility in this context. Last, a third benefit is the pos-sible direct field application of reversible control algorithms for massive MIMOprototypes enhancing their performance.

2.7 Synthesis of Encoder Circuits using Reversible Logic

Involved members: Alwin Zulehner, Robert Wille

2.7.1 Conceptual description

Encoding devices represent a vital part of numerous applications realized intoday’s electronic systems such as addressing memories and caches, data de-multiplexing, etc. (see [PD96,BMM98]). With the rise of System on Chipand Network on Chip architectures, they gained further importance by the factthat those architectures usually rely on a rather sophisticated interconnect solu-tions [BMM98,GGO11,OIM09,LLY06]: In order to address the underlying lim-itations with respect to performance and/or power efficiency, communicationsbetween components of those architectures is usually conducted by dedicatedencodings instead of the originally provided raw data. All these applicationseventually motivate the design automation of corresponding encoders, i.e. theautomatic synthesis of circuits which transform an n-bit word into another n-bitword while, at the same time, guarantee a one-to-one mapping from inputs tooutputs.

However, design solutions for the automatic synthesis of corresponding cir-cuits suffer from various drawbacks, e.g. they are often not scalable, do notexploit the full degree of freedom, or are applicable to realize certain codes only.All these problems are caused by the fact that existing design solutions have toexplicitly guarantee a one-to-one mapping.

This limitation can be tackled using reversible logic, since one-to-one map-pings are inherently guaranteed by this paradigm. First results have been ac-complished for encoders in general in [ZW17] as well as for low-power on-chipinterconnects in [WDO12,WKH16].

2.7.2 Concrete example

Since specifying all input output mappings for encoders with large bit-widthis intractable, Incomplete encodings (also known as discretized or approximateencodings; see [BMP00] have been considered where the desired input/outputmapping is specified for a (non-exponential) selection of the patterns only (e.g. themost important ones). For all other input patterns, the corresponding outputpatterns are considered don’t care.

In many domains such as the design of low-power encoders, not an ex-plicit input/output mapping is desired, but only one which satisfies a ded-icated objective. For example, specifications derived from probability-basedmapping [RSH99] only require that certain inputs are getting mapped to out-puts of a dedicated Hamming weigh.

17

Page 18: COST Action IC1405 Reversible Computation …topps.diku.dk/ic1405/WG4yearendreport2017.pdfCOST Action IC1405 Reversible Computation Extending Horizons of Computing ... 2.5 Simulator

In our work we consider the cases discussed above, which both allow fora high degree of freedom in the resulting realization. This degree of freedomcan be exploited using reversible logic since one-to-one mappings are inherentlyguaranteed.

2.7.3 Potential impact

We aim for a significant reduction in the area as well as in the power consumptionof encoder circuits by exploiting the fact that we can take one-to-one mappingsfor granted if we use reversible logic. A reduction of hardware is always desirable,but especially in the low-power domain, where small encoders are essential toexploit the benefits low-power codings. Obviously, the larger the encoder circuit,the more power is consumed to realize the codings.

Using a first implementation of the proposed design methodology [ZW17],we have already observed a substantial reduction of the number of gates in theencoder circuits. Taking the one-to-one mapping for granted by using reversiblelogic allows to reduce the number of gates (the reversible circuit is mapped toconventional technology after synthesis) of up to 92% (approx. 60% on aver-age) compared to previously proposed methods. We note that in the domainof low-power on-chip interconnect encoders a substantial reduction of powerconsumption has already been observed [WDO12,WKH16].

References

[BCJ13] Barnes, Jr., P.D., Carothers, C.D., Jefferson, D.R., LaPre, J.M.:Warp speed: Executing time warp on 1,966,080 cores. In: Proceedingsof the 2013 ACM SIGSIM Conference on Principles of Advanced DiscreteSimulation. SIGSIM-PADS ’13, New York, NY, USA, ACM (2013) 327-336.

[BJC12] T. Britton, L. Jeng, G. Carver, P. Cheak, and T. Katzenellenbogen.Reversible debugging software - quantify the time and cost saved usingreversible debuggers. http://www.roguewave.com, 2012.

[BHL14] F. Boccardi, R. W. Heath, A. Lozano, T. L. Marzetta, and P. Popovski.Five disruptive technology directions for 5g. IEEE Communications Mag-azine, 52(2):74–80, February 2014.

[BKM16] Kamila Barylska, Maciej Koutny, Lukasz Mikulski, and Marcin Pi-atkowski. Reversible Computation vs. Reversibility in Petri Nets. InReversible Computation, pages 105–118. Springer, Cham, July 2016.

[BMP00] L. Benini, A. Macii, M. Poncino, and R. Scarsi. Architectures andsynthesis algorithms for power-efficient businterfaces. IEEE Trans. onCAD of Integrated Circuits and Systems, 19(9):969–980, 2000.

18

Page 19: COST Action IC1405 Reversible Computation …topps.diku.dk/ic1405/WG4yearendreport2017.pdfCOST Action IC1405 Reversible Computation Extending Horizons of Computing ... 2.5 Simulator

[BMM98] L. Benini, G. D. Micheli, E. Macii, M. Poncino, and S. Quer. Poweroptimization of core-based systems by address bus encoding. Trans. VLSISyst., 6(4):554–562, 1998.

[BMS98] L. Benini, G. D. Micheli, D. Sciuto, E. Macii, and C. Silvano. Ad-dress bus encoding techniques for system-level power optimization. InDesign, Automation & Test in Europe Conference & Exhibition (DATE),pages 861–866, 1998.

[CDK03] G. Ciobanu, R. Desai and A. Kumar. Membrane systems and dis-tributed computing. In Membrane Computing. International Workshop,WMC-CdeA 2002 Curtea de Arges 2002, pages 187-202. Springer, 2003.

[CP13] Christian Colombo and Gordon J. Pace. 2013. Recovery within long-running transactions. ACM Comput. Surv. 45, 3, pages 28:1 28:35

[CPF99] Carothers, C.D., Perumalla, K.S., Fujimoto, R.M.: Efficient opti-mistic parallel simulations using reverse computation. ACM Trans. Model.Comput. Simul. 9(3) (July 1999) 224-253.

[CPQ15] D. Cingolani, A. Pellegrini, and F. Quaglia. Transparently mixingundo logs and software reversibility for state recovery in optimistic pdes.In Proceedings of the 3rd ACM SIGSIM Conference on Principles of Ad-vanced Discrete Simulation, SIGSIM PADS ’15, pages 211-222, New York,NY, USA, ACM, 2015.

[CPS17] Dealing with Reversibility of Shared Libraries in PDES Davide Cin-golani, Alessandro Pellegrini, Markus Schordan, Francesco Quaglia, DavidR. Jefferson. Proceedings of the 2017 annual ACM Conference on SIGSIMPrinciples of Advanced Discrete Simulation, SIGSIM-PADS 2017, NIU,Singapore, May 24-26, 2017, ACM. To appear.

[CRD] CaReDeb http://www.cs.unibo.it/caredeb

[DK03] V. Danos and J. Krivine. Formal molecular biology done in CCS-R.In Proceedings of the 1st Workshop on Concurrent Models in MolecularBiology BioConcur 2003, volume 180 of ENTCS, pages 3149, 2007.

[DK04] V. Danos and J. Krivine. Reversible communicating systems. In CON-CUR04, volume 3170 of LNCS. Springer, 2004.

[DL04] V. Danos and C. Laneve. Formal molecular biology. Theoretical Com-puter Science, 325(1):69110, 2004.

[Eng12] J. Engblom, A review of reverse debugging, in: System, Software, SoCand Silicon Debug, IEEE, 2012, pp. 1-6.

[ER07] A. Ehrenfeucht and G. Rozenberg. Reaction Systems. FundamentaInformaticae 75(1), 263280 (2007).

19

Page 20: COST Action IC1405 Reversible Computation …topps.diku.dk/ic1405/WG4yearendreport2017.pdfCOST Action IC1405 Reversible Computation Extending Horizons of Computing ... 2.5 Simulator

[GGO11] A. Garca-Ortiz, D. Gregorek, and C. Osewold. Optimization of in-terconnect architectures through coding: A review. In Electronics, Com-munications and Photonics Conference, pages 1–6, April 2011.

[GET15] X. Gao, O. Edfors, F. Tufvesson, and E. G. Larsson. Massive MIMOin Real Propagation Environments: Do All Antennas Contribute Equally?IEEE Transactions on Communications, 63(11):3917–3928, November 2015.

[GLM14] E. Giachino, I. Lanese, C. A. Mezzina: Causal-Consistent ReversibleDebugging. FASE 2014: 370-384

[GLMT17] E. Giachino, I. Lanese, C.A. Mezzina, and F. Tiezzi. Causal-consistent rollback in a tuple-based language. J. Log. Algebr. Meth. Pro-gram. Volume 88, pages 99–120. 2017.

[GYG17] Xiaohu Ge, Jing Yang, Hamid Gharavi, and Yang Sun. EnergyEfficiency Challenges of 5g Small Cell Networks. arXiv:1702.03503 [cs],February 2017. arXiv: 1702.03503.

[HBD13] J. Hoydis, S. ten Brink, and M. Debbah. Massive MIMO in theUL/DL of Cellular Networks: How Many Antennas Do We Need? IEEEJournal on Selected Areas in Communications, 31(2):160–171, February2013.

[HC08] A. O. Holder and C. D. Carothers. Analysis of time warp on a 32,768processor IBM Blue Gene/L supercomputer. In Proceedings of the Euro-pean Modeling and Simulation Symposium (EMSS), 2008.

[HSC11] H. Hamann, T. Schmickl, and K. Crailsheim. Thermodynamics ofemergence: Langton’s ant meets Boltzmann. In 2011 IEEE Symposiumon Artificial Life (ALIFE), pages 62–69, April 2011.

[JC09] J. Conrod. Tutorial: Reverse debugging with GDB 7, 2009 http://

jayconrod.com/posts/28/tutorial-reverse-debugging-with-gdb-7

[KDC05] S. T. King, G. W. Dunlap, and P. M. Chen. Debugging operatingsystems with time-traveling virtual machines. In USENIX Annual Tech-nical Conference, General Track, pages 1-15, 2005.

[KU15] S. Kuhn, and I. Ulidowski. Towards modelling of local reversibility. InProceedings of Reversible Computation 2015, pages 279–284. LNCS 9138.Springer, 2015.

[KU16] S. Kuhn, and I. Ulidowski. A Calculus for Local Reversibility. InProceedings of Reversible Computation 2016, pages 20–35. LNCS 9720.Springer, 2016.

[LAX14] Jia Lee, Susumu Adachi, Yun-Ni Xia, and Qing-Sheng Zhu. Emer-gence of universal global behavior from reversible local transitions in asyn-chronous systems. Information Sciences, 282:38–56, October 2014.

20

Page 21: COST Action IC1405 Reversible Computation …topps.diku.dk/ic1405/WG4yearendreport2017.pdfCOST Action IC1405 Reversible Computation Extending Horizons of Computing ... 2.5 Simulator

[LGC14] J. M. LaPre, E. J. Gonsiorowski, and C. D. Carothers. Lorain: Astep closer to the pdes ’holy grail’. In Proceedings of the 2Nd ACMSIGSIM/PADS Conference on Principles of Advanced Discrete Simula-tion, SIGSIM-PADS ’14, pages 3–14, New York, NY, USA, 2014. ACM.

[LLY06] K. Lee, S. Lee, and H. Yoo. Low-power network-on-chip for high-performance soc design. IEEE Trans. VLSI Syst., 14(2):148–160, 2006.

[LMS11] I. Lanese, C.A. Mezzina, A. Schmitt, and J-B. Stefani. Controllingreversibility in Higher-Order Pi. In Proceedings of CONCUR 2011, pages297-311, volume 6901 of Lecture Notes

[LMT14] I. Lanese, C. A. Mezzina, F. Tiezzi: Causal-Consistent Reversibility.Bulletin of the EATCS 114 (2014)

[LPS08] Shan Lu, Soyeon Park, Eunsoo Seo, Yuanyuan Zhou: Learning frommistakes: a comprehensive study on real world concurrency bug charac-teristics. ASPLOS 2008: 329-339

[LSE15] J.S. Laursen, U.P. Schultz, and L.-P. Ellekilde, ”Automatic errorrecovery in robot assembly operations using reverse execution,” in In-ternational Conference on Intelligent Robots and Systems (IROS 2015),IEEE/RSJ, 2015.

[MA17] A. Mammela and A. Anttonen. Why Will Computing Power NeedParticular Attention in Future Wireless Devices? IEEE Circuits and Sys-tems Magazine, 17(1):12–26, 2017.

[MAH10] Henrik Mhe and Andreas Angerer and Alwin Hoffmann and Wolf-gang Reif. On reverse-engineering the KUKA Robot Language, 1st Inter-national Workshop on Domain-Specific Languages and models for ROBoticsystems. 2010.

[Mar10] T. L. Marzetta. Noncooperative Cellular Wireless with UnlimitedNumbers of Base Station Antennas. IEEE Transactions on Wireless Com-munications, 9(11):3590–3600, November 2010.

[MGM16] Irene Macaluso, Carlo Galiotto, Nicola Marchetti, and Linda Doyle.A complex systems science perspective on wireless networks. Journal ofSystems Science and Complexity, 29(4):1034–1056, August 2016.

[MOJ16] Markus Schordan, Tomas Oppelstrup, David Jefferson, Peter D.Barnes Jr., Daniel J Quinlan. Automatic Generation of Reversible C++Code and Its Performance in a Scalable Kinetic Monte-Carlo Application.SIGSIM-PADS 2016: 111-122, 2016.

[Mor08] Kenichi Morita. Reversible computing and cellular automata—A sur-vey. Theoretical Computer Science, 395(1):101–131, April 2008.

21

Page 22: COST Action IC1405 Reversible Computation …topps.diku.dk/ic1405/WG4yearendreport2017.pdfCOST Action IC1405 Reversible Computation Extending Horizons of Computing ... 2.5 Simulator

[NPV16] Naoki Nishida, Adrian Palacios, German Vidal. A Reversible Se-mantics for Erlang. Proc. of the 26th International Symposium on Logic-Based Program Synthesis and Transformation, LOPSTR 2016. LNCS10184, Springer. To appear.

[NY17] Rumyana Neykova and Nobuko Yoshida. Let It Recover: MultipartyProtocol-Induced Recovery. 26th International Conference on CompilerConstruction (CC), pages 98–108. ACM. 2017.

[OIM09] A. G. Ortiz, L. S. Indrusiak, T. Murgan, and M. Glesner. Low-power coding for networks-on-chip with virtual channels. J. Low PowerElectronics, 5(1):77–84, 2009.

[PD96] P. R. Panda and N. D. Dutt. Reducing address bus transitions forlow power memory mapping. In European Design and Test Conference,ED&TC, pages 63–71, 1996.

[Per13] Perumalla, K.S.: Introduction to Reversible Computing, Chapmanand Hall/CRC, 325 Pages, ISBN 9781439873403, 2013.

[PP14] K. S. Perumalla and A. J. Park. Reverse computation for rollback-based fault tolerance in large parallel systems. Cluster Computing, 17(2):303–313, June 2014.

[PU07] I.C.C. Phillips and I. Ulidowski. Reversing algebraic process calculi.Journal of Logic and Algebraic Programming, 73:7096, 2007.

[Pau00] Gh. Paun. Computing with Membranes, Journal of Computer andSystem Sciences, 61(1): 108-143, 2000.

[PVQ15] A. Pellegrini, R. Vitali, and F. Quaglia. Autonomic state manage-ment for optimistic simulation platforms. IEEE Transactions on Paralleland Distributed Systems, 26(6):1560–1569, June 2015.

[RSH99] S. Ramprasad, N. R. Shanbhag, and I. N. Hajj. A coding frame-work for low-power address and data busses. IEEE Trans. VLSI Syst.,7(2):212–221, 1999.

[SBS11] Schultz, Ulrik, Mirko Bordignon, and Kasper Stoy. ”Robust and re-versible execution of self-reconfiguration sequences.” Robotica 29.01 (2011):35-57.

[SIP15] E. Santini, M. Ianni, A. Pellegrini, and F. Quaglia. Hardware-transactional-memory based speculative parallel discrete event simulation of very negrain models. In 2015 IEEE 22nd International Conference on High Per-formance Computing (HiPC), pages 145-154, Dec 2v015.

[SJB15] Reverse Code Generation for Parallel Discrete Event Simulation. MarkusSchordan, David Jefferson, Peter Barnes, Tomas Oppelstrup, Daniel Quin-lan. In Proceedings of the 7th Conference on Reversible Computation.

22

Page 23: COST Action IC1405 Reversible Computation …topps.diku.dk/ic1405/WG4yearendreport2017.pdfCOST Action IC1405 Reversible Computation Extending Horizons of Computing ... 2.5 Simulator

Jean Krivine and Jean-Bernard Stefani (Eds.): Reversible Computation,LNCS 9138, pp. 95-110, ISBN 978-3-319-20859-6, Springer, 2015.

[SLE15] U.P. Schultz, J.S. Laursen, L.-P. Ellekilde, and H.B. Axelsen, ”To-wards a domain-specific language for reversible assembly sequence,” inReversible Computation, 2015.

[Sch12] Schultz, Ulrik. ”Towards a general-purpose, reversible language forcontrolling self-reconfigurable robots.” Reversible Computation. SpringerBerlin Heidelberg, 2012. 97-111.

[TPC] Overview of the TPC-C Benchmark. http://www.tpc.org/tpcc/detail.asp

[Tho14] Mobile Robot API for Janus. Master thesis defence by Martin NyborgThomsen. University of Copenhagen, Denmark, 2014.

[UDB] UndoDB. Commercial debugger http://undo-software.com/products/undodb/

[US14] Undo Software. Increasing software development productivity with re-versible debugging, 2014. in Computer Science, pages 297311. Springer,2011.

[VT03] P. Viswanath and D. N. C. Tse. Sum capacity of the vector Gaussianbroadcast channel and uplink-downlink duality. IEEE Transactions onInformation Theory, 49(8):1912–1921, August 2003.

[WDO12] R. Wille, R. Drechsler, C. Osewold, and A. G. Ortiz. Automaticdesign of low-power encoders using reversible circuit synthesis. In Design,Automation & Test in Europe Conference & Exhibition (DATE), pages1036–1041, 2012.

[WKH16] R. Wille, O. Keszocze, S. Hillmich, M. Walter, and A. G. Ortiz.Synthesis of approximate coders for on-chip interconnects using reversiblelogic. In Design, Automation & Test in Europe Conference & Exhibition(DATE), pages 1140–1143, 2016.

[ZW17] A. Zulehner and R. Wille. Taking one-to-one mappings for granted:Advanced logic design of encoder circuits. In Design, Automation andTest in Europe, 2017.

[YAG08] Tetsuo Yokoyama, Holger Bock Axelsen, and Robert Glck. 2008.Principles of a reversible programming language. In Proceedings of the5th conference on Computing frontiers (CF ’08). ACM, New York, NY,USA, 43-54.

23