A.3 SAC’99
A.3.1 概要
名称: 1999 ACM Symposium on Applied Computing (SAC’99)
日時: 1999年2月28日(日) から 3月2日(火)
場所: San Antonio Menger Hotel (米国テキサス州サンアントニオ)
主催: ACM SIGAda, SIGAPP, SIGBIO, SIGCUE
開催地であるサンアントニオは、この時期は非常に乾燥しており、2月はここ数年でも最も乾燥していたそうである。見渡す限り地平線が続くところだが、歴史的にメキシコの影響を強く受けており、有名なAlamoの砦がある。会場はダウンタウンの中心にあるMenger Hotelという歴史のあるホテルであり、1859年の創業だそうである。Alamoの砦の遺構のとなりで、Alamo広場を前にし、さらに反対側には巨大なショッピングセンターがあるという立地である。
本会議はACMのSIGAPP(Applied Computing)、SIGAda、SIGCUE(Computer User in Education)、SIGBIO(Biomedical Computing)の共同主催で行われている会議で、情報処理分野の幅広い応用を扱っている。
会議は4〜5セッションが並行して行われた。規模の割にパラレルセッションの数が多く、参加者が20人も満たないセッションもあったが、遺伝的アルゴリズム、モービルコンピューティングなどのセッションなどは盛況であった。そのかわり、かなり入りの悪いセッションもあり、多くの応用分野の人たちが集まっているのにもかかわらず、相互交流が少なくなってしまい、もったいないと感じた。
Conference Chairの話では全体の参加者は140名前後とのことである。たしかに基調講演はそのくらいの参加であった。また、日本からの発表は5件、日本からの参加者は我々を含め9名であった。
ヨーロッパからの参加者がかなり多く、次回はイタリアで開催されるとのことである。
A.3.2 内容
(1) 基調講演: "Computer Science: Its Achievements and Its Challenges"
(講演者:Edsger W. Dijkstra, University of Texas, Austin)
講演者は、構造化プログラミングの提唱をはじめとして計算機科学のさまざまな分野で多大な功績のある、かの有名なダイクストラ教授である。タイトルから、計算機科学のこれまでの成果を振り返った後、今後の計算機科学の明るい未来に向けた提案があるのだろうと思っていたが、むしろ、研究開発の結果として商業的成功を求める最近の風潮から学問としての計算機科学の命運を心配しているというトーンであった。
はじめに、計算機科学(Computer Science)はCSと略されるが、CSの内容についての各国の差についての話題があった。米国では、Computer Scienceであり、計算機を対象としているもので非数学的であるとのことであった。カナダでは、オペレーティングシステムの授業は就職に役に立たないということで、取りいれられない例があるということである。欧州は、Computing Scienceで計算そのものを対象とする科学であり、アジアは、Computer Societyであるという落ちがついた。
講演の中心は計算機科学のこれまでの成果であるが、内容はプログラミング言語やモデルが中心であった。
1950年代は、高級言語が現れた時期で、この時期に作られた最も古い代表的な高級言語としてFORTRAN、LISPがある。これらは計算機科学に大きな貢献をしたといえる。計算機アーキテクチャではインデクスレジスタが配列のアクセスに貢献している。また、この時期に再帰の概念が登場している。
1960年代は、Algol 60なども登場し、計算機科学に飛躍的な進歩があった時期である。特に、再帰については、実装面についても大きな進歩があった。このほか、ブール型、ブロック構造の導入もこの時期である。
Guarded Commandは、プログラムの性質を簡潔に示すためにダイクストラが提案したものであるが、現在では並行プログラミングにも応用されている。これは第五世代コンピュータの核言語KL1をはじめとする並列論理型言語にも採用されているものである。
1970年代は、論理型プログラミング、並列プログラミングなどが現れてきた。並列プログラミングで重要な同期に関するセマフォもダイクストラの提案である。
質疑応答では、マイクロソフトの製品やLinuxについてはどう考えるかという質問に対して、マイクロソフトもLinuxも使ったことはないので、意見はない。そのうえ、はやりのC、C++、Javaも知らない。商業的成功と技術の良し悪しとは関係しないと、答え、米国流の実利主義を暗に批判しているようであった。
(2) 一般発表
並行セッションが多く、すべてのセッションには参加できなかったので、いくつかのトピックだけを取り上げる。
Mobile Computing Systems and Applicationsのセッションでは、モーバイルファイルシステムに関する発表が2件あった。いずれも、既存のシステムを変更せずにモーバイルファイルシステムの機能を追加するもので、実用上興味深い。ひとつは、Windows95にバーチャルデバイスドライバを使ってファイルシステムの機能を拡張するものであった。もうひとつは、移動に関連するシステムサービスを扱うミドルウェアとしてGeneric System Servicesを構築し、それを使ってMFSというNFSプロトコルコンパチブルのモーバイルファイルシステムを作ったものであった。
モーバイルコンピューティングの考古学応用の話題もあった。考古学では、たとえば現地調査で撮った写真などさまざまな情報を入力したり、その情報はどこで入力したものか、などの位置情報も重要となってくる。一般には、これらのデータを後で整理、分析することになるが、実時間でこれらの整理、分析できれば、調査の効率は飛躍的に上がる。このために開発された実時間考古学のモーバイルサポートシステムRAMSES(Remote Archaeological Mobile Support Enhanced System)について報告された。
いつでもどこでもネットワークにアクセスでき、コンピューティングを行うために、モーバイルエージェントを利用した発表もあった。位置独立なコミュニケーションをサポートするために、JAVAで書かれたMAGENTA(Mobile AGENT environment for distributed Applications)は、ネットワークアドレスが変わっても名前が変わらない名前付け法などをサポートしている。
モーバイル環境における人と人とのコミュニケーション支援についての発表では、Environment-Mediated Communication (EMC) の概念が提案された。これは、単に携帯電話が計算機に置き換わった、計算機を媒介としたいつでもどこでも可能な(すなわち、位置独立な)人と人とのコミュニケーション(CMC, Computer-Mediated Communication)とは逆に、コミュニケーションを物理的環境に関連付けて行うものである。物理的環境とは、たとえば、位置やそこにある物体などである。XEROXのPARCTABなどはEMCの例といえるとのことである。アプリケーションとしては、ある場所で発せられたメッセージが、その場所に来た人に伝えられる、ものにメッセージを添付する、などが考えられるとのことである。
Artificial Intelligence & Computational Logicのセッションでは、日本からの発表があり、OCRで読み込んだ日本文中の漢字の誤り検出と訂正についてであった。このようなアプリケーションは、座長の方が中国系のようだったので興味を示していたが、漢字文化圏以外の人たちにはあまり興味がないようである。これからは中国との連携も重要になるだろう。漢字の誤りを検出するには、マルコフ確率を計算し、それが閾値以下となったら誤りとみなす方法を取っている。この方法では、誤り箇所が近いと相互に干渉して正しい箇所のマルコフ確率も低くなってしまう。それを解決するため、誤りが発見された場合、それをスキップして計算する方法が提案されていた。また、誤り訂正では、マルコフ確率の高いもののなかで形の似た字を選択する。
Parallel and Distributed Processingのセッションでは、応用分野ではなく、プロセッサアーキテクチャに関する発表があった。KUMAという名のこのアーキテクチャは、シングルチップMultithreadedアーキテクチャで、高スループットと機能ユニットの高利用率を目指し、8個のスレッドを同時に実行できるものである。分岐予測やout-of-order実行のメカニズムもある。また、実装に非同期アーキテクチャを用いたことも特徴であった。
(3) セッション一覧
Genetic Algorithm 1, 2, 3, 4
Coordination Models, Languages and Applications 1, 2, 3
Artificial Intelligence 1, 2
Biomedical Computing
Computational Economics and Finance
Computer Graphics and Visualization
Computer and Telecommunication Network 1, 2
Mobile Computing Systems and Applications 1, 2, 3
Database Technology 1, 2
Computer Uses in Education
Fuzzy Applications 1, 2
Multimedia Systems 1, 2
Parallel and Distributed Processing 1, 2
PC Cluster Applications
Programming Languages
Scientific Computing 1, 2
Software Engineering and Management 1, 2
WWW Applications 1, 2