著者
増原 英彦 松岡 聡 渡部 卓雄
出版者
一般社団法人日本ソフトウェア科学会
雑誌
コンピュータソフトウェア (ISSN:02896540)
巻号頁・発行日
vol.11, no.3, pp.175-192, 1994-05-16
参考文献数
31
被引用文献数
5

並行オブジェクトの間で共有される計算資源の概念をとり入れた自己反映計算モデルであるHybrid Group Architectureと,その記述言語ABCL/R2を提案した.ABCL/R2では,オブジェクト単位の自己反映計算と,オブジェクトグループ単位での自己反映計算の両方が可能なため,スケジューリングのような,並列・分散システムにおける共有計算資源に関する制御を,本来の計算から隠蔽された形をとりつつ,言語の枠内から柔軟に記述できる.また,自己反映システムの効率的な処理系は,作成が困難とされていたが,部分コンパイル・段階的なメタレベル生成・軽量オブジェクトなどの技法による効率的な処理系の作成方法を示した.実際に共有記憶型並列計算機上に作成したABCL/R2処理系では,自己反映計算を行うことによる速度低下を,行わない場合の10倍以下に抑えられ,非自己反映計算の実行速度は,非自己反映処理系とほぼ同等であるというベンチマーク結果を得た.
著者
山田一宏 森口草介 渡部卓雄 西崎真也
雑誌
第73回全国大会講演論文集
巻号頁・発行日
vol.2011, no.1, pp.505-506, 2011-03-02

我々は,Morrisの2分木走査アルゴリズムのCによる実装を対象として,証明支援系を用いた正当性の検証を試みた.本論文はその手法と結果に関する報告である.Morrisのアルゴリズムは,ポインタの書き換えを行うことで再帰やスタックを用いずに2分木走査を行う方法のひとつである.また他のポインタ反転法と異なり節点に印を付けるためのビットを設ける必要もないのが特徴である.我々は,入力および走査結果についての仕様を事前・事後条件として与え,C用の検証支援ツールであるCaduceusによって検証条件を生成した.ループ不変条件は必要に応じて適宜与えた.生成された検証条件を自動検証ツールSimplifyおよび証明支援系Coqを用いて証明した.
著者
竹野 創平 渡部 卓雄
出版者
日本ソフトウェア科学会
雑誌
コンピュータ ソフトウェア (ISSN:02896540)
巻号頁・発行日
vol.33, no.1, pp.1_167-1_180, 2016-01-26 (Released:2016-02-06)

本研究で我々は並行文脈指向プログラミングの概念とその実現手法を提案する.アクターモデルのような非同期通信に基づくシステムで文脈指向プログラミングを実現する際,文脈の変化と他の計算の間の同期に注意する必要がある.提案する手法は,文脈をまたがるメッセージに関する問題を自己反映計算を用いることで解決するものである.本論文ではErlangを用いた実装とその予備評価について述べ,提案手法の有効性を示す.
著者
石川 洋 二木 厚吉 渡部 卓雄
出版者
一般社団法人電子情報通信学会
雑誌
電子情報通信学会技術研究報告. SS, ソフトウェアサイエンス
巻号頁・発行日
vol.98, no.295, pp.23-30, 1998-09-22
被引用文献数
3

並行システムの動作の詳細を把握するのは一般的には困難である.本研究では, 並行システムの例として有機的プログラミング言語GAEAをとりあげる.本言語は有機的プログラミングと呼ばれる新しいソフトウェア構築方法論に基づいておりプログラムの動的変更や並行処理が可能である.この言語はPrologを基礎としてるので並列論理型プログラミング言語と考えることができる.そこで本言語は並行システムとみなし, そのシステムの計算状態や動作の明示的な記述を試みている.その記述は状態を持つ並行システムの動的変化が表現可能な書き換え論理を用いて与えている.
著者
小林 直樹 五十嵐 淳 田浦 健次朗 渡部 卓雄
出版者
東京工業大学
雑誌
基盤研究(B)
巻号頁・発行日
1999

本研究の目的は,本研究代表者が提唱した疑似線形型システムに基づく新しいメモリ管理方式の実現により,プログラミング言語処理系のメモリ管理の信頼性および効率を改善することであった.主要な成果は以下のとおり.・擬似線形型システムに基づく型推論によるメモリの獲得・解放命令の挿入…擬似線形型システムに基づき,プログラム中で用いられる各データが最後に使用される箇所を特定し,その部分にメモリの解放命令を挿入するための方法を確立し,関数型言語MLを対象としてプロトタイプシステムを構築した.・擬似線形型システムに基づくメモリ管理のためのバイトコード言語の設計と実装…上で述べたメモリの獲得・解放命令を挿入したプログラムを実際に実行するためのバイトコード言語を設計し,実装を行った.・通常のメモリ管理の改良と本メモリ管理方式との融合…擬似線形型システムのみでは自動的に管理できないメモリが存在するため,既存のメモリ管理方式であるGCを改良して融合する方法について研究した.主な課題はGC自体の性能,特に並列計算機上のGCの性能をあげること,および疑似線形型に基づくメモリ管理によるダングリングポインタの問題の解決であった.後者については型情報を実行時まで保存し,GC時にこれを用いることによってこの問題を解決した.・線形型解析の資源使用解析への一般化…疑似線形型を拡張し,ファイルやネットワークなど一般の計算資源の使用方法の解析を行うための型システムを構築した.これにより(i)割り当てられたメモリはいずれ解放され,解放後はアクセスされない,(ii)オープンされたファイルはいずれクローズされ,クローズ後は読み書きされない,といった性質が満たされているかを統一的に検証することができる.
著者
渡部卓雄
出版者
一般社団法人情報処理学会
雑誌
情報処理学会研究報告
巻号頁・発行日
pp.61-66, 1997
被引用文献数
1

分散・移動計算機環境における, 移動可能プログラムを記述するための一般的な言語機構を提案する. 基本的なアイデアは, 計算状態の一部を表現する部分接続(partial continuation)をプログラム中で一級オブジェクトとして明示的に扱うことにある. 並行計算系における継続(continuation)の扱いは一般に繁雑になるが, エクステントを限定した部分継続を得る言語機能を用いることにより, 遠隔コード実行の様々なパターンを記述できる. 本機構は手続きクロージャ, あるいはそれと等価な機構を持つ様々な逐次言語に導入可能であり, ユーザ向けのモバイルエージェント記述スクリプト言語だけでなく, システムプログラム記述言語にも適用可能である. 本稿では操作的意味について延べる.
著者
渡部 卓雄
雑誌
研究報告組込みシステム(EMB) (ISSN:2188868X)
巻号頁・発行日
vol.2017-EMB-45, no.2, pp.1-6, 2017-06-23

マイクロコントローラ等の小規模組み込みシステム向けに設計された関数リアクティブプログラミング (FRP) 言語のための自己反映計算機構を提案する.提案方式では,時変値を介した実行系内部へのアクセスを可能にすることで,自己反映計算もリアクティブな操作として実現されている.本機構の導入により,小規模システムでの実行を考慮して静的に実現されている言語の実行系に,ある程度の柔軟性と適応性を与えることが可能になる.
著者
森口 草介 渡部 卓雄
雑誌
情報処理学会論文誌プログラミング(PRO) (ISSN:18827802)
巻号頁・発行日
vol.2, no.5, pp.43-43, 2009-11-20

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

複数のクラスにまたがるコードを分離して記述できる言語として,アスペクト指向言語がある.独立して開発されたアスペクトであっても,個々のアスペクトが何らかのルールに従って設計されていれば,複数同時に組合わせて動作させることが可能であるとわれわれは考えている.本論文ではそのようなルールを見いだし検証するための第一歩として,安全に結合可能なmixinを提供するためのルールを検証する方法について述べる.ルールの記述および検証には, Design by Contractやbehavioral subtypingの考え方を用いる.
著者
田中 哲 渡部 卓雄
出版者
情報処理学会
雑誌
全国大会講演論文集
巻号頁・発行日
vol.51, pp.73-74, 1995-09-20
被引用文献数
1

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