著者
石井 裕一郎 武市 正人
出版者
一般社団法人情報処理学会
雑誌
情報処理学会研究報告. PRO, [プログラミング]
巻号頁・発行日
vol.97, no.9, pp.1-8, 1997-01-23

遅延評価関数型言語では、プロセスを決定的な関数として表現する手法がよく用いられ、この際入出力の処理は関数の外側にあるOS核が担当する。しかしこの手法では、非決定的処理を表現することも複数のプロセスからの要求が到着した順に処理をするサーバやOS核そのものの記述もできない。そこで我々は、関数型言語に一般的な単一代入ができる擬データを導入し、関数として表現されたプロセスが相互に通信する並行プロセス群全体をも関数として取り扱う機構を提案し、その処理系gofjavaを作成した。コンソール入出力やアブレット等のGUIもこの枠組で扱うことができる。本稿では、このような機構による並行プロセス群の記述とその実現法を述べる。
著者
河田 恭郎 Santosa Andrew E. 前川 守
出版者
一般社団法人情報処理学会
雑誌
情報処理学会研究報告. PRO, [プログラミング]
巻号頁・発行日
vol.97, no.45, pp.37-42, 1997-05-21

我々が進めてきていたEuniceプロジェクトのEunice97言語を概観する。Eunice97はプロトタイプによるオブジェクト指向言語であり、リレーションをファーストクラス・オブジェクトとして扱えるのが最大の特徴である。通常のオブジェクト指向言語では組み込み機能となっている類型化/個別化リレーションもリレーションの一つであり、それによってメタプログラミング機能が提供される。リレーションは階層的に定義できる。リレーションを利用することで、概念モデリングが容易になり、また、用途に応じたリレーションを用意することで、記述がより正確になる、などの利点が得られ、ソフトウェア開発の上流工程からの支援をめざすEuniceプロジェクトの目的も合致する。
著者
藤原 暁宏 石水 隆 井上 美智子 増澤 利光 藤原 秀雄
出版者
一般社団法人情報処理学会
雑誌
情報処理学会研究報告. PRO, [プログラミング]
巻号頁・発行日
vol.98, no.30, pp.129-136, 1998-03-23

本稿では, 近年注目されている並列計算モデルであるCGMモデル及びBSPモデル上で, 要素数nの選択及びソートを行う決定性の並列アルゴリズムを提案する.まず最初に, 内部計算時間がO(n/p)時間, 通信ラウンド数がO(min(log p, loglog n)のコスト最適な選択を行う並列アルゴリズムを提案する.次に内部計算時間がO(n/p log p)時間, 定数通信ラウンド数の通信ラウンド数が最適な並列アルゴリズムを提案する.上記の2つのアルゴリズムは, n/p≥P^εかつε>0を満たすプロセッサ数pに対して動作する.最後に, 2つ目の選択アルゴリズムの拡張として, n/p≥P^2を満たすpに対して, O(n/p log n)時間, 定数通信ラウンド数でソートを行うアルゴリズムを提案する.
著者
増原 英彦 松岡 聡 米澤 明憲
出版者
一般社団法人情報処理学会
雑誌
情報処理学会研究報告. PRO, [プログラミング]
巻号頁・発行日
vol.95, no.82, pp.65-72, 1995-08-24

並列アプリケーションのための機能拡張や最適化を行う手段として、自己反映計算によるメタレベルプログラミングが有効であることが認められつつあるが、実際のアプリケーションに応用した場合の有効性は、メタアーキテクチャの設計に大きく左右される。現在我々は、並列オブジェクト指向言語ABCL/fのメタアーキテクチャを設計している。特徴は、メタインタプリタ・メタオブジェクトによる拡張、annotationによるメタレベルへの指示、継承によるメタプログラムの再利用などである。本論文では、いくつかの並列プログラムにおける機能拡張の例を挙げ、それらがどのように記述されるかを検討することで、メタアーキテクチャの有効性を確かめる。
著者
坂本 巨樹 川本 史生 小西 善二郎 二村 良彦
出版者
一般社団法人情報処理学会
雑誌
情報処理学会研究報告. PRO, [プログラミング]
巻号頁・発行日
vol.98, no.30, pp.159-164, 1998-03-23

再帰プログラムは書きやすく読みやすい場合が多いが、計算機で実行する際には手続き呼び出しとスタック操作が必要である.それゆえ, 与えられた再帰プログラムをスタックを使用せずしかも計算量も増加させずに, 反復型プログラムに変換する方法が古くから研究されている.我々は, 線形再帰プログラム(再帰呼び出しを実質的に1個所でしか行なわないプログラム)を計算量やスペース使用量を増やさずに反復型プログラムに変換する方法(再帰除去法)について先に報告した.その後, 我々はその報告に基づき, 線形再帰プログラムを能率のよい反復型プログラムに自動変換する再帰除去システムをLispを用いて実現した.本稿では, その実現法, 適用例及び問題点について報告する.
著者
大場 克彦 湯浅 太一
出版者
一般社団法人情報処理学会
雑誌
情報処理学会研究報告. PRO, [プログラミング]
巻号頁・発行日
vol.95, no.92, pp.21-26, 1995-09-19

プログラムの可読性を高め、アルゴリズムの理解を容易にする一方法として、入出力を明確にしたブロックの階層構造で、プログラムを構成することを提案する。まず、データの流れを明確にするブロック化の基準について考察し、プログラミング言語に望まれる機能を提案する。具体的にPASCALにこれらの機能拡張を行い、本提案を具体例に適用してアルゴリズムの理解のしやすさを評価する。