더글러스 T. 로스
1. 개요
더글러스 T. 로스는 중국에서 태어나 미국에서 성장한 컴퓨터 과학자이자 소프트웨어 공학자이다. 그는 오벌린 칼리지에서 학사 학위를, 매사추세츠 공과대학교(MIT)에서 석사 학위를 받았으며, MIT에서 Whirlwind I 컴퓨터 프로젝트에 참여했다. 로스는 SofTech Inc.를 설립하여 Ada와 Pascal 언어용 컴파일러를 개발했으며, APT, CAD, SADT/IDEF0 개발에 기여했다. 또한, ALGOL 언어 표준 개발에도 참여했으며, 수치 제어 학회 조셉 마리 자카드 기념상 등을 수상했다.
-
뉴욕주의 과학자 -
아사 그레이
아사 그레이는 19세기 미국의 영향력 있는 식물학자로, 하버드 대학교의 자연사 교수로서 그레이 허바리움을 설립하여 식물학과 발전에 기여했으며, 다윈의 진화론을 옹호하고 동아시아와 북아메리카 동부 식물상의 유사성을 연구했다. -
뉴욕주의 과학자 -
데이비드 코크
데이비드 코크는 미국의 기업인, 정치 운동가이자 자선가로, 자유당 부통령 후보, 코크 인더스트리 수석 부사장, 소규모 정부와 낮은 세금 지지, 다양한 분야 기부를 했으며 2019년에 사망했다. -
중국에 거주한 미국인 -
리카이푸
리카이푸는 음성 인식 기술 개발자이자 애플, 마이크로소프트, 구글 등 주요 기업을 거쳐 시노베이션 벤처스와 01.AI를 설립한 벤처 투자가이며, 인공지능 분야 저술 및 강연 활동도 활발히 하고 있다. -
중국에 거주한 미국인 -
펄 S. 벅
펄 S. 벅은 중국에서 어린 시절을 보내며 중국과 동양을 배경으로 한 소설들을 발표하여 퓰리처상과 노벨 문학상을 수상한 미국의 소설가이자 작가이며, 펄벅재단을 설립하여 여성 인권, 인종 간 입양, 혼혈아 문제 등 사회 문제에도 관심을 갖고 활동했고 한국과의 인연도 깊다. -
오벌린 대학교 동문 -
더럼 스티븐스
더럼 스티븐스는 미국의 외교관으로, 주일 미국 공사관 서기관으로 외교관 생활을 시작하여 일본 외무성에서 일했으며, 대한제국 외부 고문으로 친일 행보를 보이다가 샌프란시스코에서 재미 한인에게 피격되어 사망, 한국 역사에서 비판받는 인물이다. -
오벌린 대학교 동문 -
조지 허버트 미드
2. 생애
더글러스 T. 로스는 의료 선교사 부모 아래 중국에서 태어나 미국 뉴욕주 캐넌다이과에서 성장했다. 오벌린 칼리지에서 수학 학사 학위를, 매사추세츠 공과대학교(MIT)에서 전기 공학 석사 학위를 우등으로 취득했다. 이후 MIT에서 박사 과정을 시작했으나, MIT 컴퓨터 응용 그룹 책임자로서의 업무 때문에 마치지 못했다.
1950년대 MIT 재직 시절 Whirlwind I 컴퓨터 프로젝트에 참여했으며, 1969년에는 소프트웨어 회사인 SofTech를 설립하여 초기 미국 국방부의 Ada 및 Pascal 컴파일러 개발을 이끌었다. 그는 SofTech에서 1969년부터 1975년까지 회장을, 이후 이사회 의장을 역임했다.
로스는 소프트웨어 공학 분야에 기여한 공로로 여러 상을 받았다. 대표적으로 1975년 수치 제어 학회의 조셉 마리 자카드 기념상, 1980년 제조 기술자 협회 공로상, 1981년 샌 페르난도 밸리 엔지니어 협의회의 올해의 명예 엔지니어 상 등이 있다. 또한 MIT 전기 공학 및 컴퓨터 과학과 명예 의장을 지냈으며, 그의 업적을 기리기 위해 MIT에는 '더글러스 T. 로스 소프트웨어 개발 경력 개발 부교수'(Douglas T. Ross Career Development Associate Professor of Software Development) 직위가, 베를리너 크라이스 학술 학회(WiGeP Academic Society of Product Development Berliner Kreis & WGMK)에는 제품 개발을 위한 'D.T. 로스 메달'(D.T.Ross Medal Award)이 제정되었다.
2.1. 초기 생애 및 교육
로스는 의료 선교사였던 부모님 아래 중국에서 태어났으며, 이후 미국 뉴욕주 캐넌다이과에서 성장했다. 그는 1951년 오벌린 칼리지에서 수학 전공으로 이학사(B.Sc.) 학위를 우등으로 받았고, 1954년에는 매사추세츠 공과대학교(MIT)에서 전기 공학 전공으로 이학 석사(M.Sc.) 학위를 우등으로 취득했다. 이후 MIT에서 박사 과정을 시작했지만, MIT 컴퓨터 응용 그룹 책임자로서의 긴급한 업무 때문에 학위를 마치지는 못했다.
2.2. MIT 경력
1951년 가을, 오벌린 칼리지에서 수학 학사 학위를 받은 후 매사추세츠 공과대학교(MIT)에 수학과 조교로 합류했다. 같은 해, 그의 아내 팻은 링컨 연구소가 공식적으로 Whirlwind I 컴퓨터를 인수하기 전까지 해당 컴퓨터에서 컴퓨터 역할을 수행하고 있었다.
1952년 여름, 로스는 MIT의 서보 기구 연구소에서 항공기 탑재 사격 통제 시스템 평가와 전력 스펙트럼 밀도 분석 연구에 참여하며 Whirlwind I 컴퓨터를 활용할 기회를 얻었고, 이를 계기로 프로그래밍을 독학했다. 당시 Whirlwind는 1 킬로바이트 (1024 단어)의 16비트 메모리를 가지고 있었다. 그는 1950년대 동안 이 Whirlwind I 컴퓨터 프로젝트에 지속적으로 참여했다.
1954년, 로스는 "푸리에 변환 계산 기법"에 관한 논문으로 MIT에서 전기 공학 이학 석사 학위를 우등으로 취득했다. 이후 MIT 컴퓨터 응용 그룹의 책임자를 맡게 되면서 박사 과정은 완료하지 못했다.
MIT 재직 중 로스는 Automated Engineering Design(AED) 시스템 개발을 이끌었다. AED는 ALGOL 60을 확장한 프로그래밍 언어로, 제이 포레스터의 시스템 다이내믹스 시뮬레이션 언어인 DYNAMO 개발에도 영향을 미쳤다. 로스는 AED 시스템을 사용하여 유일하게 알려진 ALGOL X 컴파일러를 만들기도 했다.
1968년에는 MIT에서 세계 최초의 소프트웨어 공학 강의 중 하나로 평가받는 수업을 개설하여 진행했다. 그는 이후 MIT 전기 공학 및 컴퓨터 과학과에서 강연 활동을 이어갔으며 명예 의장을 역임했다. 그의 공헌을 기리기 위해 MIT 전기 공학 및 컴퓨터 과학과는 '더글러스 T. 로스 소프트웨어 개발 경력 개발 부교수'(Douglas T. Ross Career Development Associate Professor of Software Development) 직위를 제정했다.
2.3. SofTech 설립
1969년, 로스는 SofTech사를 설립했다. 이 회사는 미국 국방부(DoD)를 위해 Ada와 Pascal 언어용 맞춤형 컴파일러를 초기에 공급하는 업체였다. 로스는 1969년부터 1975년까지 SofTech의 회장으로 재직했으며, 이후 이사회 의장을 맡은 뒤 회사에서 물러났다.
3. 주요 업적
로스는 MIT의 Whirlwind I 컴퓨터 프로젝트에 참여하여 최초로 실시간 컴퓨팅 텍스트와 그래픽을 표시하는 데 기여했다. 그는 제조업 분야에서 수치 제어를 위한 언어인 자동 프로그래밍 도구(APT) 개발을 이끌어 'APT의 아버지'로 불리며, CAD라는 용어를 처음 사용한 인물이기도 하다.
APT 프로젝트 이후, 로스는 여기서 얻은 경험을 바탕으로 자동 엔지니어링 설계(Automated Engineering Design, AED)라는 컴퓨터 지원 설계 시스템 구축을 주도했다. 이 시스템은 ALGOL 60 언어를 확장한 것으로, 제이 라이트 포레스터의 시스템 다이내믹스 시뮬레이션 언어인 DYNAMO영어의 후기 버전 개발에 사용되기도 했다.
또한 로스는 산업 및 응용 수학 학회(SIAM)의 창립 멤버였으며, 1968년에는 MIT에서 세계 최초의 소프트웨어 공학 과정으로 평가받는 강의를 진행했다. 같은 해 독일 가르미슈에서 열린 NATO 소프트웨어 엔지니어링 회의의 기초 회의에도 참여했다.
그는 구조적 분석 및 설계 기법(SADT)의 창시자로서, 이 기법은 이후 미국 공군의 ICAM 프로그램을 위한 IDEF0 방법론 개발의 토대가 되었다.
자신이 공동 설립한 SofTech사를 통해 소프트웨어 개발 도구 구축에도 힘썼으며, UCSD에서 개발된 UCSD p-System의 라이선스를 확보하여 IBM PC, Apple II 등 다양한 마이크로컴퓨터 환경에서 강력한 개발 환경으로 사용될 수 있도록 기여했다.
3.1. APT (Automatically Programmed Tool) 개발
로스는 최초로 실시간 컴퓨팅 텍스트와 그래픽을 표시한 Whirlwind I 컴퓨터 프로젝트에 기여했으며, 제조업의 수치 제어를 위한 언어인 자동 프로그래밍 도구(APT) 개발의 핵심 인물로 평가받는다. 또한 CAD라는 용어를 처음 사용하기도 했다.
로스는 SAGE 방공 시스템의 Whirlwind 컴퓨터나 이글린 공군 기지의 ERA 1103 컴퓨터를 활용한 여러 프로젝트에 참여했다. 1954년경에는 컴퓨터에 손으로 그린 그래픽 입력 프로그램을 처음으로 작성하기도 했는데, 그는 이를 "내가 작성한 프로그램 중 처음부터 작동한 몇 안 되는 프로그램 중 하나"라고 회고했다. 당시 공군은 MIT가 수행하던 공작 기계의 수치 제어 표준화 프로젝트를 넘어선 기술 확장을 원하고 있었다.
1956년, MIT는 공군과 새로운 수치 제어 계약을 맺고 3축 및 5축 공작 기계로 제작할 3차원 부품의 자동 프로그래밍 개발에 집중했다. 로스는 이전에 수행했던 레이더 벡터 처리 연구 경험이 APT II 개발에 큰 도움이 되었다고 밝혔다. 이 경험을 통해 공작 기계의 절삭 공구 경로를 단순한 점이 아닌 공간 곡선으로 정의하고, 이를 기계의 좌표계 내에서 구현하는 개념을 확립할 수 있었다. MIT 서보 연구소는 1951년부터 수치 제어 하드웨어 및 소프트웨어 개발과 관련하여 공군의 지원을 받았으며, 이는 이후 CAD, 컴퓨터 그래픽스, 소프트웨어 공학 분야로 확대되어 약 20년간 지속되었다.
1957년, 로스의 초기 연구 조교 중 한 명이었던 샘 마차(Sam Matsa)는 IBM으로 옮겨 3차원 APT의 파생 기술인 AUTOPROMT를 개발했다. 그는 훗날(1967년) 앤드리스 반 담과 함께 ACM SIGGRAPH를 공동 창립하기도 했다.
APT 프로젝트는 1959년 2월에 대부분 완료되었으며, 미국 연방 정부의 저작물로서 퍼블릭 도메인으로 공개되었다. APT의 기술적 유산은 오늘날 사용되는 [https://www.steptools.com/docs/stepnc_api/AptStepMaker.html 차세대 수치 제어(NC)] 프로그램에서도 찾아볼 수 있다.
3.2. 컴퓨터 지원 설계(CAD) 개념 정립
로스는 제조업의 수치 제어를 위한 언어인 자동 프로그래밍 도구(APT) 개발에 핵심적인 역할을 했으며, 많은 이들에게 APT의 아버지로 여겨진다. 또한 그는 [[컴퓨터 지원 설계]](CAD)라는 용어를 처음으로 사용했다.
APT 프로젝트가 마무리될 무렵, 로스는 존 프랜시스 레인티스와 함께 MIT 과학 리포터 텔레비전 프로그램에서 로버트 S. 우드버리와 인터뷰를 가졌다. 당시 수치 제어 공작 기계의 발전에 대한 대중의 관심이 높았는데, 이 인터뷰는 컴퓨터 그래픽의 가능성에 대한 로스의 오랜 신념을 잘 보여준다. 그는 디스플레이 스코프에 벡터 스캔 방식으로 구현된 디즈니 만화 캐릭터 이미지를 보여주며 컴퓨터의 그래픽 처리 능력을 시연했다.
APT 프로젝트에서 얻은 경험과 협력 방식을 바탕으로, 로스는 이후 자동 엔지니어링 설계(Automated Engineering Design, AED)라는 새로운 컴퓨터 지원 설계 시스템 구축을 이끌었다. 그는 이 시스템을 비공식적으로 엔지니어링 설계의 기술(The Art of Engineering Design) 또는 ALGOL 디자인 확장(ALGOL Extended for Design)이라고 부르기도 했다.
당시 초기 컴퓨터 지원 제도 및 제조 분야의 전문가들은 기술 교류를 위해 MIT를 방문했으며, 로스는 이들을 위해 미국 국립 표준 협회(ANSI) 및 비즈니스 장비 제조업체 협회(BEMA)와 함께 여러 표준 제정 회의를 조직했다. 이러한 활동은 CAD 기술의 발전에 기여하며 해당 분야 역사에서 로스의 중요한 입지를 다지는 계기가 되었다. 이후 10여 년간 그는 시스템 설계에 대한 자신만의 철학을 더욱 발전시켜 나갔다. 또한, 로스는 산업 및 응용 수학 학회(SIAM)의 창립 멤버이기도 하다.
3.3. 구조적 분석 및 설계 기법(SADT) 개발
로스는 구조적 분석 및 설계 기법(SADT)의 발명가로서 구조적 분석 기법의 초기 개발자 중 한 명이었다. 1970년대에 그는 자신이 속한 SofTech사의 다른 기여자들과 함께 SADT를 발전시켜, 미 공군의 통합 컴퓨터 지원 제조(ICAM) 프로그램에서 사용될 분석 및 설계 기법인 IDEF 제품군의 IDEF0 방법론 개발에 기여했다. IDEF0는 요구사항 정의 및 시스템 분석에 활용되었다.
또한 로스는 1998년 미국 전기 전자 학회(IEEE) IDEF0 워킹 그룹의 일원으로 활동하며 IEEE Icam DEFinition for Function Modeling (IDEF0) 규격 제정에 참여했다. 이 IEEE IDEF0 규격은 2002년에 폐지되고 FIPS PUB 183으로 대체되었다.
3.4. ALGOL 언어 기여
그는 국제 정보 처리 연맹(IFIP)의 초기 활동 참여자로서, 프로그래밍 언어 및 정보학 분야의 국제 표준 개발에 기여했다. 그는 IFIP 워킹 그룹 2.1(Algorithmic Languages and Calculi)의 회원으로 활동하며, 알고리즘 언어 및 계산 분야에 참여했다. 이 그룹은 프로그래밍 언어인 ALGOL 60과 ALGOL 68의 사양을 정의하고 유지 및 지원하는 역할을 했다.
로스는 ALGOL 60의 확장 버전인 AED-0(Automated Engineering Design)을 개발했다. 제이 라이트 포레스터의 시스템 다이내믹스 시뮬레이션 언어인 DYNAMO영어의 후기 버전은 이 AED-0으로 작성되었으며, 1980년대까지 사용되었다. 또한 로스는 AED-0 시스템을 기반으로, 현재까지 알려진 유일한 ALGOL X 컴파일러를 만들었다.
4. 수상 및 영예
로스는 그의 업적을 인정받아 다수의 상을 수상하고 여러 영예를 누렸다.
* 1975년: 수치 제어 학회 조제프마리 자카드 기념상
* 1980년: 제조 기술자 협회 공로상
* 1981년: 샌 페르난도 밸리 엔지니어 협의회 올해의 명예 엔지니어 상
MIT 전기 공학 및 컴퓨터 과학과는 그의 공헌을 기려 '더글러스 T. 로스 소프트웨어 개발 경력 개발 부교수'(Douglas T. Ross Career Development Associate Professor of Software Development영어) 직위를 명명했다. 또한, 베를리너 크라이스 학술 학회(WiGeP Academic Society of Product Development Berliner Kreis & WGMK영어)는 제품 개발 분야에서의 그의 업적을 기리기 위해 D.T.로스 메달(D.T.Ross Medal Award영어)을 제정하였다.
5. 저서 및 논문
로스는 수십 편의 논문과 몇몇 보고서를 저술했다. 다음은 그 중 일부를 발췌한 것이다.
* 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 (1968). Investigations in computer-aided design for numerically controlled production. MIT 전자 시스템 연구소, 전기 공학부. hdl:1721.1/755. ([https://dspace.mit.edu/bitstream/handle/1721.1/755/FR-0351-19563962.pdf?sequence=1 원문 링크])
* 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.
* Ross, Douglas T. (1976). "Toward Foundations for the Understanding of Type". Conference on Data: Abstraction, Definition and Structure: 63–65.
* 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. (eds.). 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". In Marca, David; McGowan, Clement (eds.). 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.
6. 같이 보기
* 반자동 방공 통제 조직