Updated on 2026/05/02

写真a

 
WATANABE Takuo
 
Organization
School of Computing Professor
Title
Professor
Profile

Takuo Watanabe is Professor in the Department of Computer Science at the Tokyo Institute of Technology. He received his Ph. D. from the Department of Information Science at the Tokyo Institute of Technology in 1991. He is working in the area of programming languages, programming methodologies, formal methods and secure computing. His research focuses on understanding the nature of reflective behaviors of concurrent systems, inventing new applications of computational reflection, and developing new abstraction mechanisms and programming models for safe/secure systems.

External link

Degree

  • Ph. D. ( 1991.3   Tokyo Institute of Technology )

Research Interests

  • Programming Languages, Software Development

  • Computational Reflectioon

  • Programming Languages

  • Formal Methods

  • Embedded Systems

  • Concurrent Computation

Research Areas

  • Informatics / Software  / Programming Languages, Formal Methods, Embedded Systems

Education

  • Tokyo Institute of Technology   Graduate School of Science and Engineering   Department of Information Science

    1986.4 - 1991.3

      More details

    Country: Japan

    researchmap

  • Tokyo Institute of Technology   Faculty of Science   Department of Information Science

    1982.4 - 1986.3

      More details

Research History

  • Institute of Science Tokyo   Department of Computer Science, School of Computing   Professor

    2024.10

      More details

    Country:Japan

    researchmap

  • Tokyo Institute of Technology   Department of Computer Science, School of Computing   Professor

    2017.1 - 2024.9

      More details

  • Tokyo Institute of Technology   Department of Computer Science, School of Computing   Associate Professor

    2016.4 - 2016.12

      More details

  • National Institute of Informatics   Software Research Division   Associate Professor

    2002.4 - 2004.3

      More details

  • Tokyo Institute of Technology   Department of Computer Science   Associate Professor

    2001.1 - 2016.3

      More details

  • Japan Advanced Institute of Science and Technology   School of Information Science   Associate Professor

    1992.4 - 2000.12

      More details

  • University of Illinois at Urbana-Champaign   Department of Computer Science   Visiting Research Assistant Professor

    1991.9 - 1992.2

      More details

  • The University of Tokyo   Department of Information Science   JSPS Research Fellow (PD)

    1991.4 - 1992.3

      More details

  • Tokyo Institute of Technology   Department of Information Science   JSPS Research Fellow (DC)

    1990.4 - 1991.3

      More details

▼display all

Professional Memberships

  • THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS

    2012.9

      More details

  • IEEE Computer Society

    1992.1

      More details

  • Association of Computing Machinery

    1988.11

      More details

  • INFORMATION PROCESSING SOCIETY OF JAPAN

    1986.9

      More details

  • JAPAN SOCIETY FOR SOFTWARE SCIENCE AND TECHNOLOGY

    1986.4

      More details

Committee Memberships

  • Workshop on Computation: Theory and Practice (WCTP 2023)   Program Committee  

    2023.12   

      More details

    Committee type:Other

    researchmap

  • Japan Society for Software Science and Technology   Committee member, SIG Programming and Programming Languages (SIGPPL)  

    2022.4 - 2026.3   

      More details

    Committee type:Academic society

    researchmap

  • Information Processing Society of Japan   Committe member, SIG Embedded Systems (SIGEMB)  

    2019.4 - 2023.3   

      More details

    Committee type:Academic society

    researchmap

  • Information Processing Society of Japan   Committee member, SIG Software Engineering (SIGSE)  

    2005.4 - 2009.3   

      More details

    Committee type:Academic society

    researchmap

  • Information Processing Society of Japan   Editorial member, IPSJ Transactions on Programming  

    2002.4 - 2006.3   

      More details

    Committee type:Academic society

    researchmap

  • Information Processing Society of Japan   Secretary, SIG Programming (SIGPRO)  

    2002.4 - 2006.3   

      More details

    Committee type:Academic society

    researchmap

  • Information Processing Society of Japan   Committee member, SIG Pogramming  

    1996.4 - 2000.3   

      More details

    Committee type:Academic society

    researchmap

▼display all

Papers

  • Multi-Mode Debugging for FRP-Based Embedded Systems Reviewed

    Yugo Otani, Sosuke Moriguchi, Takuo Watanabe

    Proceedings of 4th ACM International Workshop on Future Debugging Techniques (DEBT ’26)   (to appear)   2026.6

     More details

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

    Emfrp is a functional reactive programming (FRP) language designed for small-scale embedded systems. Time-varying values are the primary abstraction mechanism in FRP and enable concise descriptions of reactive behavior. In practice, however, Emfrp programs are compiled into C and combined with platform-dependent input/output components written in C or C++. Consequently, developers must debug the resulting mixed C/C++ program using conventional debuggers such as GDB, even though the application logic is written in Emfrp. This situation creates an abstraction gap between the source-level FRP program and the executable system.

    This paper presents a multi-mode debugging framework for Emfrp-based embedded applications. The framework supports debugging at the level of Emfrp abstractions while also allowing inspection of platform-specific C/C++ I/O code. Our approach uses a source code mapping technique that relates Emfrp constructs to corresponding locations in the compiled program. A case study on an ESP32 microcontroller using representative debugging scenarios demonstrates improved debugging efficiency.

    researchmap

  • Formalization of Coverage Checking in Agda Reviewed International journal

    Satoshi Takimoto, Sosuke Moriguchi, Takuo Watanabe

    Proceedings of the Workshop on Computation: Theory and Practice (WCTP 2025)   33 - 49   2026.4

     More details

    Authorship:Last author   Language:English   Publishing type:Research paper (international conference proceedings)   Publisher:Atlantis Press  

    Coverage checking is an essential static analysis for preventing runtime errors in programming languages with pattern matching. We present a work-in-progress formalization of Maranget’s algorithm in Agda. Although the algorithm targets simple patterns and does not support complex patterns such as those involving GADTs or pattern guards, it remains practical since most programs only use simple patterns. We prove correctness and termination of the algorithm. Furthermore, we structure the formalization to be compatible with agda2hs, enabling extraction of a verified coverage checker in Haskell. This work provides a foundation for mechanizing more efficient or more powerful coverage checking algorithms.

    DOI: 10.2991/978-94-6239-638-8_4

    researchmap

  • Co-operative JIT Compilation for Resource-Constrained Low-Power Coprocessors Reviewed

    Go Suzuki, Takuo Watanabe, Sosuke Moriguchi

    Proceedings of the 22nd ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes (MPLR ’25)   57 - 70   2025.10

     More details

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

    As IoT devices evolve, their microcontroller systems-on-a-chip (SoCs) require higher performance, larger memory, and richer peripherals, resulting in increased power consumption. Integrating low-power (LP) coprocessors into SoCs offers a means to reduce power usage while preserving responsiveness, particularly in sensing tasks.
    However, LP coprocessors face memory capacity limitations and require complex, platform-specific development. These constraints often necessitate application refactoring and careful coordination of inter-processor communication.
    We propose a JIT compilation design for managed languages to enhance the efficiency of LP coprocessor usage. These languages tend to increase code size due to dynamic dispatch and runtime checks. Our key idea is a cooperative approach: the interpreter on the main processor traces the application to compile only type-specialized basic blocks to be executed by the LP coprocessor. By combining trace-based compilation with lazy basic block versioning, the approach minimizes the code footprint and reduces processor interaction.
    We implemented a prototype for a subset of the dynamically typed, object-oriented language mruby. We evaluated selected applications using LP coprocessors on ESP32-C6. Our evaluation shows that our design can achieve power savings comparable to handwritten C implementations with at most 6.6 times larger code size.

    DOI: 10.1145/3759426.3760980

    researchmap

  • Unification Modulo Isomorphisms between Dependent Types for Type-based Library Search Reviewed

    Satochi Takimoto, Sosuke Moriguchi, Takuo Watanabe

    Proceedings of the 10th ACM SIGPLAN International Workshop on Type-Driven Development (TyDe '25)   15 - 25   2025.10

     More details

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

    Type-based library search allows developers to efficiently find reusable software components by their type signatures, as exemplified by tools like Hoogle. This capability is especially important in interactive theorem provers (ITPs), where reusing existing proofs can greatly accelerate development. Previous type-based library search tools for ITPs, such as SearchIsos and Loogle, support only a subset of desirable search flexibilities, including argument reordering, currying/uncurrying, generalisation, and the inclusion of extra premises. However, none can handle all these flexibilities simultaneously, resulting in missed relevant matches. In this work, we propose a type-based library search method based on equational unification modulo a set of type isomorphisms for dependent product/sum types, enabling all the desired search flexibilities. We present a semi-algorithm for this equational unification and provide a prototype implementation to demonstrate the feasibility of our approach.

    DOI: 10.1145/3759538.3759651

    researchmap

  • 組込みシステム向けFPGA・CPU SoCによる疎行列に着目したCNNの協調計算手法

    宮下湧輔, 渡部卓雄, 森口草介

    情報処理学会研究報告   2024-EMB-69 ( 2 )   1 - 2   2025.7

     More details

    Authorship:Last author, Corresponding author   Language:Japanese   Publishing type:Research paper (conference, symposium, etc.)   Publisher:情報処理学会  

    畳み込みニューラルネットワーク(CNN)は画像認識や物体検出など多様な分野で高い精度を実現しているが,組込みシステムにおけるリアルタイム推論には計算速度が問題となる.そこで,Field Programmable Gate Array(FPGA)に計算の一部をオフロードさせるアプローチが数多く提案されているが,組込み向けのFPGAで実装する上では,そのリソース制約の厳しさが依然として課題となっている.本研究では,CNNの活性化関数でReLU関数を用いたときに特徴マップ上に登場する疎行列に着目し,FPGAとCPUによる協調計算アーキテクチャを新たに提案することでさらなる処理効率の最適化を図る.

    researchmap

  • 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

    Authorship:Last author, Corresponding author   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

    Authorship:Last author, Corresponding author   Language:Japanese   Publishing type:Research paper (scientific journal)   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

    researchmap

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

    Yugo Otani, Go Suzuki, Sosuke Moriguchi, Takuo Watanabe

    Proceedings of 7th Asia Pacific Conference on Robot IoT System Development and Platform (APRIS 2024)   63 - 64   2024.12

     More details

    Authorship:Last author   Language:English   Publishing type:Research paper (international conference proceedings)   Publisher:Information Processing Society of Japan  

    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.

    researchmap

  • 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

    Authorship:Corresponding author   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

  • 組込みシステム向けFRP言語におけるリアルタイムタスクの記述と処理機構

    十河健人, 森口草介, 渡部卓雄

    日本ソフトウェア科学会第41回大会論文集   2024.9

     More details

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

    関数リアクティブプログラミング(FRP)は,時間と共に変化する値である時変値を宣言的に組み合わせることによってリアクティブシステムを記述するプログラミングパラダイムである. 組込みシステム向けFRP言語であるEvEmfrpは,時変値に対しその更新タイミングを型情報として持たせることで周期的・非周期的なタスク処理を記述することができる. しかし,それぞれの時変値の更新がいつ完了するかといった実時間性に関する保証がなく,リアルタイムシステム向けの言語としては十分ではない. 本研究では,EvEmfrpをもとに,リアルタイムシステムを記述するための構文を備えたFRP言語を提案する. 本言語では,明示的にタスクとそのデッドラインを記述することができ,各タスクでどの時変値が更新されるかを時変値が持つタイミングから静的に決定することができる. また,本言語におけるタスク処理に適したスケジューリング機構を提案する.

    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

    Authorship:Last author   Language:Japanese   Publishing type:Research paper (scientific journal)   Publisher:JSSST  

    DOI: 10.11309/jssst.41.3_34

    researchmap

  • 小規模組込みシステム向けFRP言語のためのバイトコードVM

    大谷悠豪, 鈴木豪, 森口草介, 渡部卓雄

    情報処理学会研究報告   2024-EMB-66 ( 5 )   2024.7

     More details

    Authorship:Last author   Language:Japanese   Publisher:情報処理学会  

    Emfrpはマイクロコントローラなどの小規模組込みシステム向けに設計された関数リアクティブプログラミング(FRP)言語であり,組込みシステム特有のリアクティブな動作の簡潔な記述を可能にする. その処理系は開発用のホストマシン上で動作するクロスコンパイラであり,プログラムの修正・テストのサイクルに時間がかかる. そこで我々はターゲットデバイス上で動作し,REPLによる対話的かつ迅速な開発を可能にするインタプリタEmfrp-REPLを実装した. Emfrp-REPLではI/Oレイテンシを低く抑える工夫がなされており,スナップショットGCによってレイテンシの変動を抑制しているが,式の評価がASTの走査によるため実行速度にやや難がある. 本研究ではEmfrpのためのバイトコードVMにもとづく処理系Emfrp-VMを設計・実装し,この問題の解決を図る.

    researchmap

  • 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

    Proc. 13th International Conference on Software and Computer Applications (ICSCA 2024),   45 - 54   2024.2

     More details

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

    Emfrp, a functional reactive programming (FRP) language for small-scale embedded systems, is a DSL designed for execution in resource-constrained environments.
    The execution model of Emfrp provides a reactive behavior of the system through repeated actions such as waiting for inputs from sensors, updating all time-varying values, and outputting them to the actuators.
    Such polling-based execution consumes unnecessary energy due to frequent update processing.
    For this reason, the extended language EvEmfrp was proposed to reduce unnecessary update processing and improve energy consumption.
    EvEmfrp statically determines and schedules the update period of the whole system by annotating the timing of the time-varying value updates and the input interrupts.
    Since time-varying value updates are performed at periodic timing, the system is put into sleep mode when no update processing is required, thereby saving energy.
    However, because the timing annotations and the update intervals are set statically, executing a program that updates a specified time-varying value after a fixed time starting from an interrupt signal without unnecessary updates is impossible.
    This causes frequent wake-up from sleep mode and prevents power saving.
    We propose a mechanism for extending timing annotations and dynamically changing the update intervals to solve this problem.
    We also show the usefulness of the proposed mechanism through an example of debouncing for button presses.

    DOI: 10.1145/3651781.3651789

    researchmap

  • Event by Timing: Periodic and Time-Sequencing Responses Reviewed

    Sosuke Moriguch, Takuo Watanabe

    Proceedings of the Workshop on Computation: Theory and Practice (WCTP 2023)   139 - 154   2024.2

     More details

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

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

    researchmap

  • 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

    Authorship:Last author   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

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

    Go Suzuki, Akihiko Yokoyama, Sosuke Moriguchi, Takuo Watanabe

    Proc. 6th Asia Pacific Conference on Robot IoT System Development and Platform (APRIS 2023)   1 - 8   2023.12

     More details

    Authorship:Last author   Language:English   Publishing type:Research paper (international conference proceedings)   Publisher:IPSJ  

    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.

    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

    Proceedings of the 10th ACM SIGPLAN International Workshop on Reactive and Event-based Languages & Systems (REBLS 2023)   43 - 53   2023.10

     More details

    Authorship:Last author, Corresponding author   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

    Companion Proceedings of the 7th International Conference on the Art, Science, and Engineering of Programming   12 - 16   2023.3

     More details

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

    This paper reports the implementation of Emfrp-REPL, an interactive interpreter (REPL) of a functional reactive programming language for resource-constrained embedded systems. Its goal is to accelerate the prototyping and development of microcontroller-based embedded systems. The interpreter runs on small-scale embedded devices based on 32-bit microcontrollers, such as ESP32 with 520KiB size data RAM. The evaluation shows that the memory usage of Emfrp-REPL is comparable to MicroPython, and the range of its latency is narrower than MicroPython, according to microbenchmarks.

    DOI: 10.1145/3594671.3594674

    researchmap

  • 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 (REBLS 2022)   1 - 12   2022.11

     More details

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

    Emfrp is a functional reactive programming language designed for small embedded systems. By imposing certain restrictions on the language mechanism, the language guarantees the termination of the update process for each time-varying value and enables static determination of the amount of memory required for execution. This allows Emfrp programs to run safely even in resource-constrained execution environments. However, the abovementioned restrictions make it difficult to write time-consuming operations (heavy tasks) such as graph structure construction and exploration based on external data. Moreover, since Emfrp updates time-varying values synchronously, a naive implementation of such heavy tasks using external function calls will result in a slow response time to input. Some existing programming languages provide asynchronous processing mechanisms to ensure descriptiveness and responsiveness for heavy tasks. In this study, we propose a method to introduce heavy tasks into reactive programs naturally by introducing language mechanisms equivalent to asynchronous processing mechanisms, such as future and promise, into Emfrp. In this paper, we first discuss the problems with a naive implementation of heavy tasks in Emfrp, then explain the proposed method based on an example, and discuss the language runtime implementation.

    DOI: 10.1145/3563837.3568338

    researchmap

  • A Complete Glitch-Free Propagation Algorithm for Distributed Functional Reactive Programming

    Ju Guiyuan, Sosuke Moriguchi, Takuo Watanabe

    2022.8

     More details

    Authorship:Last author, Corresponding author   Language:English  

    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

    Authorship:Last author, Corresponding author   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

  • A Macroprogramming Language for Wireless Sensor-Actor Networks Reviewed

    Tsukasa Gotoh, Sosuke Moriguchi, Takuo Watanabe

    Computer Software   38 ( 2 )   20 - 26   2021.4

     More details

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

    Wireless Sensor and Actor Networks (WSANs) are distributed systems composed of multiple computers that observe and act on physical environments. Since WSANs contain actor nodes that control actuators or perform other local operations, complex inter-node coordination operations involving them are necessary. The lack of such coordination may result in the incorrect arrival order of messages between actor and sensor nodes. The problems are called hazards. For wireless sensor networks (WSNs), which do not have actor nodes, there is a method called macro-programming, which describes the behavior of the entire WSN as a single computing system. In macro-programming, inter-node cooperation for processing is derived from the overall behavior. In this study, we propose a macro-programming language for WSAN that incorporates a mechanism to derive cooperative actions to avoid hazards.

    researchmap

  • Towards a Functional Reactive Programming Model for Developing WSANs Reviewed

    Takuo Watanabe, Kazuhiro Shibanai

    Proceedings of Asia Pacific Conference on Robot IoT System Development and Platform (APRIS 2020)   1 - 5   2021.3

     More details

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

    Functional reactive programming (FRP) is a programming paradigm where a system is described using declarative abstractions of the change propagation of discrete events and continuous signals. This paper presents a purely functional reactive programming model that facilitates a uniform description of distributed coordination and per-node computation. A case study of a wireless sensor-actor network (WSAN) shows that both inter-node coordination and intra-node computation can uniformly be written as reactive behaviors. The paper also describes an implementation method of the model using Distributed XFRP, a pure FRP language for distributed systems.

    researchmap

  • Functional Reactive Programming for Embedded Systems with GPGPUs Reviewed

    Yoshitaka Sakurai, Sosuke Moriguchi, Takuo Watanabe

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

     More details

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

    We propose new functionality for FRP language to support computations on GPUs. Some embedded systems equip GPUs, which enable us to process large amounts of data such as camera images. We have developed an FRP language for embedded systems, named Emfrp. However, Emfrp lacks two kinds of concepts for computations on GPUs; one is the representation for large amounts of data, and the other is the declaration of the calculational resources of computations. In this paper, we introduce node arrays and GPU nodes, which are time-varying values computed on GPUs. We also show a prototype language of these features and evaluation through some examples on it.

    DOI: 10.1145/3457784.3457795

    researchmap

  • Developing Coordinating Distributed Applications in a Pure FRP Language Reviewed

    Takuo Watanabe

    Workshop on Computation: Theory and Practice (WCTP 2020)   1 - 5   2020.11

     More details

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

    researchmap

  • Bounded-Construction-Types for Functional Reactive Programming Reviewed

    Akihiko Yokoyama, Sosuke Moriguchi, Takuo Watanabe

    Workshop on Computation: Theory and Practice (WCTP 2020)   34 - 45   2020.11

     More details

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

    researchmap

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

    辻裕太, 森口草介, 渡部卓雄

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

     More details

    Authorship:Last author, Corresponding author   Language:Japanese   Publishing type:Research paper (conference, symposium, etc.)   Publisher:情報処理学会  

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

    CiNii Research

    researchmap

  • An Abstraction Mechanism for Modeling Stateful Behaviors in an FRP Language for Embedded Systems Reviewed

    Arimichi Matsumura, Takuo Watanabe

    IPSJ Transactions on Programming (PRO)   13 ( 2 )   1 - 13   2020.4

     More details

    Authorship:Last author, Corresponding author   Language:Japanese   Publishing type:Research paper (scientific journal)   Publisher:Information Processing Sociey of Japan  

    Embedded systems are classified as reactive systems, which respond to external input and update their states. Developing such systems tend to be complicated because many of those systems change their behavior depending on the internal states. To support developing embedded reactive systems, we propose an abstraction mechanism that provides a method to express state-dependent behaviors in the style of Functional Reactive Programming (FRP). Specifically, we introduce a variant of switch-extension to Emfrp, an FRP language designed for small-scale embedded system. This extension provides a mechanism to define time-varying values and state transitions for each state. It enables us to describe stateful reactive systems in a declarative way. Also, the language targets small-scale embedded systems such as microcontrollers. Thus, dynamic memory allocation is not desirable because it may cause runtime error due to unpredictable memory consumption. The proposed extension statically defines the set of states included in transitions to limit possible behaviors. We implement the switch-extension as the source-code translation to pure Emfrp codes. We show an example to demonstrate that the extension adequately modularizes stateful components.

    researchmap

    Other Link: https://www.psg.c.titech.ac.jp/posts/2020-04-27-IPSJPRO.html

  • 小規模組込みシステム向けFRP言語に対する再帰的データ型の導入 Reviewed

    横山陽彦, 森口草介, 渡部卓雄

    第22回プログラミングおよびプログラミング言語ワークショップ(PPL 2020)   2020.3

     More details

    Authorship:Last author, Corresponding author   Language:Japanese   Publishing type:Research paper (conference, symposium, etc.)  

    関数リアクティブプログラミング(FRP)言語Emfrpに対する再帰的なデータ型の導入手法を提案する. Emfrpはマイクロコントローラのような小規模システム向けに設計された純粋FRP言語である. この言語では,関数やデータ型の再帰的な定義を禁止する等の言語的制約を課すことで, 時変値の更新処理が停止することや実行時に必要なメモリサイズを静的に決定できることが保証される. 本研究では型に対してサイズの情報を含めることで,Emfrpの性質を維持しつつこの制約を緩和する手法を提案する.

    researchmap

  • Functional Reactive EDSL with Asynchronous Execution for Resource-Constrained Embedded Systems Reviewed

    Sheng Wang, Takuo Watanabe

    Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing   171 - 190   2020

     More details

    Authorship:Last author, Corresponding author   Language:English   Publishing type:Part of collection (book)   Publisher:Springer International Publishing  

    This paper presents a functional reactive embedded domain-specific language (EDSL) for resource-constrained embedded systems and its efficient execution method. In the language, time-varying values changes at discrete points of time rather than continuously. Combined with a mechanism to let users designate the update interval of values, it is possible to derive the minimal value-updates required to produce the user-desired output. Also, the event-driven backend asynchronously updates an input value when its value is required. In this way, we can greatly reduce the number of updates.

    DOI: 10.1007/978-3-030-26428-4_12

    researchmap

  • Towards a statically scheduled parallel execution of an FRP language for embedded systems Reviewed

    Yoshitaka Sakurai, Takuo Watanabe

    Proceedings of the 6th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems - REBLS 2019   11 - 20   2019.11

     More details

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

    This paper presents an automatic parallelization method for a pure FRP language designed for embedded systems. Recent advances in microprocessor technology make it possible to use multicore processors even in resource-constrained embedded systems. To fully utilize such processors with a pure FRP language, we propose a method for parallelizing signal graph updates. The method is based on a static scheduling algorithm because it should run with a simple RTOS or without the help of operating systems. To evaluate the proposed method, we implemented a parallelizing compiler for XFRP, a pure FRP language for embedded systems. In this paper, we describe the parallelizing method and show some preliminary evaluation results using Linux-based systems that demonstrate the effectiveness of the method.

    DOI: 10.1145/3358503.3361276

    researchmap

  • A Reflective Extension of an FRP Language and its Applications Reviewed

    Takuo Watanabe

    Workshop on Computation: Theory and Practice (WCTP 2019)   2019.9

     More details

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

    This paper introduces a reflective extension of a functional reactive programming language designed for resource-constrained embedded systems. Using the extension, a program module can observe or modify its execution process via time-varying values that are connected to the internal of the metalevel of the module. Thus reflective operations are also reactive and described in a declarative manner. An example shows how the mechanism can realize an adaptive runtime that reduces the power consumption of small robots.

    researchmap

  • Introduction of a Context-Oriented Programming Mechanism to an FRP Language for Small-Scale Embedded Systems

    Takuo Watanabe

    Proceedings o Embedded Systems Symposium (ESS2018)   17 - 20   2018.8

     More details

    Language:Japanese   Publishing type:Research paper (conference, symposium, etc.)  

    This paper briefly describes the design of a simple context-oriented programming extension to Emfrp, a purely functional reactive programming language for resource-constrained embedded systems. The proposed extension provides a layer mechanism along with a feature to describe events along with the layer activation. An example shows that the extension can eliminate typical cross-cutting code that often appear in plain Emfrp programs.

    researchmap

  • A Simple Context-Oriented Programming Extension to an FRP Language for Small-Scale Embedded Systems Reviewed

    Takuo Watanabe

    Proceedings of the 10th ACM International Workshop on Context-Oriented Programming (COP 2018)   23 - 30   2018.7

     More details

    Authorship:Lead author, Corresponding author   Language:English   Publishing type:Research paper (international conference proceedings)  

    This paper presents the design of a simple context-oriented programming extension to Emfrp, a purely functional reactive programming language for resource-constrained embedded systems. The language provides declarative and straightforward ways to describe various reactive behaviors in embedded systems. However, because of the static nature of the language, Emfrp lacks suitable capabilities to modularize adaptive behaviors. The proposed extension introduces a simple layer mechanism with implicit layer activation. It also provides a feature to describe responses to events that correspond to the moments of layer activations and deactivations. The extension can improve the modularity of Emfrp programs by separating the descriptions of context-dependent behaviors, and hence eliminating various cross-cutting code fragments.

    DOI: 10.1145/3242921.3242925

    researchmap

  • A Multi-Language Implementation Method for Hygienic Macro Definition Mechanisms Reviewed

    Kentaro Takakuwa, Takuo Watanabe

    Computer Software   35 ( 2 )   33 - 39   2018.5

     More details

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

    In this paper, we propose an implementation method of hygienic macro-definition mechanisms into languages defined using OMeta, an OOP language with PEG-based general-purpose pattern matching. From the specification of a macro-definition mechanism and a parser written in OMeta, the proposed method generates an extended parser equipped with the macro-definition mechanism based on the Scoped Set model. We show the effectiveness of the method by applying it to two different languages: Javascript and MinCaml.

    DOI: 10.11309/jssst.35.2_33

    researchmap

  • Developing Small-Scale Embedded Systems using an Integration of the Actor Model in Functional Reactive Programming

    Takuo Watanabe

    Workshop on Embedded Technologies and Networking (ETNET2018)   2018-EMB-47 ( 26 )   1 - 6   2018.3

     More details

    Language:Japanese   Publishing type:Research paper (conference, symposium, etc.)  

    This paper briefly describes a new execution mechanism for an FRP language designed for resource constrained embedded systems. The mechanism is based on the Actor model, a concurrent computation model in which computation is achieved by actors communicating via asynchronous messages. We adopt actors for the run-time representation of time-varying values and event streams. With this representation, we can naturally integrate adaptable execution mechanism in the runtime of the language.

    researchmap

  • Developing Small-Scale Embedded Systems using an Integration of the Actor Model in Functional Reactive Programming

    渡部卓雄

    電子情報通信学会技術研究報告   117 ( 480(DC2017 89-106) )   149‐154   2018.2

     More details

    Language:Japanese  

    J-GLOBAL

    researchmap

  • 東京工業大学における実践的IT人材育成の試み―ITシステムの価値探索とチームビルディング

    小林隆志, 権藤克彦, 佐伯元司, 首藤一幸, 西崎真也, 森本千佳子, 脇田建, 渡部卓雄

    日本ソフトウェア科学会研究会資料シリーズ(Web)   ( 82 )   40‐48 (WEB ONLY)   2018

     More details

    Language:Japanese  

    J-GLOBAL

    researchmap

  • An actor-based runtime monitoring system for web and desktop applications Reviewed

    Paul Lavery, Takuo Watanabe

    Proceedings - 18th IEEE/ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing, SNPD 2017   385 - 390   2017.8

     More details

    Language:English   Publishing type:Research paper (international conference proceedings)   Publisher:Institute of Electrical and Electronics Engineers Inc.  

    DOI: 10.1109/SNPD.2017.8022750

    Scopus

    researchmap

  • A Reflection Mechanism for an FRP Language for Small-Scale Embedded Systems

    渡部卓雄

    情報処理学会研究報告(Web)   2017 ( EMB-45 )   Vol.2017‐EMB‐45,No.2,1‐6 (WEB ONLY)   2017.6

     More details

    Language:Japanese  

    J-GLOBAL

    researchmap

  • Towards Reflection in an FRP Language for Small-Scale Embedded Systems Reviewed

    Takuo Watanabe, Kensuke Sawada

    Companion Proceedings of the 1st International Conference on the Art, Science, and Engineering of Programming   10:1 - 10:6   2017.4

     More details

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

    DOI: 10.1145/3079368.3079387

    Scopus

    researchmap

  • Actoverse: a reversible debugger for actors. Reviewed

    Kazuhiro Shibanai, Takuo Watanabe

    Proceedings of the 7th ACM SIGPLAN International Workshop on Programming Based on Actors, Agents, and Decentralized Control, AGERE 2017, Vancouver, BC, Canada, October 23 - 27, 2017   50 - 57   2017

  • 東京工業大学におけるITシステムの価値探索を狙いとした実践的IT人材育成の試み―Problem Based LearningとProject Based Learning

    小林隆志, 権藤克彦, 佐伯元司, 首藤一幸, 西崎真也, 森本千佳子, 脇田建, 渡部卓雄

    日本ソフトウェア科学会大会講演論文集(CD-ROM)   34th   ROMBUNNO.rePiT2‐2   2017

     More details

    Language:Japanese  

    J-GLOBAL

    researchmap

  • アクターシステムを対象としたリバースデバッギングのためのフレームワーク

    柴内一宏, 渡部卓雄

    日本ソフトウェア科学会大会講演論文集(CD-ROM)   34th   ROMBUNNO.PPL9‐1   2017

     More details

    Language:Japanese  

    J-GLOBAL

    researchmap

  • Controller Tuning with Falsification of Temporal Logic Formulae

    峰尾太陽, 石井大輔, 渡部卓雄

    電子情報通信学会技術研究報告   115 ( 480(MSS2015 67-87) )   61‐66   2016.2

     More details

    Language:Japanese  

    J-GLOBAL

    researchmap

  • Emfrp: A Functional Reactive Programming Language for Small-Scale Embedded Systems Reviewed

    Kensuke Sawada, Takuo Watanabe

    COMPANION PROCEEDINGS OF THE 15TH INTERNATIONAL CONFERENCE ON MODULARITY (MODULARITY COMPANION'16)   36 - 44   2016

     More details

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

    DOI: 10.1145/2892664.2892670

    Web of Science

    researchmap

    Other Link: http://dblp.uni-trier.de/db/conf/aosd/modularity2016c.html#conf/aosd/SawadaW16

  • An Implementation of Concurrent Context-Oriented Programming System based on the Actor Model

    竹野創平, 渡部卓雄

    コンピュータソフトウェア   33 ( 1 )   1.167-1.180 (J-STAGE) - 1_180   2016

     More details

    Language:Japanese   Publisher:Japan Society for Software Science and Technology  

    We present the notion of concurrent context-oriented programming and its implementation method. To realize context-oriented programming in concurrent systems based on asynchronous communication such as the Actor model, one must take special care to control synchronizations among context changes and other computations. Our method uses reflection to solve the synchronization problem regarding messages that cross two contexts. In this paper, we give some preliminary evaluation results using an implementation in Erlang.

    DOI: 10.11309/jssst.33.1_167

    J-GLOBAL

    researchmap

  • OMetaのための衛生的マクロ定義機構導入方式

    星野友宏, 高桑健太郎, 渡部卓雄

    日本ソフトウエア科学会大会講演論文集(CD-ROM)   33rd   ROMBUNNO.PPL10‐2   2016

     More details

    Language:Japanese  

    J-GLOBAL

    researchmap

  • A reflective implementation of an actor-based concurrent context-oriented system Reviewed

    Souhei Takeno, Takuo Watanabe

    Proceedings of the 14th Workshop on Adaptive and Reflective Middleware, ARM 2015 - Collocated with ACM/IFIP/USENIX Middleware 2015   7:1-7:6   2015.12

     More details

    Language:English   Publishing type:Research paper (international conference proceedings)   Publisher:Association for Computing Machinery, Inc  

    DOI: 10.1145/2834965.2834972

    Scopus

    researchmap

    Other Link: http://dblp.uni-trier.de/db/conf/middleware/arm2015.html#conf/middleware/TakenoW15

  • Towards Applications of FRP in Small-Scale Embedded Systems

    澤田賢祐, 鈴木康平, 渡部卓雄

    電子情報通信学会技術研究報告   115 ( 20(SS2015 1-15) )   1 - 5   2015.5

     More details

    Language:Japanese  

    J-GLOBAL

    researchmap

  • A MODEL-CHECKING BASED APPROACH TO ROBUSTNESS ANALYSIS OF PROCEDURES UNDER HUMAN-MADE FAULTS Reviewed

    Naoyuki Nagatou, Takuo Watanabe

    INTERNATIONAL JOURNAL OF INDUSTRIAL ENGINEERING-THEORY APPLICATIONS AND PRACTICE   22 ( 4 )   494 - 508   2015

     More details

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

    Web of Science

    researchmap

  • A model-checking based approach to robustness analysis of procedures under human-made faults

    Naoyuki Nagatou, Takuo Watanabe

    International Journal of Industrial Engineering : Theory Applications and Practice   22 ( 4 )   494 - 508   2015

     More details

    Language:English   Publishing type:Research paper (scientific journal)   Publisher:University of Cincinnati  

    Scopus

    researchmap

  • An Implementation of Concurrent Context-Oriented Programming System based on the Actor Model

    31   133 - 139   2014.9

     More details

    Language:Japanese  

    CiNii Books

    researchmap

  • Design and Implementation of a Source Code Reading Helper Tool for Program Comprehension

    31   443 - 446   2014.9

     More details

    Language:Japanese  

    CiNii Books

    researchmap

  • A reflective approach to actor-based concurrent context-oriented systems Reviewed

    Takuo Watanabe, Souhei Takeno

    Proceedings of 6th International Workshop on Context-Oriented Programming, COP 2014   3:1-3:6   2014

     More details

    Language:English   Publishing type:Research paper (international conference proceedings)   Publisher:Association for Computing Machinery  

    DOI: 10.1145/2637066.2637069

    Scopus

    researchmap

    Other Link: http://dblp.uni-trier.de/db/conf/ecoop/cop2014.html#conf/ecoop/WatanabeT14

  • A model-checking based approach to robustness analysis of procedures under human-made faults Reviewed

    Naoyuki Nagatou, Takuo Watanabe

    Lecture Notes in Business Information Processing   181   117 - 131   2014

     More details

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

    DOI: 10.1007/978-3-319-08222-6

    Scopus

    researchmap

  • Reflection in an Object-Oriented Concurrent Language Reviewed

    Takuo Watanabe, Akinori Yonezawa

    CONCURRENT OBJECTS AND BEYOND: PAPERS DEDICATED TO AKINORI YONEZAWA ON THE OCCASION OF HIS 65TH BIRTHDAY   8665   44 - 65   2014

     More details

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

    DOI: 10.1007/978-3-662-44471-9_3

    Web of Science

    researchmap

  • Semantics of Human-Made Fault and Robustness Analysis

    30   633 - 640   2013.9

     More details

    Language:Japanese  

    CiNii Books

    researchmap

  • Robustness Analysis on Human-made Fault in Procedural Manuals

    NAGATOU Naoyuki, WATANABE Takuo

    Technical report of IEICE. KBSE   113 ( 71 )   61 - 66   2013.5

     More details

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

    We adapt a formal approach for an investigation into robustness analysis on human-made faults in procedural manuals. Detection or recovery tasks for human-made faults are probably embedded into procedural manuals. The investigation of usefulness of the tasks is important to preserve the trust of workflows in safety critical domains. We define fault semantics of several human-made faults, and then inject the faults into the model of procedural manuals. After that, using model checking technique, we verify that the injected model satisfies a property as a goal.

    CiNii Books

    researchmap

  • 実時間システム向けの文脈指向DSL

    中村遼太郎, 渡部卓雄

    情報処理学会研究報告. ソフトウェア工学研究会報告   2013 ( 31 )   1 - 8   2013.3

     More details

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

    本研究の目的は適応的実時間システムのためのドメイン固有言語 (DSL) の提案である.組込みシステム等に要求される性質である適応性と実時間性はいずれも横断的関心事であり,プログラムを複雑化する要因となる.適応的な振舞は実行時の環境を表す情報 (文脈) に依存する動作として記述できる.そしてそのような記述のモジュール化を促進する手法として文脈指向プログラミング (COP) が提案されている.我々は,時刻および時区間を文脈とみなすことで,COP の考え方が適応的実時間システムに有効であることを示している.従来,COP を支援する機構は言語処理系を拡張して導入されることが一般的であったが,本研究ではプログラミング言語 Scala の諸機能を用いて COP のための内部 DSL を実現することで,言語処理系を拡張することなく適応的実時間システムのモジュラーな記述が可能になることを示す.

    CiNii Books

    researchmap

  • An interactive extension mechanism for reusing verified programs Reviewed

    Sosuke Moriguchi, Takuo Watanabe

    Proceedings of the ACM Symposium on Applied Computing   1236 - 1243   2013

     More details

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

    DOI: 10.1145/2480362.2480594

    Scopus

    researchmap

    Other Link: http://dblp.uni-trier.de/db/conf/sac/sac2013.html#conf/sac/MoriguchiW13

  • Towards a compositional reflective architecture for actor-based systems Reviewed

    Takuo Watanabe

    AGERE! 2013 - Proceedings of the 2013 ACM Workshop on Programming Based on Actors, Agents, and Decentralized Control   19 - 24   2013

     More details

    Language:English   Publishing type:Research paper (international conference proceedings)   Publisher:Association for Computing Machinery  

    DOI: 10.1145/2541329.2541341

    Scopus

    researchmap

    Other Link: http://dblp.uni-trier.de/db/conf/agere/agere2013.html#conf/agere/Watanabe13

  • Implementation of an Interactive Correction Mechanism for Coq

    森口 草介, 渡部 卓雄

    情報処理学会論文誌プログラミング(PRO)   2012 ( 1 )   27 - 38   2012.10

     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.

    researchmap

  • Implementation of an Interactive Correction Mechanism for Coq

    5 ( 4 )   27 - 38   2012.9

     More details

  • Towards a Context-Oriented Specification Scheme for Embedded Systems

    29   45 - 58   2012.8

     More details

    Language:Japanese  

    CiNii Books

    researchmap

  • A model-based approach to constructing safe soft real-time programs for non-real-time environments Reviewed

    Ilankaikone Senthooran, Takuo Watanabe

    Proceedings - 13th ACIS International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing, SNPD 2012   269 - 274   2012

     More details

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

    DOI: 10.1109/SNPD.2012.115

    Scopus

    J-GLOBAL

    researchmap

    Other Link: http://dblp.uni-trier.de/db/conf/snpd/snpd2012.html#conf/snpd/SenthooranW12

  • 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

  • An Aspect-Oriented Approach to Modular Behavioral Specification Reviewed

    Kiyoshi Yamada, Takuo Watanabe

    Electronic Notes in Theoretical Computer Science   163 ( 1 )   45 - 56   2006.9

     More details

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

    DOI: 10.1016/j.entcs.2006.07.002

    Scopus

    J-GLOBAL

    researchmap

  • Run-time detection of covert channels Reviewed

    Naoyuki Nagatou, Takuo Watanabe

    FIRST INTERNATIONAL CONFERENCE ON AVAILABILITY, RELIABILITY AND SECURITY, PROCEEDINGS   577 - +   2006

     More details

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

    DOI: 10.1109/ARES.2006.114

    Web of Science

    J-GLOBAL

    researchmap

    Other Link: http://dblp.uni-trier.de/db/conf/IEEEares/ares2006.html#conf/IEEEares/NagatouW06

  • Moxa : An Aspect-oriented Behavioral Interface Specification Language

    YAMADA KIYOSHI, WATANABE TAKUO

    46 ( 11 )   27 - 44   2005.8

     More details

    Language:Japanese   Publishing type:Research paper (scientific journal)   Publisher:社団法人情報処理学会  

    In this paper, we report the design and implementation of Moxa-a behavioral interface specification language that supports DbC (Design by Contract) based specifications. In DbC methodology, a contract arranges responsibilities between a user and a supplier of the service. This improves software quality because this makes clear who has responsibility, how to use, and what is the result of the service. With JML (Java Modeling Language), a DbC based behavioral interface specification language for Java, we can declare assertions as pre/post-conditions for each method. However, as the number of methods increases and the functionalities of services become complex, assertions for each method gets complicated. This makes it difficult to keep the consistency between assertions and methods while we are modifying them. Using Moxa, we can divide and describe assertions into several modules called assertion-aspects, when we can regard the behavior of the object(s) as the composition of some independent aspects. In JML style specification declaration, the aspects are crosscut over the assertions declared for difference methods. In this paper, we show the modularization mechanism for assertion de

    researchmap

  • Towards Reusable Heterogeneous Data-Centric Disentangled Parts. Reviewed

    Michael Reinsch, Takuo Watanabe

    RAM-SE'05-ECOOP'05 Workshop on Reflection, AOP, and Meta-Data for Software Evolution, Proceedings, Glasgow, UK, July 15, 2005   29 - 40   2005

     More details

    Publisher:Fakultat fur Informatik, Universitat Magdeburg  

    researchmap

  • An Aspect-oriented Approach to Modular Behavioral Specification of Java Components. Reviewed

    Kiyoshi Yamada, Takuo Watanabe

    IASTED International Conference on Software Engineering, part of the 23rd Multi-Conference on Applied Informatics, Innsbruck, Austria, February 15-17, 2005   360 - 365   2005

     More details

    Publisher:IASTED/ACTA Press  

    researchmap

  • Specifying context-aware runtime security policies using an algebraic policy specification language Reviewed

    T Watanabe, K Yamada, N Nagatou

    PROCEEDINGS OF THE IASTED INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING   662 - 667   2004

     More details

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

    Web of Science

    researchmap

  • Towards a specification scheme for context-aware security policies for networked appliances Reviewed

    T Watanabe, K Yamada, N Nagatou

    WSTFES 2003: IEEE WORKSHOP ON SOFTWARE TECHNOLOGIES FOR FUTURE EMBEDDED SYSTEMS, PROCEEDINGS   65 - 68   2003

     More details

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

    DOI: 10.1109/WSTFES.2003.1201363

    Web of Science

    researchmap

    Other Link: http://dblp.uni-trier.de/db/conf/wstfeus/wstfeus2003.html#conf/wstfeus/WatanabeYN03

  • AnZenMail: A secure and certified e-mail system Reviewed

    E Shibayama, S Hagihara, N Kobayashi, SY Nishizaki, K Taura, T Watanabe

    SOFTWARE SECURITY - THEORIES AND SYSTEMS   2609   201 - 216   2003

     More details

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

    DOI: 10.1007/3-540-36532-X_13

    Web of Science

    researchmap

  • Rules for Safe Composition of Mixins

    Yuuji Ichisugi, Akira Tanaka, Takuo Watanabe

    Computer Software   20 ( 3 )   292 - 299   2003

     More details

    Language:English   Publishing type:Research paper (scientific journal)   Publisher:日本ソフトウェア科学会  

    DOI: 10.11309/jssst.20.292

    Scopus

    researchmap

  • LampJ: A Library of Adaptable Modular Programming for Java

    Noriki Amano, Takuo Watanabe

    Proceedings of the IASTED International Conference on Software Engineering and Applications   7   465 - 470   2003

     More details

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

    Scopus

    researchmap

  • A Software Model for Flexible & Safe Adaptation of Mobile Code Programs Reviewed International journal

    Noriki Amano, Takuo Watanabe

    Proceedings of 22th ICSE International Workshop on Principle of Software Evolution (IWPSE'02)   57 - 61   2002.5

     More details

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

    Recently, mobile code technology has been utilized in many systems: Java applets, Jini, Active network, Internet appliances, etc. To make mobile code programs work more effectively, we must consider their adaptation on runtime environments. Our goal is to realize mobile code programs that can adapt themselves to runtime environments flexibly & safely. The adaptation can be regarded as a basic & important mechanism for software evolution of mobile code programs. Towards the goal, we design a software model named SAMcode. Mobile code programs based on the model can realize their adaptation on runtime environments successfully without their misbehavior & runtime errors and system faults. In this paper, we give an overview of the model and discuss its effectiveness.

    DOI: 10.1145/512035.512050

    researchmap

  • Towards Constructing Component-based Software Systems with Safe Dynamic Adaptability Reviewed International journal

    Noriki Amano, Takuo Watanabe

    Proceedings of 4th International Workshop on Principle of Software Evolution (IWPSE'01)   178 - 181   2001.9

     More details

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

    In a software system, dynamic adaptability is the ability for dynamic adaptation on runtime environments. A software system with dynamic adaptability can adapt itself to the changes of runtime environments by changing its own behavior in dynamic & flexible way. Such dynamic adaptability can be considered as a basic mechanism of software evolution. We have proposed a software model with dynamic adaptability named DAS and its description language named LEAD++. In this paper, we consider about safety issues on dynamic adaptability of component-based software systems and propose an improved DAS model named Safe DAS. The safety means that adaptable behavior of component-based software systems does not violate their consistency. To realize safe dynamic adaptability, the model supports exceptions & assertions mechanisms, atomicity & serialization of adaptable behavior and a unique mechanism named dynamic assertions that assertions can be changed dynamically.

    DOI: 10.1145/602461.602504

    researchmap

  • An approach for constructing component-based software systems with dynamic adaptability using LEAD plus Reviewed

    N Amano, T Watanabe

    INTERNATIONAL SYMPOSIUM ON PRINCIPLES OF SOFTWARE EVOLUTION, PROCEEDINGS   118 - 127   2000

     More details

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

    Web of Science

    researchmap

  • Reflection for Dynamic Adaptibility: A Linguistic Approach Using LEAD++. Reviewed

    Noriki Amano, Takuo Watanabe

    Meta-Level Architectures and Reflection, Second International Conference, Reflection'99, Saint-Malo, France, July 19-21, 1999, Proceedings   138 - 140   1999

  • LEAD++: An Object-Oriented Language Based on a Reflective Model for Dynamic Software Adaptation. Reviewed

    Noriki Amano, Takuo Watanabe

    TOOLS 1999: 31st International Conference on Technology of Object-Oriented Languages and Systems, 22-25 September 1999, Nanjing, China   41 - 50   1999

     More details

  • LEAD : The Design and Implementation of a Language for Constructing Dynamically Adaptable Software

    AMANO NORIKI, WATANABE TAKUO

    IPSJ Journal   39 ( 9 )   2649 - 2658   1998.9

     More details

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

    A system has dynamic adaptability if it can adapt itself to dynamically changing runtime environments. As open-ended distributed systems and mobile computing systems have spread widely, the need for software with dynamic adaptability increases. We propose a model of software with dynamic adaptability and, we designed and implemented the language LEAD which constructs the model. The basic idea that we introduce the mechanism which changes procedure invocations dynamically depending on the states of runtime environments. The dynamically adaptable software based on the model is realized as a meta-level architecture, and it separets the codes of dynamic adaptability from the codes of primary subject domain in the software. LEAD provides the mechanism as a language construct and, the dynamically adaptable software in LEAD forms meta-level architecture. Using LEAD, we can realize the followings:1)the highly extensible dynamically adaptable software, and 2)the introduction of the dynamic adaptability to the existing software.

    researchmap

  • A method for creating and verifying formal specifications of distributed systems in CafeOBJ

    Iida Shusaku, Futatsugi Kokichi, Watanabe Takuo

    15 ( 1 )   34 - 49   1998.1

     More details

    Language:Japanese   Publisher:一般社団法人日本ソフトウェア科学会  

    CiNii Books

    researchmap

  • On the Semantics of GAEA. Reviewed

    Hiroshi Ishikawa 0001, Takuo Watanabe, Kokichi Futatsugi, José Meseguer, Hideyuki Nakashima

    Fuji International Symposium on Functional and Logic Programming 1998   123 - 142   1998

     More details

    Publishing type:Research paper (international conference proceedings)   Publisher:World Scientific, Singapore  

    researchmap

  • LEAD: a linguistic approach to dynamic adaptability for practical applications. Reviewed

    Noriki Amano, Takuo Watanabe

    Systems Implementation 2000, IFIP TC2 WG2.4 Working Conference on Systems Implementation 2000: Languages, methods and tools, 23-26 February 1998, Berlin, Germay   277 - 290   1998

     More details

    Publisher:Chapman & Hall  

    researchmap

  • LEAD: A Language for Adaptable Applications Reviewed

    Noriki Amano, Takuo Watanabe

    Research Report, IS-RR-96-14S.   1996

     More details

    This paper reports a language-based approach to constructing adaptable applications --- application level software systems which dynamically adapt themselves to their changing runtime environments. Adaptable applications are especially indispensable to mobile distributed computing. However, such flexible applications remain more expensive to develop, maintain and port compared to their 'fixed' counterparts. Our approach is based on a language mechanism called generic procedure which enhances the modular development of adaptable applications. Using this mechanism, an application programmer c...

    researchmap

  • Design and Implementation of an Object-Oriented Concurrent Reflective Language ABCL/R2. Reviewed

    Hidehiko Masuhara, Satoshi Matsuoka, Takuo Watanabe

    Computer software   11 ( 3 )   175 - 192   1994.5

     More details

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

    DOI: 10.11309/jssst.11.3_175

    CiNii Books

    researchmap

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

  • A Tutorial Introduction to Computational Reflection. Reviewed

    Takuo Watanabe

    Computer Software   11 ( 3 )   165 - 174   1994.5

     More details

    Authorship:Lead author   Language:Japanese   Publishing type:Research paper (scientific journal)   Publisher:一般社団法人日本ソフトウェア科学会  

    DOI: 10.11309/jssst.11.3_165

    CiNii Books

    researchmap

  • OBJECT-ORIENTED CONCURRENT REFLECTIVE LANGUAGES CAN BE IMPLEMENTED EFFICIENTLY Reviewed

    H MASUHARA, S MATSUOKA, T WATANABE, A YONEZAWA

    SIGPLAN NOTICES   27 ( 10 )   127 - 144   1992.10

     More details

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

    DOI: 10.1145/141937.141948

    Web of Science

    researchmap

    Other Link: http://dblp.uni-trier.de/db/conf/oopsla/oopsla92.html#conf/oopsla/MasuharaMWY92

  • OBJECT-ORIENTED CONCURRENT REFLECTIVE LANGUAGES CAN BE IMPLEMENTED EFFICIENTLY Reviewed

    H MASUHARA, S MATSUOKA, T WATANABE, A YONEZAWA

    OOPSLA '92 CONFERENCE PROCEEDINGS: CONFERENCE ON OBJECT-ORIENTED PROGRAMMING SYSTEMS, LANGUAGES, AND APPLICATIONS   127 - 144   1992

     More details

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

    Web of Science

    researchmap

  • OBJECT-ORIENTED CONCURRENT REFLECTIVE ARCHITECTURES Reviewed

    S MATSUOKA, T WATANABE, Y ICHISUGI, A YONEZAWA

    OBJECT-BASED CONCURRENT COMPUTING   612   211 - 226   1992

     More details

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

    DOI: 10.1007/3-540-55613-3_11

    Web of Science

    researchmap

  • OBJECT-ORIENTED CONCURRENT REFLECTIVE ARCHITECTURES Reviewed

    S MATSUOKA, T WATANABE, Y ICHISUGI, A YONEZAWA

    LECTURE NOTES IN COMPUTER SCIENCE   612   211 - 226   1992

     More details

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

    Web of Science

    researchmap

  • HYBRID GROUP REFLECTIVE ARCHITECTURE FOR OBJECT-ORIENTED CONCURRENT REFLECTIVE PROGRAMMING Reviewed

    S MATSUOKA, T WATANABE, A YONEZAWA

    ECOOP 91 : EUROPEAN CONFERENCE ON OBJECT-ORIENTED PROGRAMMING   512   237 - 250   1991

     More details

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

    Web of Science

    researchmap

  • HYBRID GROUP REFLECTIVE ARCHITECTURE FOR OBJECT-ORIENTED CONCURRENT REFLECTIVE PROGRAMMING Reviewed

    S MATSUOKA, T WATANABE, A YONEZAWA

    LECTURE NOTES IN COMPUTER SCIENCE   512   237 - 250   1991

     More details

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

    DOI: 10.1007/BFb0057025

    Web of Science

    researchmap

  • AN ACTOR-BASED METALEVEL ARCHITECTURE FOR GROUP-WIDE REFLECTION Reviewed

    T WATANABE, A YONEZAWA

    FOUNDATIONS OF OBJECT-ORIENTED LANGUAGES   489   405 - 425   1991

     More details

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

    DOI: 10.1007/BFb0019450

    Web of Science

    researchmap

  • AN ACTOR-BASED METALEVEL ARCHITECTURE FOR GROUP-WIDE REFLECTION Reviewed

    T WATANABE, A YONEZAWA

    LECTURE NOTES IN COMPUTER SCIENCE   489   405 - 425   1991

     More details

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

    Web of Science

    researchmap

  • AN INTRODUCTION TO OBJECT-BASED REFLECTIVE CONCURRENT COMPUTATION Reviewed

    A YONEZAWA, T WATANABE

    SIGPLAN NOTICES   24 ( 4 )   50 - 54   1989.4

     More details

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

    DOI: 10.1145/67387.67399

    Web of Science

    researchmap

    Other Link: http://dblp.uni-trier.de/db/journals/sigplan/sigplan24.html#journals/sigplan/YonezawaW89

  • REFLECTION IN AN OBJECT-ORIENTED CONCURRENT LANGUAGE Reviewed

    T WATANABE, A YONEZAWA

    SIGPLAN NOTICES   23 ( 11 )   306 - 315   1988.11

     More details

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

    DOI: 10.1145/62084.62111

    Web of Science

    researchmap

    Other Link: http://dblp.uni-trier.de/db/conf/oopsla/oopsla88.html#conf/oopsla/WatanabeY88

  • A Japanese Dialog System Applicable to Multiple Discourse Domains

    Takuo Watanabe, Ichirou Ohsawa, Akinori Yonezawa

    Journal of the Japanese Society for Artificial Intelligence   2 ( 2 )   206 - 213   1987.6

     More details

    Authorship:Lead author   Language:Japanese   Publishing type:Research paper (scientific journal)   Publisher:Japanese Society for Artificial Intelligence  

    A Japanese discourse understanding system is presented, which is designed to be adaptable for multiple discourse domains with small modification efforts. The system is constructed in an "object-oriented" manner so that domain-dependent/independent components are easily factored out. Dictionaries, grammatical rules, words and discourse situations are represented as objects. Two discourse domains, a railway ticket reservation domain and an electric-mail service domain, are currently used as a test bed for the system.

    DOI: 10.11517/jjsai.2.2_206

    CiNii Books

    researchmap

▼display all

MISC

  • 多言語に対応した衛生的マクロ機構導入方式

    高桑健太郎, 渡部卓雄

    日本ソフトウェア科学会大会講演論文集(CD-ROM)   34th   ROMBUNNO.PPL3‐2   2017

     More details

    Language:Japanese  

    J-GLOBAL

    researchmap

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

    6 ( 3 )   50 - 50   2013.12

     More details

    Language:Japanese  

    CiNii Books

    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

  • Robustness Analysis on Human-made Fault in Procedural Manuals

    NAGATOU Naoyuki, WATANABE Takuo

    Technical report of IEICE. KBSE   113 ( 71 )   61 - 66   2013.5

     More details

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

    We adapt a formal approach for an investigation into robustness analysis on human-made faults in procedural manuals. Detection or recovery tasks for human-made faults are probably embedded into procedural manuals. The investigation of usefulness of the tasks is important to preserve the trust of workflows in safety critical domains. We define fault semantics of several human-made faults, and then inject the faults into the model of procedural manuals. After that, using model checking technique, we verify that the injected model satisfies a property as a goal.

    CiNii Books

    researchmap

  • An Implementation Method of Context-Oriented Programming in Objective-C

    SUZUKI Masaya, WATANABE Takuo

    Technical report of IEICE. KBSE   112 ( 165 )   133 - 138   2012.7

     More details

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

    Context-oriented programming(COP) is a programming method that enables us to define behaviors that depend on the program's execution context. We propose an implementation method of COP that does not need language extensions. Objective-C has a dynamic object system in which we can replace arbitorary methods. Harnessing such ability of the language, we construct a mechanism realizing COP. In this paper, we introduce how to construct such mechanism in Objective-C and evaluate the runtime overhead of our implementation.

    CiNii Books

    researchmap

  • An Implementation Method of Context-Oriented Programming in Objective-C

    SUZUKI Masaya, WATANABE Takuo

    Technical report of IEICE. SS   112 ( 164 )   133 - 138   2012.7

     More details

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

    Context-oriented programming(COP) is a programming method that enables us to define behaviors that depend on the program's execution context. We propose an implementation method of COP that does not need language extensions. Objective-C has a dynamic object system in which we can replace arbitorary methods. Harnessing such ability of the language, we construct a mechanism realizing COP. In this paper, we introduce how to construct such mechanism in Objective-C and evaluate the runtime overhead of our implementation.

    CiNii Books

    researchmap

  • An Actor-based Compensation-Aware Runtime Monitoring Mechanism

    28   1 - 8   2011.9

     More details

    Language:Japanese  

    CiNii Books

    researchmap

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

    28   1 - 7   2011.9

     More details

    Language:Japanese  

    CiNii Books

    researchmap

  • Towards on an Interactive Refinement Mechanism for Coq Scripts

    4 ( 4 )   41 - 41   2011.9

     More details

    Language:Japanese  

    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

  • On Generating Realtime Programs with Runtime Checking : From Timed Automata to Realtime Programs on Non-Realtime Environments

    SENTHOORAN Ilankaikone, PROKAY Julian, WATANABE Takuo

    Technical report of IEICE. KBSE   111 ( 169 )   75 - 80   2011.7

     More details

    Language:English   Publisher:一般社団法人電子情報通信学会  

    We propose a method of generating realtime programs from verified models. The primary goal of this work is to provide an easy way of constructing soft realtime programs running in environments that do not provide realtime features. To realize this, the timing constraints described in a model should include properties of the runtime overhead and the generated code checks its timing constraints at runtime. In this paper, we describe how to generate plain Java/C programs from timed automata that are model-checked using UPPAAL.

    CiNii Books

    researchmap

  • On Generating Realtime Programs with Runtime Checking : From Timed Automata to Realtime Programs on Non-Realtime Environments

    SENTHOORAN Ilankaikone, PROKAY Julian, WATANABE Takuo

    Technical report of IEICE. SS   111 ( 168 )   75 - 80   2011.7

     More details

    Language:English   Publisher:一般社団法人電子情報通信学会  

    We propose a method of generating realtime programs from verified models. The primary goal of this work is to provide an easy way of constructing soft realtime programs running in environments that do not provide realtime features. To realize this, the timing constraints described in a model should include properties of the runtime overhead and the generated code checks its timing constraints at runtime. In this paper, we describe how to generate plain Java/C programs from timed automata that are model-checked using UPPAAL.

    CiNii Books

    researchmap

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

    Kazuhiro Yamada, Takuo Watanabe, Sosuke Moriguchi, Shin-ya Nishizaki

    IPSJ SIG Notes   2011 ( 26 )   1 - 4   2011.3

     More details

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

    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.

    researchmap

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

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

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

     More details

    Language:Japanese  

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

    CiNii Books

    researchmap

  • オブジェクト計算における変更可能な継続

    久間恵美子, 松本大介, 西崎真也, 渡部卓雄

    第73回全国大会講演論文集   2011 ( 1 )   351 - 352   2011.3

     More details

    Language:Japanese  

    本研究では、オブジェクト計算で形式的に表現できる事象を増やすために、継続オブジェクト内に保存された評価文脈を変更可能にし、継続を呼び出す時にその変更が反映される体系を提唱する。前の継続オブジェクト計算の体系では継続オブジェクト内に保存されている評価文脈内のメソッドの変更は不可能であるため、継続を呼び出して評価文脈を再利用するとき評価文脈の一部分を変更して扱いたい場合に、継続オブジェクトを作り直さなければいけなかった。これを、直接変更できるように体系を再定義し直すことで、オブジェクト計算で表現できる幅を広げる。

    CiNii Books

    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

    Technical report of IEICE. SS   110 ( 458 )   97 - 102   2011.2

     More details

    Language:Japanese   Publisher:一般社団法人電子情報通信学会  

    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

  • On Formalizing Behavioral Aspects of Reflective Computation

    WATANABE Takuo

    Technical report of IEICE. SS   109 ( 170 )   49 - 52   2009.7

     More details

    Language:English   Publisher:社団法人電子情報通信学会  

    Computational reflection is essential to construct highly flexible and/or adaptable systems in the sense that it provides a high-level view of the structure and behavior of the sytem to itself. This paper reports our ongoing work aimed at formalizing behavioral aspects of computational reflection. Our formalization is based on the notion of implementation relations between abstract computational models. Using this approach, we can formalize full-fledged reflection without introducing reflective towers or similar infinite structures a priori. Our current contribution includes the notion of explicit metalevel diversity that provides us a way to discuss about the strength of reflectivity in formal settings.

    CiNii Books

    researchmap

  • LMC : A Calculus of Pointcut-Advice model

    MORIGUCHI Sosuke, WATANABE Takuo

    Technical report of IEICE. SS   108 ( 173 )   37 - 42   2008.7

     More details

    Language:Japanese   Publisher:社団法人電子情報通信学会  

    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

  • 4K-3 Scalable Specification in Aspect-Oriented Behavioral Interface Specification Language Moxa

    WATANABE Takuo, HASHIMOTO Yasunori, YAMADA Kiyoshi

    全国大会講演論文集   70 ( 5 )   "5 - 109"-"5-110"   2008.3

     More details

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

    MoxaはJavaを対象とした振る舞いインターフェース記述言語であり,表明アスペクトと呼ばれる機構の導入によって仕様記述のモジュール化を促進している.本稿ではMoxaの表明アスペクトを用いた仕様記述について概観し,さらに表明アスペクトを拡張して仕様記述のモジュール化をより促進する方法について議論する.

    CiNii Books

    researchmap

  • On Enforcement of Noninterference

    NAGATOU Naoyuki, WATANABE Takuo

    IPSJ SIG Notes   2006 ( 81 )   207 - 214   2006.7

     More details

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

    We discuss a characterization of security policies to be enforced with a monitor. The monitor is a enforcement mechanism that work by observing a behavior of a program and terminating its execution if it violates a security policy being enforced. Unfortunately, the monitors is able to enforce not all of security policies in order to limit to observe for a finite behavior and not to use future informations. F.B.Schneider show that policies having the trait become to satisfy Lamport's safety property. Also, there exist Buchi automata to recognize the safety properties and he calls them security automata. Therefore we introduce automata using more information and show that these automata can enforce information flow policies with respect to noninterference.

    CiNii Books

    researchmap

  • On Enforcement of Noninterference

    NAGATOU Naoyuki, WATANABE Takuo

    IEICE technical report   106 ( 174 )   207 - 214   2006.7

     More details

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

    We discuss a characterization of security policies to be enforced with a monitor. The monitor is a enforcement mechanism that work by observing a behavior of a program and terminating its execution if it violates a security policy being enforced. Unfortunately, the monitors is able to enforce not all of security policies in order to limit to observe for a finite behavior and not to use future informations. F.B.Schneider show that policies having the trait become to satisfy Lamport's safety property. Also, there exist Biichi automata to recognize the safety properties and he calls them security automata. Therefore we introduce automata using more information and show that these automata can enforce information flow policies with respect to noninterference.

    CiNii Books

    researchmap

  • On Enforcement of Noninterference

    NAGATOU Naoyuki, WATANABE Takuo

    Technical report of IEICE. ISEC   106 ( 175 )   207 - 214   2006.7

     More details

    Language:Japanese   Publisher:社団法人電子情報通信学会  

    We discuss a characterization of security policies to be enforced with a monitor. The monitor is a enforcement mechanism that work by observing a behavior of a program and terminating its execution if it violates a security policy being enforced. Unfortunately, the monitors is able to enforce not all of security policies in order to limit to observe for a finite behavior and not to use future informations. F.B.Schneider show that policies having the trait become to satisfy Lamport's safety property. Also, there exist Biichi automata to recognize the safety properties and he calls them security automata. Therefore we introduce automata using more information and show that these automata can enforce information flow policies with respect to noninterference.

    researchmap

  • On Enforcement of Noninterference

    NAGATOU Naoyuki, WATANABE Takuo

    IEICE technical report. Social Implications of Technology and Information Ethics   106 ( 174 )   207 - 214   2006.7

     More details

    Language:Japanese   Publisher:社団法人電子情報通信学会  

    We discuss a characterization of security policies to be enforced with a monitor. The monitor is a enforcement mechanism that work by observing a behavior of a program and terminating its execution if it violates a security policy being enforced. Unfortunately, the monitors is able to enforce not all of security policies in order to limit to observe for a finite behavior and not to use future informations. F.B.Schneider show that policies having the trait become to satisfy Lamport's safety property. Also, there exist Biichi automata to recognize the safety properties and he calls them security automata. Therefore we introduce automata using more information and show that these automata can enforce information flow policies with respect to noninterference.

    researchmap

  • Aspect-Oriented Specification in Moxa : Toward Modular DbC from Protocol Descriptions

    Hashimoto Yasunori, Watanabe Takuo, Yamada Kiyoshi

    IPSJ SIG Notes   2006 ( 75 )   15 - 22   2006.7

     More details

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

    We have been developing Moxa, a behavioral interface specification language tailord for Java. Moxa provides a new modularization mechanism called assertion aspect that can capture the crosscutting properties among assertions in a specification. Using this mechanism, we can modularize large and complex specification of real-world applications. In this paper, we briefly explain the design of Moxa and then discuss its extension called protocoloriented aspect description. The extension provides convenient way to describe, test and verify specifications that are described based on method invocation sequence.

    CiNii Books

    researchmap

  • Moxa: An Aspect-oriented Behavioral Interface Specification Language

    YAMADA KIYOSHI, WATANABE TAKUO

    46 ( 11 )   27 - 44   2005.8

     More details

    Language:Japanese   Publisher:Information Processing Society of Japan (IPSJ)  

    In this paper, we report the design and implementation of Moxa-a behavioral interface specification language that supports DbC (Design by Contract) based specifications. In DbC methodology, a contract arranges responsibilities between a user and a supplier of the service. This improves software quality because this makes clear who has responsibility, how to use, and what is the result of the service. With JML (Java Modeling Language), a DbC based behavioral interface specification language for Java, we can declare assertions as pre/post-conditions for each method. However, as the number of methods increases and the functionalities of services become complex, assertions for each method gets complicated. This makes it difficult to keep the consistency between assertions and methods while we are modifying them. Using Moxa, we can divide and describe assertions into several modules called assertion-aspects, when we can regard the behavior of the object(s) as the composition of some independent aspects. In JML style specification declaration, the aspects are crosscut over the assertions declared for difference methods. In this paper, we show the modularization mechanism for assertion declarations and description method provided by Moxa.

    CiNii Books

    researchmap

    Other Link: http://id.nii.ac.jp/1001/00016611/

  • Aspect-oriented Modularization of DbC Assertions

    YAMADA KIYOSHI, WATANABE TAKUO

    情報処理学会論文誌プログラミング(PRO)   46 ( 6 )   62 - 62   2005.4

     More details

    Language:Japanese   Publisher:Information Processing Society of Japan (IPSJ)  

    In Design by Contract (DbC) facility, we explicitly specify conditions as assertions for each procedures which must hold just before/after a procedure execution, and consider them to be a contract between procedures and it's users. This makes clean who is responsible for problems of a procedure execution. The more the scale of a program grows up, the more Description of assertions based on DbC complicated, because number of assertions increases and complexity of each assertions are increased. Hence it becomes difficult to modify and/or extend programs and assertions without lose consistency between them and coherence of assertions. The reason of this problem is that we cannot modularize description of assertions independent of program structure, because in the way to describe assertions based on DbC, assertions must be embeded in the programs. So we propose an aspect-oriented modularization technique for the description of assertions based on DbC. In this technique, we think of assertion as advice, location to check the assertion as join point, and the set of them as aspect. This technique makes modularization technique for the description of assertion flexible. In this presentation, we show the implementation of Maildir Folder Service Provider we developed, which manages E-mail messages in Java, and we describe a test of this implementation using Java Modeling Language (JML) which extends java to be able to describe assertions base on DbC. Next, we show the problems for increasing of description of assertions in the test process, and propose aspect-oriented modularization technique for description of assertions. And then, we compare this technique with JML and show this method is more preferable. And finally, we show a method to generate state transition models from a modularized description of assertions.

    CiNii Books

    researchmap

  • Aspect-oriented Modularization of DbC Assertions

    YAMADA KIYOSHI, WATANABE TAKUO

    46 ( 6 )   2005.4

     More details

    Publisher:Information Processing Society of Japan (IPSJ)  

    In Design by Contract (DbC) facility, we explicitly specify conditions as assertions for each procedures which must hold just before/after a procedure execution, and consider them to be a contract between procedures and it's users. This makes clean who is responsible for problems of a procedure execution. The more the scale of a program grows up, the more Description of assertions based on DbC complicated, because number of assertions increases and complexity of each assertions are increased. Hence it becomes difficult to modify and/or extend programs and assertions without lose consistency between them and coherence of assertions. The reason of this problem is that we cannot modularize description of assertions independent of program structure, because in the way to describe assertions based on DbC, assertions must be embeded in the programs. So we propose an aspect-oriented modularization technique for the description of assertions based on DbC. In this technique, we think of assertion as advice, location to check the assertion as join point, and the set of them as aspect. This technique makes modularization technique for the description of assertion flexible. In this presentatio

    researchmap

  • 「情報処理学会論文誌 : プログラミング」の編集について

    八杉 昌宏, 小川 宏高, 柴山 悦哉, 田浦 健次朗, 高橋 和子, 竹内 泉, 中田 秀基, 長谷川 立, 原田 康徳, 前田 敦司, 真野 健, 村上 昌己, 結縁 祥治, 脇田 建, 渡部 卓雄

    情報処理学会論文誌. プログラミング   46 ( 24 )   i - ii   2005.1

     More details

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

    CiNii Books

    researchmap

  • Editor's Message

    村上 昌己, 岩崎 英哉, 小川 宏高, 小川 瑞史, 小野寺 民也, 柴山 悦哉, 田浦 健次朗, 高木 浩光, 高橋 和子, 富樫 敦, 長谷川 立, 原田 康徳, 前田 敦司, 八杉 昌宏, 結縁 祥治, 渡部 卓雄

    情報処理学会論文誌. プログラミング   45 ( 23 )   i - iii   2004.11

     More details

    Language:Japanese   Publisher:Information Processing Society of Japan (IPSJ)  

    CiNii Books

    researchmap

  • 特集「ソフトウェアシステム」の編集にあたって

    千葉滋, 中島達夫, 小野寺民也, 加藤和彦, 渡部卓雄, 原田康徳

    コンピュータソフトウェア   21 ( 1 )   1 - 1   2004.1

     More details

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

    CiNii Books

    researchmap

  • On Execution Monitoring using Program Analysis

    Nagatou Naoyuki, Watanabe Takuo

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

     More details

    Publisher:Japan Society for Software Science and Technology  

    It is known that the class of security policies enforced by a simple execution monitoring (EM) is included in the class of safety properties. The goal of this work is the characterization of enforceable policies using mechanisms in EM augmented with information obtained by program analysis. In this paper, we focus on confidentiality and availability enforced by the augmented EM.

    DOI: 10.11309/jssstconference.21.0.67.0

    researchmap

  • Modular Aspect-Oriented Specification Language

    YAMADA KIYOSHI, WATANABE TAKUO

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

     More details

    Publisher:Japan Society for Software Science and Technology  

    Design by Contract is a technique to design correct softwares by specifying constraints as assertions that hold before and after a software component executes.By using this approach, the more assertion we added, the more complicated the system will be.We found that it is hard to preserve consistency on this way.To solve this problem, we introduce Aspect-Oriented modularization method for specification language.This is the method which split a large specification to some partial parts, which we take as aspect.Then we propose the translation method of the partial parts, aspect, to the State-transition model.

    DOI: 10.11309/jssstconference.21.0.24.0

    researchmap

  • 特集「ソフトウェアシステム」の編集にあたって(<特集>ソフトウェアシステム)

    小野寺 民也, 加藤 和彦, 渡部 卓雄, 中島 達夫, 原田 康徳

    コンピュータソフトウェア   19 ( 6 )   1 - 1   2002.11

     More details

    Language:Japanese   Publisher:一般社団法人日本ソフトウェア科学会  

    CiNii Books

    researchmap

  • A Security Enforcement Method by Load - time Binary Translation

    WATANABE TAKUO, NAGATOU NAOYUKI, YAMADA KIYOSHI

    43 ( 3 )   94 - 94   2002.3

     More details

    Language:Japanese   Publisher:Information Processing Society of Japan (IPSJ)  

    Mobile code has been regarded as a convenient abstraction mechanism to construct flexible/evolvable distributed computing systems. It has now gained prominence, mainly due to the current shift from stationary to mobile/ubiquitous computing environment. Although designing a system using mobile code is appealing, its deployment is still a security risk. Further, a system using mobile code is inherently dynamic; we need an extensible/adaptable security model. In this talk, we first claim that application-dependent and special-purpose security policies are increasingly important especially for modern distributed computing environment. Then we present a set of techniques that may be used to enforce such policies on mobile objects (Java classes) . The main technique is a load-time bytecode modification that enforces user-defined policies via monitored execution. The policies are written in a language called Polaris, which is basically a finite process language enhanced to deal with data-dependencies among variables. Use of data-dependencies reduced the cost of monitoring. As an example, we show a code portion from our extensible e-mail client system. Web site of this project: http://www.psg.cs.titech.ac.jp/sc/

    CiNii Books

    researchmap

  • A Security Enforcement Method by Load-time Binary Translation

    WATANABE TAKUO, NAGATOU NAOYUKI, YAMADA KIYOSHI

    情報処理学会論文誌プログラミング(PRO)   43 ( 3 )   94 - 94   2002.3

     More details

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

    Mobile code has been regarded as a convenient abstraction mechanism to construct flexible/evolvable distributed computing systems. It has now gained prominence, mainly due to the current shift from stationary to mobile/ubiquitous computing environment. Although designing a system using mobile code is appealing, its deployment is still a security risk. Further, a system using mobile code is inherently dynamic; we need an extensible/adaptable security model. In this talk, we first claim that application-dependent and special-purpose security policies are increasingly important especially for modern distributed computing environment. Then we present a set of techniques that may be used to enforce such policies on mobile objects (Java classes) . The main technique is a load-time bytecode modification that enforces user-defined policies via monitored execution. The policies are written in a language called Polaris, which is basically a finite process language enhanced to deal with data-dependencies among variables. Use of data-dependencies reduced the cost of monitoring. As an example, we show a code portion from our extensible e-mail client system. Web site of this project: http://www.

    researchmap

  • Rules for Safe Composition of Aspects

    ICHISUGI Yuuji, TANAKA Akira, WATANABE Takuo

    Conference Proceedings of Japan Society for Software Science and Technology   19   3E3 - 3E3   2002

     More details

    Publisher:Japan Society for Software Science and Technology  

    Aspect-oriented languages support clear separation of code which crosscuts two or more classes. We believe it is possible to combine independently developed aspects safely, if each aspect is designed according to certain rules. As first step for finding out and verifying such rules, we describe how to verify rules for safely composable mixins. The notion of "Design by Contract" and "behavioral subtyping" are used for description and verification of the rules.

    DOI: 10.11309/jssstconference.19.0.3E3.0

    researchmap

  • スクリプト言語(4)スクリプト比較言語学--スクリプト言語の今後

    渡部 卓雄

    Bit   33 ( 4 )   60 - 63   2001.4

     More details

    Language:Japanese   Publisher:共立出版  

    CiNii Books

    researchmap

  • Use of Reflective Programming Language in CORBA Application Development

    FUJIEDA KAZUHIRO, WATANABE TAKUO, OCHIMIZU KOICHIRO

    41 ( 9 )   110 - 110   2000.11

     More details

    Language:Japanese   Publisher:Information Processing Society of Japan (IPSJ)  

    We focus on the problems in the development of CORBA applications : interface mismatches which often take place in cross-platform development, and complicated development procedure which consists of generating stubs and skeletons and incorporating them into applications. We propose a solution of these problems using the Interface Repository and refletive programming languages. We inspect the abilities of reflective languages to realize this solution, especially generation and modification of programs and modification of the behavior of the languages in referring undefined names.

    CiNii Books

    researchmap

  • Use of Reflective Programming Language in CORBA Application Development

    FUJIEDA KAZUHIRO, WATANABE TAKUO, OCHIMIZU, KOICHIRO

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

     More details

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

    We focus on the problems in the development of CORBA applications : interface mismatches which often take place in cross-platform development, and complicated development procedure which consists of generating stubs and skeletons and incorporating them into applications. We propose a solution of these problems using the Interface Repository and refletive programming languages. We inspect the abilities of reflective languages to realize this solution, especially generation and modification of programs and modification of the behavior of the languages in referring undefined names.

    researchmap

  • A Safe Composition Method for Reflective Extensions

    SAEKI YUTAKA, WATANABE TAKUO

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

     More details

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

    A reflective system can understand/compute its structure and behavior at run time. Giving the facility of reflection to OS or programming languages, it is possible to construct the advanced and complex systems, like mobile computing systems of distributed systems, with more systematic manner. Practically, the programmer might want to apply several extensions to the language simultaneously. But, there might be some semantical conflicts between these extensions. In this article, we propose a framework to avid the conflicts. We provide a modular implementation of a reflective programming language based on monad transformers, and made its internal dependency of each component clear. And then, we propose a concrete mechanism to help a user who want to extend a language know enough informations to avoid possible conflicts.

    researchmap

  • A Safe Composition Method for Reflective Extensions

    SAEKI YUTAKA, WATANABE TAKUO

    41 ( 9 )   112 - 112   2000.11

     More details

    Language:Japanese   Publisher:Information Processing Society of Japan (IPSJ)  

    A reflective system can understand/compute its structure and behavior at run time. Giving the facility of reflection to OS or programming languages, it is possible to construct the advanced and complex systems, like mobile computing systems of distributed systems, with more systematic manner. Practically, the programmer might want to apply several extensions to the language simultaneously. But, there might be some semantical conflicts between these extensions. In this article, we propose a framework to avid the conflicts. We provide a modular implementation of a reflective programming language based on monad transformers, and made its internal dependency of each component clear. And then, we propose a concrete mechanism to help a user who want to extend a language know enough informations to avoid possible conflicts.

    CiNii Books

    researchmap

  • A Structuring Method for Extensible Metalevels

    TANAKA AKIRA, WATANABE TAKUO

    41 ( 4 )   89 - 89   2000.6

     More details

    Language:Japanese   Publisher:Information Processing Society of Japan (IPSJ)  

    Usually, a metalevel is designed for a specific application domain, especially when the metalevel is dedicated for extensibility because details of the extensibility are very application specific issues. The aim of this study is to extract characteristics common to all metalevel architectures and to establish a method for structuring a metalevel using the characteristics for extensibility of the metalevel. The methodology eases metalevel designs and its extensions because it is applicable to most application domains since they are not depending to specific domains. The metalevel should be constructed by multiple modules organized as stable and open structures. We propose that the methodology structuring a metalevel by baselevel syntax and sticking semantic modules to the syntactic elements. Baselevel syntax is common characteristics for all metalevels since they have a defintion of the baselevel and it contains the syntax definition. Therefore the structuring method is applicable to most metalevels. The modules interact with single assignment attributes defined for each edge of baselevel syntax tress. Since the attributes can be defined as many as required, multiple semantic modules can be sticked to on syntactic element without any interference. Consequently we can introduce new modules for extensions easily. This paper explains the methodology by examples including lambda calculus and LR parser generator.

    CiNii Books

    researchmap

  • A Structuring Method for Extensible Metalevels

    TANAKA AKIRA, WATANABE TAKUO

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

     More details

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

    Usually, a metalevel is designed for a specific application domain, especially when the metalevel is dedicated for extensibility because details of the extensibility are very application specific issues. The aim of this study is to extract characteristics common to all metalevel architectures and to establish a method for structuring a metalevel using the characteristics for extensibility of the metalevel. The methodology eases metalevel designs and its extensions because it is applicable to most application domains since they are not depending to specific domains. The metalevel should be constructed by multiple modules organized as stable and open structures. We propose that the methodology structuring a metalevel by baselevel syntax and sticking semantic modules to the syntactic elements. Baselevel syntax is common characteristics for all metalevels since they have a defintion of the baselevel and it contains the syntax definition. Therefore the structuring method is applicable to most metalevels. The modules interact with single assignment attributes defined for each edge of baselevel syntax tress. Since the attributes can be defined as many as required, multiple semantic module

    researchmap

  • Modular Implementation Technique for Efficient Reflective Programming Languages

    SAEKI YUTAKA, WATANABE TAKUO

    40 ( 10 )   75 - 75   1999.12

     More details

    Language:Japanese   Publisher:Information Processing Society of Japan (IPSJ)  

    CiNii Books

    researchmap

  • Modular Implementation Technique for Efficient Reflective Programming Languages

    SAEKI YUTAKA, WATANABE TAKUO

    情報処理学会論文誌プログラミング(PRO)   40 ( 10 )   75 - 75   1999.12

     More details

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

    自己反映的なプログラミング言語は 言語自身を計算の対象として扱うことが可能な言語システムである.言語の実装レベルに相当する記述をメタレベルとして実際の計算に関する記述と分離することによって 実行時の状況に応じた動的な言語の拡張を 再利用可能なモジュールとして提供することが可能な枠組みであり 並列計算機や 分散計算機環境におけるアプリケーションの記述を簡潔におこなうことができる.しかし 自己反映的な言語を実装する場合 言語の内部構造をユーザーにどのようにして提示するかの選択によって その言語が提供する拡張性と実行効率とのトレードオフが生じる.実際の自己反映的な言語では 並列計算などの特定の用途に限った自己反映計算を提供する言語として設計されることが多く 実験的なものを除いては汎用的な用途に適した言語といけるようなものはない.本稿では 用途を限定しない自己反映的な言語の効率的な実装方法を提案したい.そこでそのような実装方法を提供するための枠組みとして Monad-Transformerをもちいた.本稿ではまず 自己反映的な言語のいくつかの形式を 拡張可能な機能ごとに独立したモジュールの組として定義するための枠組みを示し 次にプログラマーがプログラムの各局面に応じ 必要な拡張機能と実行効率を考慮した言語の実装形態を随時選択するためのインターフェイスを提案する.最後に実際の言語システムの構築における問題点などに関する考察をおこなう.Reflective programming languages are languages which enable user programs to run at the defining language level (meta-level), and act as a part of the interpreter. So reflective languages can provide high extensibility. But in fact, in most of implementations of such a language, the given way of extension is not flexible enough. Because in the traditional methodology of defining reflective language is structuring the language as a meta-circular interpreter, so if we try to provide extensibility as possible. The performance to execute such programs are too low to build practical applications. Some reflective systems restrict extensibility of the language, and solve meta-level computations at compile-time. But, if what we can do at meta-level is limited hardly, or extensions have effect on only statically, there is less advantage of reflection about extension. In this paper, we propose a modular implementation technique of reflective languages. To provide the mechanism, we define some language building-blocks. And then we build a meta-continuation based reflective language as an interpreter and a compiler for the normal (non-reflective) language. Our goal is designing interfaces to let the programmer possible to select the implementation of the reflective language and make user to be able to specify the language for the purpose of each program-pieces. So we conclude what is the most efficient combination of language modules for some domain.

    researchmap

  • Improvement of CORBA API Using Reflection

    Fujieda Kazuhiro, Watanabe Takuo, Ochimizu Koichiro

    IPSJ SIG Notes   99 ( 89 )   3 - 10   1999.10

     More details

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

    In this paper, we show the usefulness of the capabilities of a reflective programming language in developing CORBA applications. We show two examples. One can make application development process in CORBA simpler and easier. Stubs and skeletons in CORBA applications can be generated and incorporated at runtime with the use of reflection. Another can make programming with complicated CORBA APIs simpler and easier, too. We can reduce programming efforts of the deferred synchronous invocation API and the DynAny API.

    CiNii Books

    researchmap

  • Runtime Environment for CORBA Applications Using Reflection

    Fujieda Kazuhiro, Watanabe Takuo, Ochimizu Koichiro

    Technical report of IEICE. SS   99 ( 287 )   9 - 16   1999.9

     More details

    Language:Japanese   Publisher:一般社団法人電子情報通信学会  

    CiNii Books

    researchmap

  • 「情報処理学会論文誌 : プログラミング」の編集について

    西崎 真也, 小川 瑞史, 柴山 悦哉, 田浦 健次朗, 高橋 和子, 竹内 泉, 中田 秀基, 長谷川 立, 原田 康徳, 前田 敦司, 真野 健, 村上 昌己, 結縁 祥治, 脇田 建, 渡部 卓雄

    情報処理学会論文誌. プログラミング   40 ( 4 )   i - iii   1999.5

     More details

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

    researchmap

  • A Framework for Reliable Mobile Agents

    SHINBORI Kenji, WATANABE Takuo

    全国大会講演論文集   57 ( 1 )   313 - 314   1998.10

     More details

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

    CiNii Books

    researchmap

  • CEK-抽象機械による移動オブジェクトの形式的定義

    渡部 卓雄

    全国大会講演論文集   57 ( 1 )   258 - 259   1998.10

     More details

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

    CiNii Books

    researchmap

  • Formalization of Mobile Agent with Ambient Calculus

    MINESHITA Satoshi, WATANABE Takuo

    全国大会講演論文集   57 ( 1 )   260 - 261   1998.10

     More details

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

    CiNii Books

    researchmap

  • Mobile Code Adaptation using Dynamic Code Generation

    KAWASAKI Daisuke, AMANO Noriki, WATANABE Takuo

    全国大会講演論文集   57 ( 1 )   309 - 310   1998.10

     More details

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

    CiNii Books

    researchmap

  • Mobile Agent Language with Reflection

    NISHIKAWA Naohiro, WATANABE Takuo

    全国大会講演論文集   57 ( 1 )   311 - 312   1998.10

     More details

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

    CiNii Books

    researchmap

  • An Operational Semantics of GAEA in Rewriting Logic

    ISHIKAWA Hiroshi, FUTATSUGI Kokichi, WATANABE Takuo

    Technical report of IEICE. SS   98 ( 295 )   23 - 30   1998.9

     More details

    Language:Japanese   Publisher:一般社団法人電子情報通信学会  

    This paper presents a formal specification in rewriting logic of a representative subset of GAEA, in the Prolog traditional with novel features for reflection and concurrency, based on a new software methodology called organic programming. The syntax and the semantics of GAEA were designed to be a superset of Prolog. However, there are many extra features for manipulating cell structures, multi-threading of processes, cell variables for thread communication, and so on. Thanks of those new features, we can easily construct and execute concurrent reflective systems.

    CiNii Books

    researchmap

  • LEAD : The Design and Implementation of a Language for Constructing Dynamically Adaptable Software

    AMANO Noriki, WATANABE Takuo

    Transactions of Information Processing Society of Japan   39 ( 9 )   2649 - 2658   1998.9

     More details

    Language:Japanese   Publisher:Information Processing Society of Japan (IPSJ)  

    A system has dynamic adaptability if it can adapt itself to dynamically changing runtime environments. As open-ended distributed systems and mobile computing systems have spread widely, the need for software with dynamic adaptability increases. We propose a model of software with dynamic adaptability and, we designed and implemented the language LEAD which constructs the model. The basic idea that we introduce the mechanism which changes procedure invocations dynamically depending on the states of runtime environments. The dynamically adaptable software based on the model is realized as a meta-level architecture, and it separets the codes of dynamic adaptability from the codes of primary subject domain in the software. LEAD provides the mechanism as a language construct and, the dynamically adaptable software in LEAD forms meta-level architecture. Using LEAD, we can realize the followings:1)the highly extensible dynamically adaptable software, and 2)the introduction of the dynamic adaptability to the existing software.

    CiNii Books

    researchmap

    Other Link: http://id.nii.ac.jp/1001/00012969/

  • A design of Reflective Language for safe reuse of meta-level definitions

    Saeki Yutaka, Watanabe Takuo

    Technical report of IEICE. SS   98 ( 230 )   33 - 40   1998.7

     More details

    Language:Japanese   Publisher:一般社団法人電子情報通信学会  

    Reflective programming Languages allows user&#039;s progrms to customize the behavior of the language. To develop practical application programs, users desire to reuse metalevel-difinisions that had been defined before. But it is difficult for designers to make the definitions these can be reused, because they may cause conflicts mutally. This paper proposes an specific example of a reflective language which is build modularly by monad-transformer, an show that it is easy for the language to specify the conflicts and avoid them, and gives conclusions to applly the experience for general case.

    CiNii Books

    researchmap

  • Report for Workshop on foundation of Software Enginnering (FOSE '96)

    Suzuki Masato, Ajisaka Tsuneo, Watanabe Takuo

    コンピュータソフトウェア = Computer software   15 ( 1 )   67 - 73   1998.1

     More details

    Language:Japanese   Publisher:一般社団法人日本ソフトウェア科学会  

    CiNii Books

    researchmap

  • Mobile Code Description using Partial Continuations : Definition and Operational Semantics

    IPSJ SIG Notes   97 ( 78 )   61 - 66   1997.8

     More details

    Language:Japanese   Publisher:Information Processing Society of Japan (IPSJ)  

    CiNii Books

    researchmap

  • 3. Mobile Software Technologies 3-2 Distributed Object Technologies and Mobile Agents (<Special Issue>Mobile Computing)

    Nakajima Tatsuo, Watanabe Takuo

    The Journal of the Institute of Electronics, Information, and Communication Engineers   80 ( 4 )   357 - 363   1997.4

     More details

    Language:Japanese   Publisher:一般社団法人電子情報通信学会  

    モバイルエージェントやJavaなどのWebページ記述用言語に代表される移動可能プログラムをいつでもどこでも計算機を使用可能とするモバイルコンピューティング環境と組み合わせることによって, 計算機の可能性は飛躍的に向上する. 本稿では, 移動可能プログラムと移動可能プログラムをモバイルコンピューティング環境上で実行するために必要となる適応可能なソフトウェアアーキテクチャに関して紹介する.

    CiNii Books

    researchmap

  • 移動計算機環境を支援する言語LEADとそのメタレベルアーキテクチャ

    天野 憲樹, 渡部 卓雄

    Research report   96   1 - 27   1996.5

     More details

    Language:Japanese   Publisher:北陸先端科学技術大学院大学  

    CiNii Books

    researchmap

  • Towards Reusable Metalevel Architectures for Extensible Langauges

    Tanaka Akira, Watanabe Takuo

    Technical report of IEICE. SS   96 ( 81 )   25 - 32   1996.5

     More details

    Language:Japanese   Publisher:一般社団法人電子情報通信学会  

    We propose a new method of designing/implementing metalevel architectures for extensible programming languages. Using our method, we construct a language processor (interpreter) by composing resusable metaleval parts. Thanks to the design principle (called Interpreter Passing Style) of these parts, we can freely add/replace a part without affecting other parts of the interpreter.

    CiNii Books

    researchmap

  • Towards a Foundation of Computational Reflection based on Abstract Rewriting (Preliminary Result)

    Watanabe Takuo

    IPSJ SIG Notes   95 ( 114 )   31 - 34   1995.11

     More details

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

    The question we are considering is whether a representation-independent model of computational reflection exists. We use abstract rewriting systems as general operational models of computation. We define reflection based on the notion of implementation morphisms on ARSs. This paper presents our preliminary results.

    CiNii Books

    researchmap

  • Towards a Construction Method for Class-Libraries.

    Sato Tetsuya, Watanabe Takuo

    全国大会講演論文集   51 ( 5 )   89 - 90   1995.9

     More details

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

    オブジェクト指向プログラミングにおけるソフトウェア開発において、クラスライブラリ、およびそれを有効に利用するための開発環境の役割は大変重要である。クラスライブラリを含めた開発環境を単なるソースコードのデータベースとしてだけ捉えるのではなく、情報を整理し、資産として再利用可能な形で蓄積してゆくための一手段として捉える必要がある。しかし、その一方でクラスライブラリを構成するための標準的な方法は示されておらず、設計者それぞれ固有のモデルに委ねられている。そのため利用者は、プログラミング言語の習得のみならず、各設計者によって作成されたクラスライブラリの理解をも強いられる。加えて、クラスライブラリは肥大化するばかりで、利用者の負担は増える一方である。ここに初心者がオブジェクト指向プログラミングになじめない理由の一つがある。そのためにも、クラスライブラリが備えるべき標準的な性質を設計者、利用者ともに認知する必要がある。本稿では、問題領域に特化しないという意味での汎用のクラスライブラリ、および、プログラミング言語に特化しないという意味での汎用のクラスライブラリを構成するための方法について考察する。

    CiNii Books

    researchmap

  • Towards a Linguistic Framework for Transparent Mobile Computing Environment

    Amano Noriki, Watanabe Takuo

    全国大会講演論文集   51 ( 5 )   71 - 72   1995.9

     More details

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

    近年の技術革新は電子装置の小型化、高性能化をもたらし、その製造技術の進歩はそれらの安価な実現を可能にした。またネットワークはパソコン通信などを通じて急速に個人の生活空間に浸透しつつある。小型化された携帯可能な電子装置とネットワーク、この2つの技術の融合により新しいコンピューティング環境、コンピューティングスタイルが生まれようとしている。このように移動可能な小型計算機をネットワークに接続し、分散環境と融合させた計算機環境を移動計算機環境という。移動計算機環境では移動による計算機を取り巻く環境の動的変化、計算機資源の制約等がシステムレベルの透過性実現を困難にしている。本研究ではこのような環境においてシステムレベルの透過性を実現する枠組として有効なメタレベルアーキテクチャで構成される言語を提案する。

    CiNii Books

    researchmap

  • A reflective architecture for reusable metalevel description.

    Tanaka Akira, Watanabe Takuo

    全国大会講演論文集   51 ( 5 )   73 - 74   1995.9

     More details

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

    自己反映計算とは、通常の計算対象だけでなく計算を行なっている自己をも対象として計算を行なう、という概念である。自己反映的プログラミング言語とは、自己(動作中のプログラムや処理系の状態など)をその言語自身の枠組の中で扱うことができるようなプログラミング言語のことである。自己反映的なシステムでは、自己の構成、状態を動的に変更することが可能である。従って、自己反映的プログラミング言語は問題領域に合わせて自分自身をカスタマイズでき、柔軟なソフトウェアの構築に有用であることが認識されている。また、プログラム自体を扱う部分(メタレベル)と、問題を扱う部分(ベースレベル)に分けるという意味でモジュール化の促進を可能とする。本稿では、手続き的自己反映計算(ベースレベルを何らかのプログラムとすると、メタレベルをそのプログラムを実行するインタプリタとする枠組)において、モジュール化という側面を重視し、メタレベルの再利用性を考慮した自己反映的プログラミング言語のアーキテクチャを提案する。

    CiNii Books

    researchmap

  • 並行オブジェクト向けの分散GCの一方式

    渡部 卓雄, 瀬尾 明志

    全国大会講演論文集   49 ( 4 )   155 - 156   1994.9

     More details

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

    分散計算環境における大域的ガベージコレクションの一手法を提案する.本方式はリファレンスカウント方式とマーキング方式を併用したアルゴリズムを採用し,以下のような特長を持つ:(1)循環する参照を含むすべてのゴミを回収できる.(2)アプリケーションプログラムと並行に動作する.(3)比較的オーバーヘッドの高いマーキングフェーズの稼働率を低くおさえている.(4)リファレンス,構報,マーキング,終了判定のメッセージに重みを用いて,メッセージ数を減少させている.(5)集中制御を必要としない.本方式によるGCをCM-5,nCUBE/2上に実装し,他のアルゴリズムとの比較も行った.

    CiNii Books

    researchmap

  • 移動計算機環境に適した柔軟なソフトウェアの構築法

    中島 達夫, 渡部 卓雄, 保木本 晃弘

    全国大会講演論文集   49 ( 4 )   49 - 50   1994.9

     More details

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

    移動計算機を無線ネットワークを用いて分散環境と接続した移動計算機環境におけるアプリケーションは、メモリのサイズ、バッテリの量、ネットワークのバンド幅などの制約を考慮して実行する必要がある。そのため、アプリケーションやOSの構成力環境に応じて柔軟に変化しなければならない。本稿では、移動計算機環境に適した柔軟なソフトウェアの構築法の開発をめざすParsifalプロジェクトにおける柔軟なソフトウエアの構築法に関する概要を述べる。

    CiNii Books

    researchmap

  • A Concurrent Rewriting Based Execution Method for Object-Oriented Concurrent Languages

    Sugahara Tarou, Watanabe Takuo, Futatsugi Kokichi

    Technical report of IEICE. SS   94 ( 134 )   9 - 16   1994.7

     More details

    Language:Japanese   Publisher:一般社団法人電子情報通信学会  

    We propose a new implementation scheme for object-oriented concurrent Ianguages.In our scheme the execution of concurrent objects is modeled as a concurrent term rewriting.Rewriting terms that represent concurrent objects is realized by a system of interconnected graph rewriting machines.Soundness of our system execution is showed using a rewriting logic for object-oriented concurrent languages.

    CiNii Books

    researchmap

  • A Rewriting Model for Reflectiv Computation

    Watanabe Takuo

    Technical report of IEICE. SS   94 ( 134 )   1 - 7   1994.7

     More details

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

    The goal of this work is to provide a clear and general description framework forcomputational reflection and its related concepts(such as introspection,reflective tower,partial computation,and so on).This paper presents our first attempt to construct sucna framework based on the notion of implementation on abstract rewriting systems.

    CiNii Books

    researchmap

  • 並行オブジェクトのためのハイブリッド分散ガベージコレクションの一方式

    瀬尾 明志, 渡部 卓雄

    Research report   94   1 - 13   1994.3

     More details

    Language:Japanese   Publisher:北陸先端科学技術大学院大学  

    CiNii Books

    researchmap

  • メタレベルアーキテクチャを用いた動的負荷分散の実現

    宮内 興治, 渡部 卓雄

    Research report   94   1 - 14   1994.3

     More details

    Language:Japanese   Publisher:北陸先端科学技術大学院大学  

    CiNii Books

    researchmap

  • 並行オブジェクト指向計算における自己反映計算の一方式

    渡部卓雄

    並列処理シンポジウム(JSPP)   1991

     More details

  • Brian Cantwell Smith:Reflection and Semantics in Lisp, Proc. 11th ACM Symposium on Principles of Programming Languages, pp.23-35 (1984).

    渡部卓雄

    人工知能学会誌   2 ( 4 )   536 - 536   1987.12

     More details

    Language:Japanese   Publishing type:Book review, literature introduction, etc.   Publisher:社団法人人工知能学会  

    DOI: 10.11517/jjsai.2.4_536

    CiNii Books

    researchmap

  • 86-33 多重継承のセマンティクス

    渡部卓雄

    情報処理   27 ( 8 )   962 - 962   1986.8

     More details

    Language:Japanese   Publishing type:Book review, literature introduction, etc.   Publisher:情報処理学会  

    researchmap

▼display all

Presentations

  • 8KiB程度の省電力コプロセッサで動くmruby/copro

    鈴木豪, 渡部卓雄, 森口草介

    第27回 組込みシステム技術に関するサマーワークショップ(SWEST27)  2025.8 

     More details

    Event date: 2025.8

    Language:Japanese   Presentation type:Poster presentation  

    Country:Japan  

    ESP32-C6は高性能なメインプロセッサの他にセンサの読み取りなどで活用できる省電力コプロセッサを持つ.しかし,省電力コプロセッサを用いたプログラミングは,プログラムの制御フローが分かりにくくなったり,データを開発者が省電力コプロセッサのメモリにコピーしたりする必要があるという課題がある.そこで,本研究では淀みのない実行やデータの自動的な移動を可能にするための,コンパイル技術とメモリ管理手法を提案し,mruby/cに実装して評価を行った.

    researchmap

  • 定理証明支援系のためのライブラリ検索システム作成に向けて

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

    第27回プログラミングおよびプログラミング言語ワークショップ(PPL 2025)  2025.3  日本ソフトウェア科学会プログラミング論研究会

     More details

    Event date: 2025.3

    Language:Japanese   Presentation type:Poster presentation  

    Venue:愛知県蒲郡市・ホテル明山荘   Country:Japan  

    定理証明支援系を用いる際,プログラミング言語と同様に,既存のライブラリの結果を再利用することで,証明にかかる手間を大きく削減することができる. 再利用を促進するためには,既存のライブラリを横断的かつ網羅的に検索するシステムがあることが望ましい.しかし,RocqやAgda向けのものは構文的にマッチを行うのみで,簡約といった意味論的な側面は考慮しないなど,定理証明支援系向けの検索システムはまだ検索手法が貧弱であると考える. 本発表では,定理証明支援系ではどのような,またどれほど強力な検索が求められているかや,それをどう実現するかなどについて,現段階での研究結果と今後の展望について説明する.

    researchmap

  • 組込みデバイスのメモリ保護ユニットを活用したメモリ管理手法に向けた事前評価

    鈴木豪, 渡部卓雄, 森口草介

    第27回プログラミングおよびプログラミング言語ワークショップ(PPL 2025)  2025.3  日本ソフトウェア科学会

     More details

    Event date: 2025.3

    Language:Japanese   Presentation type:Poster presentation  

    Venue:愛知県蒲郡市・ホテル明山荘   Country:Japan  

    組込みデバイスにはメモリ保護ユニット(Memory Protection Unit)がある. マルチプロセッシング環境においてメモリ保護ユニットを活用した言語処理系はデータの保護やnullチェック以外の目的で利益を享受できる可能性がある. たとえば,メモリ空間の異なるプロセッサ間でデータがやりとりされるとき,リード・ライトバリアを省ける可能性がある. あるいは,計画的にデータの転送を遅延させることで共有バスの応答性低下を軽減し,実時間性の向上が望める可能性がある. 本発表ではその事前準備として,メモリ保護ユニットを活用した場合のレイテンシなどの事前評価をする.

    researchmap

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

    2023.8 

     More details

    Event date: 2023.8

    Language:Japanese  

    Emfrp, a functional reactive programming (FRP) language for small-scale embedded systems, is a DSL designed for execution in resource-constrained environments. The execution model of Emfrp provides a reactive behavior of the system through repeated actions such as waiting for inputs from sensors, updating all time-varying values, and outputting them to the actuators. Such polling-based execution consumes unnecessary energy due to frequent update processing. For this reason, the extended languages PbEmfrp and EvEmfrp were proposed to reduce unnecessary update processing and improve energy consumption. Pb(Ev)Emfrp statically determines and schedules the update period of the whole system by annotating the timing of the time-varying value updates and the input interrupts. Since time-varying value updates are performed at periodic timing, the system is put into sleep mode when no update processing is required, thereby saving energy. However, because the timing annotations and the update intervals are set statically, executing a program that updates a specified time-varying value after a fixed time starting from an interrupt signal without unnecessary updates is impossible. This causes frequent wake-up from sleep mode and prevents power saving. We propose a mechanism for extending timing annotations and dynamically changing the update intervals to solve this problem. We also show the usefulness of the proposed mechanism through an example of chattering removal for button presses.

    researchmap

Awards

  • IPSJ Yamashita SIG Research Award

    2021.9   Information Processing Society of Japan   Towards a Functional Reactive Programming Model for Developing WSANs

    Takuo Watanabe

     More details

  • Asia Pacific Conference on Robot IoT System Development and Platform (APRIS 2020), Best Paper Award

    2020.11   Information Processing Society of Japan   Towards a Functional Reactive Programming Model for Developing WSANs

    Takuo Watanabe, Kazuhiro Shibanai

     More details

  • Tokyo Tech Best Teacher Award

    2018.3   Tokyo Institute of Technology   Design and Implementation of Progressive Graduate Minor in Cybersecurity

    K. Tanaka, T. Itoh, H. Koike, M. Shimakawa, X. Defago, H. Masuhara, Y. Minamide, H. Yokota, K. Wakita, O. Watanabe, T. Watanabe, W. Ogata, K.i Yamaoka, T. Isshiki, M. Tomoishi, S. Nishizaki, S. Matsuura

     More details

  • Tokyo Tech Award for Challenging Research

    2003   Tokyo Institute of Technology   Software Detoxification using High-Level Introspection Mechanism

    Takuo Watanabe

     More details

  • IPSJ SIG Research Award

    1991.10   Information Processing Society of Japan   A Concurrent Reflective Computation Model Based on ACTOR Paradigm

    Takuo Watanabe

     More details

  • Best Poster Gold Award

    2025.8   SWEST Executive Committee  

    Go Suzuki, Takuo Watanabe, Sosuke Moriguchi

     More details

  • Asia Pacific Conference on Robot IoT System Development and Platform (APRIS 2023), Best Paper Award

    2023.11   Information Processing Society of Japan   Using Low Power Coprocessors in an FRP Language for Embedded Systems

    Go Suzuki, Akihiko Yokoyama, Sosuke Moriguchi, Takuo Watanabe

     More details

  • SWEST25 Best Poster Bronze Award

    2023.9   SWEST Executive Committee  

    Go Suzuki, Akihiko Yokoyama, Sosuke Moriguchi, Takuo Watanabe

     More details

  • SWEST23 Best Poster Gold Award

    2021.9   SWEST Executive Committee   Programming Small-Scale Embedded Systems using a Functional Reactive Programming Language

    Takuo Watanabe

     More details

  • Embedded System Symposium 2018, Best Poster Award

    2018.8   Information Processing Society of Japan   Introduction of a Context-Oriented Programming Mechanism to an FRP Language for Small-Scale Embedded Systems

    Takuo Watanabe

     More details

▼display all

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)  Grant-in-Aid for Scientific Research (C)

    Takuo Watanabe, Sosuke Moriguchi

      More details

    Authorship:Principal investigator  Grant type:Competitive

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

    researchmap

  • Embedded Systems Development Support with the Integration of the Actor-Model and Functional Reactive Programming

    Grant number:18K11236  2018.4 - 2021.3

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

    Takuo Watanabe

      More details

    Authorship:Principal investigator  Grant type:Competitive

    Grant amount:\4420000 ( Direct Cost: \3400000 、 Indirect Cost:\1020000 )

    researchmap

  • Interval constraint programming technique for discrete-continuous hybrid systems

    Grant number:15K15968  2015.4 - 2018.3

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

    Ishii Daisuke, UEDA Kazunori, GOLDSZTEJN Alexandre, NAKAJIMA Shin, HOSOBE Hiroshi, YOSHIZOE Kazuki, WATANABE Takuo

      More details

    Grant amount:\3770000 ( Direct Cost: \2900000 、 Indirect Cost:\870000 )

    We have developed techniques for analyzing hybrid systems that behave both continuously and discretely based on interval constraint programming approach. Such analysis combines various problems, e.g., verification of real computation errors, differential equations on function sets and logic formulas on temporal properties. The proposed techniques are characterized by an integration of the problems within a constraint programming framework. To implement the techniques, we have verified a part of the codebase its correctness. We have also parallelized the core solving process for high-performance computation. In the experiments, we corrected hybrid system examples from basic ones to industrial ones and evaluated the effectiveness of the proposed techniques.

    researchmap

  • Specification and Runtime Verification Methods for Adaptive Parallel Systems based on Group-Wide Reflection

    Grant number:15K00089  2015.4 - 2018.3

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

    Takuo Watanabe

      More details

    Authorship:Principal investigator  Grant type:Competitive

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

    The goal of this project is to provide a framework for specification and run-time verification of actor-based reflective systems. To achieve the goal, we took a new approach to the actor-based group-wide reflection (GWR), which allows each actor to have capabilities of reasoning about/acting upon the collective behavior of the group it belongs to. We applied the proposed method to implement concurrent context-oriented programming (COP) systems. To realize COP in concurrent systems based on asynchronous communication, we must take care to control synchronizations among context changes and other computations. We adopt an instance of GWR to solve the synchronization problem regarding messages that cross two contexts. We also developed a static verification framework for actor-based systems in Coq, as well as a run-time verification library for Akka-based applications.

    researchmap

  • A methodology for programming language design through general hygienic macro expansion

    Grant number:26330079  2014.4 - 2018.3

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

    Ken Wakita, Takuo Watanabe, Akira Sasaki

      More details

    Authorship:Coinvestigator(s)  Grant type:Competitive

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

    The research aimed at development of a framework for designing and implementing a new programming language frontends by means of a macro-based technology. The novelty of the proposed macro technology are twofold: incorporation of hygienic macro system and description of the syntax of the core programming language. Based on this technology, we have conducted research in several application areas including functional reactive programming targeted for programming embedded systems, domain specific languages for social simulation, automated code and document generation system for graphics and information visualization domains.

    researchmap

  • Specification Methods for Runtime Verification of Reflective Software

    Grant number:24500033  2012.4 - 2015.3

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

    WATANABE Takuo

      More details

    Grant amount:\4680000 ( Direct Cost: \3600000 、 Indirect Cost:\1080000 )

    The main contributions of this work include (1) a novel construction method of group-wide reflective architectures and (2) extensible and modularized verification methods for concurrent language execution models. The key idea of the former is to apply parallel composition to actors that constitute the meta-level of the actor groups. This results in a uniform construction method for various types of meta-level actors. The proposed method can be used to implement concurrent context-oriented systems. For the latter, we proposed a method to support the extension of verified programs by interactively modifying their definitions and proofs and a modularized description/verification method for reflective concurrent systems.

    researchmap

  • 自己反映的ソフトウェアのための実行時検証とそのための仕様記述方式

    2012 - 2014

    文部科学省  科学研究費補助金(基盤研究(C)) 

    渡部 卓雄

      More details

    Authorship:Principal investigator  Grant type:Competitive

    Grant amount:\4680000 ( Direct Cost: \3600000 、 Indirect Cost:\1080000 )

    researchmap

  • Highly Scalable Software Security for Information Explosion Environments

    Grant number:18049027  2006 - 2010

    Japan Society for the Promotion of Science  Grants-in-Aid for Scientific Research Grant-in-Aid for Scientific Research on Priority Areas  Grant-in-Aid for Scientific Research on Priority Areas

    SHIBAYAMA Etsuya, CHIBA Shigeru, WATANABE Takuo, KONO Kenji

      More details

    Grant amount:\65400000 ( Direct Cost: \65400000 )

    We propose a Defense-in-Depth framework that is suitable for building secure and dependable software in the Info-plosion era, where software for large distributed computing systems is required. Under the practical assumption that there are no perfect solutions, the framework is designed to integrate software verification and testing techniques in the development phase and dynamic update and monitoring in the operation phase. In addition, we have developed scalable core technologies based upon the notions of Aspect-Orientation and other ideas for flexible software construction.

    researchmap

  • Safe Dynamic Composition and Secure Execution of Software Based on Static Analysis and Execution Monitoring

    Grant number:17500017  2005 - 2006

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

    WATANABE Takuo

      More details

    Grant amount:\3200000 ( Direct Cost: \3200000 )

    Behavioral interface specification languages, such as Java Modeling Language (JML), can be used to specify the behavior of program modules. We have developed a behavioral interface specification language Moxa, an extension of JML. Moxa provides a new modularization mechanism called assertion aspect that can capture the crosscutting properties among assertions. In this resarch, we briefly explain the notion of assertion aspects and the design of Moxa, and then we show an example specification. By comparing the specification to its JML counterpart, we show that the use of assertion aspects clarifies the large, complex specification and greatly simplifies each assertion in the specification.

    researchmap

  • Safe Dynamic Composition and Secure Execution of Software Based on Static Analysis and Execution Monitoring

    2005 - 2006

    Ministry of Education, Culture, Sports, Science and Technology  Grants-in-Aid for Scientific Research(基盤研究(C)) 

    Takuo WATANABE

      More details

    Authorship:Principal investigator  Grant type:Competitive

    Grant amount:\3200000 ( Direct Cost: \3200000 )

    Behavioral interface specification languages, such as Java Modeling Language (JML), can be used to specify the behavior of program modules. We have developed a behavioral interface specification language Moxa, an extension of JML. Moxa provides a new modularization mechanism called assertion aspect that can capture the crosscutting properties among assertions. In this resarch, we briefly explain the notion of assertion aspects and the design of Moxa, and then we show an example specification. By comparing the specification to its JML counterpart, we show that the use of assertion aspects clarifies the large, complex specification and greatly simplifies each assertion in the specification.

    researchmap

  • Research on Declarative Description and Consistency Checking of Policies for Adaptive Software

    2003 - 2004

    Ministry of Education, Culture, Sports, Science and Technology  Grants-in-Aid for Scientific Research(基盤研究(C)) 

    Takuo WATANABE

      More details

    Authorship:Principal investigator  Grant type:Competitive

    Grant amount:\3500000 ( Direct Cost: \3500000 )

    In this research, we have investigated a novel secure execution scheme and safe composition of of software components that are especially utilized to extend, reconfigure or maintain a dynamically extensible and/or context-aware systems. We have developed a new security architecture called Taurus-1 that adopts monitored execution as a basic security enforcement mechanism. We have shown that how Taurus-1 can provide a security enhancement mechanism for such extensible and/or context-aware systems and then discuss how to specify security policies for them. To achieve a secure and safe composition of components, we have also designed a behavioral interface specification language Moxa that provides a new modularization mechanism based on assertion aspects. The use of assertion aspects clarifies the large, complex specification and greatly simplifies each assertion in the specification.

    researchmap

  • Research on Declarative Description and Consistency Checking of Policies for Adaptive Software

    Grant number:15500028  2003 - 2004

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

    WATANABE Takuo, SUZUKI Masato, AMANO Noriki

      More details

    Grant amount:\3500000 ( Direct Cost: \3500000 )

    In this research, we have investigated a novel secure execution scheme and safe composition of of software components that are especially utilized to extend, reconfigure or maintain a dynamically extensible and/or context-aware systems. We have developed a new security architecture called Taurus-1 that adopts monitored execution as a basic security enforcement mechanism. We have shown that how Taurus-1 can provide a security enhancement mechanism for such extensible and/or context-aware systems and then discuss how to specify security policies for them. To achieve a secure and safe composition of components, we have also designed a behavioral interface specification language Moxa that provides a new modularization mechanism based on assertion aspects. The use of assertion aspects clarifies the large, complex specification and greatly simplifies each assertion in the specification.

    researchmap

  • Secure Construction Methods for Extensible and Adaptable Software

    Grant number:12133207  2000 - 2003

    Japan Society for the Promotion of Science  Grants-in-Aid for Scientific Research Grant-in-Aid for Scientific Research on Priority Areas  Grant-in-Aid for Scientific Research on Priority Areas

    WATANABE Takuo, ISCHISUGI Yuuji, GONDOW Katsuhiko, AMANO Noriki, TANAKA Akira, SUZUKI Masato

      More details

    Grant amount:\23800000 ( Direct Cost: \23800000 )

    We have investigated novel methods for constructing safe and secure software that exhibit extensibility and adaptability. Our research results are divided in the following three categories corresponding to three typical security/safety flaws of extensible/adaptable software. (1)We developed an efficient secure execution method for untrusted programs that is based on code modification and runtime policy examination. (2)We augmented our former works on the dynamically adaptable objects and built a class library that provides safe dynamic adaptation. (3)We also investigated secure composition methods for independently developed software modules and gained some successful results. Some of our research results and related outcomes are actually applied to the collaborative construction of AnZenMail.

    researchmap

  • Secure Construction Methods for Extensible and Adaptable Software

    2000 - 2003

    Ministry of Education, Culture, Sports, Science and Technology  Grants-in-Aid for Scientific Research(特定領域研究(B), 特定領域研究) 

    Takuo WATANABE

      More details

    Authorship:Principal investigator  Grant type:Competitive

    Grant amount:\23800000 ( Direct Cost: \23800000 )

    We have investigated novel methods for constructing safe and secure software that exhibit extensibility and adaptability. Our research results are divided in the following three categories corresponding to three typical security/safety flaws of extensible/adaptable software. (1)We developed an efficient secure execution method for untrusted programs that is based on code modification and runtime policy examination. (2)We augmented our former works on the dynamically adaptable objects and built a class library that provides safe dynamic adaptation. (3)We also investigated secure composition methods for independently developed software modules and gained some successful results. Some of our research results and related outcomes are actually applied to the collaborative construction of AnZenMail.

    researchmap

  • A Modular Construction Scheme for Adaptive Mobile Code Systems with Explicit Support of Non-Functional Requirements

    Grant number:12680340  2000 - 2001

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

    WATANABE Takuo, AMANO Noriki

      More details

    Grant amount:\3800000 ( Direct Cost: \3800000 )

    Mobile code is now a popular abstraction mechanism to construct adaptable distributed systems in convenient way. To develop a system using mobile code, on has to overcome several new complexities (as well as security and safety problems) in his/her code arise from the mixed use of mobility primitives. In this research, we claim the need for appropriate support for mobility aspects and discuss how to modularize them using compile-time/run-time metalevel architectures. We have designed and implemented a modular, generic fault-handling mechanism for mobile code systems. The mechanism is based on a simple per-object metalevel architecture. We also consider safety issues on dynamic adaptability of component-based software systems and have proposed an architecture for safe dynamic adaptability.

    researchmap

  • A Modular Construction Scheme for Adaptive Mobile Code Systems with Explicit Support of Non-Functional Requirements

    2000 - 2001

    Ministry of Education, Culture, Sports, Science and Technology  Grants-in-Aid for Scientific Research(基盤研究(C)) 

    Takuo WATANABE

      More details

    Authorship:Principal investigator  Grant type:Competitive

    Grant amount:\3800000 ( Direct Cost: \3800000 )

    Mobile code is now a popular abstraction mechanism to construct adaptable distributed systems in convenient way. To develop a system using mobile code, on has to overcome several new complexities (as well as security and safety problems) in his/her code arise from the mixed use of mobility primitives. In this research, we claim the need for appropriate support for mobility aspects and discuss how to modularize them using compile-time/run-time metalevel architectures. We have designed and implemented a modular, generic fault-handling mechanism for mobile code systems. The mechanism is based on a simple per-object metalevel architecture. We also consider safety issues on dynamic adaptability of component-based software systems and have proposed an architecture for safe dynamic adaptability.

    researchmap

  • Memory Management Scheme Based on the Quasi-Linear Type System

    Grant number:11480061  1999 - 2001

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

    KOBAYASHI Naoki, IGARASHI Atsushi, TAURA Kenjiro, WATANABE Takuo

      More details

    Grant amount:\7200000 ( Direct Cost: \7200000 )

    The aim of this research project was to establish a new scheme for memory management based on the quasi-linear type system which Kobayashi has proposed. With the quasi-linear type system, we can find the last access to each heap data and insert an instruction for deallocation at compile-time, by which we can construct a more efficient, safe memory management system. Main results are summarized as follows.
    Insertion of memory allocation/deallocation instructions based on the quasi-linear type system
    We devised an algorithm for finding the last access point for each heap data and inserting allocation/deallocation instructions, based on the quasi-linear type system. We incorporated it into a functional programming language ML.
    Design and implementation of a bytecode language for our memory management scheme
    We designed and implemented a bytecode language that is suitable for our memory management scheme based on the quasi-linear type system.
    Integration with garbage collection
    Since not all heap data can be maintained by our memory management scheme, integration with conventional memory management schemes (GC) is necessary. The main issues are how to improve GC on multiprocessors and how to deal with dangling pointers produced by our memory management scheme. We dealt with these issues and established a method to integrate the two schemes for memory management.
    Resource usage analysis
    We generalized the quasi-linear type system and constructed a type system for checking usage of not only the memory but also other resources such as files, networks, etc.

    researchmap

  • Development of Formal Specification Language for Writing Specifications as Components Based on Functions

    Grant number:10558043  1998 - 2001

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

    FUTATSUGI Kokichi, OGATA Kazuhiro, WATANABE Takuo

      More details

    Grant amount:\12700000 ( Direct Cost: \12700000 )

    In this research, we have used the specification language CafeOBJ having several machineries for writing specifications as components. CafeOBJ is the algebraic specification language that has been developed by mainly the head investigator. It can be used to spepify objects in object-orientation and abstract machines as well as abstract data types. The powerful module system that CafeOBJ has also helps write specifications as components.
    What we have done are as follows :
    Verification : Safety critical systems affecting human lives such as railroad signaling systems, air-traffic control systems, patient monitoring systems, etc. are typically distributed (real-time) systems. We have developed and proposed a method for verifying those systems with the help of the CafeOBJ system. Several case studies that we have done show its usefulness.
    Support Tool : We have developed a foundation for developing, reliable software by combining components. We have also designed and implemented a support tool for making software according to the foundation

    researchmap

  • 実行環境に動的に適応するソフトウェアの基本機構とそれに基く言語の研究

    Grant number:10139215  1998

    日本学術振興会  科学研究費助成事業 特定領域研究(A)  特定領域研究(A)

    渡部 卓雄

      More details

    Grant amount:\1800000 ( Direct Cost: \1800000 )

    現在までの主な成果を以下に示す.
    (1) 動的適応のための基本機構DASとそれにもとづく言語LEAD++実行環境に動的に適応可能なソフトウェアを実現するための基本機構DASを提案した.基本的なアイデアは,呼び出された時点における実行環境に応じて振舞いを柔軟に変化させることができる適応可能手続きの利用にある.さらにこの機構自身が適応可能手続きを用いて(自己反映的に)実現される.そのため,実行環境の状態にもとづくソフトウェアの機能の一時的な制限やその解除といった柔軟な適応動作を,元のプログラムを修正することなく実現することができる.我々はDASを実現する言語LEAD++を設計・実装し,動的適応可能なソフトウェアの実装を通してDASの有効性を確かめることができた.LEAD++はJava言語へのトランスレータとして実装しており,複数のオペレーティングシステムで稼動する.
    (2) 部分継続にもとづく移動コード機構 分散システムにおける動的適応を実現するためには,移動コードの技術が有効である.本研究で提案する機構では,部分継続(partial continuation)を具現化(reify)し,それを移動する単位としている.この機構では,プロセス移送(goプリミティブ),遠隔実行,巡回エージェント等の様々なコード移動形態を表現できる.特に巡回エージェントでは,(単純なgoとはちがって)必要な部分継続のみを最初に(具現化して)転送することが可能である.さらに具現化された部分継続を再利用すると,複数回の巡回に際し,継続の移動は最初の1回のみで済むというメリットがある.

    researchmap

  • 実行環境に動的に適応するソフトウェアの基本機構とそれに基く言語の研究

    1998

    文部科学省  科学研究費補助金(特定領域研究(A)) 

    渡部 卓雄

      More details

    Authorship:Principal investigator  Grant type:Competitive

    Grant amount:\1800000 ( Direct Cost: \1800000 )

    現在までの主な成果を以下に示す.(1) 動的適応のための基本機構DASとそれにもとづく言語LEAD++実行環境に動的に適応可能なソフトウェアを実現するための基本機構DASを提案した.基本的なアイデアは,呼び出された時点における実行環境に応じて振舞いを柔軟に変化させることができる適応可能手続きの利用にある.さらにこの機構自身が適応可能手続きを用いて(自己反映的に)実現される.そのため,実行環境の状態にもとづくソフトウェアの機能の一時的な制限やその解除といった柔軟な適応動作を,元のプログラムを修正することなく実現することができる.我々はDASを実現する言語LEAD++を設計・実装し,動的適応可能なソフトウェアの実装を通してDASの有効性を確かめることができた.LEAD++はJava言語へのトランスレータとして実装しており,複数のオペレーティングシステムで稼動する.(2) 部分継続にもとづく移動コード機構 分散システムにおける動的適応を実現するためには,移動コードの技術

    researchmap

  • 自己反映アーキテクチャによる動的適応とその移動計算機環境への適用

    1997

    文部科学省  科学研究費補助金(重点領域研究) 

    渡部 卓雄

      More details

    Authorship:Principal investigator  Grant type:Competitive

    Grant amount:\1900000 ( Direct Cost: \1900000 )

    動的適応のための基本的な自己反映計算機構,およびそれに基く言語LEADの設計とその処理系の実装を行った.LEADの基本的な適応機構はオブジェクト指向計算モデルにおける総称関数の機構を拡張したものである.これは計算対象となるオブジェクトだけでなく,実行環境の状態がメソッド選択に関与する.そしてアプリケーションの特性に合わせた適応を可能にするために,この適応機構自身もLEADの自己反映機構によって拡張することが可能になっている.基本的なアイディアは,・適応の粒度を手続きとする.・実行環境の状態に応じて呼ばれる手続きの実体を動的に切替える.・実行環境の状態に適した手続きの実体を容易かつ安全に修正・追加できる.・動的適応可能性のための記述(適応の記述)を問題領域の記述(問題の記述)から分離・独立させる.である.つまり1つの手続きは実行環境の状態に応じた複数の実体を持ち,手続き呼び出し時に,その実行環境の状態に適した実体が選択され実行される.

    researchmap

  • 自己反映アーキテクチャによる動的適応とその移動計算機環境への適用

    Grant number:09245213  1997

    日本学術振興会  科学研究費助成事業 重点領域研究  重点領域研究

    渡部 卓雄

      More details

    Grant amount:\1900000 ( Direct Cost: \1900000 )

    動的適応のための基本的な自己反映計算機構,およびそれに基く言語LEADの設計とその処理系の実装を行った.LEADの基本的な適応機構はオブジェクト指向計算モデルにおける総称関数の機構を拡張したものである.これは計算対象となるオブジェクトだけでなく,実行環境の状態がメソッド選択に関与する.そしてアプリケーションの特性に合わせた適応を可能にするために,この適応機構自身もLEADの自己反映機構によって拡張することが可能になっている.基本的なアイディアは,
    ・適応の粒度を手続きとする.
    ・実行環境の状態に応じて呼ばれる手続きの実体を動的に切替える.
    ・実行環境の状態に適した手続きの実体を容易かつ安全に修正・追加できる.
    ・動的適応可能性のための記述(適応の記述)を問題領域の記述(問題の記述)から分離・独立させる.
    である.つまり1つの手続きは実行環境の状態に応じた複数の実体を持ち,手続き呼び出し時に,その実行環境の状態に適した実体が選択され実行される.このように手続きの振舞いを実行時に変えることで動的適応可能性を実現する.
    現在のLEAD処理系は,Pentiumプロセッサを搭載するワークステーションおよび可搬型パーソナルコンンピュータからなる分散・移動計算機環境上に実装されている.この上でアプリケーションを記述して計算機実験を行った結果,実行環境の動的変化が著しい場合におけるLEADの適応機構の有効性を示すことができた.

    researchmap

  • A Study on Abstract Machines for Concurrent Rewriting

    Grant number:07458056  1995 - 1997

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

    FUTATSUGI Kokichi, OGATA Kazuhiro, WATANABE Takuo

      More details

    Grant amount:\6700000 ( Direct Cost: \6700000 )

    We have designed an abstract machine for concurrent (parallel) rewriting called Parallel TRAM.Parallel TRAM can reasonably control parallel rewriting with the parallel E-strategy that is an extension of the evaluation strategy (the E-strategy) initiated by the algebraic specification language OBJ2. We also have implemented Parallel TRAM on the massively parallel computer Cray Research T3E carrying 128processing elements with the widely used message passing library MOI.The implementation is called PTRAM/MPI.PTRAM/MPI has been found to be about 50 times faster than TRAM the abstract machine for sequential rewriting by executing some benchmark programs with both of them. That shows the usefulness of the approach used in this research.
    We describe PTRAM/MPI in further detail. TRAM is an abstract machine for order-sorted conditional term (graph) rewriting systems, which may be used to implement efficient processors for advanced algebraic specification languages such as OBJ3 and CafeOBJ.The rewriting strategy of TRAM is the evaluation strategy (the E-strategy) that allows one to specify local strategies for each operation so as to control rewriting. The E-strategy can simulate a variant of lazy evaluation. Parallel TRAM is a parallel variant of TRAM.It has been designed to be efficiently executed on a shared memory multiprocessor, and its parallel computational model is the shared memory model. The rewriting strategy of Parallel TRAM is an extension of the E-strategy called the parallel E-strategy. The parallel E-strategy may control parallel rewriting reasonably by combining with conditionals. PTRAM/MPI is an improved version of Parallel TRAM.It has been designed to be efficiently executed on a massively parallel computer or a workstation cluster, and its parallel computational model is the message passing model. PTRAM/MPI has been implemented on Cray Research T3E carrying 128 processing elements with MPI.Thanks to MPI,it may be easy to port or implement PTRAM/MPI on other massively parallel computers or workstation clusters.

    researchmap

  • 並行書き換えモデルの超並行実行方式の研究

    Grant number:06452391  1994 - 1995

    日本学術振興会  科学研究費助成事業 一般研究(B)  一般研究(B)

    二木 厚吉, 渡部 卓雄

      More details

    本年度は、並行分散システムの有望なモデルである並行書き換えモデルに関し、その一つの重要な部分モデルとして、非同期メッセージ通信を用いた並行オブジェクト計算に対応するものを取り上げ、以下のことを行なった。
    (1)抽象機械として定式化。
    (2)抽象機械のその性能を評価するためのシミュレーション実験。
    抽象機械としては、超並行計算機上で効率良く実装できるように、非同期メッセージ通信を用いた並行オブジェクト計算に近いものを想定し、並行グラフ簡約とメッセージ通信を併用した実行方式を想定して定式化した。
    上記抽象機械のシミュレーターを、関数型プログラミング言語Haskellで実現した。このシミュレータ上で、抽象機械の仮想機械語によって記述した並行計算に関するいくつかの例題を実行し、結果次のような知見を得た。
    (a)従来アドホックな形で実装されていた並行オブジェクト指向言語の,書き換えにもとづく形式的な実行方式を得ることができた.実際に,定義した抽象機械がの正当性(並行オブジェクト指向言語の正しい実装となっていること)は書き換え論理を用いて証明することができた.
    (b)シミュレータを使った実験を通して,本研究で定式化した抽象機械が,並行計算機を用いて効率良く実装できることを確認した.
    これをもとに、次年度以降は(1)超並列計算機上への抽象機械の効率の良い実装方式,および(2)本定式化にもとづく,並行オブジェクト指向言語のプログラム変換や部分計算手法の研究を行なう予定である。

    researchmap

  • Logics of parallel object-oriented programming languages

    Grant number:05044214  1993

    Japan Society for the Promotion of Science  Grants-in-Aid for Scientific Research Grant-in-Aid for Overseas Scientific Survey.  Grant-in-Aid for Overseas Scientific Survey.

    YONEZAWA Akinori, JONES Cliff, KOBAYASHI Naoki, HONDA Kohei, WATANABE Takuo, SHIBAYAMA Etsuya, TOKORO Mario

      More details

    As the visit to UK was made by A.Yonezawa, K.Kobayashi, and K.Honda at the very end of the fiscal year of 1993, the concrete technical results obtained by the academic exchange and discussions during the visit were not explicit. However, the technical discussions with Prof.C.Jones, Prof.I.Watson, Dr.J.Sargeant(Manchester Univ.), Prof.R.Milner, Prof.R.Burstall, Dr.C.Stirling, Dr.B.Pierce, Dr.D.Turner, Dr.D.Walker (Edinburgh Univ.), Prof.Abramsky (Imperial College, London) have deepened our understanding of technical issues and given new directions of our research. Also, our technical achievements made prior to the visit, which are itemized below, gave strong influences to the courses of research development on the UK-side.
    The followings are a summary of our major technical achievements :
    (I)N.Kobayashi and A.Yonezawa :
    .Establishing the operational and model theoretic semantics of ACL(^*).
    .Defining process equivalencies in ACL.
    .Introducing type systems in ACL.
    (^*)ACL is the linear logic based asynchronous concurrent computation framework developed by Kobayashi and Yonezawa.
    (II)K. Honda :
    .Establishing a type theory in upsilon-calculus(^*).
    .Developing a theory of combinators in upsilon-calculus.
    (^*)upsilon-calculus is an asynchronous process calculus developed by K. Honda.

    researchmap

  • 並列オブジェクト指向型言語における自己反映計算とその応用

    Grant number:02952187  1990

    日本学術振興会  科学研究費助成事業 奨励研究(特別研究員)  奨励研究(特別研究員)

    渡部 卓雄

      More details

    Grant amount:\1000000 ( Direct Cost: \1000000 )

    researchmap

  • Computational Reflection in Object-Oriented Concurrent Computing and its Applications

    Grant number:01420045  1989 - 1991

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

    YONEZAWA Akinori, WATANABE Takuo, MATSUOKA Satoshi

      More details

    Grant amount:\11800000 ( Direct Cost: \11800000 )

    1. An Object-oriented Concurrent Language ABCL/R which is able to describe reflective computation was designed and its preliminary implementation has been completed. [1]
    2. We leaned a new notion called "Group-Wide Reflection" which is the reflective capability for a group of concurrent objects as a whole. [4, 5, 9]
    3. An Actor-based reflective model and language ACT/R was designed, which have the group-wide reflective capability. [4, 5, 9]
    4. Various results including correctness of the reflective model have been obtained by analyzing the notion of Group-Wide Reflection. [4, 5, 9]
    5. A prototype implementation of ACT/R was completed.
    6. We defined a new reflective notion called "Hybrid Group Reflection" by incorporating the results of our research on Group-Wide Reflection into our language ACT/R. [6, 13, 14]
    7. In conventional languages, important aspects of parallel computation such as scheduling and shared resource coordination could only be programmed in an ad hoc way. Our research results enabled us to model and program such aspects of parallel computation in reflective (user) languages. Using our reflective language, we also showed that controlling and programming such aspects of parallel discrete event simulation can be done in a very succinctly way in the same language as the simulation is written. [13, 14, 11]
    8. Our implementation of ABCL/R2 on a multi-processor workstation Omuron Luna88k demonstrated the effectiveness of the use of reflective capability in programming parallel discrete event simulation.
    9. Using examples, we showed that the reflective capability provides an effective means for coping with the inheritance anomaly problem. [6]
    10. The runtime kernel for an object-oriented concurrent language includes not only its intermediate-code interpreter, method dispatcher, and garbage collector, but also its scheduler and inter-node communication facilities. It is often the case in distributed computing environments that the behavior of the runtime k. emel needs to be adaptive according to its execution environment. For this purpose, we constructed a reflective architecture system called RbCl the almost all runtime facilities of which can be dynamically replaceable with user-defined ones. [8, 11]
    Other Contributions : - International Workshops -
    Two of our research members, Satoshi Matsuoka and Takuo Watanabe, organized (as program committee members) the following two international workshops :
    1. ECOOP/OOPSLA'90 Workshop on Reflection and Metalevel Architectures in Object-Oriented Programming, Ottawa, October 21 1990.
    2. OOPSLA'90 Workshop on Reflection and Metalevel Architectures in Object-Oriented Programming, Phoenix, October 7, 1991.

    researchmap

▼display all

Teaching Experience

  • Functional Programming Fundamentals

    2025.4 Institution:Institute of Science Tokyo

     More details

    Level:Undergraduate (specialized)  Country:Japan

    Following the procedural programming paradigm delivered in "Procedural Programming Fundamentals" and "Advanced Procedural Programming", this course introduces different types of programming paradigm, namely functional programming. The course will present the principles behind the functional programming paradigm and its computational mechanism. The course will use a programming language Scheme.
    Using an appropriate programming paradigm and a programming language for a given problem is essential for realising software regarding its description ease, understandability and maintainability. This course aims to make students acquire the ability to choose an appropriate programming paradigm for a given problem by the deep understanding of common and different concepts among various programming paradigms.

    researchmap

  • Cyber-Physical Systems

    2020.4 Institution:Tokyo Institute of Technology

     More details

    Level:Postgraduate  Country:Japan

    A cyber-physical system (CPS) is a collection of computational entities that communicate with one other and interact with the physical world via sensors and actuators. Such systems are omnipresent today, from automobiles to smart cities. In this course, basic concepts, theory, and issues of cyber-physical systems are examined. The course aims to ensure that students not only grasp the concepts, but also obtain basic skills to formally model and verify cyber-physical systems.

    researchmap

  • Creating Programming Projects

    2020.4 Institution:Tokyo Institute of Technology

     More details

    Level:Undergraduate (specialized)  Country:Japan

    This course is for students who already have adequate knowledge and skills in programming in C or C++. The goal of this course is that students can advance their knowledge and skills by accomplishing their own projects.
    At the start of the course, students compose proposals of projects related to programming under the guidance of the course instructors. During the course hours, students make progress towards the goal of their projects.
    Topics of the projects include, but are not limited to:
    * Design and implementation of new software projects
    * Improvement of software projects the students previously developed
    * Completing tasks (exercises) for programming/security contests

    researchmap

  • System Software

    2017.4 Institution:Tokyo Institute of Technology

     More details

    Level:Undergraduate (specialized)  Country:Japan

    This course examines the design and implementation of operating system kernels and surveys the background theories and algorithms

    researchmap

  • Foundation of Cybersecurity

    2016.4 Institution:Tokyo Institute of Technology

     More details

    Level:Postgraduate  Country:Japan

    Cybersecurity is important for our daily lives including various types of activities. There is a growing demand for students who can be researchers and engineers capable of understanding cybersecurity.
    In order to satisfy this demand, Tokyo Tech has launched Progressive Graduate Minor in Cybersecurity in April, 2016. We design the curriculum of Progressive Graduate Minor in Cybersecurity in collaboration with NRI as the core, also with Rakuten, NTT, AIST, and NISC. The following six courses are organized in School of Computing: Foundation of Cybersecurity (1Q, 2-0-0), Theory of Cryptography for Cybersecurity (3Q, 2-0-0), Cybersecurity Governance (3Q, 1-1-0), Attack and Defense on Cybersecurity I (2Q, 1-1-0), Attack and Defense on Cybersecurity II (3Q, 1-1-0), and Attack and Defense on Cybersecurity III (4Q, 1-1-0).
    This course is one of the core courses in this minor. This course aims to help students to understand the overview and the background of cybersecurity. This course also focuses on the relationships between cybersecurity and other research topics in computer science, and on the primitives and the tools in cybersecurity.

    researchmap

  • Advanced System Software

    2016.4 - 2020.3 Institution:Tokyo Institute of Technology

     More details

    Level:Postgraduate  Country:Japan

    researchmap

  • Workshop on Software Development

    2011.4 - 2019.3 Institution:Tokyo Institute of Technology

     More details

    Level:Postgraduate  Country:Japan

    researchmap

  • Operating Systems

    2007.4 - 2017.3 Institution:Tokyo Institute of Technology

     More details

    Level:Undergraduate (specialized)  Country:Japan

    researchmap

  • Advanced Operating Systems

    2004.4 - 2016.3 Institution:Tokyo Institute of Technology

     More details

    Level:Postgraduate  Country:Japan

    researchmap

  • Programming I

    2004.4 - 2010.3 Institution:Tokyo Institute of Technology

     More details

    Level:Undergraduate (specialized)  Country:Japan

    researchmap

  • Computer Literacy

    2002.4 - 2003.3 Institution:Tokyo Institute of Technology

     More details

    Level:Undergraduate (liberal arts)  Country:Japan

    researchmap

  • Introduction to Computer Science

    2001.4 - 2008.3 Institution:Tokyo Institute of Technology

     More details

    Level:Graduate (liberal arts)  Country:Japan

    researchmap

  • Mathematical Theory of Programs

    2001.4 - 2004.3 Institution:Tokyo Institute of Technology

     More details

    Level:Postgraduate  Country:Japan

    researchmap

  • Automata and Formal Language Theory

    2000.4 - 2001.3 Institution:Japan Advanced Institute of Science and Technology

     More details

    Level:Postgraduate  Country:Japan

    researchmap

  • Advanced Software Environment

    1999.4 - 2001.3 Institution:Japan Advanced Institute of Science and Technology

     More details

    Level:Postgraduate  Country:Japan

    researchmap

  • Advanced Distributed Systems

    1996.4 - 2001.3 Institution:Japan Advanced Institute of Science and Technology

     More details

    Level:Postgraduate  Country:Japan

    researchmap

  • Programming Methodology

    1992.4 - 2001.3 Institution:Japan Advanced Institute of Science and Technology

     More details

    Level:Postgraduate  Country:Japan

    researchmap

▼display all