ダグラス・テイラー・ロス

ダグラス・テイラー・ロス(Douglas Taylor " Doug " Ross、1929年12月21日 – 2007年1月31日) は、アメリカのコンピュータ科学者のパイオニアであり、 SofTech社の会長であった[1]

コンピューター支援設計(CAD) という用語を生み出したことで最も有名であり、製造における数値制御を駆動するプログラミング言語である自動プログラム ツール (APT) の父であると考えられている。晩年に疑似哲学に焦点を当てた作品を開発し、Plex(プレックス)と名付けた。

経歴

編集

ロスは、両親が医療宣教師として働いていた中国で生まれ、その後、米国ニューヨーク州カナンデーグアで育った[2]。1951年にオバーリンカレッジ数学学士号(B.Sc.) を優秀な成績で取得、1954年にマサチューセッツ工科大学(MIT) で電気工学の理学修士号(M.Sc.) を取得した。その後、MITでの博士課程は、MIT のコンピューター アプリケーション グループの責任者としての差し迫った仕事のために、博士号を取得することはできなかった[3]

1950年代には、マサチューセッツ工科大学 (MIT) のWhirlwind I コンピューター プロジェクトに参加した。

1969年にSofTech社を設立した。SofTech社は、米国国防総省(DoD) のプログラミング言語AdaおよびPascal用のカスタムコンパイラの初期のサプライヤとして始まった。ロスはMITの電気工学部およびコンピューター サイエンス学部で講義を行った。1969年から1975年まで同社の社長を務め、取締役会長に就任した後、SofTech社を退社した。

業績

編集

ロスは、リアルタイムのテキストとグラフィックスを表示する最初の MIT Whirlwind I コンピュータ プロジェクトに貢献した。多くの人が、ロスを自動プログラム ツール (APT) の父であると考えている。これは、製造における数値制御を駆動する言語で、現在でも利用されている[4][5]。また、彼はコンピューター支援設計(CAD)という用語を生み出した。

MIT Whirlwind コンピュータプロジェクト

編集

ロスは、1951年の秋[6]に数学科の教育助手としてMITにやってきた。妻のパットは、リンカーン研究所が正式にWhirlwind I コンピュータを引き継ぐ前までは、「歯車式計算機のキーを叩きまくるコンピュータ」であった。

彼女のグループは、ノーバート・ウィーナーによって作られたサーボ機構研究所のアナログ相関コンピュータを使用していた。このコンピュータは、ボールとディスクを使った積分器と、レーダーノイズデータのストリップチャート曲線を手でなぞるためのアームを備えていた。このマシンを使っているとき、方程式の変数はシャフトの回転で表現されていた。この機械は、軸の回転によって正確なカーブを描くシャーペンに接続されていて、この曲線が正しく解釈されると、問題の解が図式化される。これがきっかけとなり、ロスは1952年6月、射撃管制システムの評価とパワースペクトル密度解析の分野で夏休みを利用してサーボ機構研究所に関わることになった。

ロスが最初に設計したプログラミング言語は、コンピュータを6、8人のアルバイト学生の集団に見立てたものであった。ロスが「Whirlwind」を仕事に使えないかと提案されたのである。当時のWhirlwindは、ちょうど1キロバイト(k、1024語)の16ビットメモリーを持っていた。1952年の夏、彼は独学でプログラミングを学んだ。修士論文は「フーリエ変換の計算技法」に関するものだった。

自動プログラムツールにいたる道

編集

ロスはケープコッドシステムSAGE防空システムで使われるWhirlwind コンピュータや、エグリン空軍基地のUNIVAC ERA1103で数々のプロジェクトに携わることになる。1954年頃、ロスは初めてコンピュータへの手描きのグラフィック入力プログラムを書いた。彼はそれを「私が書いたプログラムの中で、初めて動いた数少ないプログラムの一つ」と述べている[7]。空軍は、工作機械の数値制御を標準化するというMITの数値制御プロジェクトの目的を超えて継続することに興味を持っていた。

1956年、MITは数値制御の新しいプログラムを契約し、今度は3軸と5軸の工作機械で製造される3次元部品の自動プログラミングに重点を置くことになった。ロスは、レーダーによるベクトル処理の研究が、APT IIで切削工具経路を点ではなく空間曲線として定義し、工作機械の直線的な枠組みで実現することを自然に可能にしたと述べた。サーボ機構研究所は、1951年から数値制御のハードウェア、ソフトウェア、適応制御、次いでコンピュータ支援設計、コンピュータグラフィックスのハードウェアとソフトウェア、ソフトウェア工学とソフトウェア技術について空軍の後援を受けるようになり、これが20年近く続いた[8][9]。1957年、ロスの最初の3人の研究助手の最後の一人、サム・マツサがIBMに移り[8][9]、3次元APTの派生であるAUTOPROMT[10]を開発し、その後の1967年にアンドリーズ・ヴァン・ダムACM SICGRAPHを共同設立する。

APTプロジェクトは1959年2月にほぼ終了した。アメリカ連邦政府の著作物という位置づけで、パブリックドメインとして公開された[11][12]。この作品の遺産は、21世紀の次世代NCプログラムに見出すことができる。

コンピューター支援設計

編集

APT Iの終了後、ロスとジョン・フランシス・ラインチェス(John Francis Reintjes)は、MITの科学レポーターテレビでRobert S. Woodburyのインタビューに応じた。当時は、数値制御の工作機械がますます高度化していることに、世間の関心が集まっていたのである。このインタビューは、ロスが長い間信じてきたコンピュータ・グラフィックスの可能性を物語っている。彼は、ディスプレイスコープからのベクタースキャン画像の写真を観客に見せ、ディズニーの漫画のキャラクター(ミッキーマウス)が、正準グノモンのある座標空間に結合している姿を見せた[13]

その後数年間で、APTの有力な「算術要素」が完成し、APTプロジェクトで開拓された幅広いコラボレーションが、「Automated Engineering Design(AED)」というコンピュータ支援設計システムの構築で繰り返されることになる。ロスは、このシステムを非公式に「The Art of Engineering Design」あるいは「ALGOL Extended for Design」と呼ぶこともあった。

コンピュータ支援製図と製造の初期の業界関係者が MIT を訪れ、開発中の技術について正式に意見交換を行った。ロスは、米国国家規格協会(ANSI)やビジネス機器製造者協会(BEMA、情報技術産業協議会に改称)のために多くの標準化会議を開催し、将来のCADの歴史における試金石としての地位を確固たるものにした[14][15]。 次の10年間は、システム設計に関する彼の哲学に磨きをかけた[16][17]。彼は、 Society for Industrial and Applied Mathematics (SIAM) の創設メンバーとなった。

MIT の電気工学とコンピューター サイエンス

編集

ロスは情報処理国際連合(IFIP)の初期の積極的な参加者として、プログラミングと情報学の国際規格の開発に携わった。彼は、プログラミング言語ALGOL 60ALGOL 68を規定、維持、サポートするIFIP Working Group 2.1 on Algorithmic Languages and Calculiのメンバーであった[18]。1968年、ロスはMITで世界初のソフトウェア工学コースと思われるものを教えた。1968年10月7日から11日にかけてドイツのガルミッシュで開催されたNATOソフトウェアエンジニアリング会議の基礎会議に参加した[19]。MITプロジェクト成果物の多くのユーザーはAutomated Engineering Design(AED)でシステムを構築した[20]。Jay Wright Forresterの有名なフィードバックモデリング、システム力学シミュレーション言語Dynamoのポストアセンブリ改訂版はロスのALGOL60の拡張バージョンであるAED-0で書かれており1980年代に使われた。

ジェイ・フォレスターの有名なDYNAMOフィードバック モデリング システム ダイナミクス シミュレーション言語のアセンブリ後のリビジョンは、ロスの ALGOL 60の拡張バージョンである AED-0 で記述され、1980年代まで使用された。

ロスは、AED-0 システムを使用して、存在が知られている唯一のALGOL Xコンパイラを作成した[21][22]

SofTech社は、空軍用をはじめとする計測器システムの開発で、ソフトウェア開発ツールの構築に取り組んでいた。70年代後半には、8086のようなマイクロプロセッサがこうした組み込みシステムに使われ始めていた。カリフォルニア大学サンディエゴ校PascalシステムであるUCSD p-SystemUCSD Pascalは、PDP-11ミニコンピュータのような様々なマシンで使用する共通のオペレーティングシステムを学生に提供するために1978年に開発された。

p-Systemのバージョンは、関心のあるユーザー間で自由に交換されていた。p-Systemは、サンディエゴ校の開発者(Apple Iコンピュータを持っていた)がロスの目に留まった。ロスはUCSDを訪れ、大学でAEDと同じようなシステムを構築していることに感激した。SofTechはp-Systemのライセンスを取得し、1979年にマイクロシステムズ社の子会社を設立した。ソフテックのコンパイル、ダイナミックローディング、リンクツールは、p-Systemを強力な開発環境にするのに役立った。UCSD p-Systemは、IBM Personal Computer、Apple II、その他Zilog Z80、MOS Technology 6502、Motorola 68000ベースのマシンで使用された。ロスはその後、PDP-11ベースのTerak 8510を購入した[23][24]

構造化分析・設計手法

編集
 
SADT 基底要素。

構造化分析設計技法(SADT)の発明者として、ロスは構造化分析手法の初期の開発者であった[25]。 1970年代、SofTech社の他の貢献者と共に、ロスはSADTを空軍の統合化されたコンピュータ支援製造(ICAM)プログラムの分析・設計手法のIDEFスイート用のIDEF0手法に発展させるのに役立った[26]。ICAMプログラムの分析および設計手法であるIDEFスイートをIDEF0手法に発展させるのを支援した。

1998年にIEEE Icam DEFinition for Function Modeling (IDEF0) 規格[27]を作成した米国電気電子学会IEEE) IDEF0 ワーキンググループのメンバーであった。IEEE IDEF0規格は、2002年に廃止されFIPS PUB 1833[28]に取って代わられた。

Plex(プレックス)

編集

ロスの構造化分析は、1950年代後半に彼がPlexと名付けた「問題解決の哲学」から発展したものである[29]。その後、ロスの人生において、これはある種の強迫観念となった。1980年代、彼はSofTech社での役割を最小限に抑え、Plex[29]を認識論、存在論、科学哲学に触れる広範な疑似哲学に発展させることに専念した[30]。ロスはPlexに関する資料を豊富に執筆し[29]、学会で講義を行い、1984年にはMITで中止されたセミナーを開催している。しかし、Plexにふさわしいと考える聴衆を見つけることはできず、1980年代後半には、プレックスの唯一の提唱者であり預言者であることが「耐え難い責任の重さ」[29]であると考えた。


ロスの構造化分析は、1950年代後半に彼が Plex と名付けた「問題解決の哲学」から生まれた[29]。ロスの人生の後半で、これは強迫観念のようなものになった。1980年代、彼は SofTech社 での役割を最小限に抑え、Plex [29]を認識論、存在論、科学哲学に触れる幅広い疑似哲学に発展させることに専念した[30]。ロスは Plex に関する豊富な資料を書き[29] 、会議で講義を行い、1984年に MIT で中止されたセミナーを開催した[30]。しかし、彼は Plex にふさわしいと信じていた聴衆を見つけることができず、1980年代後半までに、Plex の唯一の支持者であり預言者であることは「耐え難い責任の重荷」[29]であると考えた。

受賞・栄典

編集

1975年に数値制御学会からジョセフ・マリー・ジャカード記念賞、1980年に製造技術者協会から特別貢献賞、1981年にサンフェルナンド・バレー技術者協議会から名誉技術者賞を受賞したる[3]。MIT電気工学・コンピュータ科学科では、彼の名を冠してソフトウェア開発のダグラス T. ロスキャリア開発准教授とした。WiGeP Academic Society of Product Development Berliner Kreis & WGMKの製品開発のためのベルリンクライス科学フォーラムのD.T.ロス・メダル賞は、彼の栄誉にちなんで名付けられた。

WiGeP Academic Society of Product Development Berliner Kreis & WGMK の製品開発のための Berliner Kreis Scientific Forum の DTロスMedal Award は、彼の栄誉にちなんで名付けられた。

参照

編集

著書・論文

編集

ロスは数十の記事といくつかのレポートを書いた[31]

  • Ross, Douglas T. (1961). “Computer-aided design”. Communications of the ACM 4 (5): 235. doi:10.1145/366532.366554. 
  • Ross, Douglas T. (1961). “A generalized technique for symbol manipulation and numerical calculation”. Communications of the ACM 4 (3): 147–150. doi:10.1145/366199.366256. 
  • Ross, Douglas Taylor; Ward, John Erwin; others (1968). Investigations in computer-aided design for numerically controlled production. Electronic Systems Laboratory, Electrical Engineering Dept., Massachusetts Institute of Technology. hdl:1721.1/755. https://hdl.handle.net/1721.1/755 2023年4月6日閲覧。. 
  • Ross, Douglas T.; Johnson, Walter L.; Porter, James H.; Ackley, Stephanie I. (1968). “Automatic generation of efficient lexical processors using finite state techniques”. Communications of the ACM 11 (12): 805–813. doi:10.1145/364175.364185. 
  • Ross, Douglas T.; Goodenough, John B.; Irvine, C. A. (1975). “Software engineering: process, principles, and goals”. IEEE Computer 8 (5): 17–27. doi:10.1109/C-M.1975.218952. 
  • Ross, Douglas T.; Schoman, Kenneth E. Jr. (1976). “Structured Analysis for Requirements Definition”. ICSE: 1. 
  • “Toward Foundations for the Understanding of Type”. Conference on Data: Abstraction, Definition and Structure: 63–65. (1976). 
  • Ross, Douglas T.; Schoman, Kenneth E. Jr. (1977). “Structured Analysis for Requirements Definition”. IEEE Transactions on Software Engineering 3 (1): 6–15. doi:10.1109/TSE.1977.229899. 
  • Ross, Douglas T. (1977). “Structured Analysis (SA): A Language for Communicating Ideas”. IEEE Transactions on Software Engineering 3 (1): 16–34. doi:10.1109/TSE.1977.229900. http://www.cs.txstate.edu/~rp31/papersSP/structuredAnalysisRoss.pdf. 
  • Ross, Douglas T. (August 1978). “Origins of the APT Language for Automatically Programmed Tools”. ACM SIGPLAN Notices 13 (8): 61–99. doi:10.1145/960118.808374. 
  • Ross, Douglas T. (1980). “Removing the limitations of natural language (with the principles behind the RSA language)”. In Freeman, H.; Lewis, P.M.. Software Engineering. Academic Press 
  • Ross, Douglas T. (1985). “Applications and Extensions of SADT”. IEEE Computer 18 (4): 25–34. doi:10.1109/MC.1985.1662862. 
  • Ross, Douglas T. (1988). Foreword to David Marca and Clement McGowan, SADT Structured Analysis and Design Technique. McGraw-Hill. 
  • Ross, Douglas T. (1989). “The NATO Conferences from the Perspective of an Active Software Engineer”. International Conference on Software Engineering (ICSE): 101–102. 

脚注・参考文献

編集
  1. ^ Horspool, Nigel (2007). “Douglas T. Ross (1929–2007)”. Source Software: Practice & Experience archive. 37. p. 691 
  2. ^ Marquard, Bryan (Globe staff) (February 10, 2007). “Doug Ross, 77; developed important computer language”. The Boston Globe. http://www.boston.com/news/globe/obituaries/articles/2007/02/10/doug_ross_77_developed_important_computer_language/ 
  3. ^ a b Douglas T. Ross – Chairman Emeritus, Ret., SofTech, Inc.; Lecturer, Electrical Engineering and Computer Science, MIT”. Computer Science & Artificial Intelligence Laboratory. Massachusetts Institute of Technology (January 8, 2000). 2023年3月17日閲覧。
  4. ^ DMG MORI Software Solutions”. DMG MORI COMPANY LIMITED. 2023年3月17日閲覧。
  5. ^ DMG MORI SEIKI Europe AG (2014年). “MORI MfgSuite post-processor Hassle-free program output”. DMG MORI JOURNAL No.2: p.51. https://en.dmgmori.com/resource/blob/47016/7a26cc2c51f4a28a32c33f7f0e66b3b3/j142uk-data.pdf. 
  6. ^ Doug Ross, A Personal View of the Personal Work Station: Some Firsts in the Fifties. Association for Computing Machinery Video Presentation. 1986.
  7. ^ Ross, Doug (1989), Retrospectives 1: The early years in computer graphics, SIGGRAPH 89 Proceedings, pp. 27–28, doi:10.1145/77276.77279 
  8. ^ a b “Origins of the APT Language for Automatically Programmed Tools”. ACM SIGPLAN Notices 13 (8). (August 1978). 
  9. ^ a b Ross, Douglas T. (1958). Papers on automatic programming for numerically controlled machine tools. MIT. http://bitsavers.informatik.uni-stuttgart.de/pdf/mit/whirlwind/apt/APT_Reports_Jan58.pdf. 
  10. ^ AUTOPROMT - AUTOmated PROgramming of Machine Tools (Computer Language)”. Online Historical Encyclopaedia of Programming Languages. 2023年3月17日閲覧。
  11. ^ Ross, Doug (21 February 1984), oral history oh065, babbage inst, hdl:11299/107610 
  12. ^ Douglas T. Ross. APT System Volume 1 General Description of the APT System, 1959.
  13. ^ MIT Science Reporter: "Automatically Programmed Tools". Massachusetts Institute of Technology. 1959. 2021年12月14日時点のオリジナルよりアーカイブ。
  14. ^ Ross. “Computer-Aided Design: A Statement of Objectives MIT USAF 8436-TM-4”. Massachusetts Institute of Technology. 2023年3月17日閲覧。
  15. ^ Stotz (March 1963). “Specialized Computer Equipment for Generation and Display of Three Dimensional Curvilinear”. Electronic Systems Laboratory, Massachusetts Institute of Technology. 2023年3月18日閲覧。 Work done on IBM 709 and TX-2.
  16. ^ Ross. “Algorithmic Theory of Language”. April 8, 2022時点のオリジナルよりアーカイブ。2023年3月18日閲覧。
  17. ^ Ross, Douglas T. (August 1991). “From Scientific Practice to Epistemological Discovery”. In Floyd, Christiane; Zulligho, Heinz; Budde, Reinhard et al.. Software Development and Reality Construction. Berlin: Springer-Verlag. pp. 60–70. https://swa.informatik.uni-hamburg.de/files/veroeffentlichungen/sdrcbook.pdf  A personal note 2.5.3 (page 64).
  18. ^ Swierstra (2011年3月2日). “ScopeEtc: IFIP21: Foswiki”. Foswiki. 2023/03/182020-10-13閲覧。
  19. ^ Naur, Peter; Randell, Brian; McClure, Robert M., eds (January 1969). “5.3.2. Concepts”. Software Engineering: Report on a conference sponsored by the NATO Science Committee. Brussels: Scientific Affairs Division. 32, 41, 44, 57, 95, 96, 98, 99, 121, 124, 127, 151, 216. https://www.scrummanager.net/files/nato1968e.pdf 
  20. ^ Ross(1968).
  21. ^ Ross (October 1966). “An Algorithmic Theory of Language (AB26.2.2)”. Defense Technical Information Center. Massachusetts Institute of Technology. p. 6. June 26, 2013時点のオリジナルよりアーカイブ。2023年3月17日閲覧。
  22. ^ Ross, D. T. (August 1967). “AB26.2.2 Features Essential for a Workable ALGOL X”. ACM SIGPLAN Notices: ALGOL Bulletin (ACM Digital Library Association for Computing Machinery) 26 (2): 1–49. doi:10.1145/1139498.1139500. https://dl.acm.org/doi/abs/10.1145/1139498.1139500 2023年3月18日閲覧。. 
  23. ^ Ross, Douglas T. (1962–2007). Douglas T. Ross Memorial Video Collection. Mountain View, California. 2020年9月8日閲覧
  24. ^ Brackett, John; Ross, Douglas (7 May 2004). Oral history interview with John Brackett and Doug Ross. Charles Babbage Institute, University of Minnesota. 2023年4月6日閲覧
  25. ^ Marca, David; McGowan, Clement (1988). SADT: Structured Analysis and Design Technique. McGraw-Hill. ISBN 978-0-0704-0235-5 
  26. ^ Integrated Computer-Aided Manufacturing (ICAM) Function Modeling Manual (IDEF0) (Report). Materials Laboratory, Air Force Wright Aeronautical Laboratories, Air Force Systems Command, Wright-Patterson Air Force Base. June 1981.
  27. ^ IEEE 1320.1-1998. IEEE Standard for Functional Modeling Language: Syntax and Semantics for IDEF0 (Report). 1998.
  28. ^ FIPS PUB 183 Integration Definition for Function Modeling (IDEF0) (Report). 1993.
  29. ^ a b c d e f g h Ross, Douglas T. (1992). Floyd, C., Züllighoven, H., Budde, R., Keil-Slawik, R. ed. “From Scientific Practice to Epistemological Discovery”. Software Development and Reality Construction (Springer Berlin Heidelberg): 60-70. doi:10.1007/978-3-642-76817-0_8. ISBN 978-3-642-76817-0. https://doi.org/10.1007/978-3-642-76817-0_8. 
  30. ^ a b c Douglas T. Ross (1977, revised 1999). "The Plex Tract"
  31. ^ Douglas T. Ross”. DBLP Computer Science Bibliography. Schloss Dagstuhl – Leibniz Center for Informatics GmbH; and University of Trier. 2023年3月18日閲覧。

外部リンク

編集