{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,16]],"date-time":"2026-07-16T12:48:39Z","timestamp":1784206119991,"version":"3.55.0"},"reference-count":68,"publisher":"Elsevier BV","license":[{"start":{"date-parts":[[2016,1,1]],"date-time":"2016-01-01T00:00:00Z","timestamp":1451606400000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/2.zoppoz.workers.dev:443\/https\/www.elsevier.com\/tdm\/userlicense\/1.0\/"},{"start":{"date-parts":[[2020,1,18]],"date-time":"2020-01-18T00:00:00Z","timestamp":1579305600000},"content-version":"vor","delay-in-days":1478,"URL":"https:\/\/2.zoppoz.workers.dev:443\/http\/www.elsevier.com\/open-access\/userlicense\/1.0\/"}],"funder":[{"DOI":"10.13039\/501100001700","name":"MEXT","doi-asserted-by":"publisher","award":["25730049"],"award-info":[{"award-number":["25730049"]}],"id":[{"id":"10.13039\/501100001700","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100007398","name":"Danish Council for Strategic Research","doi-asserted-by":"publisher","award":["0603-00222B"],"award-info":[{"award-number":["0603-00222B"]}],"id":[{"id":"10.13039\/100007398","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100004836","name":"Danish Council for Independent Research","doi-asserted-by":"crossref","award":["12-126689"],"award-info":[{"award-number":["12-126689"]}],"id":[{"id":"10.13039\/501100004836","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":["elsevier.com","sciencedirect.com"],"crossmark-restriction":true},"short-container-title":["Theoretical Computer Science"],"published-print":{"date-parts":[[2016,1]]},"DOI":"10.1016\/j.tcs.2015.07.046","type":"journal-article","created":{"date-parts":[[2015,7,31]],"date-time":"2015-07-31T02:56:50Z","timestamp":1438311410000},"page":"87-115","update-policy":"https:\/\/2.zoppoz.workers.dev:443\/https\/doi.org\/10.1016\/elsevier_cm_policy","source":"Crossref","is-referenced-by-count":34,"special_numbering":"C","title":["Fundamentals of reversible flowchart languages"],"prefix":"10.1016","volume":"611","author":[{"given":"Tetsuo","family":"Yokoyama","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/2.zoppoz.workers.dev:443\/https\/orcid.org\/0000-0002-0034-2874","authenticated-orcid":false,"given":"Holger Bock","family":"Axelsen","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Robert","family":"Gl\u00fcck","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"78","reference":[{"key":"10.1016\/j.tcs.2015.07.046_br0010","series-title":"The Essence of Computation: Complexity, Analysis, Transformation","first-page":"269","article-title":"Principles of inverse computation and the universal resolving algorithm","volume":"vol. 2566","author":"Abramov","year":"2002"},{"issue":"3","key":"10.1016\/j.tcs.2015.07.046_br0020","doi-asserted-by":"crossref","first-page":"441","DOI":"10.1016\/j.tcs.2005.07.002","article-title":"A structural approach to reversible computation","volume":"347","author":"Abramsky","year":"2005","journal-title":"Theoret. Comput. Sci."},{"key":"10.1016\/j.tcs.2015.07.046_br0030","series-title":"Compiler Construction","first-page":"144","article-title":"Clean translation of an imperative reversible programming language","volume":"vol. 6601","author":"Axelsen","year":"2011"},{"key":"10.1016\/j.tcs.2015.07.046_br0040","series-title":"Language and Automata Theory and Applications","first-page":"117","article-title":"A simple and efficient universal reversible Turing machine","volume":"vol. 6638","author":"Axelsen","year":"2011"},{"key":"10.1016\/j.tcs.2015.07.046_br0050","series-title":"Foundations of Software Science and Computation Structures. Proceedings","first-page":"42","article-title":"What do reversible programs compute?","volume":"vol. 6604","author":"Axelsen","year":"2011"},{"key":"10.1016\/j.tcs.2015.07.046_br0060","series-title":"Reversible Computation","first-page":"96","article-title":"Reversible representation and manipulation of constructor terms in the heap","volume":"vol. 7948","author":"Axelsen","year":"2013"},{"key":"10.1016\/j.tcs.2015.07.046_br0070","series-title":"Computer Science \u2013 Theory and Applications. Proceedings","first-page":"56","article-title":"Reversible machine code and its abstract processor architecture","volume":"vol. 4649","author":"Axelsen","year":"2007"},{"issue":"6","key":"10.1016\/j.tcs.2015.07.046_br0080","doi-asserted-by":"crossref","first-page":"525","DOI":"10.1147\/rd.176.0525","article-title":"Logical reversibility of computation","volume":"17","author":"Bennett","year":"1973","journal-title":"IBM J. Res. Develop."},{"issue":"12","key":"10.1016\/j.tcs.2015.07.046_br0090","doi-asserted-by":"crossref","first-page":"905","DOI":"10.1007\/BF02084158","article-title":"Thermodynamics of computation\u2014a review","volume":"21","author":"Bennett","year":"1982","journal-title":"Internat. J. Theoret. Phys."},{"issue":"4","key":"10.1016\/j.tcs.2015.07.046_br0100","doi-asserted-by":"crossref","first-page":"766","DOI":"10.1137\/0218053","article-title":"Time\/space trade-offs for reversible computation","volume":"18","author":"Bennett","year":"1989","journal-title":"SIAM J. Comput."},{"issue":"5","key":"10.1016\/j.tcs.2015.07.046_br0110","doi-asserted-by":"crossref","first-page":"366","DOI":"10.1145\/355592.365646","article-title":"Flow diagrams, Turing machines and languages with only two formation rules","volume":"9","author":"B\u00f6hm","year":"1966","journal-title":"Commun. ACM"},{"key":"10.1016\/j.tcs.2015.07.046_br0120","series-title":"Reversible Computation. Proceedings","first-page":"51","article-title":"Dagger traced symmetric monoidal categories and reversible programming","volume":"vol. 7165","author":"Bowman","year":"2011"},{"issue":"3","key":"10.1016\/j.tcs.2015.07.046_br0130","doi-asserted-by":"crossref","first-page":"224","DOI":"10.1145\/347823.347828","article-title":"Efficient optimistic parallel simulations using reverse computation","volume":"9","author":"Carothers","year":"1999","journal-title":"ACM Trans. Model. Comput. Simul."},{"issue":"8","key":"10.1016\/j.tcs.2015.07.046_br0140","doi-asserted-by":"crossref","first-page":"463","DOI":"10.1145\/363534.363539","article-title":"B\u00f6hm and Jacopini's reduction of flow charts","volume":"10","author":"Cooper","year":"1967","journal-title":"Commun. ACM"},{"key":"10.1016\/j.tcs.2015.07.046_br0150","series-title":"Structured Programming","year":"1972"},{"key":"10.1016\/j.tcs.2015.07.046_br0160","series-title":"Conference on Concurrency Theory","first-page":"292","article-title":"Reversible communicating systems","volume":"vol. 3170","author":"Danos","year":"2004"},{"issue":"3","key":"10.1016\/j.tcs.2015.07.046_br0170","doi-asserted-by":"crossref","first-page":"31","DOI":"10.1016\/j.entcs.2004.01.040","article-title":"Formal molecular biology done in CCS-R","volume":"180","author":"Danos","year":"2007","journal-title":"Electron. Notes Theoret. Comput. Sci."},{"key":"10.1016\/j.tcs.2015.07.046_br0180","series-title":"Reversible Computing: Fundamentals, Quantum Computing, and Applications","author":"De Vos","year":"2010"},{"issue":"4","key":"10.1016\/j.tcs.2015.07.046_br0190","doi-asserted-by":"crossref","first-page":"621","DOI":"10.1017\/S0960129506005391","article-title":"Reversible Combinatory Logic","volume":"16","author":"Di Pierro","year":"2006","journal-title":"Math. Structures Comput. Sci."},{"issue":"3","key":"10.1016\/j.tcs.2015.07.046_br0200","doi-asserted-by":"crossref","first-page":"147","DOI":"10.1145\/362929.362947","article-title":"Letters to the editor: go to statement considered harmful","volume":"11","author":"Dijkstra","year":"1968","journal-title":"Commun. ACM"},{"key":"10.1016\/j.tcs.2015.07.046_br0210","series-title":"Program Construction: International Summer School","first-page":"54","article-title":"Program inversion","volume":"vol. 69","author":"Dijkstra","year":"1978"},{"issue":"3","key":"10.1016\/j.tcs.2015.07.046_br0220","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/1232420.1232424","article-title":"Combinators for bi-directional tree transformations: a linguistic approach to the view update problem","volume":"29","author":"Foster","year":"2007","journal-title":"ACM Trans. Program. Lang. Syst."},{"key":"10.1016\/j.tcs.2015.07.046_br0230","series-title":"Reversibility for efficient computing","author":"Frank","year":"1999"},{"key":"10.1016\/j.tcs.2015.07.046_br0240","doi-asserted-by":"crossref","first-page":"219","DOI":"10.1007\/BF01857727","article-title":"Conservative logic","volume":"21","author":"Fredkin","year":"1982","journal-title":"Internat. J. Theoret. Phys."},{"key":"10.1016\/j.tcs.2015.07.046_br0250","series-title":"Programming Languages and Systems. Proceedings","first-page":"246","article-title":"A program inverter for a functional language with equality and constructors","volume":"vol. 2895","author":"Gl\u00fcck","year":"2003"},{"key":"10.1016\/j.tcs.2015.07.046_br0260","series-title":"Functional and Logic Programming. Proceedings","first-page":"291","article-title":"Derivation of deterministic inverse programs based on LR parsing","volume":"vol. 2998","author":"Gl\u00fcck","year":"2004"},{"issue":"5","key":"10.1016\/j.tcs.2015.07.046_br0270","doi-asserted-by":"crossref","first-page":"8","DOI":"10.1145\/1071221.1071222","article-title":"Revisiting an automatic program inverter for Lisp","volume":"40","author":"Gl\u00fcck","year":"2005","journal-title":"SIGPLAN Not."},{"key":"10.1016\/j.tcs.2015.07.046_br0280","first-page":"123","article-title":"Compiler generation by partial evaluation: a case study","volume":"12","author":"Gomard","year":"1991","journal-title":"Struct. Program."},{"key":"10.1016\/j.tcs.2015.07.046_br0290","first-page":"265","article-title":"The Science of Programming","author":"Gries","year":"1981"},{"issue":"3","key":"10.1016\/j.tcs.2015.07.046_br0300","doi-asserted-by":"crossref","first-page":"68","DOI":"10.1145\/1008861.1008869","article-title":"On folk theorems","volume":"12","author":"Harel","year":"1980","journal-title":"SIGACT News"},{"key":"10.1016\/j.tcs.2015.07.046_br0310","series-title":"Partial Evaluation. Practice and Theory","first-page":"20","article-title":"An introduction to online and offline partial evaluation using a simple flowchart language","volume":"vol. 1706","author":"Hatcliff","year":"1999"},{"key":"10.1016\/j.tcs.2015.07.046_br0320","series-title":"Compiler Construction","first-page":"81","article-title":"A new method for program inversion","volume":"vol. 7210","author":"Hou","year":"2012"},{"issue":"1\u20132","key":"10.1016\/j.tcs.2015.07.046_br0330","doi-asserted-by":"crossref","first-page":"89","DOI":"10.1007\/s10990-008-9025-5","article-title":"A programmable editor for developing structured documents based on bidirectional transformations","volume":"21","author":"Hu","year":"2008","journal-title":"High.-Order Symb. Comput."},{"key":"10.1016\/j.tcs.2015.07.046_br0340","series-title":"Principles of Programming Languages. Proceedings","first-page":"73","article-title":"Information effects","author":"James","year":"2012"},{"issue":"1\u20133","key":"10.1016\/j.tcs.2015.07.046_br0350","doi-asserted-by":"crossref","first-page":"3","DOI":"10.1016\/j.tcs.2004.11.021","article-title":"Theory of cellular automata: a survey","volume":"334","author":"Kari","year":"2005","journal-title":"Theoret. Comput. Sci."},{"key":"10.1016\/j.tcs.2015.07.046_br0360","series-title":"Implementation of Functional Languages. Proceedings, Selected Papers","first-page":"95","article-title":"A reversible SE(M)CD machine","volume":"vol. 1868","author":"Kluge","year":"2000"},{"issue":"4","key":"10.1016\/j.tcs.2015.07.046_br0370","doi-asserted-by":"crossref","first-page":"261","DOI":"10.1145\/356635.356640","article-title":"Structured programming with go to statements","volume":"6","author":"Knuth","year":"1974","journal-title":"ACM Comput. Surv."},{"issue":"3","key":"10.1016\/j.tcs.2015.07.046_br0380","doi-asserted-by":"crossref","first-page":"183","DOI":"10.1147\/rd.53.0183","article-title":"Irreversibility and heat generation in the computing process","volume":"5","author":"Landauer","year":"1961","journal-title":"IBM J. Res. Develop."},{"issue":"1","key":"10.1016\/j.tcs.2015.07.046_br0390","doi-asserted-by":"crossref","first-page":"50","DOI":"10.1145\/5001.5005","article-title":"A formal approach to undo operations in programming languages","volume":"8","author":"Leeman","year":"1986","journal-title":"ACM Trans. Program. Lang. Syst."},{"key":"10.1016\/j.tcs.2015.07.046_br0400","unstructured":"C. Lutz, Janus: a time-reversible language, Letter to R. Landauer, 1986."},{"key":"10.1016\/j.tcs.2015.07.046_br0410","series-title":"Mathematical Theory of Computation","author":"Manna","year":"1974"},{"issue":"3","key":"10.1016\/j.tcs.2015.07.046_br0420","doi-asserted-by":"crossref","first-page":"2063","DOI":"10.1016\/S0304-3975(02)00486-3","article-title":"Linear programs in a simple reversible language","volume":"290","author":"Matos","year":"2003","journal-title":"Theoret. Comput. Sci."},{"key":"10.1016\/j.tcs.2015.07.046_br0430","series-title":"Programming Languages and Systems. Proceedings","first-page":"101","article-title":"FliPpr: a prettier invertible printing system","volume":"vol. 7792","author":"Matsuda","year":"2013"},{"key":"10.1016\/j.tcs.2015.07.046_br0440","series-title":"Automata Studies","first-page":"177","article-title":"The inversion of functions defined by Turing machines","author":"McCarthy","year":"1956"},{"key":"10.1016\/j.tcs.2015.07.046_br0450","series-title":"Generative Programming and Component Engineering. Proceedings","first-page":"189","article-title":"Semi-inversion of guarded equations","volume":"vol. 3676","author":"Mogensen","year":"2005"},{"key":"10.1016\/j.tcs.2015.07.046_br0460","series-title":"Partial Evaluation and Program Manipulation. Proceedings","first-page":"23","article-title":"Partial evaluation of the reversible language Janus","author":"Mogensen","year":"2011"},{"key":"10.1016\/j.tcs.2015.07.046_br0470","series-title":"Reversible Computation. Proceedings","first-page":"82","article-title":"Reference counting for reversible languages","volume":"vol. 8507","author":"Mogensen","year":"2014"},{"issue":"1","key":"10.1016\/j.tcs.2015.07.046_br0480","doi-asserted-by":"crossref","first-page":"101","DOI":"10.1016\/j.tcs.2008.01.041","article-title":"Reversible computing and cellular automata \u2014 a survey","volume":"395","author":"Morita","year":"2008","journal-title":"Theoret. Comput. Sci."},{"key":"10.1016\/j.tcs.2015.07.046_br0490","series-title":"Machines, Computations, and Universality. Proceedings","first-page":"90","article-title":"A universal reversible Turing machine","volume":"vol. 4664","author":"Morita","year":"2007"},{"key":"10.1016\/j.tcs.2015.07.046_br0500","series-title":"Mathematics of Program Construction. Proceedings","first-page":"289","article-title":"An injective language for reversible computation","volume":"vol. 3125","author":"Mu","year":"2004"},{"key":"10.1016\/j.tcs.2015.07.046_br0510","series-title":"Term Rewriting and Applications. Proceedings","first-page":"264","article-title":"Partial inversion of constructor term rewriting systems","volume":"vol. 3467","author":"Nishida","year":"2005"},{"key":"10.1016\/j.tcs.2015.07.046_br0520","series-title":"OMG unified modeling language UML (OMG UML): superstructure, version 2.4.1","author":"Object Management Group","year":"2011"},{"issue":"1\u20132","key":"10.1016\/j.tcs.2015.07.046_br0530","doi-asserted-by":"crossref","first-page":"70","DOI":"10.1016\/j.jlap.2006.11.002","article-title":"Reversing algebraic process calculi","volume":"73","author":"Phillips","year":"2007","journal-title":"J. Log. Algebr. Program."},{"issue":"2","key":"10.1016\/j.tcs.2015.07.046_br0540","doi-asserted-by":"crossref","first-page":"21:1","DOI":"10.1145\/2431211.2431220","article-title":"Synthesis and optimization of reversible circuits \u2014 a survey","volume":"45","author":"Saeedi","year":"2013","journal-title":"ACM Comput. Surv."},{"issue":"1","key":"10.1016\/j.tcs.2015.07.046_br0550","doi-asserted-by":"crossref","first-page":"61","DOI":"10.1016\/j.jlap.2009.02.006","article-title":"MOQA; unlocking the potential of compositional static average-case analysis","volume":"79","author":"Schellekens","year":"2010","journal-title":"J. Log. Algebr. Program."},{"issue":"6","key":"10.1016\/j.tcs.2015.07.046_br0560","doi-asserted-by":"crossref","first-page":"33","DOI":"10.1016\/j.entcs.2010.02.005","article-title":"A virtual machine for supporting reversible probabilistic guarded command languages","volume":"253","author":"Stoddart","year":"2010","journal-title":"Electron. Notes Theor. Comput. Sci."},{"key":"10.1016\/j.tcs.2015.07.046_br0570","series-title":"Reversible Computation. Proceedings","first-page":"30","article-title":"A reversible processor architecture and its reversible logic design","volume":"vol. 7165","author":"Thomsen","year":"2012"},{"issue":"38","key":"10.1016\/j.tcs.2015.07.046_br0580","doi-asserted-by":"crossref","first-page":"382002","DOI":"10.1088\/1751-8113\/43\/38\/382002","article-title":"Reversible arithmetic logic unit for quantum arithmetic","volume":"43","author":"Thomsen","year":"2010","journal-title":"J. Phys. A"},{"issue":"2","key":"10.1016\/j.tcs.2015.07.046_br0590","doi-asserted-by":"crossref","first-page":"213","DOI":"10.1016\/S0022-0000(77)80007-X","article-title":"Computation and construction universality of reversible cellular automata","volume":"15","author":"Toffoli","year":"1977","journal-title":"J. Comput. System Sci."},{"key":"10.1016\/j.tcs.2015.07.046_br0600","series-title":"Reversible computer engineering and architecture","author":"Vieri","year":"1999"},{"key":"10.1016\/j.tcs.2015.07.046_br0610","series-title":"Towards a Design Flow for Reversible Logic","author":"Wille","year":"2010"},{"key":"10.1016\/j.tcs.2015.07.046_br0620","series-title":"Forum on Specification and Design Languages","first-page":"184","article-title":"SyReC: a programming language for synthesis of reversible circuits","author":"Wille","year":"2010"},{"key":"10.1016\/j.tcs.2015.07.046_br0630","series-title":"Computing Frontiers. Proceedings","first-page":"43","article-title":"Principles of a reversible programming language","author":"Yokoyama","year":"2008"},{"key":"10.1016\/j.tcs.2015.07.046_br0640","series-title":"International Colloquium on Automata, Languages and Programming. Proceedings","first-page":"258","article-title":"Reversible flowchart languages and the structured reversible program theorem","volume":"vol. 5126","author":"Yokoyama","year":"2008"},{"issue":"1","key":"10.1016\/j.tcs.2015.07.046_br0650","first-page":"5","article-title":"Optimizing clean reversible simulation of injective functions","volume":"18","author":"Yokoyama","year":"2012","journal-title":"J. Mult.-Valued Logic Soft Comput."},{"key":"10.1016\/j.tcs.2015.07.046_br0660","series-title":"Reversible Computation. Proceedings","first-page":"14","article-title":"Towards a reversible functional language","volume":"vol. 7165","author":"Yokoyama","year":"2012"},{"key":"10.1016\/j.tcs.2015.07.046_br0670","series-title":"Partial Evaluation and Semantics-Based Program Manipulation. Proceedings","first-page":"144","article-title":"A reversible programming language and its invertible self-interpreter","author":"Yokoyama","year":"2007"},{"issue":"6","key":"10.1016\/j.tcs.2015.07.046_br0680","doi-asserted-by":"crossref","first-page":"807","DOI":"10.1147\/rd.456.0807","article-title":"Logical reversibility","volume":"45","author":"Zuliani","year":"2001","journal-title":"IBM J. Res. Develop."}],"container-title":["Theoretical Computer Science"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/2.zoppoz.workers.dev:443\/https\/api.elsevier.com\/content\/article\/PII:S030439751500691X?httpAccept=text\/xml","content-type":"text\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/2.zoppoz.workers.dev:443\/https\/api.elsevier.com\/content\/article\/PII:S030439751500691X?httpAccept=text\/plain","content-type":"text\/plain","content-version":"vor","intended-application":"text-mining"}],"deposited":{"date-parts":[[2020,9,6]],"date-time":"2020-09-06T18:25:03Z","timestamp":1599416703000},"score":1,"resource":{"primary":{"URL":"https:\/\/2.zoppoz.workers.dev:443\/https\/linkinghub.elsevier.com\/retrieve\/pii\/S030439751500691X"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2016,1]]},"references-count":68,"alternative-id":["S030439751500691X"],"URL":"https:\/\/2.zoppoz.workers.dev:443\/https\/doi.org\/10.1016\/j.tcs.2015.07.046","relation":{},"ISSN":["0304-3975"],"issn-type":[{"value":"0304-3975","type":"print"}],"subject":[],"published":{"date-parts":[[2016,1]]},"assertion":[{"value":"Elsevier","name":"publisher","label":"This article is maintained by"},{"value":"Fundamentals of reversible flowchart languages","name":"articletitle","label":"Article Title"},{"value":"Theoretical Computer Science","name":"journaltitle","label":"Journal Title"},{"value":"https:\/\/2.zoppoz.workers.dev:443\/https\/doi.org\/10.1016\/j.tcs.2015.07.046","name":"articlelink","label":"CrossRef DOI link to publisher maintained version"},{"value":"article","name":"content_type","label":"Content Type"},{"value":"Copyright \u00a9 2015 Elsevier B.V. All rights reserved.","name":"copyright","label":"Copyright"}]}}