• Search Research Projects
  • Search Researchers
  • How to Use
  1. Back to project page

2015 Fiscal Year Research-status Report

拡張可能なステートフルアスペクトの設計と実装

Research Project

Project/Area Number 26330089
Research InstitutionShibaura Institute of Technology

Principal Investigator

福田 浩章  芝浦工業大学, 工学部, 准教授 (30383946)

Project Period (FY) 2014-04-01 – 2017-03-31
Keywordsステートフルアスペクト / アスペクト指向 / 非同期処理
Outline of Annual Research Achievements

まず,昨年度末に投稿していた,本研究課題の主目的であるプログラムの実行履歴にマッチするステートフルアスペクトの意味論,およびアドバイス織り込みの意味論を動的に変更する機構をまとめた論文がSCP(Science of Computer Programming)に採択された.本論文では,実行履歴のパターンをファーストクラス(パターンオブジェクト)として扱い,Open Implementationのガイドラインに従って,アスペクトの織り込み機構とパターンオブジェクトとのインタフェースを厳密に定義することでアドバイス織り込みの意味論を実行時に変更することが可能であることを示した.本論文ではJavaScriptとクロージャ機構を用いてパターンオブジェクトを実現しているが,本論文での提案や結論は,パターンをオブジェクトとして表現可能な言語であれば,特定の言語に依存せず適応可能である.
また,昨年度は,本研究の織り込み機構とアスペクトを利用し,同期/非同期処理の違いを隠蔽する機構の提案,およびプロトタイプの実現を行ったが,今年度はこの機構を拡張して一般の開発者が利用可能なライブラリ(SyncAS)とし,定量的な評価を行ってIJSEKE(International Journal of Software Engineering and Knowledge Engineering)に投稿し,採択された.SyncASの実装にはActionScriptを使用しているが,クロージャサポートする言語(JavaScriptやDartなど)であれば同様の機構を実現することができる.
一方,SyncASでは利用者に同期/非同期の違いを意識せずに記述することを可能にしているが,try-catchやreturnなど,制御がプログラムの実行がジャンプする場合,およびwhileやforとなどのループの中でSyncASの機構を適用することができないという問題点も判明した.これらの点はこれからの課題である.

Current Status of Research Progress
Current Status of Research Progress

1: Research has progressed more than it was originally planned.

Reason

昨年度に引き続き,当初予定したステートフルアスペクトプログラムの実行履歴にマッチするステートフルアスペクトの意味論,およびアドバイス織り込みの意味論を動的に変更する機構は実現でき,その成果として論文にまとめ掲載された.そのため,現在は本課題のアスペクト織り込み機構実装の際に着目した,アスペクトを利用してシングルスレッド環境下での非同期処理記述を隠蔽する機構の研究に取り組んでいる.本機構実現のための技術検証,プロトタイプ作成は昨年度に行い,今年度は非同期処理記述の複雑さをプログラマから隠蔽するため,本機構を用いたライブラリ(SyncAS)の実装を行い,性能評価をして論文にまとめ論文誌に掲載された.
また,並行して非同期処理を多用したオープンソースのソフトウェアに対してSyncASを適用し,実用的なアプリケーション開発にSyncASが適用可能であることを示した.そして,その成果を国際会議に投稿し発表を行った.さらに,非同期処理に関するアプローチの中で代表的な,C#のasync/await, JavaScriptでのPromiseパターンとSyncASを,書きやすさ,オーバーヘッド,モジュール性の観点から評価した.その結果,モジュール性という観点からはSyncASが最も優れているということが分かった.しかしながら,Promiseや現在のSyncASではループ処理やtry-catchの中で適用できないということもわかり,今後の課題となっている.

Strategy for Future Research Activity

一昨年度から昨年度に実現したSyncASはtry-catchやループの中,およびreturnなどプログラムの実行がジャンプする場合にうまく動作しない.また,昨年度当初はループを新たなジョインポイントとし,ループ処理の問題を解決しようとしていたが,その場合try-catchやreturnの問題は依然として解決しない.
そこで,これらの問題を解決するために継続(Continuation)を利用し,Continuationを取り出すことのできるCall/CCとアスペクトを組み合わせることによってこれらの問題を解決する.Continuationは現在実行中の計算に続くすべての計算を指し,Call/CCは次の計算を取り出すことができる機構である.この機構とアスペクトを組み合わせ,非同期処理呼び出し直後の計算を取り出して変数に束縛し,非同期処理結果が実行された後に束縛した計算を再開する.その結果,returnやtry-catchといったプログラムの実行がジャンプする場合でも,全てはContinuationとして扱われるためSyncASでの問題を解決できると考えている.
この機構にはCall/CCの利用が必須であるが,現在SyncASの実装はActionScriptで行っておりActionScriptにはCall/CCの機構が存在しない.そこで,本機構を実現するためCall/CCが利用できるJavaScript実行環境,Rhinoを利用し,Call/CCを用いたプロトタイプシステムの実装を予定している.

  • Research Products

    (4 results)

All 2015

All Journal Article (2 results) (of which Int'l Joint Research: 2 results,  Peer Reviewed: 2 results,  Acknowledgement Compliant: 1 results) Presentation (2 results) (of which Int'l Joint Research: 2 results)

  • [Journal Article] An expressive stateful aspect language2015

    • Author(s)
      Paul Leger, Eric Tantar and Hiroaki Fukuda
    • Journal Title

      Science of Computer Programming

      Volume: 102 Pages: 108-141

    • DOI

      doi:10.1016/j.scico.2015.02.001

    • Peer Reviewed / Int'l Joint Research
  • [Journal Article] SyncAS: A Virtual Block Approach to Tame Asynchronous Programming2015

    • Author(s)
      Hiroaki Fukuda and Paul Leger
    • Journal Title

      International Journal of Software Engineering and Knowledge Engineering

      Volume: 25 Pages: 887-907

    • DOI

      10.1142/S0218194015400252

    • Peer Reviewed / Int'l Joint Research / Acknowledgement Compliant
  • [Presentation] Modular Asynchronous Web Programming: Advantages & Challenges2015

    • Author(s)
      Wiliam Mateus Boeira da Rocha, Hiroaki Fukuda and Paul Leger
    • Organizer
      9th International Conference on Bio-inspired Information and Communications Technologies
    • Place of Presentation
      New York
    • Year and Date
      2015-12-03 – 2015-12-05
    • Int'l Joint Research
  • [Presentation] Proposals for Modular Asynchronous Web Programming: Issues & Challenges2015

    • Author(s)
      Hiroaki Fukuda and Paul Leger
    • Organizer
      First workshop on PERvasive WEb Technologies trends and challenges (PRNET)
    • Place of Presentation
      Rotterdam
    • Year and Date
      2015-06-23 – 2015-06-26
    • Int'l Joint Research

URL: 

Published: 2017-01-06  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi