2025/12/03 更新

写真a

モリグチ ソウスケ
森口 草介
moriguchi sosuke
所属
情報理工学院 助教
職名
助教
外部リンク

学位

  • 博士(工学) ( 東京工業大学 )

研究分野

  • 情報通信 / ソフトウェア

所属学協会

論文

  • Formalizing Reversible Computations for Synchronous Dataflow Languages with Infinite Lists 査読 国際誌

    Sosuke Moriguchi, Satoshi Takimoto, Mizuki Shirai, Takuo Watanabe

    Proceedings of the Workshop on Computation: Theory and Practice (WCTP 2024)   7 - 19   2025年4月

     詳細を見る

    記述言語:英語   掲載種別:研究論文(国際会議プロシーディングス)   出版者・発行元:Atlantis Press  

    Computational systems that deal with discrete time, such as stream computations and synchronous data flow languages, can be modeled using lists. However, most list operations are on finite lists, and it is not easy to define them for infinite lists to express persistent behavior. In particular, when using theorem provers, intuitive definitions are unacceptable due to restrictions on the handling of infinities. When integrating computational failures into the system, existing research either directly expresses failures or utilizes a mechanism that continues to send invalid values indefinitely. Still, the latter cannot determine failures in terms of computation. In this study, we formalize a model of a reversible synchronous dataflow language using finite and infinite lists and show that the semantics of each correspond to each other using the Coq theorem prover. For infinite lists, the inconsistency that arises as a result of incorporating failures into the list is resolved using finite lookahead.

    DOI: 10.2991/978-94-6463-684-0_2

    researchmap

  • 組込みシステム向けFRP言語における状態遷移モデルに基づいた周辺装置の状態制御 査読

    瀧本哲史, 森口草介, 渡部卓雄

    コンピュータソフトウェア   42 ( 1 )   40 - 53   2025年1月

     詳細を見る

    記述言語:日本語   出版者・発行元:日本ソフトウェア科学会  

    小規模組込みシステム向けFRP言語XStorm では,状態遷移モデルに基づいて時変値間の関係を動的に変更でき,状態依存動作を簡潔に記述できる. しかし,例えば消費電力削減のため,状態に応じて使用する周辺装置を切替えるといった際に,C言語で書かれた周辺装置のドライバコード内で切替え処理を書く必要があった. その結果,XStormプログラムとドライバコードの間のロジックの不整合が検出できない. 本研究では,XStormの状態遷移モデルを発展させ,状態ごとに周辺装置の電源等の状態(モード)を宣言できるようにすることで,FRP言語内での周辺装置のモードの切替えも含めたロジックの記述を可能にした. これにより前述の問題を解決したほか,ランタイムによるモードの自動管理を行えるようになった.

    DOI: 10.11309/jssst.42.1_40

    CiNii Research

    researchmap

    その他リンク: https://ndlsearch.ndl.go.jp/books/R000000004-I033958092

  • mruby on Resource-Constrained Low-Power Coprocessors of Embedded Devices 査読 国際誌

    Go Suzuki, Takuo Watanabe, Sosuke Moriguchi

    Proceedings of the 21st ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes (MPLR ’24)   41 - 47   2024年9月

     詳細を見る

    記述言語:英語   掲載種別:研究論文(国際会議プロシーディングス)   出版者・発行元:ACM  

    As IoT devices advance, their microcontroller systems-on-a-chip (SoCs) demand higher speeds, more memory, and advanced peripherals, leading to increased power consumption. Integrating low-power (LP) coprocessors in SoCs can reduce power usage while maintaining responsiveness. However, switching application execution to and from the coprocessors generally involves complex and platform-specific procedures. We propose a JIT compilation method for managed programming languages to streamline LP coprocessor use. Our prototype for the programming language mruby includes a JIT compiler and a seamless processor-switching mechanism, enabling rapid development of IoT applications leveraging LP coprocessors. This work-in-progress paper describes the design and implementation of the extended mruby interpreter and presents preliminary evaluations of its power consumption and latency on ESP32-S3 and ESP32-C6.

    DOI: 10.1145/3679007.3685064

    researchmap

  • 同期的データフロープログラミングにおける逆計算の構成方式 査読

    白井瑞貴, 森口草介, 渡部卓雄

    コンピュータソフトウェア   41 ( 3 )   34 - 40   2024年7月

     詳細を見る

    記述言語:日本語   出版者・発行元:日本ソフトウェア科学会  

    プログラムの出力から入力を求めることを逆計算という.本論文では同期的データフロープログラミングにおける逆計算を扱い,特に,順計算と逆計算の両方を逐次的に行えるという性質を保証しながらプログラムを構成する手法について議論する.同期的データフロープログラムは,全ての入力を読み込んで出力を返して停止するのではなく,時間的な列として順に与えられる入力に対して出力を返し続けなければならない.したがってその逆計算の手法は一般的なパラダイムのものと異なる.本論文では同期的データフロープログラミングのパラダイムを列の変換としてモデル化し,それに対する逐次的な逆計算の概念を定義する.さらに,逐次的な逆計算が可能なシステムを単射部分関数を用いて構成する方法を定義することで,逐次的な逆計算のための制約を部分関数の単射性に帰着する.この議論は逐次的な逆計算を保証する同期的データフロー言語の設計の指針になりうる.

    DOI: 10.11309/jssst.41.3_34

    CiNii Research

    researchmap

  • Event by Timing: Periodic and Time-Sequencing Responses

    Sosuke Moriguchi, Takuo Watanabe

    Atlantis Highlights in Computer Sciences   2024年

     詳細を見る

    記述言語:英語  

    DOI: 10.2991/978-94-6463-388-7_10

    researchmap

  • Switching Mechanism for Update Timing of Time-Varying Values in an FRP Language for Small-Scale Embedded Systems. 査読

    Akihiko Yokoyama, Sosuke Moriguchi, Takuo Watanabe

    Proceedings of the 13th International Conference on Software and Computer Applications(ICSCA)   45 - 54   2024年

     詳細を見る

    記述言語:英語   掲載種別:研究論文(国際会議プロシーディングス)   出版者・発行元:ACM  

    DOI: 10.1145/3651781.3651789

    researchmap

    その他リンク: https://dblp.uni-trier.de/rec/conf/icsca/2024

  • Developing Distributed Systems with Multiparty Functional Reactive Programming 査読 国際誌

    Sosuke Moriguchi, Takuo Watanabe

    Proc. 5th World Symposium on Software Engineering (WSSE '23)   61 - 66   2023年12月

     詳細を見る

    記述言語:英語   掲載種別:研究論文(国際会議プロシーディングス)   出版者・発行元:ACM  

    For distributed systems in Functional Reactive Programming (FRP), we have been interested in glitch avoidance.
    FRP describes systems by dataflow of time-varying values which are abstractions of values that change over time.
    A glitch is a kind of inconsistencies between time-varying values due to update timing.
    There are several researches for glitch avoidance and/or consistency of the values.
    Since distributed systems often assume no global clocks nor locks, the existing methods send many messages to ensure one of these properties.
    We propose a multi-party FRP language, named MPFRP.
    In MPFRP, we describe some parties of time-varying values for the distributed system.
    A party is a dataflow network whose time-varying values are updated consistently each other, but independently with those in other parties.
    The concept of parties gives us a flexible scope for ensuring consistency and minimizing messages.

    DOI: 10.1145/3631991.3632000

    researchmap

  • Periodic and Aperiodic Task Description Mechanisms in an FRP Language for Small-Scale Embedded Systems 査読 国際誌

    Kento Sogo, Yuta Tsuji, Sosuke Moriguchi, Takuo Watanabe

    Proc. 10th International Workshop on Reactive and Event-based Languages & Systems   43 - 53   2023年10月

     詳細を見る

    記述言語:英語   掲載種別:研究論文(国際会議プロシーディングス)   出版者・発行元:ACM  

    This paper presents mechanisms for describing real-time tasks in functional reactive programming (FRP) languages for small-scale embedded systems. We have designed and implemented Emfrp, an FRP language for resource-constrained systems, and demonstrated its usefulness with several applications. However, the language requires using external clocks as time-varying values when describing time-dependent behaviors. In this work, we extend the types of time-varying values that express their update timings to describe periodic and aperiodic tasks. The extensions enable concise and precise descriptions of various timed behaviors. We evaluate prototype implementations of the extended languages concerning program size, execution time, and power consumption.

    DOI: 10.1145/3623506.3623578

    researchmap

  • Implementation and Evaluation of an Interpreter for Functional Reactive Programming on Small Embedded Devices. 査読

    Go Suzuki, Takuo Watanabe, Sosuke Moriguchi

    Programming   12 - 16   2023年

     詳細を見る

    記述言語:英語   掲載種別:研究論文(国際会議プロシーディングス)  

    DOI: 10.1145/3594671.3594674

    researchmap

    その他リンク: https://dblp.uni-trier.de/db/conf/programming/programming2023.html#SuzukiWM23

  • Towards Introducing Asynchronous Tasks to an FRP Language for Small-Scale Embedded Systems 査読

    Akihiko Yokoyama, Sosuke Moriguchi, Takuo Watanabe

    Proceedings of the 9th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems   1 - 12   2022年11月

     詳細を見る

    記述言語:英語   掲載種別:研究論文(国際会議プロシーディングス)   出版者・発行元:ACM  

    DOI: 10.1145/3563837.3568338

    researchmap

  • A Functional Reactive Programming Language for Small-Scale Embedded Systems with Recursive Data Types 査読

    Akihiko Yokoyama, Sosuke Moriguchi, Takuo Watanabe

    Journal of Information Processing   29   685 - 706   2021年10月

     詳細を見る

    記述言語:英語   掲載種別:研究論文(学術雑誌)   出版者・発行元:Information Processing Sociey of Japan  

    We introduce a new type system to Emfrp, a functional reactive programming (FRP) language designed for resource-constrained embedded systems. Functional reactive programming is a programming paradigm that allows concise descriptions of reactive systems such as GUIs by combining time-varying values that express values changing over time. Emfrp is a domain-specific language based on FRP, designed and developed for small-scale embedded systems. Because the language can statically determine the amount of runtime memory and guarantee the termination of reactive actions, a program written in Emfrp can safely continue reactive behaviors in resource-constrained environments. To ensure these properties, Emfrp disallows the use of recursive data types and functions. However, such restrictions often impose unnatural representations of data structures like lists or trees. The declarative characteristic of FRP and these restrictions impel us to write poorly maintainable redundant codes or deter us from writing certain types of programs. In this paper, we propose EmfrpBCT, an extended Emfrp with size-annotated recursive data types, to overcome this problem. The proposed system is more expressive than Emfrp, yet, it retains the aforementioned static properties. After explaining that through examples, we describe the features of EmfrpBCT, formalize the language, present an algorithm for statically computing the runtime memory bounds, and prove its soundness. Moreover, we implemented a compiler from EmfrpBCT to C, measured the translation time, and evaluated runtime overhead.

    DOI: 10.2197/ipsjjip.29.685

    researchmap

  • Functional Reactive Programming for Embedded Systems with GPGPUs. 査読

    Yoshitaka Sakurai, Sosuke Moriguchi, Takuo Watanabe

    ICSCA 2021, 10th International Conference on Software and Computer Applications(ICSCA)   75 - 80   2021年

     詳細を見る

    記述言語:英語   掲載種別:研究論文(国際会議プロシーディングス)   出版者・発行元:ACM  

    DOI: 10.1145/3457784.3457795

    researchmap

    その他リンク: https://dblp.uni-trier.de/db/conf/icsca/icsca2021.html#SakuraiMW21

  • WSAN向けマクロプログラミング言語の提案 査読

    後藤 司, 森口 草介, 渡部 卓雄

    コンピュータ ソフトウェア   38 ( 2 )   20 - 26   2021年

     詳細を見る

    記述言語:日本語   掲載種別:研究論文(学術雑誌)   出版者・発行元:日本ソフトウェア科学会  

    DOI: 10.11309/jssst.38.2_20

    Scopus

    CiNii Books

    CiNii Research

    researchmap

    その他リンク: https://ndlsearch.ndl.go.jp/books/R000000004-I031471020

  • Operations for Shape Transformations based on Angles. 査読

    Momo Tosue, Sosuke Moriguchi, Kazuko Takahashi

    Proceedings of the 11th International Conference on Agents and Artificial Intelligence   576 - 583   2019年

     詳細を見る

    記述言語:英語   掲載種別:研究論文(国際会議プロシーディングス)   出版者・発行元:SciTePress  

    DOI: 10.5220/0007359305760583

    researchmap

    その他リンク: https://dblp.uni-trier.de/db/conf/icaart/icaart2019-2.html#TosueMT19

  • Transformation from PROLEG to a Bipolar Argumentation Framework. 査読

    Tastuki Kawasaki, Sosuke Moriguchi, Kazuko Takahashi

    Proceedings of the Second International Workshop on Systems and Algorithms for Formal Argumentation (SAFA 2018) co-located with the 7th International Conference on Computational Models of Argument (COMMA 2018), Warsaw, Poland, September 11, 2018.   36 - 47   2018年

     詳細を見る

  • Expressing the Characteristics of an Argumentation Framework. 査読

    Sosuke Moriguchi, Kazuko Takahashi

    Proceedings of the Second International Workshop on Systems and Algorithms for Formal Argumentation (SAFA 2018) co-located with the 7th International Conference on Computational Models of Argument (COMMA 2018), Warsaw, Poland, September 11, 2018.   60 - 71   2018年

     詳細を見る

    記述言語:英語   出版者・発行元:CEUR-WS.org  

    researchmap

    その他リンク: http://dblp.uni-trier.de/db/conf/comma/safa2018.html#conf/comma/MoriguchiT18

  • Superposition of Qualitative Rectangles using a Quantitative Model 査読

    Takeaki Kato, Sosuke Moriguchi, Kazuko Takahashi

    ICAART: PROCEEDINGS OF THE 9TH INTERNATIONAL CONFERENCE ON AGENTS AND ARTIFICIAL INTELLIGENCE, VOL 2   423 - 430   2017年

     詳細を見る

    記述言語:英語   掲載種別:研究論文(国際会議プロシーディングス)  

    DOI: 10.5220/0006123404230430

    Web of Science

    researchmap

  • Verification of Content-Centric Networking Using Proof Assistant 査読

    Sosuke Moriguchi, Takashi Morishima, Mizuki Goto, Kazuko Takahashi

    IEICE TRANSACTIONS ON COMMUNICATIONS   E99B ( 11 )   2297 - 2304   2016年11月

     詳細を見る

    記述言語:英語   掲載種別:研究論文(学術雑誌)  

    DOI: 10.1587/transcom.2016NEP0013

    Web of Science

    researchmap

  • Towards Verified Construction for Planar Class of a Qualitative Spatial Representation. 査読

    Sosuke Moriguchi, Mizuki Goto, Kazuko Takahashi

    7th International Symposium on Symbolic Computation in Software Science, SCSS 2016, Tokyo, Japan, March 28-31, 2016   117 - 129   2016年

     詳細を見る

  • レコードの拡張を許す対話的修正機構

    森口 草介, 高橋 和子

    コンピュータ ソフトウェア   33 ( 2 )   2_125 - 2_138   2016年

     詳細を見る

    記述言語:日本語   出版者・発行元:日本ソフトウェア科学会  

    我々は対話的証明支援系Coqに対して,対話的修正機構という,既存の証明済みの体系に対する拡張をサポートする機構の提案を行った.提案した機構では,宣言した帰納型に対する新しい構成子の追加を可能としていた.しかし,この機構では既存の構成子や型,関数に対する新たなパラメータの追加は不可能であった.<BR>本論文では,レコードに対して新たなフィールドを追加する手法と,その場合のCoqにおける型システムの制限について分析する.この手法は,レコードだけでなく,構築子や関数に対するパラメータの追加も可能とするが,その場合の問題点についても述べる.

    DOI: 10.11309/jssst.33.2_125

    researchmap

  • Formalization of the Behavior of Content-Centric Networking 査読

    Sosuke Moriguchi, Takashi Morishima, Mizuki Goto, Kazuko Takahashi

    10TH INTERNATIONAL CONFERENCE ON FUTURE NETWORKS AND COMMUNICATIONS (FNC 2015) / THE 12TH INTERNATIONAL CONFERENCE ON MOBILE SYSTEMS AND PERVASIVE COMPUTING (MOBISPC 2015) AFFILIATED WORKSHOPS   56   197 - 204   2015年

     詳細を見る

    記述言語:英語   掲載種別:研究論文(国際会議プロシーディングス)  

    DOI: 10.1016/j.procs.2015.07.197

    Web of Science

    researchmap

  • 実時間システム向け文脈指向言語ProcneJ

    安原 由貴, 森口 草介, 渡部 卓雄

    情報処理学会論文誌. プログラミング   6 ( 3 )   2013年12月

     詳細を見る

    記述言語:日本語   出版者・発行元:一般社団法人情報処理学会  

    組込みシステム等において典型的に要求される性質に実時間制約がある.実時間制約は横断的関心事の1つであり,プログラムを複雑にする.本研究の目的は,文脈指向プログラミングの考え方に基づいた実時間制約の記述方式とそのモジュール化手法,およびそれに基づくプログラミング言語の提案である.実時間システムのプログラムは,外部環境などの変化に加え,時刻および時間経過に依存する振舞いを示すプログラムと考えることができる.そこで我々は時刻や時区間を文脈と見なすことで,文脈指向プログラミングの考え方を用いた実時間制約の記述方式を提案する.さらに時間の経過は位置情報などの外部要因による文脈の変化と同様にとらえることができるため,我々は時間の経過をイベントとしてとらえ,EventCJのような状態遷移モデルに基づく文脈の活性化制御を導入した.以上の考え方に基づいて設計された言語ProcneJでは,状態遷移を宣言するプロセス記述と実行可能なコードを記述するク

    researchmap

  • An interactive extension mechanism for reusing verified programs. 査読

    Sosuke Moriguchi, Takuo Watanabe

    Proceedings of the 28th Annual ACM Symposium on Applied Computing, SAC '13, Coimbra, Portugal, March 18-22, 2013   1236 - 1243   2013年

     詳細を見る

  • 定理証明支援系Coqへの対話的修正機構の導入

    森口 草介, 渡部 卓雄

    情報処理学会論文誌プログラミング(PRO)   5 ( 4 )   27 - 38   2012年9月

     詳細を見る

    記述言語:日本語   出版者・発行元:情報処理学会  

    定理証明支援系Coqに対する,対話的にプログラムの変更・修正を行うための手法を提案し,その手法をCoqに組み込んだECoqを実装する.定理証明支援系によるプログラムの検証は,プログラムがある性質を満たすという証明により行われる.この証明はプログラムの構造や記述と非常に強く結び付いているため,プログラムを変更した場合,証明もまたその変更に依存した変更を行わなければならない.しかし,プログラムと証明の一貫性を保つために必要な変更箇所は,たとえばコンストラクタの追加という簡単な変更に限った場合であっても,既存の証明支援系では見つけにくい場合がある.このような問題に対処するため,我々はCoqで検証を行ったプログラムと証明に対して,その一貫性を保ちつつ変更するための手法を提案する.本論文で提案する手法では,コンストラクタの追加を行い,変更が必要な箇所を利用者に提示する.このとき,コンストラクタを追加する型だけではなく,宣言時の状態やその型を利用する他の型などの情報を用いるため,本手法はCoqの内部に組み込むことを前提としている.この機能は,変更が必要な箇所を対話的に修正するものであるため,我々はこれを対話的修正機構と呼ぶ.本論文で紹介するECoqは,コンストラクタの追加を行うコマンドをCoqに追加したものである.ECoqを用いることで,利用者はソースコードに直接コンストラクタを追加して得られるエラーメッセージより細かい粒度での情報が得られる.特にECoqは,通常決してエラーが起こらないが,修正する可能性のある箇所を指摘することで,利用者が修正箇所を見つける補助を行う.本論文では,例題を通じてエラーメッセージが出ない箇所をECoqが提示できることを確認する.It is generally difficult to extend or modify an already-verified program while maintaining the consistency of the program itself and its accompanying proofs of certain desirable properties. In this paper, we propose a novel method to support the process of modifying verified programs by interactively correcting the program definitions and proofs developed with Coq proof assistant. For this method, we introduce ECoq, our extended version of Coq equipped with a component called interactive correction mechanism. The mechanism described in this paper deals with the addition of new constructors to existing inductive types and then tries to locate prospective correction points within the modified program and its proofs. Thanks to this mechanism, our method enables us to find such correction candidates more accurately than usual process guided by error messages of Coq. In particular, ECoq can point out some correction candidates that do not originate any errors.

    CiNii Books

    researchmap

  • Abstraction of Operations of Aspect-Oriented Languages 査読

    Sosuke Moriguchi, Takuo Watanabe

    THEORY AND PRACTICE OF COMPUTATION   5   187 - 201   2012年

     詳細を見る

    記述言語:英語   掲載種別:研究論文(国際会議プロシーディングス)  

    Web of Science

    researchmap

▼全件表示

MISC

  • A Bytecode VM for an FRP Language for Small-Scale Embedded Systems 査読

    2024   63 - 64   2024年12月

     詳細を見る

    記述言語:英語   出版者・発行元:情報処理学会  

    Emfrp is a functional reactive programming (FRP) language for resource-constrained systems such as microcontrollers. The language enables the concise description of reactive behavior specific to embedded systems. The current Emfrp compiler runs on a development host PC. Therefore, the program development, testing, and modification cycle is time-consuming. We have implemented an interpreter, Emfrp-REPL, which runs on the target device and enables interactive and rapid development using the REPL interface. The interpreter is designed to minimize I/O latency and employs snapshot GC to suppress latency fluctuations. However, the execution speed could be faster because the evaluation of expressions is based on AST traversal. In this study, we design and implement Emfrp-VM, a byte code VM for Emfrp, to solve this problem.
    Emfrp is a functional reactive programming (FRP) language for resource-constrained systems such as microcontrollers. The language enables the concise description of reactive behavior specific to embedded systems. The current Emfrp compiler runs on a development host PC. Therefore, the program development, testing, and modification cycle is time-consuming. We have implemented an interpreter, Emfrp-REPL, which runs on the target device and enables interactive and rapid development using the REPL interface. The interpreter is designed to minimize I/O latency and employs snapshot GC to suppress latency fluctuations. However, the execution speed could be faster because the evaluation of expressions is based on AST traversal. In this study, we design and implement Emfrp-VM, a byte code VM for Emfrp, to solve this problem.

    CiNii Research

    researchmap

  • Using Low Power Coprocessors in an FRP Language for Embedded Systems

    2023   1 - 8   2023年12月

     詳細を見る

    記述言語:英語   出版者・発行元:情報処理学会  

    A low power coprocessor in the microcontroller helps to save total power consumption. While the main processor is in a sleep state, the low power coprocessor can process the inputs and maintain responsiveness. However, inter-processor communication and processor power state management make development more complicated. In this paper, we address this problem by introducing a mechanism to switch a running processor to the functional reactive programming (FRP) language XStorm, which has an abstraction mechanism for modeling stateful behaviors. The proposed mechanism allows us to choose which processor to run in each state. Therefore, the switching of a running processor can be represented as a state transition. Our compiler can absorb differences in processor architectures and automatically generate programs for inter-processor communication and processor state management. As a result, developers can more easily describe system with coprocessors. We describe the proposed mechanism and report an evaluation on the power consumption and time of state transitions.
    A low power coprocessor in the microcontroller helps to save total power consumption. While the main processor is in a sleep state, the low power coprocessor can process the inputs and maintain responsiveness. However, inter-processor communication and processor power state management make development more complicated. In this paper, we address this problem by introducing a mechanism to switch a running processor to the functional reactive programming (FRP) language XStorm, which has an abstraction mechanism for modeling stateful behaviors. The proposed mechanism allows us to choose which processor to run in each state. Therefore, the switching of a running processor can be represented as a state transition. Our compiler can absorb differences in processor architectures and automatically generate programs for inter-processor communication and processor state management. As a result, developers can more easily describe system with coprocessors. We describe the proposed mechanism and report an evaluation on the power consumption and time of state transitions.

    CiNii Research

    researchmap

  • 組込みシステム向け関数リアクティブプログラミング言語の内部 DSL としての実装

    辻, 裕太, Tsuji, Yuta, 森口, 草介, Moriguchi, Sosuke, 渡部, 卓雄, Watanabe, Takuo

    情報処理学会研究報告   2020-EMB-54 ( No. 3 )   1 - 8   2020年6月

     詳細を見る

    記述言語:日本語   出版者・発行元:一般社団法人情報処理学会  

    関数リアクティブプログラミング (FRP) は,時間とともに変化する値(時変値)間の依存関係を副作用のない式で表すことで,リアクティブな動作の宣言的な記述を支援するプログラミングパラダイムである.本研究では,組込みシステム向けに設計されたFRP言語LRFRPを提案する.LRFRPはプログラミング言語Rust上の内部DSLであり,Rustのマクロ機能を用いて実装されている.Rustプログラム中に埋め込まれたLRFRPのプログラムは,コンパイル時にRustのモジュールに変換される.このモジュールは極めて限られたライブラリにのみ依存し,またRustの機能を制限しない.そのため,組込みシステムをターゲットとする場合など,利用できるライブラリが限定された状況でも動作可能である.本稿ではLRFRPの概要と実装方式について述べ,例を通してその有効性について議論する.
    identifier:oai:t2r2.star.titech.ac.jp:50530270

    CiNii Research

    researchmap

  • 論理型言語PROLEG から双極議論フレームワークへの変換のCoqによる形式化と証明

    中西, 瑠海, 森口, 草介, 高橋, 和子

    第81回全国大会講演論文集   2019 ( 1 )   199 - 200   2019年2月

     詳細を見る

    記述言語:日本語  

    論理型言語PROLEG から双極議論フレームワークへの変換の正当性について述べる.PROLEGは条文を論理プログラムとして記述することで, 計算による法的推論を行うためのシステムである.推論過程が明確になる一方で,PROLEG による記述では推論規則間の関係や推論の全体構造が把握しにくいことから,意味論を保持したまま,グラフ表現が可能な双極議論フレームワークに変換する手法が提案されている.本稿ではPROLEG から双極議論フレームワークへの変換を証明器支援系Coq を用いてモデル化し,変換後の双極議論フレームワークがもとのPROLEG プログラムの意味論を保持していることを形式的に証明する.

    CiNii Books

    CiNii Research

    researchmap

  • 法律構成を表す双極議論フレームワーク上での推論

    川﨑 樹, 森口 草介, 高橋 和子

    人工知能学会全国大会論文集   JSAI2019   4E3OS7b03 - 4E3OS7b03   2019年

     詳細を見る

    記述言語:日本語   出版者・発行元:一般社団法人 人工知能学会  

    法律の構成から双極議論フレームワーク(BAF)を構築する手法を示す. 各法律はその効果を発揮するために満たすべき要件事実と, その効果を排斥させるための例外から成る. それぞれを論証間の支持関係、攻撃関係に対応させて BAF を構築する. また,BAF を用いて,与えられた事実から結論すなわち効果を発揮する法律が何かを 推論する手法を示す. この手法は事実と結論の間の双方向の推論になっており,まず,与えられた事実のみから得られる結論を導き, その推論結果を用いて新たな結論を導くのに必要な事実を抽出する.

    DOI: 10.11517/pjsai.jsai2019.0_4e3os7b03

    CiNii Research

    researchmap

    その他リンク: https://dblp.uni-trier.de/db/conf/sum/sum2019.html#KawasakiMT19

  • 論理型言語PROLEGに対応する双極議論フレームワークの意味論について—On the semantics of the Bipolar Argumentation Framework corresponding to logical language PROLEG

    川崎 樹, 森口 草介, 高橋 和子

    日本ソフトウェア科学会大会論文集 / 日本ソフトウェア科学会 編   35   413 - 418   2018年8月

     詳細を見る

    記述言語:日本語   出版者・発行元:日本ソフトウェア科学会  

    CiNii Books

    CiNii Research

    researchmap

  • プログラム操作のためのホーア論理の拡張

    森口 草介

    日本ソフトウェア科学会大会論文集   34   279 - 286   2017年9月

     詳細を見る

    記述言語:日本語   出版者・発行元:日本ソフトウェア科学会  

    researchmap

  • 定性空間表現のCoqによる形式化およびその平面性の証明

    後藤 瑞貴, 森口 草介, 高橋 和子

    情報処理学会論文誌プログラミング(PRO)   8 ( 3 )   36 - 36   2015年9月

     詳細を見る

    記述言語:日本語  

    定性空間表現PLCAを帰納的に定義することでモデル化し,このモデルの集合が平面性を満たすPLCAの集合と一致していることを,証明支援系Coqを用いて証明する.PLCAは,空間データに対して,それを構成する点(Point),線(Line),周(Circuit),範囲(Area)というオブジェクトを用いそれらの包含関係によってそれを表現する手法である.この表現は座標データを用いずに領域同士の接続関係を定性的に表すもので,空間データ上に関して焦点をしぼった推論ができる.推論の正当性を保証するためには,PLCAと空間データの対応関係を証明する必要があるが,与えられたPLCA表現が二次元平面に埋め込めるための条件は示されているものの,平面性を満たすPLCAの集合を帰納的に構築する方法については議論されていない.本発表では,まず,3つの構成子を用いてPLCAを帰納的に定義し,これらによって構築されるモデルが平面性条件を満たすことを証明する.証明は,帰納法に基づき,各構成子に対して場合分けして行う.また,平面性条件を満たすPLCAと表現上等価な帰納的PLCAが構築できることを範囲の数に関する帰納法を使って証明する.証明では,範囲の数を増やしたときのPLCAの型を平面性条件から得られるものと一致させる必要があり,帰納の仮定となるPLCAを適切に設定することで証明の道筋を得ることができた.We give a model to a qualitative spatial representation PLCA by formalizing it inductively, and prove that such a model coincides with the planar PLCA, using a proof assistant Coq. PLCA provides a symbolic expression of spatial entities and allows reasoning on this expression. To justify the reasoning, we should prove the correspondence between PLCA expression and spatial data; for a given PLCA expression, the conditions for planarity have been shown, but the construction of such a PLCA expression has not been discussed. In this presentation, we give an inductive definition to PLCA with three constructors, and prove that the obtained model satisfies the conditions for planarity. The proof is based on induction and using case split on each constructor. On the other hand, we prove that an inductive PLCA can be constructed that is equivalent to a planar PLCA expression, using an induction on the number of areas. In the proof, we should match the type of PLCA with the succeeding number of the areas with that obtained by the conditions for planarity. Taking an appropriate PLCA as an induction hypothesis has solved this problem and guided us to get the proof.

    CiNii Books

    researchmap

  • Coqを使ったツリー型ネットワークトポロジ上でのCCNのモデル化と検証について

    森嶋 崇, 後藤 瑞貴, 森口 草介, 高橋 和子

    情報処理学会論文誌プログラミング(PRO)   8 ( 3 )   35 - 35   2015年9月

     詳細を見る

    記述言語:日本語  

    Content-Centric Networking(CCN)とは2009年にVan Jacobsenが提案した通信方式であり,アドレスを利用するのではなくコンテンツ名に注目して通信を行うものである.CCNでは中継ノードでコンテンツをキャッシュすることができ,ネットワークの利用効率の向上や,応答時間の短縮が特徴としてあげられる.現在はシミュレーションをベースとして動作や性能のチェックが行われているが,CCNは確立した技術ではないため,実用化にむけて動作の正当性の検証が望まれる.本発表では,証明支援系Coqを用いて,CCNのプロトコルを帰納的にモデル化し,二分木のツリー型ネットワークトポロジにおいて動作の正当性の検証をした.このモデルでは,各ノードで行われているマッチング処理を実装し,1つの時系列リストを用意して,ノード間のパケットの送受信すべてを管理するようにした.動作の正当性として,あるコンテンツがネットワーク上に存在し,ユーザがそれを要求すれば,必ず正しいものを受信できるかということと,その逆の,コンテンツを受信した場合は,そのユーザが要求を送っていたということを証明した.Content-Centric Networking (CCN) is a communication architecture which was developed by Van Jacobsen on 2009. Communication on CCN is based on the names of objects, rather than on addresses. CCN can store contents on relay nodes. It is said that CCN improves network efficiency and reduces response time, but it is not a well-established technique. Although its behavior and performance are explored mainly by simulation, the behavioral correctness is required to be verified for its practical use. In this model, the matching process undertaken on each node is implemented and all events of sending/receiving packets are managed by a unique list. We proved two properties as behavioral correctness of this model on a binary tree topology. First, a user can retrieve the content if it sent the request under the condition that the content exists in the network. Second, a user must have been sent the request for the content if a user receives it under the condition that the content exists in the network. We have implemented the model and proved these properties using a proof assistant Coq.

    CiNii Books

    researchmap

  • 対話的修正と対象プログラムとの合成手法

    森口 草介, 高橋 和子

    日本ソフトウェア科学会大会論文集   31   486 - 493   2014年9月

     詳細を見る

    記述言語:日本語   出版者・発行元:[日本ソフトウェア科学会]  

    CiNii Books

    researchmap

  • 組込みシステムデモンストレーションの効果に関するアシュランスケース事例—A Case Study of a Formal Assurance Case for Demonstration of Embedded Systems

    森口 草介, 中原 早生, 木下 佳樹

    Science journal of Kanagawa University = 神奈川大学理学誌 / Science journal of Kanagawa University編集委員会 編   25 ( 25 )   51 - 56   2014年6月

     詳細を見る

    記述言語:日本語   出版者・発行元:神奈川大学総合理学研究所  

    A case study of assurance case construction is presented. A formal assurance case for an embedded system life cycle is constructed. We also develop a framework for assurancecase construction. The structure of argument and ontology definition is prescribed by ourassurance case construction framework, which is based on the waterfall model of system development. The formal assurance case enables verification of consistency and integrity of the assurance case, and we indeed found some inconsistency arised as a result of a system update.原著

    CiNii Books

    CiNii Research

    researchmap

  • 実時間システム向け文脈指向言語ProcneJ

    安原 由貴, 森口 草介, 渡部 卓雄

    情報処理学会論文誌プログラミング(PRO)   6 ( 3 )   50 - 50   2013年12月

     詳細を見る

    記述言語:日本語  

    組込みシステム等において典型的に要求される性質に実時間制約がある.実時間制約は横断的関心事の1つであり,プログラムを複雑にする.本研究の目的は,文脈指向プログラミングの考え方に基づいた実時間制約の記述方式とそのモジュール化手法,およびそれに基づくプログラミング言語の提案である.実時間システムのプログラムは,外部環境などの変化に加え,時刻および時間経過に依存する振舞いを示すプログラムと考えることができる.そこで我々は時刻や時区間を文脈と見なすことで,文脈指向プログラミングの考え方を用いた実時間制約の記述方式を提案する.さらに時間の経過は位置情報などの外部要因による文脈の変化と同様にとらえることができるため,我々は時間の経過をイベントとしてとらえ,EventCJのような状態遷移モデルに基づく文脈の活性化制御を導入した.以上の考え方に基づいて設計された言語ProcneJでは,状態遷移を宣言するプロセス記述と実行可能なコードを記述するクラス記述を分離することで,実時間制約に関する記述のモジュール化を可能にしている.さらにプロセス記述から時間オートマトンを生成することで,時間制約や層の活性化に関する性質のUPPAALによる検証を可能にしている.本発表では,提案手法の基本的アイデアについて説明し,例題を通して文脈指向の考え方による実時間制約記述の有効性について議論する.Real-time constraints are required typically in embedded systems. They can be regarded as crosscutting concerns and thus make real-time programs bulky. The goal of this work is to propose a description method of real-time constraints and their modularization technique using the idea of context-oriented programming. We also design a programming language ProcneJ for real-time systems based on the method. It is natural to think that a real-time (embedded) program depends not only on its changing runtime environment, but also on the passage of time. Thus we regard time points and time intervals as contexts and their changes as events to apply the idea of event-based context-oriented programming (as EventCJ) to real-time programs. In our language ProcneJ, separating the descriptions of event-based state transitions and class definitions enables modular development of real-time programs. In addition, by generating timed automata from the state transition parts, we can verify the consistency of real-time constraints using UPPAAL model checker. In the presentation, we will present the basic idea of our method and will show how it is beneficial for describing real-time systems through examples.

    CiNii Books

    researchmap

  • 組込みシステムのための文脈指向仕様記述に向けて

    安原 由貴, 森口 草介, 渡部 卓雄

    日本ソフトウェア科学会大会論文集   29   45 - 58   2012年8月

     詳細を見る

    記述言語:日本語   出版者・発行元:[日本ソフトウェア科学会]  

    CiNii Books

    researchmap

  • Coqのための対話的修正機構を用いた変更の織り込み手法

    森口 草介, 渡部 卓雄

    日本ソフトウェア科学会大会論文集   28   1 - 7   2011年9月

     詳細を見る

    記述言語:日本語   出版者・発行元:[日本ソフトウェア科学会]  

    CiNii Books

    researchmap

  • 証明支援系Coqのプログラムに対する対話的修正機構の提案

    森口 草介, 渡部 卓雄

    情報処理学会論文誌. プログラミング   4 ( 4 )   41 - 41   2011年9月

     詳細を見る

    記述言語:日本語   出版者・発行元:一般社団法人情報処理学会  

    証明支援系 Coq のプログラムに対する対話的修正機構を提案する.証明支援系はプログラムなどの正しさを証明するために利用されている.しかし,Coq による証明は対象となる体系の定義に密接に関連しているため,定義のわずかな修正に対して多くの不整合が発生する.このような不整合に対し,場所の確認を Coq からのエラーによって発見するという,退屈で,かつ誤りを組み込みやすい作業で行うことが一般的になっている.提案する機構を組み込んだ証明支援系を用いることにより,この作業を簡易化することができる.対話的修正機構は修正箇所の記述を受け取ることで,その修正によって不整合が生じた箇所を提示することができる.また,この提示された箇所をもとに修正を対話的に行うことを可能にしている.本発表で提案している Coq における対話的修正機構では,帰納型に新たなコンストラクタを追加することと,そのコンストラクタに対応するデストラクタの拡張を行う機能を持っている.こ

    researchmap

  • 証明支援系を用いたMorrisの二分木走査アルゴリズムの検証

    山田 一宏, 渡部 卓雄, 森口 草介, 西崎 真也

    研究報告ソフトウェア工学(SE)   2011 ( 26 )   1 - 4   2011年3月

     詳細を見る

    記述言語:日本語   出版者・発行元:情報処理学会  

    我々はMorrisのアルゴリズムのCによる実装の検証を試みた.このアルゴリズムは再帰やスタックを用いずに二分木の走査を行うものであり,節点内部に余分なタグも不要であるという特徴がある.本研究はポインタ操作を伴うCプログラムへの検証支援ツール適用のケーススタディであり,今回は検証支援系CaduceusおよびWhy,自動証明系Simplifyおよび対話的証明支援系Coqを使用した.本稿では,これらによる検証手法とその結果の概要を述べる.We proved the partial correctness of a C implementation of Morris's tree traversal algorithm. The algorithm is known as a recursion-free, stack-free and tag-free binary tree traversal. This work is intended to be a case study of verifying C programs with pointer manipulation using existing verification tools such as Caduceus, Why, Simplify and Coq. In this report, we describe the outline of the verification methodology and results.

    CiNii Books

    researchmap

  • 証明支援系を用いたMorrisの2分木走査アルゴリズムの実装の検証

    山田一宏, 森口草介, 渡部卓雄, 西崎真也

    第73回全国大会講演論文集   2011 ( 1 )   505 - 506   2011年3月

     詳細を見る

    記述言語:日本語  

    我々は,Morrisの2分木走査アルゴリズムのCによる実装を対象として,証明支援系を用いた正当性の検証を試みた.本論文はその手法と結果に関する報告である.Morrisのアルゴリズムは,ポインタの書き換えを行うことで再帰やスタックを用いずに2分木走査を行う方法のひとつである.また他のポインタ反転法と異なり節点に印を付けるためのビットを設ける必要もないのが特徴である.我々は,入力および走査結果についての仕様を事前・事後条件として与え,C用の検証支援ツールであるCaduceusによって検証条件を生成した.ループ不変条件は必要に応じて適宜与えた.生成された検証条件を自動検証ツールSimplifyおよび証明支援系Coqを用いて証明した.

    researchmap

  • プログラム変換を用いたポインタ操作プログラムの検証にむけて : Morris の二分木走査アルゴリズムによるケーススタディ

    渡部 卓雄, 森口 草介, 山田 一宏, 西崎 真也

    電子情報通信学会技術研究報告. SS, ソフトウェアサイエンス   110 ( 458 )   97 - 102   2011年2月

     詳細を見る

    記述言語:日本語   出版者・発行元:一般社団法人電子情報通信学会  

    ポインタ書き換えを伴うプログラムのプログラム変換にもとづく検証のケーススタディとして,Morrisの二分木走査アルゴリズムの正当性を扱った.本稿ではその際に用いたプログラム変換手法とその具体的な適用手法について報告する.

    CiNii Books

    researchmap

  • アスペクト指向言語における操作の抽象化方式

    森口 草介, 渡部 卓雄

    情報処理学会論文誌プログラミング(PRO)   2 ( 5 )   43 - 43   2009年11月

     詳細を見る

    記述言語:日本語  

    アスペクト指向が提案されて十余年たち,ソフトウェア工学の広い分野で用いられている.しかしながら,アスペクトとは何であるかを議論することはほとんどなく,ただAspectJに代表されるジョインポイントモデルにおけるモジュールをアスペクトとすることが多い.このように本質を定義しないままの議論は実際の言語に強く依存したものとなり,またツールにおけるアルゴリズムとその実装もアドホックになる.アスペクト指向はモジュール化を主眼としたものであり,その特徴はアスペクトモジュールの結合方法にあるといえる.本研究では,この結合方法を抽象化および定式化し,アスペクト指向の理解や議論の基礎とすることを目標としている.本研究の特徴はアスペクト指向言語のとらえ方にある.現存するアスペクト指向言語は,既存の言語に対して拡張を施すことによって作成されている.一方,既存研究ではアスペクト指向言語を1) ラムダ計算のような既存の計算体系にアスペクト指向を加えたもの,または2) 言語全体を記述する体系で定式化している.それに対し,本研究では2) と同様に既存の計算体系に依存せずにアスペクト指向としての操作の定式化のみを行い,他の体系との組合せによって1のように言語を表現する.本発表では,アスペクト指向における操作の定式化と,ラムダ計算との組合せによる言語の定式化,および他研究における議論の表現について述べる.Aspect-orientation has gained in software development in the last decade. However, formal and/or general definitions of aspects and related concepts are not thoroughly discussed so far. The important concepts such as aspect, join point, pointcut, advice, etc. are defined on top of specific aspect-oriented languages such as AspectJ. Our goal is to formalize some'aspectual'operations commonly used in aspect-oriented languages. We designed a simple calculus that models the operations independently from other computational activities such as function application or message passing. We can easily construct a model of a specific aspect-oriented language by mixing our calculus with another model that represents the base computation. In this presentation, we give a formalization of the aspectual operations in our calculus and then discuss the formalization by comparing to other works.

    CiNii Books

    researchmap

  • アスペクト指向言語における操作の抽象化方式

    森口 草介, 渡部 卓雄

    情報処理学会論文誌. プログラミング   2 ( 5 )   43 - 43   2009年11月

     詳細を見る

    記述言語:日本語   出版者・発行元:一般社団法人情報処理学会  

    アスペクト指向が提案されて十余年たち,ソフトウェア工学の広い分野で用いられている.しかしながら,アスペクトとは何であるかを議論することはほとんどなく,ただAspectJに代表されるジョインポイントモデルにおけるモジュールをアスペクトとすることが多い.このように本質を定義しないままの議論は実際の言語に強く依存したものとなり,またツールにおけるアルゴリズムとその実装もアドホックになる.アスペクト指向はモジュール化を主眼としたものであり,その特徴はアスペクトモジュールの結合方法にあるといえる.本研究では,この結合方法を抽象化および定式化し,アスペクト指向の理解や議論の基礎とすることを目標としている.本研究の特徴はアスペクト指向言語のとらえ方にある.現存するアスペクト指向言語は,既存の言語に対して拡張を施すことによって作成されている.一方,既存研究ではアスペクト指向言語を1) ラムダ計算のような既存の計算体系にアスペクト指向を加え

    researchmap

  • LMC : ポイントカット・アドバイスモデルの計算

    森口 草介, 渡部 卓雄

    電子情報通信学会技術研究報告. SS, ソフトウェアサイエンス   108 ( 173 )   37 - 42   2008年7月

     詳細を見る

    記述言語:日本語   出版者・発行元:一般社団法人電子情報通信学会  

    アスペクト指向プログラミング(AOP)はソフトウェア開発において広く用いられており、アスペクト指向プログラミング言語のもつ性質を形式的にとらえ、理解することはプログラミング言語研究の重要な課題のひとつである。我々は、ポイントカットやアドバイスといったアスペクト指向言語拡張の性質をとらえることを目的とした計算体系LMCを提案する。LMCは特定のプログラミング言語に依存しない形で定義されており、これをアスペクト指向言語拡張の定義に用いることで、アスペクト指向プログラミング言語の形式的定義をモジュール化できる。本論文ではLMCの定義の概要を示し、アスペクト指向拡張をもつ簡単なオブジェクト指向言語をLMCを用いて形式的に定義する。

    CiNii Books

    researchmap

▼全件表示

講演・口頭発表等

  • Specifications of Source-code Targeted Programs

    Sosuke Moriguchi

    11th Workshop on Computation: Theory and Practice  2021年11月 

     詳細を見る

    開催年月日: 2021年11月

    記述言語:英語   会議種別:口頭発表(一般)  

    researchmap

  • デモシステムの効果に関する形式アシュランスケース記述事例 招待

    森口 草介

    第1回 DEOS標準化部会講演会・システムアシュランス研究会  2014年7月 

     詳細を見る

    開催年月日: 2014年7月

    会議種別:公開講演,セミナー,チュートリアル,講習,講義等  

    researchmap

  • 対話的証明支援系Coqと対話的修正機構 招待

    森口 草介

    第265回 計算機言語談話会(CLC)  2013年1月 

     詳細を見る

    開催年月日: 2013年1月

    会議種別:公開講演,セミナー,チュートリアル,講習,講義等  

    researchmap

受賞

  • Best Paper Award

    2015年8月   The 10th International Conference on Future Networks and Communications   Formalization of the Behavior of Content-Centric Networking

    Sosuke MORIGUCHI, Takashi MORISHIMA, Mizuki GOTO, Kazuko TAKAHASHI

     詳細を見る

  • 論文賞

    2015年3月   日本ソフトウェア科学会 プログラミング論研究会   レコードの拡張を許す対話的修正機構

    森口 草介, 高橋, 和子

     詳細を見る

共同研究・競争的資金等の研究課題

  • 時間を一級データとするFRP言語とそれによる実時間CPS開発支援

    研究課題/領域番号:24K14892  2024年4月 - 2027年3月

    日本学術振興会  科学研究費助成事業  基盤研究(C)

    渡部 卓雄, 森口 草介

      詳細を見る

    配分額:4550000円 ( 直接経費:3500000円 、 間接経費:1050000円 )

    researchmap

  • 消費電力をパラメータとする関数リアクティブプログラミングの研究

    研究課題/領域番号:22K11967  2022年4月 - 2025年3月

    日本学術振興会  科学研究費助成事業  基盤研究(C)

    森口 草介, 渡部 卓雄

      詳細を見る

    配分額:3900000円 ( 直接経費:3000000円 、 間接経費:900000円 )

    researchmap

  • アクターモデルとFRPの融合による高効率・高信頼CPS開発支援

    研究課題/領域番号:21K11822  2021年4月 - 2024年3月

    日本学術振興会  科学研究費助成事業  基盤研究(C)

    渡部 卓雄, 森口 草介

      詳細を見る

    配分額:4160000円 ( 直接経費:3200000円 、 間接経費:960000円 )

    (a) 小規模組込みシステム向け関数リアクティブプログラミング(FRP)言語Emfrpのための非同期処理機構を提案した.Emfrpではプログラム実行時に必要なメモリ量が静的に決定され,時変値更新処理の停止性も保証されている.これにより,メモリやCPUなどのリソースが制限された組込みシステムにおいて(実行時検査に頼らずに)メモリ安全性や応答性が担保できるようになっている.しかしこれらは言語設計上の制限によって実現されており,例えばグラフ構造の構築やその上の探索など,時間のかかる処理の記述は想定されていない.また,Emfrpプログラムの実行は同期的に行われるため,こういった処理を外部関数呼び出しとしてナイーブに実現すると応答性が悪化する.そこで,我々は一般的な並行プログラミングに用いられるfutureやpromiseに相当する機構のEmfrpへの導入方式を提案した.これにより,時変値更新による動作の応答性の高さを維持しながら,時間のかかる処理の非同期的な実行を純粋な関数リアクティブプログラミングの枠組み内で可能にしている.
    (b) データの大きさを静的に規定できる型システムBCTを導入したEmfrpの拡張言語EmfrpBCTのためのパラメータ型多相の仕組みを提案した.EmfrpBCTでは,リストや木のような再帰的かつ動的に構築されるデータ構造について,それらの大きさを型の中で明記することで,プログラムが利用するメモリ量を静的に規定できる.今年度は,EmfrpBCTへのパラメタ型多相の導入方式を提案し,それにもとづく言語EmfrpPBCTの構文,操作的意味,型システム,使用メモリ量決定アルゴリズムを形式的に定義し,健全性を証明した.
    (c) Emfrpのための,時間制約を持つイベント列のための言語拡張を提案した.これにより,時系列を持つ入力の検出等を簡潔に記述できることを示した.

    researchmap

  • ソースコードを操作するプログラムの検証技法の研究

    研究課題/領域番号:19K20245  2019年4月 - 2023年3月

    日本学術振興会  科学研究費助成事業  若手研究

    森口 草介

      詳細を見る

    配分額:3510000円 ( 直接経費:2700000円 、 間接経費:810000円 )

    本年度は研究の応用先として、プログラミング言語における追加機能を元のプログラミング言語における複数の要素に展開する手法について議論を行った。これはリアクティブシステムの記述における同期的挙動における非同期的挙動の記述であり、特に周期的に発生する挙動の取り扱いについて機能追加を行なったものである。同期的言語ではどうしても非同期的な挙動を複数の条件分岐に書く必要がある。また周期的な挙動についてはその間隔に対して実行頻度を適切に設定しなければ無駄な動作を頻発してしまい、電力の無駄となる。これらの機能は、言語レベルでの変換や、意味論におけるパラメータを適切に設定することで元の言語と対応が付けられる。これらは、本研究課題の目標の一つである「既存の意味論の適切な再利用」の例として位置づけている。
    このほかに、非同期的な挙動を表現する手法として、リアクティブシステムを制御する部分と並行に処理を行う非同期実行の機構を提案している。これは上記の位置づけと異なり、「与えられた言語外の機能呼び出しを伴う機構」となっているが、これは単純な言語内での変換ではうまく表現できない。検証を行うには、この言語外の機能呼び出しを検証システム上で別の性質を持つコード片として記述する、ある種のメタレベルの扱いを必要とする。本研究課題の手法とは具体的でないコード片の扱いという点で共通しており、ここから得られる成果は本研究課題の手法の洗練につながる。
    また、上の応用例に関するものとは異なる成果として、国際ワークショップにて本研究課題の用いる手法について紹介した。

    researchmap