著者
小林 良岳 佐藤 友隆 唐野 雅樹 結城 理憲 前川 守
出版者
一般社団法人電子情報通信学会
雑誌
電子情報通信学会論文誌. D-I, 情報・システム, I-情報処理 (ISSN:09151915)
巻号頁・発行日
vol.84, no.6, pp.605-616, 2001-06-01
被引用文献数
5

連続して使用しているシステムでは, その上で実行中のプログラムに変更を行うことは困難である.しかし, 性能の向上やバグの除去による信頼性の向上を考えたとき, ソフトウェアに対する変更は必要不可欠である.実行中のプログラムの一部を動的に差し替えたり拡張するには, 実行状態及び内部状態を監視する手段が必要であり, 更に, 変更時には新しいモジュールにその状態を反映してやる必要がある.そこで, 我々は状態再現を伴ったソフトウェア部品の変更が可能なOS「彩(Aya)」の実装を行っている.我々の手法では, 状態監視のためにプログラマがソースコードに変更を加える必要はなく, Portalと呼ばれる状況監視のためのコードをコンパイル時に自動生成し, それをOS側で管理する.これにより, プログラム作成時のミスを軽減することができると考えられる.また, 状態の監視は差替え要求時にのみ動的に行うため運用時のオーバヘッドを削減できる.本論文では, Ayaで実現されている動的再構成のための要素について述べる.また, 評価を行いPortal組込みによるオーバヘッドは, 実用に耐え得る範囲であることを示す.
著者
河田 恭郎 Santosa Andrew E. 前川 守
出版者
一般社団法人情報処理学会
雑誌
情報処理学会研究報告. PRO, [プログラミング]
巻号頁・発行日
vol.97, no.45, pp.37-42, 1997-05-21

我々が進めてきていたEuniceプロジェクトのEunice97言語を概観する。Eunice97はプロトタイプによるオブジェクト指向言語であり、リレーションをファーストクラス・オブジェクトとして扱えるのが最大の特徴である。通常のオブジェクト指向言語では組み込み機能となっている類型化/個別化リレーションもリレーションの一つであり、それによってメタプログラミング機能が提供される。リレーションは階層的に定義できる。リレーションを利用することで、概念モデリングが容易になり、また、用途に応じたリレーションを用意することで、記述がより正確になる、などの利点が得られ、ソフトウェア開発の上流工程からの支援をめざすEuniceプロジェクトの目的も合致する。
著者
小林 良岳 中山 健 前川 守
出版者
一般社団法人情報処理学会
雑誌
情報処理学会研究報告システムソフトウェアとオペレーティング・システム(OS) (ISSN:09196072)
巻号頁・発行日
vol.2003, no.42, pp.9-16, 2003-05-08

実行中のプログラムに対し,その一部を動的に差し替えあるいは拡張するにはプログラムの実行状態を監視する手段が必要である.しかし,状態監視のためにソースコードに変更を加えることは,プログラム作成者の負担となり思わぬミスを招く.我々は,コンパイル時にPortal と呼ばれる状況監視のためのコードを,関数の呼び出しポイントに対して自動生成する Portal Creator(PoC)を実装しているが,生成の方針が静的であり,一旦Portalを生成したコードは必要がない場合でも常にPortalを通過するため処理時間に対するPortalのオーバーヘッドが加わるという欠点がある.そこで本稿では,コンパイル時にはプログラムをPortal生成に十分となるように修正するにとどめ,Portalの生成を実行時や実行中に延期できる方法を提案する.また,評価によりPortalを生成するために必要な情報を組み込んだ実行イメージのパフォーマンスが実用の範囲内であることと,実行後にPortalを組み込んだ場合のパフォーマンスが従来のPortalと同程度であることを示す.In order to dynamically replace and extend programs while they are running, some mechanisms to monitor the current status of them is necessary. However, regarding modifications to the programs for monitoring would be a burden to the programmers and error-prone. We already proposed Portal Creator(PoC) which automatically generates a Portal for each function at compile time for the above purpose. But once Portals are created, all function calls must go through Portal even if it is not used. In this paper, we propose a method for ``lazy'' Portal creation, can be postponed until execution time or run-time. At compile time, PoC just modifies program structure and creates informations to be needed for portal creation. We evaluate the performance of this method on program execution.