Updated on 2025/06/24

写真a

 
YOKOYAMA Tetsuo
 
Organization
Faculty of Science and Technology Department of Electronics and Communication Technology Professor
Title
Professor
Main Research Subjects
Reversible computing / Programming
Major field
Computer science
External link

Degree

  • 博士(情報理工学) ( 2006.3   東京大学 )

      More details

    Doctor

    Dissertation name:Deterministic Higher-order Matching for Program Transformation

  • 修士(情報理工学) ( 2003.3   東京大学 )

      More details

    Master

    Dissertation name:Functional Meta-programming for Program Calculation

  • 工学士 ( 2001.3   東京大学 )

      More details

    Bachelor

    Dissertation name:最左最右関係を用いた最長部分列問題の解法の発展とその有効性

Research Interests

  • Reversible computing

  • Reversible Algorithms

  • Programming languages

Research Areas

  • Informatics / Software  / Reversible Computing / Programming Languages

Education

  • The University of Tokyo

    - 2006.3

  • The University of Tokyo

    - 2003.3

  • The University of Tokyo   Faculty of Engineering

    - 2001.3

Research History

  • Nanzan University   Department of Electronics and Communication Technology, Faculty of Science and Technology   Professor

    2021

      More details

    Country:Japan

    researchmap

  • Nanzan University   Department of Software Engineering, Faculty of Science and Engineering   Professor

    2020 - 2021

      More details

    Country:Japan

    researchmap

  • Nanzan University   Department of Software Engineering, Faculty of Science and Engineering   Associate Professor

    2014 - 2019

      More details

    Country:Japan

    researchmap

  • Nanzan University   Department of Software Engineering, Faculty of Information Science and Engineering   Associate Professor

    2011 - 2014

      More details

    Country:Japan

    researchmap

  • Nanzan University   Department of Software Engineering, Faculty of Information Science and Engineering   Lecturer

    2009 - 2011

      More details

    Country:Japan

    researchmap

Professional Memberships

  • Association for Computing Machinery (ACM)

    2008.10

      More details

Committee Memberships

  • 17th International Conference on Reversible Computation   A Program Committee member  

    2024.11   

      More details

    Committee type:Academic society

    researchmap

  •   16h Conference on Reversible Computation, program committee member  

    2023.10 - 2024.7   

      More details

    Committee type:Academic society

    researchmap

  •   15th Conference on Reversible Computation, program committee member  

    2022.10 - 2023.7   

      More details

    Committee type:Academic society

    https://reversible-computation-2023.github.io/site/index.html

    researchmap

  • 13th International Conference on Reversible Computation (RC 2021)   Program co-chair  

    2020.9 - 2021.7   

      More details

    Committee type:Academic society

    https://reversible-computation-2021.github.io/

    researchmap

  • 情報処理学会   ソフトウェア工学研究会(IPSJ SIGSE) 運営委員  

    2012.4 - 2016.3   

      More details

    Committee type:Academic society

    researchmap

  • The SETO consortium of universities   Vice President  

    2012.4 - 2013.3   

      More details

    Committee type:Other

    researchmap

  • 4th Workshop on Reversible Computation (RC 2012)   Program co-chair  

    2011.9 - 2012.9   

      More details

    Committee type:Academic society

    http://www.reversible-computation.org/2012/

    researchmap

  • 情報処理学会   ESSロボットチャレンジ2011 運営委員長  

    2011   

      More details

    Committee type:Academic society

    researchmap

  • 情報処理学会   プログラミング研究会(IPSJ SIGPRO) 運営委員  

    2009.4 - 2013.3   

      More details

    Committee type:Academic society

    researchmap

▼display all

Papers

  • Fundamentals of reversible flowchart languages Reviewed International coauthorship International journal

    Tetsuo Yokoyama

    Theoretical Computer Science   611   87 - 115   2016.1

     More details

    Language:English   Publishing type:Research paper (scientific journal)   Publisher:Elsevier BV  

    Highlights
    •Structured and unstructured reversible flowcharts are introduced and explored.
    •They are shown to be equivalent and as expressive as reversible Turing machines (RTMs).
    •Programming languages modeled on the flowchart variants are designed and formalized.
    •Program inversion and translation between these languages is given in full.
    •The results are demonstrated on Dijkstra's permutation encoding and RTM simulation.

    Abstract
    This paper presents the fundamentals of reversible flowcharts. Reversible flowcharts are intended to naturally represent the structure and control flow of reversible (imperative) programming languages in a simple computation model in the same way classical flowcharts do for conventional languages. Although reversible flowcharts are superficially similar to classical flowcharts, there are crucial differences: atomic steps are limited to locally invertible operations, and join points require an explicit orthogonalizing conditional expression.
    Despite these constraints, we show that reversible flowcharts are both expressive and robust: reversible flowcharts can simulate irreversible ones by adapting reversibilization techniques to the flowchart model. Thus, reversible flowcharts are r-Turing-complete, meaning that they can compute exactly all injective computable functions. Furthermore, structured reversible flowcharts are as expressive as unstructured ones, as shown by a reversible version of the classic Structured Program Theorem.
    We illustrate how reversible flowcharts can be concretized with two example programming languages, complete with syntax and semantics: a low-level unstructured language and a high-level structured language. We introduce concrete tools such as program inverters and translators for both languages, which follow the structure suggested by the flowchart model. To further illustrate the different concepts and tools brought together in this paper, we present two major worked examples: a reversible permutation-to-code algorithm attributed to Dijkstra, and a simulation scheme for reversible Turing machines. By exhibiting a wide range of uses, we hope that the proposed reversible flowcharts can serve as a springboard for further theoretical research in reversible computing.

    DOI: 10.1016/J.TCS.2015.07.046

    Web of Science

    researchmap

  • Towards Clean Reversible Lossless Compression Reviewed International coauthorship International journal

    Therese Lyngby, Rasmus Ross Nylandsted, Robert Glück, Tetsuo Yokoyama

    Lecture Notes in Computer Science   94 - 102   2024.5

     More details

    Language:English   Publishing type:Part of collection (book)   Publisher:Springer Nature Switzerland  

    Zip and unzip are everyday tools in today’s digital world. Since they are inherently inverse to each other, they are ideal for studying reversible computing methods on real-world problems.

    In this work-in-progress study, we take steps to develop a reversible zip tool. As a proof of concept, we designed clean (garbage-free) reversible versions of two algorithms, which are officially recognized by the zip-specification. Our design goal was not merely to achieve reversibility, but rather to maintain the asymptotic complexity of the irreversible counterparts.

    Because of their efficiency and different approaches to compression, we chose the dictionary-based Lempel–Ziv–Welch Compression (LZW) and the transformation-based Burrows–Wheeler Transform (BWT). As part of the challenge, we found a way to zero-clear the LZW dictionary and reversibly sort rotations for BWT. We have successfully created clean reversible versions of both algorithms and fully implemented and tested them in the reversible language Janus.

    Our reversible LZW has a worst-case runtime of \Theta(n), just like the most efficient irreversible version. Our reversible BWT is, in the worst case, a factor n^2 slower than the most efficient irreversible version. There are currently no better trace-free reversible methods for lossless compression.

    DOI: 10.1007/978-3-031-62076-8_7

    researchmap

  • Reversible computing from a programming language perspective Reviewed International coauthorship International journal

    Robert Glück, Tetsuo Yokoyama

    Theoretical Computer Science   953   1 - 29   2023.4

     More details

    Language:English   Publishing type:Research paper (scientific journal)   Publisher:Elsevier BV  

    Software plays a central role in all aspects of reversible computing systems, and a variety of reversible programming languages have been developed. This presentation highlights the principles and main ideas of reversible computing viewed from a programming language perspective with a focus on clean reversible languages. They are the building material for software that can reap the benefits of reversible hardware and interesting in their own right.

    Reversible computing is situated within programming languages in general, and the relevant concepts are elaborated, including computability, injectivization and reversibilization. Features representative for many reversible languages are presented, such as reversible updates, reversible iterations, and access to a program's inverse semantics. Metaprogramming methods of particular importance to reversible programming, are introduced, including program inversion and inverse interpretation. Our presentation is independent of a particular language, although primarily the reversible language, Janus, will be used in examples.

    File: tcs2023.pdf

    DOI: 10.1016/j.tcs.2022.06.010

    researchmap

  • Reversible Programming: A Case Study of Two String-Matching Algorithms Reviewed International coauthorship

    Tetsuo Yokoyama

    Electronic Proceedings in Theoretical Computer Science   373   1 - 13   2022.11

     More details

    Language:English   Publishing type:Research paper (scientific journal)  

    String matching is a fundamental problem in algorithm. This study examines the development and construction of two reversible string-matching algorithms: a naive string-matching algorithm and the Rabin-Karp algorithm. The algorithms are used to introduce reversible computing concepts, beginning from basic reversible programming techniques to more advanced considerations about the injectivization of the polynomial hash-update function employed by the Rabin-Karp algorithm. The results are two clean input-preserving reversible algorithms that require no additional space and have the same asymptotic time complexity as their classic irreversible originals. This study aims to contribute to the body of reversible algorithms and to the discipline of reversible programming.

    DOI: 10.4204/EPTCS.373.1

    Web of Science

    researchmap

  • Making Programs Reversible with Minimal Extra Data Reviewed International coauthorship International journal

    Robert Glück, Tetsuo Yokoyama

    New Generation Computing   40   467 - 480   2022.7

     More details

    Language:English   Publishing type:Research paper (scientific journal)   Publisher:Springer Science and Business Media {LLC}  

    Reversible computing is an unconventional computing paradigm that comes with specific challenges. One of the important questions is the existence of reversible programs with minimal extra output (garbage data). To answer this question for programs that implement partial functions over countable domains, we introduce an order on infinite garbage sets and a notion of minimality. To this end, we present two methods for functions specified by decidable and semi-decidable predicates. Both methods are universal, which means they work for all programs specified by the predicates. They cover Bennett’s classic input-erasing reversible computation of injective functions. Hence, any program written in a Turing-complete programming language can be implemented with g-minimal garbage in an r-Turing-complete reversible programming language. This generality comes at the cost of a considerable runtime due to the generate-and-test approach.

    DOI: 10.1007/s00354-022-00169-z

    researchmap

    Other Link: https://link.springer.com/article/10.1007/s00354-022-00169-z/fulltext.html

  • From reversible programming languages to reversible metalanguages Reviewed International coauthorship

    Tetsuo Yokoyama

    Theoretical Computer Science   Vol.920   46 - 63   2022.6

     More details

    Language:English   Publishing type:Research paper (scientific journal)   Publisher:Elsevier BV  

    During the past decade reversible programming languages have been formalized using various established semantics frameworks. However, these semantics fail to effectively specify the distinct properties of reversible languages at the metalevel, even including the central question of whether the defined language is reversible. In this paper, we build a metalanguage foundation for reversible languages from categorical principles, based on the category of sets and partial injective functions. We exemplify our approach by a step-by-step development of the full semantics of an r-Turing complete reversible while-language with recursive procedures. The use of the metalanguage leads to a formalization of the reversible semantics. A language defined in the metalanguage is guaranteed to have reversibility and inverse semantics. Also, program inverters for this language are obtained for free. We further discuss applications and directions for reversible semantics.

    DOI: 10.1016/j.tcs.2022.02.024

    Web of Science

    researchmap

  • Reversibilization of the Naive String-Match Algorithm and the Rabin–Karp Algorithm

    22   124 - 132   2022.3

     More details

    Language:Japanese   Publishing type:Research paper (bulletin of university, research institution)  

    DOI: 10.15119/00003946

    researchmap

  • Complete transition diagrams of generic Hamiltonian flows with a few heteroclinic orbits Reviewed International journal

    Tetsuo Yokoyama

    Discrete Mathematics, Algorithms and Applications   Vol. 13, No. 02 ( 02 )   2150023 - 2150023   2020.9

     More details

    Language:English   Publishing type:Research paper (scientific journal)   Publisher:World Scientific Pub Co Pte Lt  

    We study the transition graph of generic Hamiltonian surface flows, whose vertices are the topological equivalence classes of generic Hamiltonian surface flows and whose edges are the generic transitions. Using the transition graph, we can describe time evaluations of generic Hamiltonian surface flows (e.g., fluid phenomena) as walks on the graph. We propose a method for constructing the complete transition graph of all generic Hamiltonian flows. In fact, we construct two complete transition graphs of Hamiltonian surface flows having three and four genus elements. Moreover, we demonstrate that a lower bound on the transition distance between two Hamiltonian surface flows with any number of genus elements can be calculated by solving an integer programming problem using vector representations of Hamiltonian surface flows.

    File: ws20201028.pdf

    DOI: 10.1142/S1793830921500233

    Web of Science

    researchmap

  • Reversible Programs Have Reversible Semantics Reviewed International coauthorship International journal

    Robert Glück, Robin Kaarsgaard, Tetsuo Yokoyama

    Formal Methods. FM 2019 International Workshops (FM 2019), Lecture Notes in Computer Science, Springer-Verlag   Vol.12233   413 - 427   2020.8

     More details

    Language:English   Publishing type:Research paper (international conference proceedings)   Publisher:Springer International Publishing  

    During the past decade, reversible programming languages have been formalized using various established semantic frameworks. However, these semantics fail to effectively specify the distinct properties of reversible languages at the metalevel, and even neglect the central question of whether the defined language is reversible. In this paper, we build on a metalanguage foundation for reversible languages based on the category of sets and partial injective functions. We exemplify our approach through step-by-step development of the full semantics of an r-Turing complete reversible while-language with recursive procedures. This yields a formalization of the semantics in which the reversibility of the language and its inverse semantics are immediate, as well as the inversion of programs written in the language. We further discuss applications and future research directions for reversible semantics.

    DOI: 10.1007/978-3-030-54997-8_26

    researchmap

    Other Link: https://dblp.uni-trier.de/db/conf/fm/fm2019w-2.html#GluckKY19

  • Analyzing Trade-offs in Reversible Linear and Binary Search Algorithms Reviewed

    Hiroki Masuda, Tetsuo Yokoyama

    Proceedings of the Third Workshop on Software Foundations for Data Interoperability (SFDI2019+), October 28, 2019, Fukuoka, Japan   1 - 5   2019.10

     More details

    Publishing type:Research paper (international conference proceedings)  

    DOI: 10.48550/arXiv.1910.10406

    researchmap

    Other Link: https://dblp.uni-trier.de/db/journals/corr/corr1910.html#abs-1910-10406

  • Constructing a binary tree from its traversals by reversible recursion and iteration Reviewed International coauthorship International journal

    Robert Glück, Tetsuo Yokoyama

    Information Processing Letters   147   32 - 37   2019.7

     More details

    Language:English   Publishing type:Research paper (scientific journal)  

    We cast two algorithms generating the inorder and preorder traversals of a binary tree in the context of reversible computing nearly three decades after they were first examined in the light of program inversion. The reversible traversals directly define the inverse algorithms that reconstruct the tree. They have the same linear time and space requirements as the traversals. A while-language is extended with reversible recursion.

    DOI: 10.1016/j.ipl.2019.03.002

    researchmap

  • 多重連結領域上の安定非圧縮流のプリミティブな局所構造変換 Reviewed

    横山哲郎, 横山知郎

    電子情報通信学会和文論文誌D   Vol.J102-D, No.3 ( 3 )   235 - 238   2019.3

     More details

    Language:Japanese   Publisher:電子情報通信学会  

    局所構造変換を繰り返し適用して,一般に観測される多重連結領域上の非圧縮流の全トポロジーを構成できることを示した.3種類の初期大域構造に対して,7種類の局所構造を置換するアプローチを取った.

    DOI: 10.14923/transinfj.2018JDL8021

    researchmap

  • 二分木の辞書順のランク計算の効率的なクリーン可逆シミュレーション Reviewed

    柴田心太郎, 横山哲郎

    電子情報通信学会和文論文誌D   Vol.J102-D, No.3 ( 3 )   130 - 140   2019.3

     More details

    Language:Japanese   Publisher:電子情報通信学会  

    可逆システム上で非可逆プログラムの可逆シミュレーションを実現するとき,既知の一般解法を用いると,元の入出力の走査回数と,元の入出力用以外のメモリ使用量が増え,元の出力以外を出力してクリーンでなくなってしまうという問題が起こる.しかし,非可逆なアルゴリズムに対して,経験と勘を元に個別の非可逆プログラムの効率的なクリーン可逆シミュレーションが実現されてきている.本稿では,可逆計算システムで用いる可逆アルゴリズムとして,二分木の列挙,二分木の辞書順のランク計算,および辞書順における次の二分木の生成の効率的なクリーン可逆シミュレーションの構築をする.これらは基礎的な可逆アルゴリズムであるので,他の可逆アルゴリズムの一部として使用されたり,可逆アルゴリズムの構築法が利用されたりすることが期待される.また,二分木のランク計算に関する効率的な可逆プログラムの整備を進めることで類似するランク計算やさらには現時点では困難な一般の効率的可逆シミュレーションの自動導出が可能になることが期待される.本稿の可逆プログラムは全てオンラインインタプリタで実行して振る舞いを確かめることが可能である.

    DOI: 10.14923/transinfj.2018PDP0021

    researchmap

  • 可逆プログラミング言語R-WHILEの可逆チューリング完全性 Reviewed

    電子情報通信学会和文論文誌D   J101-D, No.9 ( 9 )   1372 - 1375   2018.9

     More details

    Language:Japanese   Publisher:電子情報通信学会  

    任意の可逆プログラミング言語のプログラムで計算できるものが,可逆なR-WHILEプログラムによって計算できることを示す.

    DOI: 10.14923/transinfj.2018JDL8008

    researchmap

  • ハミルトン曲面流に対応する流れの向きを考慮した極大語の列挙アルゴリズム Reviewed

    横山哲郎, 横山知郎

    電子情報通信学会論文誌 D   Vol.J101-D, No.8 ( 8 )   1220 - 1222   2018.8

     More details

    Language:Japanese   Publisher:電子情報通信学会  

    ハミルトン曲面流を表す流れの向きを考慮した極大語の表現法,任意の長さの極大語をもれなく重複無く列挙するアルゴリズム,及びステートチャートによる極大語の生成方法の簡潔な表現を示した.本手法で向きを考慮した流れの総数を見積もれる.

    DOI: 10.14923/transinfj.2018JDL8002

    researchmap

  • Clean Reversible Simulations of Ranking Binary Trees Reviewed International journal

    Yuhi Ohkubo, Tetsuo Yokoyama, Chishun Kanayama

    Reversibility and Universality   Vol.30   243 - 267   2018.3

     More details

    Language:English   Publishing type:Part of collection (book)   Publisher:Springer  

    We propose clean reversible simulations of ranking binary trees and unranking as reversible algorithms for reversible computing systems, which are useful for enumerating and randomly generating binary trees. Algorithms for ranking binary trees and their inverses have been studied since the 1970s. Each of these algorithms can be converted into a reversible simulation by saving all data and control information otherwise lost, and each pair of ranking and unranking reversible pro- grams can be combined to realize a clean reversible simulation by using the Bennett method. However, such a clean reversible simulation requires multiple traversal of the given data and/or intermediate data as well as additional storage proportional to the length of the computation. We show that for Knott's ranking and unranking algorithms, additional storage usage can be reduced by using the proper assertions of reversible loops in embedded reversible simulations. We also show a clean reversible simulation that involves only one traversal. The running time and memory usage of the proposed clean reversible simulations are asymptotically equivalent to those of the original programs by Knott with intermediate garbage of constant size. In general, the derivation strategy of efficient reversible programs from irreversible ones has not yet been established, and this study can be seen as one of the case studies. All the reversible programs presented in this paper can be run on an interpreter of the reversible programming language Janus.

    DOI: 10.1007/978-3-319-73216-9_11

    researchmap

    Other Link: https://dblp.uni-trier.de/db/conf/birthday/morita2018.html#OhkuboYK18

  • 可逆ビンソート Reviewed

    横山哲郎

    電子情報通信学会論文誌 D   Vol.J101-D, No.5 ( 5 )   791 - 793   2018.1

     More details

    Language:Japanese   Publisher:電子情報通信学会  

    非比較ソートであるビンソートの可逆シミュレーションを示し,効率的な非可逆ビンソートに対して時間/空間計算量が共に線形で出力ゴミが入力データと漸近的に同じ大きさの置換を表す配列になることを示す.

    DOI: 10.14923/transinfj.2017JDL8021

    researchmap

  • Reversible Computing: Foundations and Software - Preface of Special Issue International coauthorship International journal

    Robert Glück, Tetsuo Yokoyama

    New Gener. Comput.   36 ( 3 )   143 - 144   2018

     More details

    Language:English   Publishing type:Research paper (scientific journal)   Publisher:Springer Science and Business Media LLC  

    DOI: 10.1007/s00354-018-0035-5

    researchmap

    Other Link: https://dblp.uni-trier.de/db/journals/ngc/ngc36.html#GluckY18

  • 可逆プログラムのための償却定数時間かつ定数ゴミ使用量のメモ化 Reviewed

    横山哲郎

    電子情報通信学会和文論文誌D   Vol.J100-D, No.10 ( 10 )   895 - 896   2017.10

     More details

    Language:Japanese   Publisher:電子情報通信学会  

    メモ化アルゴリズムの可逆版を提案する.本手法により得られるクリーン可逆プログラムは,可逆二進計数器を抽象解釈とする.単射な隣接2項間漸化式で表される任意の数列に対して償却定数時間で定数ゴミ使用量の可逆プログラムを得る方法を示す.

    DOI: 10.14923/transinfj.2017JDL8010

    researchmap

  • ハミルトン曲面流に対応する語の列挙アルゴリズム Reviewed

    横山 哲郎, 横山 知郎

    電子情報通信学会論文誌 D   J100-D ( 10 )   892 - 894   2017.10

     More details

    Authorship:Lead author, Corresponding author   Language:Japanese  

    ハミルトン曲面流に関する極大語の自然な分類が有限個であることを示し,その各分類のもとでの全ての極大語の列挙アルゴリズムの構成法を明らかにした.また,各分類において極大語の総数を求める方法を形式言語理論を応用して示した.

    DOI: 10.14923/transinfj.2017JDL8009

    researchmap

  • A Minimalist's Reversible While Language. Reviewed International coauthorship

    Robert Glück, Tetsuo Yokoyama

    IEICE on Information and Systems   100-D ( 5 )   1026 - 1034   2017.5

     More details

    Authorship:Last author   Language:English   Publishing type:Research paper (scientific journal)  

    The paper presents a small reversible language R-CORE, a structured imperative programming language with symbolic tree-structured data (S-expressions). The language is reduced to the core of a reversible language, with a single command for reversibly updating the store, a single reversible control-flow operator, a limited number of variables, and data with a single atom and a single constructor. Despite its extreme simplicity, the language is reversibly universal, which means that it is as powerful as any reversible language can be, while it is linear-time self-interpretable, and it allows reversible programming with dynamic data structures. The four-line program inverter for R-CORE is among the shortest existing program inverters, which demonstrates the conciseness of the language. The translator to R-CORE, which is used to show the formal properties of the language, is clean and modular, and it may serve as a model for related reversible translation problems. The goal is to provide a language that is sufficiently concise for theoretical investigations. Owing to its simplicity, the language may also be used for educational purposes.

    DOI: 10.1587/transinf.2016EDP7274

    researchmap

    Other Link: https://www.wikidata.org/entity/Q62038207

  • A Linear-Time Self-Interpreter of a Reversible Imperative Language Reviewed International coauthorship

    Robert Glück, Tetsuo Yokoyama

    Computer Software   3   108 - 128   2016.8

     More details

    Language:English   Publishing type:Research paper (scientific journal)  

    A linear-time reversible self-interpreter in an r-Turing complete reversible imperative language is presented. The proposed imperative language has reversible structured control flow operators and symbolic tree-structured data (S-expressions). The latter data structures are dynamically allocated and enable reversible simulation of programs of arbitrary size and space consumption. As self-interpreters are used to show a number of fundamental properties in classic computability and complexity theory, the present study of an efficient reversible self-interpreter is intended as a basis for future work on reversible computability and complexity theory as well as programming language theory for reversible computing. Although the proposed reversible interpreter consumes superlinear space, the restriction of the number of variables in the source language leads to linear-time reversible simulation.

    DOI: 10.11309/jssst.33.3_108

    researchmap

  • Programming Techniques for Reversible Comparison Sorts Reviewed International coauthorship International journal

    Tetsuo Yokoyama

    Lecture Notes in Computer Science   9458   407 - 426   2015.12

     More details

    Language:English   Publishing type:Research paper (scientific journal)   Publisher:Springer International Publishing  

    A common approach to reversible programming is to reversibly simulate an irreversible program with the desired functionality, which in general puts additional pressure on the computational resources (time, space.) If the same running time is required, ensuring a minimal space overhead is a significant programming challenge.

    We introduce criteria for the optimality of reversible simulation: A reversible simulation is faithful if it incurs no asymptotic time overhead and bounds the space overhead (the garbage) by some function g(n), and hygienic if g is (asymptotically) optimal for faithful simulation.

    We demonstrate the programming techniques used to develop faithful and hygienic reversible simulations of several well-known comparison sorts, e.g. insertion sort and quicksort, using representations of permutations in both the output and intermediate additional space required.

    DOI: 10.1007/978-3-319-26529-2_22

    Web of Science

    researchmap

  • Designing Garbage-Free Reversible Implementations of the Integer Cosine Transform

    ACM Journal on Emerging Technologies in Computing Systems   11   1 - 15   2014.11

     More details

    Discrete linear transformations are important tools in information processing. Many such transforms are injective and therefore prime candidates for a physically reversible implementation into hardware. We present here reversible integer cosine transformations on n input integers. The resulting reversible circuit is able to perform both the forward transform and the inverse transform. The detailed structure of such a reversible design strongly depends on the odd prime factors of the determinant of the transform: whether those are of the form 2k ± 1 or of the form 2k ± 2l ± 1 or neither of these forms.

  • Extended Parameter Passing Mechanisms of a Reversible Programming Language Reviewed

    7 ( 4 )   21 - 36   2014.8

     More details

    Authorship:Last author, Corresponding author   Language:Japanese   Publishing type:Research paper (scientific journal)  

    The extended pass-by-reference parameter passing mechanism of reversible programming language Janus is presented and its reversibility is shown. The states used in the memory model of the existing Janus cannot directly deal with the multiple variables sharing the same memory locations. To remedy this, the state model is replaced with the environment-store model and the semantics of the language is refined. In the extended language, we can pass not only local variables and local array variables to the arguments of procedures but the references of global variables, indexed array variables and such syntactic objects that have the same references. We make the extended Janus reversible by imposing restrictions on the updates of environments and stores. The extended language also preserves several properties of Janus; any sentences and procedure calls can be inversely executed, and the inverse sentences for any sentences exist and can be constructed by simple program transformation. Furthermore, we relax the restrictions on the syntax of reversible assignments. The invalid store updates because of the extension can be efficiently detected during the execution without the necessity of global program analysis. The refined semantics is a simple extension to the existing one in the sense that the programs in the existing syntax have the same meaning under both semantics.

    researchmap

    Other Link: https://cir.nii.ac.jp/crid/1050564287857987584

  • Designing Garbage-Free Reversible Implementations of the Integer Cosine Transform. Reviewed International coauthorship International journal

    Alexis De Vos, Stéphane Burignat, Robert Glück, Torben Ægidius Mogensen, Holger Bock Axelsen, Michael Kirkedal Thomsen, Eva Rotenberg, Tetsuo Yokoyama

    ACM Journal on Emerging Technologies in Computing Systems   11 ( 2 )   11 - 15   2014

     More details

    Language:English   Publishing type:Research paper (scientific journal)   Publisher:Association for Computing Machinery (ACM)  

    Discrete linear transformations are important tools in information processing. Many such transforms are injective and therefore prime candidates for a physically reversible implementation into hardware. We present here reversible integer cosine transformations on n input integers. The resulting reversible circuit is able to perform both the forward transform and the inverse transform. The detailed structure of such a reversible design strongly depends on the odd prime factors of the determinant of the transform: whether those are of the form 2 <sup> k </sup> ± 1 or of the form 2 <sup> k </sup> ± 2 <sup> l </sup> ± 1 or neither of these forms.

    DOI: 10.1145/2629532

    researchmap

    Other Link: https://dblp.uni-trier.de/db/journals/jetc/jetc11.html#VosBGMATRY14

  • Reversible Computation, 4th International Workshop, RC 2012, Copenhagen, Denmark, July 2-3, 2012. Revised Papers International coauthorship International journal

    RC   7581   2013

     More details

    Language:English   Publishing type:Research paper (international conference proceedings)   Publisher:Springer  

    DOI: 10.1007/978-3-642-36315-3

    researchmap

  • Minimizing Garbage Size by Generating Reversible Simulations. Reviewed International coauthorship International journal

    Tetsuo Yokoyama, Holger Bock Axelsen, Robert Glück

    Third International Conference on Networking and Computing(ICNC)   379 - 387   2012.12

     More details

    Language:Japanese   Publishing type:Research paper (international conference proceedings)   Publisher:IEEE Computer Society  

    Reversible simulations can realize any irreversible computation on any r-Turing complete reversible computation model at the expense of additional garbage output. The problem of minimizing the garbage size is an important issue in reversible simulations. We discuss the notion of the minimal garbage size of reversible simulations. Then, we propose a three-stage reversible simulation for minimizing garbage size, the first stage generates specialized irreversible programs, the second translates them into reversible simulations, and the third performs reversible simulation using the generated reversible programs. Two case studies on sorting algorithms suggest that the proposed method generates solutions with minimal garbage size.

    DOI: 10.1109/ICNC.2012.73

    researchmap

    Other Link: https://dblp.uni-trier.de/conf/ic-nc/2012

  • Optimizing Reversible Simulation of Injective Functions. Reviewed International journal

    Tetsuo Yokoyama, Holger Bock Axelsen, Robert Glück

    Journal of Multiple-Valued Logic and Soft Computing   18 ( 1 )   5 - 24   2012.1

     More details

    Authorship:Lead author   Language:English   Publishing type:Research paper (scientific journal)   Publisher:Old City Publishing  

    Bennett showed that a clean reversible simulation of injective programs is possible without returning the input of a program as additional output. His method involves two computation and two uncomputation phases. This paper proposes an optimization of Bennett’s simulation that requires only half of the computation and uncomputation steps for a class of injective programs. A practical consequence is that the reversible simulation runs twice as fast as Bennett’s simulation. The proposed method is demonstrated by developing lossless encoders and decoders for run-length encoding and range coding. The range-coding program is further optimized by conserving the model over the text-generation phase. This paper may thus provide a newviewon developing efficient reversible simulations for a certain class of injective functions.

    Keywords: Reversible computing, reversible simulation, Janus, Bennett’s method, lossless data encoding, reversibilization

    researchmap

    Other Link: https://dblp.uni-trier.de/db/journals/mvl/mvl18.html#YokoyamaAG12

  • Towards a Reversible Functional Language. Reviewed International coauthorship International journal

    Tetsuo Yokoyama, Holger Bock Axelsen, Robert Glück

    International Workshop on Reversible Computation (RC 2011), Lecture Notes in Computer Science, Springer-Verlag   7165   14 - 29   2012

     More details

    Authorship:Lead author   Language:English   Publishing type:Research paper (international conference proceedings)   Publisher:Springer  

    We identify concepts of reversibility for a functional language by means of a set of semantic rules with specific properties. These properties include injectivity along with local backward determinism, an important operational property for an efficient reversible language. We define a concise reversible first-order functional language in which access to the backward semantics is provided to the programmer by inverse function calls. Reversibility guarantees that in this language a backward run (inverse interpretation) is as fast as the corresponding forward run itself. By adopting a symmetric first-match policy for case expressions, we can write overlapping patterns in case branches, as is customary in ordinary functional languages, and also in leaf expressions, unlike existing inverse interpreter methods, which enables concise programs. In patterns, the use of a duplication/equality operator also simplifies inverse computation and program inversion. We discuss the advantages of a reversible functional language using example programs, including run-length encoding. Program inversion is seen to be as lightweight as for imperative reversible languages and realized by recursive descent. Finally, we show that the proposed language is r-Turing complete.

    DOI: 10.1007/978-3-642-29517-1_2

    researchmap

    Other Link: https://dblp.uni-trier.de/conf/rc/2011

  • Static Task Scheduling Algorithms Based on Greedy Heuristics for Battery-Powered DVS Systems. Reviewed International coauthorship

    Tetsuo Yokoyama, Gang Zeng, Hiroyuki Tomiyama, Hiroaki Takada

    IEICE Transactions on Information and Systems   E93-D   2737 - 2746   2010.10

     More details

    Authorship:Lead author   Language:English   Publishing type:Research paper (scientific journal)  

    The principles for good design of battery-aware voltage scheduling algorithms for both aperiodic and periodic task sets on dynamic voltage scaling (DVS) systems are presented. The proposed algorithms are based on greedy heuristics suggested by several battery characteristics and Lagrange multipliers. To construct the proposed algorithms, we use the battery characteristics in the early stage of scheduling more properly. As a consequence, the proposed algorithms show superior results on synthetic examples of periodic and aperiodic tasks from the task sets which are excerpted from the comparative work, on uni- and multi-processor platforms, respectively. In particular, for some large task sets, the proposed algorithms enable previously unschedulable task sets due to battery exhaustion to be schedulable.

    DOI: 10.1587/transinf.E93.D.2737

    researchmap

    Other Link: https://dblp.uni-trier.de/db/journals/ieicet/ieicet93d.html#YokoyamaZTT10

  • Reversible Computation and Reversible Programming Languages. Reviewed International journal

    Tetsuo Yokoyama

    Electronic Notes in Theoretical Computer Science   253 ( 6 )   71 - 81   2010.3

     More details

    Publishing type:Research paper (scientific journal)  

    DOI: 10.1016/j.entcs.2010.02.007

    researchmap

  • Practical Energy-Aware Scheduling for Real-Time Multiprocessor Systems Reviewed International coauthorship International journal

    Gang Zeng, Tetsuo Yokoyama, Hiroyuki Tomiyama, Hiroaki Takada

    15th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications   2009.8

     More details

    Language:English   Publishing type:Research paper (international conference proceedings)   Publisher:IEEE  

    Energy-aware real-time multiprocessor scheduling has been studied extensively so far. However, some of the constraints associated with the practical DVS applications have been ignored for simplicity. These constraints include discrete speed, idle power, inefficient speed, and application-specific power characteristics etc. This work targets energy-aware scheduling of periodic real-time tasks on the DVS-equipped multiprocessor systems with practical constraints. An adaptive minimal bound first-fit (AMBFF) algorithm with consideration of these realistic constraints is proposed for both dynamic-priority and fixed-priority multiprocessor scheduling. Simulation results on three commercial processor models show that our algorithm can save significantly more energy than existing algorithms.

    DOI: 10.1109/rtcsa.2009.47

    researchmap

  • Heuristics for Static Voltage Scheduling Algorithms on Battery-Powered DVS Systems Reviewed International coauthorship International journal

    Tetsuo Yokoyama, Gang Zeng, Hiroyuki Tomiyama, Hiroaki Takada

    2009 International Conference on Embedded Software and Systems   265 - 272   2009.5

     More details

    Authorship:Lead author   Language:English   Publishing type:Research paper (international conference proceedings)   Publisher:IEEE  

    The principles for good design of battery-aware voltage scheduling algorithms for both a periodic and periodic task sets on dynamic voltage scaling (DVS) systems are presented. The proposed algorithms are based on greedy heuristics suggested by several battery characteristics and Lagrange multipliers. To construct the proposed algorithms,we use the battery characteristics in the early stage of scheduling more properly. As a consequence, the proposed algorithms show superior results on synthetic examples of periodic and a periodic tasks from the task sets which are excerpted from the comparative work, on uniprocessor platforms. Especially, for some large task sets,the proposed algorithms enable previously unschedulable task sets due to battery exhaustion to be schedulable.

    DOI: 10.1109/icess.2009.19

    researchmap

  • Energy Efficient Functional Programing on DVS Systems by Varying Evaluation Strategies Reviewed

    2 ( 2(PRO41) )   54 - 69   2009.3

     More details

  • Analyzing and optimizing energy efficiency of algorithms on DVS systems: a first step towards algorithmic energy minimization Reviewed International coauthorship International journal

    Tetsuo Yokoyama, Gang Zeng, Hiroyuki Tomiyama, Hiroaki Takada

    Asia and South Pacific Design Automation Conference (ASP-DAC)   727 - 732   2009.1

     More details

    Authorship:Lead author   Language:English   Publishing type:Research paper (international conference proceedings)   Publisher:IEEE  

    The energy efficiency at the algorithmic level on DVS systems and its analysis and optimization methods are presented. Given a problem the most energy efficient algorithm is not uniquely determined but dependend on multiple factors, including intratask dynamic voltage scaling (IntraDVS) policies, the size of intermediate data structure, and the size of inputs. We show that at the algorithmic level principles behind energy optimization and performance optimization are not identical. We propose a metric for evaluating optimal energy efficiency of static voltage scaling (SVS) and a few new effective IntraDVS policies employing data flow information. Experimental results on sorting algorithms show the existence of several tradeoffs in terms of energy consumption. Transforming algorithms by employing problem specific knowledge and data flow information successfully improves their energy efficiency.

    DOI: 10.1109/ASPDAC.2009.4796566

    researchmap

    Other Link: https://dblp.uni-trier.de/conf/aspdac/2009

  • A generalized framework for energy savings in real-time multiprocessor systems Reviewed International coauthorship International journal

    Gang Zeng, Tetsuo Yokoyama, Hiroyuki Tomiyama, Hiroaki Takada, Tohru Ishihara

    2008 International SoC Design Conference   1   I44 - I49   2008.11

     More details

    Language:English   Publishing type:Research paper (international conference proceedings)   Publisher:IEEE  

    A generalized dynamic energy performance scaling (DEPS) framework is proposed for exploring application-specific energy-saving potential in multiprocessor systems. This software-centric framework takes advantage of possible power control mechanisms to trade off performance for energy savings. Three existing technologies, i.e., dynamic hardware resource configuration (DHRC), dynamic voltage frequency scaling (DVFS), and dynamic power management (DPM), have been employed in this framework to achieve the maximal energy savings. The problem of determining the optimal task allocation and DEPS configurations is formulated as an integer linear programming (ILP) problem. Several practical issues such as how to reduce measurement and computation time and how to reduce the configuration overhead are also addressed. The effectiveness of DEPS is validated through a case study.

    DOI: 10.1109/socdc.2008.4815570

    researchmap

  • Reversible Flowchart Languages and the Structured Reversible Program Theorem Reviewed International coauthorship International journal

    Tetsuo Yokoyama, Holger Bock Axelsen, Robert Glück

    Automata, Languages and Programming, Springer, Lecture Notes in Computer Science   5126   258 - 270   2008.8

     More details

    Authorship:Lead author   Language:English   Publishing type:Research paper (international conference proceedings)   Publisher:Springer  

    Many irreversible computation models have reversible counterparts, but these are poorly understood at present. We introduce reversible flowcharts with an assertion operator and show that any reversible flowchart can be simulated by a structured reversible flowchart using only three control flow operators. Reversible flowcharts are r- Turing-complete, meaning that they can simuluate reversible Turing machines without garbage data. We also demonstrate the injectivization of classical flowcharts into reversible flowcharts. The reversible flowchart computation model provides a theoretical justification for low-level machine code for reversible microprocessors as well as high-level block-structured reversible languages. We give examples for both such languages and illustrate them with a lossless encoder for permutations given by Dijkstra.

    DOI: 10.1007/978-3-540-70583-3_22

    researchmap

    Other Link: https://dblp.uni-trier.de/conf/icalp/2008-2

  • Principles of a reversible programming language Reviewed International coauthorship International journal

    Tetsuo Yokoyama, Holger Bock Axelsen, Robert Glück

    CF '08: Proceedings of the 5th conference on Computing frontiers   43 - 54   2008.5

     More details

    Authorship:Lead author   Language:English   Publishing type:Research paper (international conference proceedings)   Publisher:ACM  

    The principles of reversible programming languages are explicated and illustrated with reference to the design of a high-level imperative language, Janus. The fundamental properties for such languages include backward as well as forward determinism and reversible updates of data. The unique design features of the language include explicit post-condition assertions, direct access to an inverse semantics and the possibility of clean ({\ie}, garbage-free) computation of injective functions. We suggest the clean simulation of reversible Turing machines as a criterion for computing strength of reversible languages, and demonstrate this for Janus. We show the practicality of the language by implementation of a reversible fast Fourier transform. Our results indicate that the reversible programming paradigm has fundamental properties that are relevant to many different areas of computer science.

    DOI: 10.1145/1366230.1366239

    researchmap

    Other Link: https://dblp.uni-trier.de/conf/cf/2008

  • Reversible machine code and its abstract processor architecture Reviewed International coauthorship International journal

    Tetsuo Yokoyama

    Lecture Notes in Computer Science   4649   56 - 69   2007.9

     More details

    Language:English   Publishing type:Research paper (scientific journal)   Publisher:Springer Berlin Heidelberg  

    A reversible abstract machine architecture and its reversible machine code are presented and formalized. For machine code to be reversible, both the underlying control logic and each instruction must be reversible. A general class of machine instruction sets was proven to be reversible, building on our concept of reversible updates. The presentation is abstract and can serve as a guideline for a family of reversible processor designs. By example, we illustrate programming principles for the abstract machine architecture formalized in this paper.

    DOI: 10.1007/978-3-540-74510-5_9

    Web of Science

    researchmap

  • A reversible programming language and its invertible self-interpreter International coauthorship International journal

    Tetsuo Yokoyama, Robert Glück

    Proceedings of the ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation   144 - 153   2007

     More details

    Language:English   Publishing type:Research paper (international conference proceedings)  

    A reversible programming language supports deterministic forward and backward computation. We formalize the programming language Janus and prove its reversibility. We provide a program inverter for the language and implement a self-interpreter that achieves deterministic forward and backward interpretation of Janus programs without using a computation history. As the self-interpreter is implemented in a reversible language, it is invertible using local program inversion. Many physical phenomena are reversible and we demonstrate the power of Janus by implementing a reversible program for discrete simulation of the Schrödinger wave equation that can be inverted as well as run forward and backward. Copyright © 2007 ACM.

    DOI: 10.1145/1244381.1244404

    Scopus

    researchmap

  • Program optimizations and transformations in calculation form Reviewed International coauthorship International journal

    Tetsuo Yokoyama

    Lecture Notes in Computer Science   4143   144 - 168   2006.11

     More details

    Authorship:Lead author   Language:English   Publishing type:Research paper (scientific journal)   Publisher:Springer Berlin Heidelberg  

    The world of program optimization and transformation takes on a new fascination when viewed through the lens of program calculation. Unlike the traditional fold/unfold approach to program transformation on arbitrary programs, the calculational approach imposes restrictions on program structures, resulting in some suitable calculational forms such as homomorphisms and mutumorphisms that enjoy a collection of generic algebraic laws for program manipulation. In this tutorial, we will explain the basic idea of program calculation, demonstrate that many program optimizations and transformations, such as the optimization technique known as loop fusion and the parallelization transformation, can be concisely reformalized in calculational form, and show that program transformation in calculational forms is of higher modularity and more suitable for efficient implementation.

    DOI: 10.1007/11877028_5

    Web of Science

    researchmap

  • Deterministic Second-order Patterns for Program Transformation Reviewed International coauthorship

    YOKOYAMA Tetsuo, HU Zhenjiang, TAKEICHI Masato, Tetsuo Yokoyama, Zhenjiang Hu, Masato Takeichi, Graduate School of Information Science and Technology. University of Tokyo, Graduate School of Information Science and Technology University of Tokyo:PRESTO21 Japan Science and Technology Agency, Graduate School of Information Science and Technology. University of Tokyo

    21 ( 5 )   403 - 408   2004.9

     More details

    Authorship:Lead author   Language:Japanese  

    Second-order patterns and second-order matching play an important role in program transformation, but the second-order matching algorithm is known to be NP-hard and real efficient, implementation is out of Question. To resolve this problem, we introduced a class of deterministic second-order patterns, and proposed an efficient matching algorithm. In this paper, we further extend this class to cove more deterministic second-order patterns, discuss both sufficient and necessary conditions for a second-order pattern to be deterministic, and demonstrate its usefulness in program transformation.

    DOI: 10.11309/jssst.21.403

    CiNii Books

    researchmap

    Other Link: https://projects.repo.nii.ac.jp/?action=repository_uri&item_id=288606

  • Deterministic Higher-Order Patterns for Program Transformation Reviewed International coauthorship International journal

    Tetsuo Yokoyama, Zhenjiang Hu, Masato Takeichi

    Logic Based Program Synthesis and Transformation, Lecture Notes in Computer Science   3018   128 - 142   2004.8

     More details

    Language:English   Publishing type:Part of collection (book)   Publisher:Springer Berlin Heidelberg  

    Higher-order patterns, together with higher-order matching, enable concise specification of program transformation, and have been implemented in several program transformation systems. However,higher-order matching in general is nondeterministic, and the matching algorithm is so expensive that even second-order matching is NP-complete. It is orthodox to impose constraint on the form of patterns to obtain the desirable matches satisfying certain properties such as decidability and finiteness. In the context of unification, Miller’s higher-order patterns have a single most general unifier. We relax the restrictions in his patterns without changing determinism within the context of matching instead of unification. As a consequence, the new class of patterns covers a wide class of useful patterns for program transformation. The time-complexity of the matching algorithm is linear for the size of a term for a fixed pattern.

    DOI: 10.1007/978-3-540-25938-1_12

    researchmap

  • Deterministic Higher-Order Patterns for Program Transformation

    Logic Based Program Synthesis and Transformation   LNCS 3018   128 - 142   2004.8

     More details

    Publisher:Springer  

    Higher-order patterns, together with higher-order matching, enable concise specification of program transformation, and have been implemented in several program transformation systems. However,higher-order matching in general is nondeterministic, and the matching algorithm is so expensive that even second-order matching is NP-complete. It is orthodox to impose constraint on the form of patterns to obtain the desirable matches satisfying certain properties such as decidability and finiteness. In the context of unification, Miller’s higher-order patterns have a single most general unifier. We relax the restrictions in his patterns without changing determinism within the context of matching instead of unification. As a consequence, the new class of patterns covers a wide class of useful patterns for program transformation. The time-complexity of the matching algorithm is linear for the size of a term for a fixed pattern.

  • Deterministic second-order patterns Reviewed International coauthorship International journal

    Tetsuo Yokoyama, Zhenjiang Hu, Masato Takeichi

    Information Processing Letters   89 ( 6 )   309 - 314   2004.3

     More details

    Authorship:Lead author   Language:Japanese   Publishing type:Research paper (scientific journal)   Publisher:Elsevier BV  

    Second-order patterns, together with second-order matching, enable concise specification of program transformation, and have been implemented in several program transformation systems. However, second-order matching in general is nondeterministic, and the matching algorithm is so expensive that the matching is NP-complete. It is orthodox to impose constraints on the form of higher-order patterns so as to obtain the desirable matches satisfying certain properties such as decidability and finiteness. In the context of unification, Miller's higher-order patterns have a single most-general unifier. In this paper, we relax the restriction of his patterns without changing determinism in the context of matching instead of unification. As a consequence, our deterministic second-order patterns cover a wide class of useful patterns for program transformation. The time-complexity of our deterministic matching algorithm is linear in the size of a term for a fixed pattern.

    DOI: 10.1016/j.ipl.2003.12.008

    researchmap

  • A Combinator Library for Specifying Program Transformation International coauthorship

    Yokoyama Tetsuo, Hu Zhenjiang, Takeichi Masato

    Conference Proceedings of Japan Society for Software Science and Technology   21   19 - 19   2004

     More details

    Publisher:Japan Society for Software Science and Technology  

    We present an embedded domain specific language for specifyingprogram transformations. The language is implemented as a monadic combinatorlibrary in Haskell. The transformations are done at compile time using themechanism of Template Haskell. The library provides a modular way to structureabstract and intuitive transformation strategies by higher-order matching andmonadic programming.

    DOI: 10.11309/jssstconference.21.0.19.0

    researchmap

  • 決定論的2階パターンとプログラム変換への応用 International coauthorship

    横山哲郎, 胡振江, 武市正人

    日本ソフトウェア科学会第20回記念大会 , 愛知県立大学, 2003年9月16日〜19日   2003.9

     More details

    Language:Japanese  

    2階パターンと2階マッチングを用いると高度なプログラム変換を記述することができることが知られている.しかし2階マッチングはNP完全であるため効率がよい実装が望めず,また非決定論的であるため,セマンティクスが複雑であるという問題点がある.われわれは,2階パターンの形を制限することで,どのような項とも高々1つのマッチしか得られないようなパターンのクラスを決定論的2階パターンとして定め,またこのマッチを得るための効率の良いアルゴリズムを開発した.本論文では,このような決定論的2階パターンのクラスを拡張し,また決定論的線形2階パターンであるための必要十分条件を与える.このパターンのクラスを用いる幅広い応用が可能であると考えられる.

    DOI: 10.11309/jssstconference.2003.0.32.0

    researchmap

  • Yicho - A System for Programming Program Calculations

    Mathematical Engineering Technical Reports, the University of Tokyo   7   1 - 17   2002.6

     More details

    Language:Japanese   Publishing type:Research paper (bulletin of university, research institution)  

    researchmap

  • Automatic Generation of Programs Based on High Level Strategy Description Reviewed

    YOKOYAMA TETSUO, SASANO ISAO, HU ZHENJIANG, TAKEICHI MASATO

    43 ( SIG03(PRO14) )   62 - 77   2002.3

     More details

    Authorship:Lead author   Language:Japanese   Publishing type:Research paper (scientific journal)   Publisher:Information Processing Society of Japan (IPSJ)  

    To relax the tension between clarity and efficiency in programming, we have proposed a theoretical framework called calculation carrying program, which accompanies straightforward specification with calculation specifying the intention (strategy) in a highly abstract way. In this paper, we give its first implementation, showing the system which not only automatically derives efficient programs from initial inefficient specification, but also interactively helps programmers to debug derivation steps. Furthermore, to show its power, we demonstrate how to use our system to generate efficient programs for solving maximum marking problems.

    CiNii Books

    researchmap

▼display all

MISC

  • A Report on the 39th JSSST Annual Conference

    Shinpei HAYASHI, Tetsuo YOKOYAMA, Masataka NAGURA, Hiroshi IGAKI

    Computer Software   40 ( 2 )   61 - 72   2023.4

     More details

    Language:Japanese  

    DOI: 10.11309/jssst.40.2_61

    researchmap

  • 日本ソフトウェア科学会第39回大会報告

    コンピュータ ソフトウェア   40 巻 2 号   p. 2_61 - 2_72   2023.4

  • プログラミング言語 R-WHILE の処理系およびオンラインインターフェース

    2015

  • プログラミング言語 JANUS のオンラインインターフェースと整列プログラム

    2015

  • エンドユーザがプログラム可能な Wiki エンジン

    情報処理学会研究報告   2011-5-(3)   6 p.   2012.3

     More details

    Publisher:一般社団法人情報処理学会  

    Wiki は,誰でも自由にウェブブラウザ上でウェブサイトを書き換えることができる手軽さから広く活用 されてきている.Wiki 文書は,HTTP サーバ上では Wiki 記法で記述されており,ウェブブラウザなどか らの要求があるとハイパーテキストに変換されて,エンドユーザから閲覧される.さらに,エンドユーザ は閲覧時にフォームなどから Wiki 記法で Wiki 文書を自由に編集することができる.しかし,Wiki エン ジンが稼働するサーバ上で実行可能であるソースコードは,通常,Wiki 文書には記述できない.この理由 の 1 つは,管理者の意図しない悪意のある動作をするソースコードをサーバ上で実行できないようにする というセキュリティ上の制約である.我々は潜在的に危険をともなう IO アクションを分離して管理する ことにした.プログラミング言語 Haskell を Wiki エンジンの実装言語として選択して,IO モナド内でエ ンドユーザの記述した任意のコードを実行させないことで,管理者の意図しない悪意のある動作を防ぐと いうアプローチをとった.プログラマブルな Wiki ページは,プログラミング言語レベルのモジュールに 対応して,互いに参照し合うことができる.技術上の関心から極力 Wiki エンジンの深い部分まで,その Wiki 上でプログラミングができるように設計を試みた.プログラムの入力は,通常の Wiki 上のフォーム から可能であり,エンドユーザはクライアントに特別な環境を準備しなくても,その Wiki エンジンの開 発にリアルタイムに協調的に携わることが可能である.Wiki 文書において記述された副作用のある任意の アクションが実行されないことは Haskell のクラスを用いて静的型検査によって保証される.

  • 電池駆動システムにおけるプログラミング言語が与える消費エネルギーへの影響

    情報処理学会研究報告   Vol.2011-EMB-21(4)   5 p.   2011.3

     More details

    Publisher:一般社団法人情報処理学会  

    プログラミング言語の選択による情報通信端末の消費エネルギーの変化を定量的に評価する試みについて報告する.本稿では,アプリケーションの実装プログラミング言語ごとの消費電力への影響を,実情報端末において電力計で実測することにより確かめた.その結果,インタープリタ言語では消費電力の大きな揺れが観測されたが,コンパイル言語と同様の平均消費電力を示し,電池に与える影響の変化は限られた.われわれが実験を行った範囲では,プログラミング言語およびアプリケーションを変化させたときの1秒ごとの平均消費電力の変化は高々20%未満であり,その影響は軽微であることが確かめられた.われわれの知る範囲では,プログラミング言語ごとに消費電力/消費エネルギーの比較を行った報告は限られており,本研究で得られた基礎データは低消費エネルギーアルゴリズムや低消費エネルギープログラミングの研究を行う上での参考データとして貴重である.The trial of finding the programming language effects of energy consumption on a battery-powered system is presented. By means of a digital power meter, we measured the energy consumption of an information device on which different applications implemented in various programming languages run. While the power consumption fluctuated substantially when an interpretive language run on the device, the average power consumption of an interpretive language was not much different from that of a compiler language. The experimental results showed that the effects of what programming languages to use were limited; The change of the power consumption was up to approximately 20%. To the best of our knowledge the report on power/energy consumption of each programming language implementation has been limited and the result data is useful for studying the theoretical model of energy consumption and exploring energy efficient algorithms and programming.

  • Optimization of Input-Erasing Clean Reversible Simulation for Injective Functions

    Preliminary Proceedings of Reversible Computation   17 - 24   2010.7

  • AndroidプラットフォームにおけるDalvikバイトコードのCPU負荷量の解析

    組込み技術とネットワークに関するワークショップ   2010.3

     More details

    本稿では,ハードウェア独立な Dalvik バイトコードトレースから得られる情報を活用し,Android プラットフォームにおける CPU 負荷量の解析を行う.各 Dalvik バイトコードの CPU 負荷量を正確に精度良く解析するため,マイクロベンチマークの生成方法および実施方法を提示する.マイクロベンチマークの CPU 負荷量は,バイトコードの種類により最大 67 倍,引数のレジスタ値により最大 10 倍の差が存在した.したがって,アプリケーションの CPU 負荷量の正確なモデル化を行うためには,バイトコードの発行数のみならず,種類・引数を考慮する必要があることが明らかになった.以上により確立された解析手法を用いて,アプリケーション開発者に改善を提案するケーススタディを行った.実際に CPU 負荷量の削減方法を示唆できたことから,本解析手法の有効性が示された.We present a CPU load analysis method on Android platform by using hardware-independent trace information of Dalvik bytecodes. For the purpose of analysis, methods for generating and executing micro-benchmarks which issue the sequence of each Dalvik bytecode are introduced. The experimental results showed that the CPU load of micro-benchmarks was largely affected by the types arguments of bytecodes. Specifically, the variation of CPU load was up to 67 times over the types and 10 times over the arguments of given bytecodes. Therefore, not only the number of issued bytecode but also the types of bytecode and given arguments should be considered to construct an accurate CPU load model. Through a case study, the effectiveness of our approach for reducing CPU load has been validated.

  • 消費エネルギーを意識した可逆圧縮データ受信

    情報処理学会   Vol.2011-EMB-20 No.1   1 - 6   2010

     More details

    情報通信端末において,データ受信と可逆データ解凍を逐次的に行うよりも,パイプライン化した方が消費エネルギーの最適化が実現されるケースが存在することが明らかになった.パイプライン化によって,マルチパスの圧縮コマンド bunzip2 では消費エネルギーは悪化してしまったが,ストリーム処理が可能な LZ(Lempel-Ziv) 系のアルゴリズムの場合,顕著なエネルギー最適化が達成された.データ受信が安定的に行える環境下で,情報通信端末の消費電力を電力測定器によって計測したところ,逐次処理と比較してパイプライン処理は最大 22.8% の消費エネルギー削減が達成された.It has been shown that there is a certain case in which the pipeline processing is more energy efficient than the sequential processing. Because of pipelining processes, LZ (Lempel-Ziv) family algorithms achieved significant energy savings while multi-path compression command bunzip2 suffered energy degradation. The experimentation has been performed on a commercial data transmission device connected to a digital power meter under the stable data transmission. A pipelining processing outperformed a sequential processing by 22.8% in terms of energy consumption.

  • Reversible Computation and Reversible Programming Languages

    Dagstuhl Seminar   2010

  • Modeling Power Consumption of Applications in Wireless Communication Devices Using OS Level Profiles

    Proc. International SoC Design Conference   253 - 256   2009.11

     More details

    Publisher:IEEE  

    We propose a novel system level power estimation method for wireless communication devices. The method estimates the power consumption of a processor and external devices by only using OS level profile information (i.e., the system call information), and is applicable to both off-line and online power optimizations. Evaluations on a commercial wireless communication device showed that the method achieves an estimation error of less than 10%.

  • Functoriality in Reversible Circuits (work in progress)

    Preliminary Proceedings of Reversible Computation   68 - 72   2009.3

  • Reversible computation and reversible programming languages

    Preliminary Proceedings of Reversible Computation   17   2009.3

  • Analyzing and Optimizing Energy Efficiency of Algorithms on DVS Systems: A First Step towards Algorithmic Energy Minimization

    Proc. the Asia and South Pacific Design Automation Conference   727 - 732   2009.1

  • Heuristics for Static Voltage Scheduling Algorithms on Battery-Powered DVS Systems

    Proc. the 6th International Conference on Embedded Software and Systems   265 - 272   2009

  • Practical Energy-Aware Scheduling for Real-Time Multiprocessor Systems

    Proc. the International Conference on Embedded and Real-Time Computing Systems and Applications   383 - 392   2009

  • OSレベルのプロファイリング情報を用いた携帯端末アプリケーションの消費電力モデリング

    電子通信情報学会技術研究報告   Vol.108 No.478   49 - 54   2009

     More details

    Publisher:電子通信情報学会  

    通信端末のシステムレベルの消費電力予測を行う手法を提案する.本手法はプロセッサと周辺デバイスの消費電力を OS レベルのプロファイル情報のみを用いて予測するため,オフラインとオンラインの両者に適応可能である.商用の通信端末において通信を伴うアプリケーションを実行した評価では,本手法による予測消費電力の実測値に対するフィッティング誤差は 10% 以内に収まった.We propose a novel system level power estimation method for wireless communication devices. The method estimates the power consumption of processors and external devices by only using OS level profile information provided by system calls. The proposed method is applicable to on-line power estimation as well as off-line power estimation. Evaluations on a commercial wireless communication device showed that the method achieved an estimation error of less than 10 %.

  • Practical Energy-Aware Rate Monotonic Task Scheduling for DVS-Enabled Multiprocessor

    組込みシステムシンポジウム2008論文集   no. 9   23 - 30   2008.10

     More details

    Publisher:情報処理学会  

  • DVSシステムにおけるアルゴリズムレベルのエネルギー消費の解析と最適化

    組込みシステムシンポジウム2008論文集   no. 9   31 - 40   2008.10

     More details

    Publisher:情報処理学会  

  • Principles of a Reversible Programming Language

    Proc. the 2008 Computing Frontiers Conference   43 - 54   2008

     More details

    Publisher:ACM Press  

  • A Generalized Framework for Energy Savings in Real-Time Multiprocessor Systems

    Proc. the International SoC Design Conference   44 - 49   2008

  • 単射関数のクリーン可逆シミュレーション(Working Paper)

    日本ソフトウェア科学会第25回大会論文集   4C-1   1 - 9   2008

     More details

    Publisher:日本ソフトウェア科学会  

  • Reversible Structured Program Theorem

    Proc. The 18th Nordic Workshop on Programming Theory   93 - 95   2006

  • Calculation Rules for Warming-up in Fusion Transformation

    Proc. The Sixth Symposium on Trends in Functional Programming   399 - 412   2005

  • 決定論的2階パタンとプログラム変換への応用

    日本ソフトウェア科学会第20回記念大会論文集   16 - 19   2003

  • Yicho --- A System for Programming Program Calculations

    Proc. The Third Asian Workshop on Programming Languages and Systems   366 - 382   2002

  • 最大マーク付け問題の効率的プログラムの自動生成

    情報処理学会第36回プログラミング研究会   22 - 23   2001

     More details

    Publisher:情報処理学会  

▼display all

Presentations

  • Injectivity of a 2D Rabin-Karp String Matching Algorithm

    Yuki Yamahata, Souta Takase, Tetsuo Yokoyama

    Workshop on Informatics 2024  2024.12 

     More details

    Event date: 2024.12

    Language:Japanese   Presentation type:Oral presentation (general)  

    Venue:Nagoya   Country:Japan  

    researchmap

  • A Metric for Streamline Topology

    Toya Makino, Tetsuo Yokoyama

    Workshop on Informatics 2024  2024.12 

     More details

    Event date: 2024.12

    Language:Japanese   Presentation type:Oral presentation (general)  

    Venue:Nagoya   Country:Japan  

    researchmap

  • 可逆ハフマン符号化の設計および解析に関する研究

    第21回情報学ワークショップ  2023.12  静岡大学情報学部,第21回情報学ワークショップ実行委員会

  • 単射ハフマン木構築法の可逆的実現

    令和5年度 電気・電子・情報関係学会東海支部連合大会  2023.8  電気学会東海支部、電子情報通信学会東海支部、 情報処理学会東海支部、照明学会東海支部、 映像情報メディア学会東海支部、日本音響学会東海支部、 IEEE名古屋支部

  • 構造化可逆言語の拡張とその可逆性

    令和4年度 電気・電子・情報関係学会東海支部連合大会  2022.8  電気・電子・情報関係学会

     More details

    水野幹大,横山哲郎

  • 可逆ハフマン符号化のゴミ出力量の最適化

    電子情報通信学会2022年総合大会  2022.3  電子情報通信学会

     More details

    消費エネルギー最適化や量子コンピュータの実現に用いられる可逆計算法が研究されている.可逆計算法は計算の全過程の単射化により実現される.ハフマン符号化法と漸近的に同じ時間及び空間計算量でゴミ出力量Θ(n lg n) の可逆アルゴリズムが報告されている.ゴミ出力は,計算を単射化するために出力される情報であり,問題の本質的な解決に関わらない.本稿では,整列された頻度表を入力とするハフマン木構築法を基礎とする,ゴミ出力がなく1パスの可逆ハフマン木構築法を提案する.

  • 木構造の可逆深さ優先探索アルゴリズム

    令和2年度電気・電子・情報関係学会東海支部連合大会  2020.9  電気学会東海支部,電子情報通信学会東海支部,情報処理学会東海支部,照明学会東海支部,映像情報メディア学会東海支部,日本音響学会東海支部,IEEE名古屋支部

     More details

    線形時間かつ入力以外の空間使用量のオーバーヘッドが定数に収まるような木構造に対する可逆優先探索法を提案した。

  • Reversible Programs Have Reversible Semantics

    Reversibility in Programming, Languages, and Automata  2019.10 

     More details

    During the past decade reversible programming languages have been formalized using various established semantics frameworks. Common to these semantics is that they are weak at specifying the distinct properties of reversible languages at the metalevel, even including the central question whether the defined language is reversible. In this paper, we build upon a metalanguage foundation for reversible languages based on the category of sets and partial injective functions. We exemplify our approach by a step-by-step development of the full semantics of an r-Turing complete reversible while-language with recursive procedures. This leads to a formalization of the semantics in which the reversibility of the language and its inverse semantics are immediate, as well as the inversion of programs written in the language. We discuss further applications and directions for reversible semantics.

  • 量子桁上げ伝播加算器回路の深さの効率化について

    令和元年度 電気・電子・情報関係学会 東海支部連合大会  2019.9 

  • LMSを用いた理系文書作成能力向上のためのPDCAサイクル構築の試み

    2019年度ICT利用による教育改善研究発表会  2019.8  公益社団法人 私立大学情報教育教会,ICT利用教育改善発表会運営委員会

     More details

    理工系学部の学生に求められる理系文章作成能力の向上を目的として2017年度に取り組んだピアフィードバックの多様化に加えて,実習科目における課題解決の検討,レポート作成,相互評価,自己評価,次回に向けての改善の手順をPDCAサイクルとして構築する試みに取り組んだ.他者のレポートを閲覧・評価することで評価者としての視点を得ることができ,その後に他者からの評価を確認して自分のレポートを見直し自己評価することでレポートの問題点や改善点に気付き,次回のレポート作成に繋げることができる環境を整えた.

  • あるクラフトゲームの計算モデルについて

    情報処理学会 第81回全国大会  2019.3  情報処理学会

     More details

    Minecraftは,立方体のマス目に区切られた3次元空間にブロックを設置したり破壊したりしてものづくりを楽しむゲームである.本稿では,Minecraftの計算モデルの計算能力を調べる.具体的には,Minecraftの世界をセル・オートマトンとして抽象化し,論理ゲートを模倣するブロックの組合せをいくつか示し,論理ゲートの集合が完全系になる条件を述べる.また,計算万能であることが知られている機械を構成するための条件とその構成法を示す.

  • 円板上の非圧縮流の反転の解析

    情報処理学会 第81回全国大会  2019.3  情報処理学会

     More details

    円板上の非圧縮流は,血管などのパイプ流や医療機器における軸対称流の近似となっており,医学分野において重要な解析対象である.最外境界部をもつ単連結領域上の非圧縮流の反転をトポロジーにのみ着目することで解析を行う.トポロジーにのみ着目することで少量の計算資源でそのダイナミクスの解析が可能である一方で,流体の特性をどの程度表せるかは未知数である.本研究では,形式言語理論で広く使われている木文法の拡張を用いて,木表現で流線図のトポロジーを表現し,木表現の列で流線図の時間発展を表現する.本アプローチによって,ランダム外力駆動の2次元反転流の数値流体計算における反転現象をどの程度解析できるかを評価する.

  • Reversible Programming Languages and Reversible Programming

    SFDI2019: Second Workshop on Software Foundations for Data Interoperability  2019.2 

  • 理系文章作成能力の向上を目的としたピアフィードバック多様化

    ICT利用による教育改善研究発表会  2018.8  公益社団法人 私立大学情報教育協会

     More details

    理工系学部の学生に求められる理系文書作成能力を向上させ,その技術を定着させるための手法として実習科目におけるレポート作成,成果発表,ピアレビュー等のピアフィードバック(PF)の多様化に取り組んだ.PFの多様化には資料提供やレポート提出に使用してきたLMSを用いることで学生,教員の負担を増すことなく効率的な導入を実現した.アンケート調査やピアレビューの結果から本実践の有効性を確認した.

  • 可逆プログラミング言語R-WHILEによる万能可逆チューリング機械の構成

    情報処理学会第79回全国大会  2017.3  情報処理学会

     More details

    可逆プログラミング言語R-WHILEの計算モデルは,万能可逆チューリング機械と同じ計算能力があるとされている.しかし,筆者の知る限りにおいて,その具体的な証明についてはこれまで報告が無かった.本稿では任意の可逆チューリング機械を,意味が同じR-WHILEプログラムに変換できることを示す.このことにより,可逆万能チューリング機械のR-WHILEプログラムが構成できることを示す.

  • Clean Reversible Simulation of Ranking Binary Trees

    The 19th JSSST Workshop on Programming and Programming Languages  2017.3  JSSST

     More details

    We propose clean reversible simulations of ranking binary trees and unranking as reversible algorithms for reversible computing systems, which are useful for enumerating and randomly generating binary trees. Algorithms for ranking binary trees and their inverses have been studied since the 1970s. Each of them can be made to be a reversible simulation by saving all the data and control information otherwise lost, and each pair of ranking and unranking reversible programs can be combined to realize a clean reversible simulation. However, such a clean reversible simulation requires multiple traversal of the given data and/or intermediate data as well as additional storage proportional to the length of the computation. We show that for Knott's ranking and unranking algorithms the additional storage usage can be reduced by using the proper assertions of reversible loops in embedded reversible simulations. We also show a clean reversible simulation that involves only one traversal. The running time and memory usage of the proposed clean reversible simulations are asymptotically equivalent to those of the original programs by Knott. All the reversible programs presented in this paper can be run on an interpreter of the reversible programming language Janus.

  • 二分木のランク計算のクリーン可逆シミュレーション

    日本ソフトウェア科学会第33回大会  2016.9  日本ソフトウェア科学会

     More details

    可逆計算システムで用いる可逆アルゴリズムのひとつとして,二分木の列挙やランダム生成に有用な二分木のランク・アンランク計算のクリーン可逆シミュレーションを提案する.二分木のランク計算やその逆計算を行う非可逆アルゴリズムは1970年代から研究が行われてきており,これらの成果を用いてランク計算の関数とその逆関数のそれぞれの可逆シミュレーションを組み合わせてクリーン可逆シミュレーションを行うことはできる.しかし,こうした可逆シミュレーションでは,複数回のパスおよびに実行時間に比例した大きさのメモリが必要である.これに対してわれわれの可逆シミュレーションは,1パスで,漸近的な実行時間とメモリ使用量が元のアルゴリズムと同じである.本稿中の可逆プログラムは,可逆言語Janusの処理系で動作を確認できる.

  • On the Theory of Reversible Flowchart Languages

    Quantum Programming and Circuits Workshop  2015.6  University of Waterloo

     More details

    Flowcharts are a fundamental tool used pervasively in computer science. In this talk, we survey the fundamental properties of reversible flowcharts, which are classical flowcharts with restrictions on join points and atomic step operators. Reversible flowcharts are as expressive as any reversible computation models such as reversible Turing machines and are able to simulate any irreversible computation. The theoretical basis of structured programming in high-level reversible languages is provided by a reversible version of the Structured Program Theorem. We illustrate the design of high-level and low-level reversible programming languages and their translators, based on the reversible flowchart model. We highlight their features by demonstrating a reversible version of Dijkstra's permutation-to-code algorithm.

  • A Linear-Time Reversible Self-Interpreter

    第17回プログラミングおよびプログラミング言語ワークショップ  2015.3  日本ソフトウェア科学会

     More details

    This paper explores a novel combination of language features in re- versible programming languages. The two imperative languages that we introduce have reversible structured control flow operators and symbolic tree-structured data (S-expressions). The latter allows to model many familiar data structures in an easy way, which is more difficult in existing reversible imperative languages, which so far only provide integers, stacks and arrays as data types. Most importantly, it is shown for the first time in a most expressive reversible imperative language that tree-structured data enable efficient self-interpretation in the sense of Jones. We prove that the languages are r-Turing complete (most expressive), i.e. they are computationally as powerful as any reversible language can get, and cleanly reversible, i.e. programs can run backward without first tracing a forward computation. The languages presented here are two new versatile instances of our structured reversible flowchart paradigm, and intended to serve as a basis for future studies of reversible programming languages, transformation and algorithms.

  • 可逆プログラミング言語の引数渡し機構の拡張

    第98回プログラミング研究会  2014.3  情報処理学会

     More details

    本稿では,可逆プログラミング言語Janus の引数渡し機構を拡張して,その拡張言語が可逆であることを示す.参照渡しのモデル化には,同一の参照をもつかもしれない複数の変数名が同じ記憶場所を指せるメモリモデルが必要である.これは既存のJanus で用いられていた状態モデルでは直接には扱うことができない.この問題を解決するために,われわれは,環境・記憶域モデルを導入して意味論を改良した.この結果,プロシージャの実引数には,局所変数や局所配列変数だけでなく大域変数や添字付き配列変数の参照,および同一の参照をもつ複数の構文対象も渡せるようになった.拡張言語が可逆であることの保証には,環境と記憶域の更新が可逆であることの保証が必要がある.これらの更新は,制限された可逆操作のみ用いて実現することで,可逆であることを保証する.われわれは,拡張言語が他にも既存のJanusの良い性質を保っていることを示す.すなわち,任意の文やプロシージャ呼び出しの逆実行ができること,および任意の文に対して逆文が存在してそれを求めるプログラム逆変換器が構成できることを示す.さらに,われわれは,プログラミング言語を可逆にするために課されていた代入の構文上の制限を緩和する.このことが原因で起こる記憶域の不正な更新は,大域のプログラム解析をせずとも,効率的に検知することができる.われわれが新たに定義した意味論は,既存の構文では同一の意味が与えられるという点で,既存言語からの単純な拡張となっている.

  • リストの可逆分割アルゴリズムを利用したゴミ情報が最適な可逆クイック整列法の生成

    第76回全国大会  2014.3  情報処理学会

     More details

    本論文では文献[1] におけるゴミ情報の生成・マージの手法を応用し,より一般性の高い手法を提案する.文献[1] では,ゴミ情報量が最適なリストの可逆分割アルゴリズムを提案している.ここではさらに提案したアルゴリズムを利用してクイックソートを生成し,分割の際のゴミ情報量が最適であること,再帰呼び出しの際にゴミ情報の最適な伝播が実現できていることの2 点を示している.しかし,この手法はクイックソートに特有のサブプロシージャに対して最適なゴミ情報の生成を保証することにより実現されており,この手法をそのまま他のアルゴリズムに応用することが難しい.そこで,本研究ではアルゴリズムのより小さな構成要素に最適なゴミ情報を生成させ,それらの最適性を保ったままより大きな構成要素へとマージを行う手法を提案し,既存の手法の応用性を高める.なお,ここではゴミ情報とは非可逆アルゴリズムを可逆化する際に記録する必要があり,可逆化する前の非可逆アルゴリズムにおいては記録する必要のない情報を表す.

  • 引数渡し機構をもつ可逆プログラミング言語の可逆性

    第76回全国大会  2014.3  情報処理学会

     More details

    計算過程が可逆とは,任意の状態でその直前と直後の状態が存在すればそれぞれ必ず一意に定まることをいう.可逆プログラミング言語とは,そのプログラムの実行過程が必ず可逆になるような言語設計がなされているプログラミング言語であり,可逆論理回路の設計[1] やプログラミング言語理論の研究対象[2] として使われている.そうした言語のひとつであるJanusでは,構文規則や意味規則における制限によって可逆性を実現しており,その結果,可逆プログラムでのみ可能な逆実行をするための機構を備えている.現在のJanus[3] は,引数機構が未整備のために可読性や簡潔性が欠如していると考えられる点がある.原因のひとつとして,状態モデルによって識別子のみを渡すことのできる引数渡し機構が用いられていることが挙げられる.このため,識別子以外の式の評価値や参照を渡すことが困難であった.そこで,我々は左辺値を意味領域に含むことのできる環境・記憶域モデルを採用し,可逆性をもつ値渡しと参照渡しの機構を実現する.Janus では,複合代入演算の左辺に出現した識別子が右辺に出現してはならないという制約があるが,この拡張により,プログラム全域のプログラム解析をしなくてもその複合代入演算文の実行時にその文の情報だけからこの制約の確認ができるようになる.また,引数を伴うプロシージャ呼出しが,より読みやすく簡潔に記述できるようになる.本稿では,引数渡し機構を拡張して表現力の増したJanus が可逆性をもつことの説明の概略を示す.

  • A High-Level Reversible Programming Language

    Dagstuhl Seminar on Design of Reversible and Quantum Circuits  2011.12 

▼display all

Awards

  • 高橋奨励賞

    2010.3   日本ソフトウェア科学会  

  • The Best Paper Award

    2008.11   LG Electronics   2008年に発表した論文

  • LG Electronics Co., Ltd. Best Paper Award

    2008   International SoC Design Conference 2008  

     More details

Research Projects

  • 最小の余剰データをもつ効率的プログラム可逆化に関する研究

    2022

    日本学術振興会  科学研究費補助金 基盤研究(C)  基盤研究(C)

      More details

    Grant type:Competitive

    Grant amount:\2080000

  • 効率性と拡張性をもつ可逆アルゴリズム族の系統的な設計と解析

    2018

    日本学術振興会  科学研究費補助金 基盤研究(C)  基盤研究(C)

      More details

    Authorship:Principal investigator  Grant type:Competitive

    Grant amount:\3510000

    https://kaken.nii.ac.jp/ja/grant/KAKENHI-PROJECT-18K11250/

  • 関数型の視点からの効率的可逆シミュレーションおよび可逆プログラミング方法論の拡張

    2013

    独立行政法人 日本学術振興会  科学研究費補助金 若手研究(B)  若手研究(B)

      More details

    Grant type:Competitive

    Grant amount:\4030000

  • 可逆計算と双方向変換の学術的研究フロンティアの探究

    2011.4 - 2012.3

    国立情報学研究所  共同研究一般研究公募型 

      More details

    Authorship:Principal investigator 

    researchmap

  • Design and Implementation of Reversible Computing Systems andReversible Programming Languages

    Grant number:22700042  2010 - 2012

    Japan Society for the Promotion of Science  Grants-in-Aid for Scientific Research Grant-in-Aid for Young Scientists (B)  Grant-in-Aid for Young Scientists (B)

    YOKOYAMA Tetsuo

      More details

    Grant amount:\2730000 ( Direct Cost: \2100000 、 Indirect Cost:\630000 )

    We conducted a research for developing the fundamental theory on reversible computing systems, finding the principles on high-level programming languages, and developing the methodology for manipulating such languages. We proposed an optimization of Bennett's reversible simulation that requires half of the computational steps for a class of injective programs such as some lossless encoders and decoders. The proposed reversible simulationwas demonstrated on a high-level programming language that we formalized.

    researchmap

  • プログラム運算の記述言語の設計及びその実現に関する研究

    2004

    独立行政法人 日本学術振興会  科学研究費補助金 特別研究員奨励費  特別研究員奨励費

      More details

    Authorship:Principal investigator  Grant type:Competitive

  • プログラミングの方法論

      More details

    計算機プログラムおよび計算機アーキテクチャを数理的にとらえて、プログラミングの方法論にあらたな視点を与える。

  • 効率的プログラム可逆化に関する研究

      More details

    プログラムの実行による効果を元に戻すためには、実行履歴などの余剰データを保持するようなプログラム可逆化が有効である。この余剰データを最小化する具体的な構成方法を精査する。また、基本的なアルゴリズムに対して、この余剰データを最小化するような効率的プログラム可逆化を考案して評価する。

▼display all

Other

  • 令和6年度数学科高大連携研究会

    2024.6

     More details

    愛知県高等学校数学研究会が例年開催している数学科高大連携研究会に講師として参加した。
    http://www.tcp-ip.or.jp/~aisuu/

  • 令和5年度数学科高大連携研究会

    2023.6

     More details

    愛知県高等学校数学研究会が例年開催している数学科高大連携研究会に講師として参加した。
    http://www.tcp-ip.or.jp/~aisuu/

Teaching Experience

  • Information Systems

    2025.11 Institution:Nanzan University

     More details

    Level:Postgraduate  Country:Japan

    researchmap

  • Project-based learning

    2023.6 Institution:Nanzan University

     More details

    Level:Undergraduate (specialized)  Country:Japan

    researchmap

  • Network programming

    2022.9 Institution:Nanzan University

     More details

  • Advanced Programming

    2018.11 Institution:Nanzan University

     More details

  • Basic programming

    2015 Institution:Nanzan University

     More details

  • Informatics

    2013 Institution:Nanzan University

     More details

    Level:Graduate (liberal arts)  Country:Japan

    researchmap

  • ソフトウェア工学特別講義

    2020 Institution:南山大学

     More details

    Level:Undergraduate (specialized)  Country:Japan

    2020年 https://porta.nanzan-u.ac.jp/syllabus/html/2020_40008922.html

    researchmap

  • Special Topics in Software Engineering

    2019 Institution:南山大学

     More details

    Level:Undergraduate (specialized)  Country:Japan

    2019年

    researchmap

  • 情報システム開発実習

    2018 - 2021 Institution:南山大学

     More details

  • Advanced Programming

    2016 Institution:Nanzan University

     More details

  • プログラミング応用実習

    2016 Institution:南山大学

     More details

  • ソフトウェア工学演習

    2015 - 2016 Institution:南山大学

     More details

    Level:Postgraduate  Country:Japan

    2015年 https://porta.nanzan-u.ac.jp/syllabus/html/2015_30002053.html
    2016年 https://porta.nanzan-u.ac.jp/syllabus/html/2016_30002053.html

    researchmap

  • ソフトウェア工学実習

    2015 Institution:南山大学

     More details

    Level:Undergraduate (liberal arts)  Country:Japan

    2015年 https://porta.nanzan-u.ac.jp/syllabus/html/2015_30003766.html

    researchmap

  • プログラミング基礎実習

    2015 Institution:南山大学

     More details

  • 卒業研究I~IV/IE~IVE

    2013.4 Institution:南山大学

     More details

  • ソフトウェア工学実習

    2013 Institution:南山大学

     More details

    2013年 https://porta.nanzan-u.ac.jp/syllabus/html/2013_30002647.html

    researchmap

  • 情報理工学概論

    2013 Institution:南山大学

     More details

    Level:Undergraduate (liberal arts)  Country:Japan

    2013年 https://porta.nanzan-u.ac.jp/syllabus/html/2013_30002094.html

    researchmap

  • ソフトウェア工学演習I~VIII

    2012.4 Institution:南山大学

     More details

  • 基礎演習

    2011 - 2013 Institution:南山大学

     More details

  • ソフトウェア開発技術II

    2011 Institution:南山大学

     More details

    Level:Undergraduate (specialized)  Country:Japan

    2011年 http://office.nanzan-u.ac.jp/SYLLABUS/2011/SYLLABUS/20110234341.htm
    2012年 https://porta.nanzan-u.ac.jp/syllabus/html/2012_30001762.html

    researchmap

  • プログラミング応用実習

    2010 - 2012 Institution:南山大学

     More details

  • プログラミング基礎実習

    2009 - 2013 Institution:南山大学

     More details

    2009年プログラミング実習II http://office.nanzan-u.ac.jp/SYLLABUS/2009/SYLLABUS/20090230242.htm
    2010年 http://office.nanzan-u.ac.jp/SYLLABUS/2010/SYLLABUS/20100230242.htm

    researchmap

  • コンピュータ基礎演習II

    2009 - 2011 Institution:南山大学

     More details

  • コンピュータ基礎演習I

    2009 - 2010 Institution:南山大学

     More details

    Level:Undergraduate (liberal arts)  Country:Japan

    researchmap

  • プログラミング実習III

    2009 Institution:南山大学

     More details

    Level:Undergraduate (liberal arts)  Country:Japan

    2009年 http://office.nanzan-u.ac.jp/SYLLABUS/2009/SYLLABUS/20090230253.htm
    2010年 http://office.nanzan-u.ac.jp/SYLLABUS/2010/SYLLABUS/20100230253.htm

    researchmap

▼display all

Social Activities

  • 「愛知からくりくふう展in刈谷」におけるレゴライントレースカーのプログラミング体験教室

    Role(s): Lecturer, Planner

    愛知県,刈谷市,公共社団法人日本プラントメンテナンス協会  2016.3

     More details

    Type:Science cafe

    researchmap

  • 大学コンソーシアムせと協議会副会長

    2012.4 - 2013.3

  • 大学コンソーシアムせと協議会委員

    Role(s): Organizing member

    大学コンソーシアムせと  2011.4 - 2013.3