Updated on 2025/12/03

写真a

 
moriguchi sosuke
 
Organization
School of Computing Assistant Professor
Title
Assistant Professor
External link

Degree

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

Research Areas

  • Informatics / Software

Professional Memberships

Papers

  • Formalizing Reversible Computations for Synchronous Dataflow Languages with Infinite Lists Reviewed International journal

    Sosuke Moriguchi, Satoshi Takimoto, Mizuki Shirai, Takuo Watanabe

    Proceedings of the Workshop on Computation: Theory and Practice (WCTP 2024)   7 - 19   2025.4

     More details

    Language:English   Publishing type:Research paper (international conference proceedings)   Publisher: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

  • Mode Management of Peripherals Based on State Transition Model in FRP Language for Embedded Systems Reviewed

    Satoshi Takimoto, Sosuke Moriguchi, Takuo Watanabe

    Computer Software   42 ( 1 )   40 - 53   2025.1

     More details

    Language:Japanese   Publisher:JSSST  

    XStorm, an FRP language for small-scale embedded systems, allows us to concisely describe state-dependent behaviors based on the state transition model. However, when we use different sets of peripheral devices depending on states, device management, such as switching power modes, should be implemented in a driver code in C. This would result in bugs as inconsistency between the state in the XStorm program and that in the driver code cannot be detected. In this research, we extend XStorm’s state hook model to express modes of peripherals that depend on states. By the extension, the language manages modes of peripherals, and thus the inconsistency is statically avoided.

    DOI: 10.11309/jssst.42.1_40

    CiNii Research

    researchmap

    Other Link: https://ndlsearch.ndl.go.jp/books/R000000004-I033958092

  • mruby on Resource-Constrained Low-Power Coprocessors of Embedded Devices Reviewed International journal

    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

     More details

    Language:English   Publishing type:Research paper (international conference proceedings)   Publisher: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

  • Construction of Inverse Computation in Synchronous Dataflow Programming Reviewed

    Mizuki Shirai, Sosuke Moriguchi, Takuo Watanabe

    Computer Software   41 ( 3 )   34 - 40   2024.7

     More details

    Language:Japanese   Publisher:JSSST  

    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

     More details

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

    Akihiko Yokoyama, Sosuke Moriguchi, Takuo Watanabe

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

     More details

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

    DOI: 10.1145/3651781.3651789

    researchmap

    Other Link: https://dblp.uni-trier.de/rec/conf/icsca/2024

  • Developing Distributed Systems with Multiparty Functional Reactive Programming Reviewed International journal

    Sosuke Moriguchi, Takuo Watanabe

    Proc. 5th World Symposium on Software Engineering (WSSE '23)   61 - 66   2023.12

     More details

    Language:English   Publishing type:Research paper (international conference proceedings)   Publisher: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 Reviewed International journal

    Kento Sogo, Yuta Tsuji, Sosuke Moriguchi, Takuo Watanabe

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

     More details

    Language:English   Publishing type:Research paper (international conference proceedings)   Publisher: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. Reviewed

    Go Suzuki, Takuo Watanabe, Sosuke Moriguchi

    Programming   12 - 16   2023

     More details

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

    DOI: 10.1145/3594671.3594674

    researchmap

    Other Link: https://dblp.uni-trier.de/db/conf/programming/programming2023.html#SuzukiWM23

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

    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

     More details

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

    DOI: 10.1145/3563837.3568338

    researchmap

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

    Akihiko Yokoyama, Sosuke Moriguchi, Takuo Watanabe

    Journal of Information Processing   29   685 - 706   2021.10

     More details

    Language:English   Publishing type:Research paper (scientific journal)   Publisher: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. Reviewed

    Yoshitaka Sakurai, Sosuke Moriguchi, Takuo Watanabe

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

     More details

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

    DOI: 10.1145/3457784.3457795

    researchmap

    Other Link: https://dblp.uni-trier.de/db/conf/icsca/icsca2021.html#SakuraiMW21

  • A macroprogramming language for wireless sensor-actor networks Reviewed

    Tsukasa Gotoh, Sosuke Moriguchi, Takuo Watanabe

    Computer Software   38 ( 2 )   20 - 26   2021

     More details

    Language:Japanese   Publishing type:Research paper (scientific journal)   Publisher:Japan Society for Software Science and Technology  

    DOI: 10.11309/jssst.38.2_20

    Scopus

    CiNii Books

    CiNii Research

    researchmap

    Other Link: https://ndlsearch.ndl.go.jp/books/R000000004-I031471020

  • Operations for Shape Transformations based on Angles. Reviewed

    Momo Tosue, Sosuke Moriguchi, Kazuko Takahashi

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

     More details

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

    DOI: 10.5220/0007359305760583

    researchmap

    Other Link: https://dblp.uni-trier.de/db/conf/icaart/icaart2019-2.html#TosueMT19

  • Transformation from PROLEG to a Bipolar Argumentation Framework. Reviewed

    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. Reviewed

    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

     More details

    Language:English   Publisher:CEUR-WS.org  

    researchmap

    Other Link: http://dblp.uni-trier.de/db/conf/comma/safa2018.html#conf/comma/MoriguchiT18

  • Superposition of Qualitative Rectangles using a Quantitative Model Reviewed

    Takeaki Kato, Sosuke Moriguchi, Kazuko Takahashi

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

     More details

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

    DOI: 10.5220/0006123404230430

    Web of Science

    researchmap

  • Verification of Content-Centric Networking Using Proof Assistant Reviewed

    Sosuke Moriguchi, Takashi Morishima, Mizuki Goto, Kazuko Takahashi

    IEICE TRANSACTIONS ON COMMUNICATIONS   E99B ( 11 )   2297 - 2304   2016.11

     More details

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

    DOI: 10.1587/transcom.2016NEP0013

    Web of Science

    researchmap

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

    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

  • An interactive Extension Mechanism extending Record Types.

    MORIGUCHI Sosuke, TAKAHASHI Kazuko

    Computer Software   33 ( 2 )   2_125 - 2_138   2016

     More details

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

    We introduced an interactive extension mechanism, which allows us to extend programs and systems verified with Coq. In the mechanism, only adding new constructors into existing inductive types are allowed, but adding parameters into functions or constructors are not.<BR>In this paper, we introduce a novel mechanism, which allows us to add new fields into record types. We also show the limitations of the mechanism arising from the type system of Coq. The method used in the mechanism is also applicable for adding parameters to existing constructors and functions. We explain problems occurring when we apply the method into them.

    DOI: 10.11309/jssst.33.2_125

    researchmap

  • Formalization of the Behavior of Content-Centric Networking Reviewed

    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

     More details

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

    DOI: 10.1016/j.procs.2015.07.197

    Web of Science

    researchmap

  • ProcneJ: A Context-oriented Programming Language for Real-time Systems

    Yuki Yasuhara, Sosuke Moriguchi, Takuo Watanabe

    6 ( 3 )   2013.12

     More details

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

    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 examp

    researchmap

  • An interactive extension mechanism for reusing verified programs. Reviewed

    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

  • Implementation of an Interactive Correction Mechanism for Coq

    森口 草介, 渡部 卓雄

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

     More details

    Language:Japanese   Publisher:情報処理学会  

    定理証明支援系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 Reviewed

    Sosuke Moriguchi, Takuo Watanabe

    THEORY AND PRACTICE OF COMPUTATION   5   187 - 201   2012

     More details

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

    Web of Science

    researchmap

▼display all

MISC

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

    Yugo, Otani, Go, Suzuki, Sosuke, Moriguchi, Takuo, Watanabe

    Proceedings of Asia Pacific Conference on Robot IoT System Development and Platform   2024   63 - 64   2024.12

     More details

    Language:English  

    CiNii Research

    researchmap

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

    Go, Suzuki, Akihiko, Yokoyama, Sosuke, Moriguchi, Takuo, Watanabe

    Proceedings of Asia Pacific Conference on Robot IoT System Development and Platform   2023   1 - 8   2023.12

     More details

    Language:English  

    CiNii Research

    researchmap

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

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

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

     More details

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

    関数リアクティブプログラミング (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

     More details

    Language:Japanese  

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

    CiNii Books

    CiNii Research

    researchmap

  • Reasoning on a bipolar argumentation framework for a law

    KAWASAKI Tatsuki, MORIGUCHI Sosuke, TAKAHASHI Kazuko

    Proceedings of the Annual Conference of JSAI   JSAI2019   4E3OS7b03 - 4E3OS7b03   2019

     More details

    Language:Japanese   Publisher:The Japanese Society for Artificial Intelligence  

    DOI: 10.11517/pjsai.jsai2019.0_4e3os7b03

    CiNii Research

    researchmap

    Other Link: 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

     More details

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

    CiNii Books

    CiNii Research

    researchmap

  • Extension of Hoare Logic for Program Manipulations

    森口 草介

    日本ソフトウェア科学会大会論文集   34   279 - 286   2017.9

     More details

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

    researchmap

  • Formalization of a Qualitative Spatial Representation and the Proof for Its Planarity Using Coq

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

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

     More details

    Language:Japanese  

    定性空間表現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

  • Formalization and Verification of CCN Protocol on a Tree Topology Using a Proof Assistant Coq

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

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

     More details

    Language:Japanese  

    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

  • A method for weaving an interactive extension into its target

    森口 草介, 高橋 和子

    日本ソフトウェア科学会大会論文集   31   486 - 493   2014.9

     More details

    Language:Japanese   Publisher:[日本ソフトウェア科学会]  

    CiNii Books

    researchmap

  • A Case Study of a Formal Assurance Case for Demonstration of Embedded Systems

    Moriguchi Sosuke, Nakahara Hayao, Kinoshita Yoshiki

    Science Journal of Kanagawa University   25 ( 25 )   51 - 56   2014.6

     More details

    Language:Japanese   Publisher:神奈川大学総合理学研究所  

    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: A Context-oriented Programming Language for Real-time Systems

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

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

     More details

    Language:Japanese  

    組込みシステム等において典型的に要求される性質に実時間制約がある.実時間制約は横断的関心事の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

  • Towards a Context-Oriented Specification Scheme for Embedded Systems

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

    日本ソフトウェア科学会大会論文集   29   45 - 58   2012.8

     More details

    Language:Japanese   Publisher:[日本ソフトウェア科学会]  

    CiNii Books

    researchmap

  • A Weaving Method of Modifications with Interactive Correction Mechanism for Coq

    森口 草介, 渡部 卓雄

    日本ソフトウェア科学会大会論文集   28   1 - 7   2011.9

     More details

    Language:Japanese   Publisher:[日本ソフトウェア科学会]  

    CiNii Books

    researchmap

  • Towards on an Interactive Refinement Mechanism for Coq Scripts

    Sosuke Moriguchi, Takuo Watanabe

    情報処理学会論文誌プログラミング(PRO)   4 ( 4 )   41 - 41   2011.9

     More details

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

    We propose an interactive refinement mechanism for Coq proof assistant, which aims to improve the reusability of proof scripts. Suppose that we have some proof scripts about a computer program. We call the program the proof target of the proof scripts. The problem is that it is generally difficult to reuse the scripts for a modified proof target. Even some small changes, such as just adding new constructors to some inductive types, could cause a large number of inconsistencies in the scripts. Usually we should manually find and fix them by examining error messages issued by the proof assistant, which is hard and error-prone process. Using the proof assistant modified to incorporate the proposed mechanism can ease the process. By providing the modified part of the target definition, our interactive refinement mechanism finds all the inconsistent parts in the definition and the proof scripts. After finding them, we can easily gain the proofs for the new target by issuing correction commands to the modified proof assistant. The interactive refinement mechanism for Coq described in this presentation covers the extension of inductive data types with new constructors and the destructors

    researchmap

  • Verifying C Source Code using Proof Assistant Tools ―A Case Study with Morris' Tree Traversal Algorithm―

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

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

     More details

    Language:Japanese   Publisher:情報処理学会  

    我々は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

     More details

    Language:Japanese  

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

    researchmap

  • Towards Verifying Pointer-Manipulating Programs using Program Transformation : A Case Study with Morris' Binary Tree Traversal Algorithm

    WATANABE Takuo, MORIGUCHI Sosuke, YAMADA Kazuhiro, NISHIZAKI Shin-ya

    IEICE technical report   110 ( 458 )   97 - 102   2011.2

     More details

    Language:Japanese   Publisher:The Institute of Electronics, Information and Communication Engineers  

    We proved the 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 by using program transformation. In this report, we describe the outline of the verification methodology and results.

    CiNii Books

    researchmap

  • Abstraction of Operations of Aspect-oriented Languages

    2 ( 5 )   43 - 43   2009.11

     More details

    Language:Japanese  

    CiNii Books

    researchmap

  • Abstraction of Operations of Aspect-oriented Languages

    Sosuke Moriguchi, Takuo Watanabe

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

     More details

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

    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.

    researchmap

  • LMC : A Calculus of Pointcut-Advice model

    MORIGUCHI Sosuke, WATANABE Takuo

    IEICE technical report   108 ( 173 )   37 - 42   2008.7

     More details

    Language:Japanese   Publisher:The Institute of Electronics, Information and Communication Engineers  

    Aspect-oriented programming (AOP) has gained wide popularity in software development. Understanding the formal nature of aspect-oriented languages is one of the pressing problems in programming language research. We are currently developing LMC, a calculus intended to capture the properties of commonly used aspectual language extensions such as pointcut and advice. We define LMC to be independent from particular languages. LMC can emphasize the modularity in the formal definitions of aspect-oriented languages by using the calculus to define the aspectual parts of their semantics. In this paper, we introduce LMC and show how to use it to define a simple object-oriented language with aspect-oriented extensions.

    CiNii Books

    researchmap

▼display all

Presentations

  • Specifications of Source-code Targeted Programs

    Sosuke Moriguchi

    11th Workshop on Computation: Theory and Practice  2021.11 

     More details

    Event date: 2021.11

    Language:English   Presentation type:Oral presentation (general)  

    researchmap

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

    森口 草介

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

     More details

    Event date: 2014.7

    Presentation type:Public lecture, seminar, tutorial, course, or other speech  

    researchmap

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

    森口 草介

    第265回 計算機言語談話会(CLC)  2013.1 

     More details

    Event date: 2013.1

    Presentation type:Public lecture, seminar, tutorial, course, or other speech  

    researchmap

Awards

  • 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

     More details

  • 論文賞

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

    森口 草介, 高橋, 和子

     More details

Research Projects

  • Development Support of Real-Time CPS using FRP Languages with First-Class Time

    Grant number:24K14892  2024.4 - 2027.3

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

      More details

    Grant amount:\4550000 ( Direct Cost: \3500000 、 Indirect Cost:\1050000 )

    researchmap

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

    Grant number:22K11967  2022.4 - 2025.3

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

    森口 草介, 渡部 卓雄

      More details

    Grant amount:\3900000 ( Direct Cost: \3000000 、 Indirect Cost:\900000 )

    researchmap

  • Developmenf Support of Efficient and Reliable CPS with the integration of FRP and the Actor Model

    Grant number:21K11822  2021.4 - 2024.3

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

      More details

    Grant amount:\4160000 ( Direct Cost: \3200000 、 Indirect Cost:\960000 )

    researchmap

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

    Grant number:19K20245  2019.4 - 2023.3

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

    森口 草介

      More details

    Grant amount:\3510000 ( Direct Cost: \2700000 、 Indirect Cost:\810000 )

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

    researchmap