CADES

CADES

CADES(Computer Aided Design and Evaluation System)는 ICL New Range - 2900 - 컴퓨터에 대한 VME/B 운영 체제의 설계 및 개발을 지원하기 위해 제작된 소프트웨어 엔지니어링 시스템이다.

VME/B는 초기부터 기본 IDMS 데이터베이스를 사용하여 구축된 CADES의 도움으로 개발되었다(최근 IDMS(X)로 업그레이드됨). CADES는 단순한 코드 모듈의 버전 제어 시스템이 아니라 요구사항 포착부터 현장 유지관리에 이르기까지 소프트웨어 라이프사이클의 모든 측면을 관리하기 위한 것이었다.

IPSE(Integrated Project Support Environment)와 프로세스 제어 엔진의 Alvey Project의 발판을 마련한 것은 CADES의 설계였다.CADES는 대규모 소프트웨어 엔지니어링 프로젝트의 개발 내내 20년 이상 사용되었기 때문에 수집된 데이터는 소프트웨어 진화에 대한 여러 연구에 대한 입력 자료로 사용되어 왔다.

초기 역사

CADES는 1970년 데이비드 피어슨브라이언 워보이스가 키즈그로브에 있는 ICL의 뉴 레인지 운영 체제 기술 센터(OSTECH)에서 일하면서 구상한 것이다.[1][2]훈련으로 이론물리학자인 피어슨은 컴퓨터 시뮬레이션 전문가가 되어 캠브리지에서 유한 요소 모델링과 임페리얼 칼리지에서 시뮬레이션 연구를 거쳐 1968년 ICL에 입사했다.와보이는 ICL 시스템 4 멀티액세스 운영체제인 멀티액세스 운영체제인 멀티액션의 수석 설계자였다.

2900 시리즈 컴퓨터를 위한 대규모 소프트웨어 개발에 대한 ICL의 약속은 Pearson과 Warboys가 디자이너/프로그래머 생산성, 설계 무결성, 평가 및 테스트, 버전 제어 및 시스템 회귀 등의 문제를 해결할 수 있는 새로운 소프트웨어 개발 환경에 대한 초기 작업을 위한 기초를 제공했다.[3][4]

특히 CADES 환경의 초기 아키텍처를 설계할 때 Pearson은 설계 프로세스에서 그래픽을 사용하려고 시도하면서 당대의 선도적인 하드웨어 컴퓨터 지원 설계 시스템과 유사한 것을 보았다.구조 모델링이라 불리는 CADES 설계 접근방식은 데이터 중심적이고 계층적이었으며, 형식 설계 언어로 표현되었다. SDL로 작성된 설계 사양은 설계 분석기에 의해 처리되었다. CADES 제품 데이터베이스, 자체 질의 언어와 f를 지원하는 설계 및 구현 데이터베이스로 입력되었다.제품 정보 시스템의 커널 설정.[5][6][7]

이러한 설계는 애니메이터를 사용하여 평가/시뮬레이션할 수 있고, S3 구현 코드는 환경 프로세서를 사용하여 자동으로 생성될 수 있다는 취지였다.빌드 생성 및 버전 제어 역시 제품 데이터베이스에 기초하여 새로운 시스템 빌드에 대한 고도의 규율적 접근방식을 낳았다.따라서 시스템 회귀는 소프트웨어 라이프사이클의 매우 초기 단계부터 제어되었다.[8][9]

기초

VME/B의 개발을 제어하기 위해 각 개발은 보다 쉬운 관리를 위해 하위 분할되었다.VME(커널, 파일 저장소 등)의 각 중요 구성 요소가 하위 시스템으로 분할되는 구조는 계층 구조였습니다.각 하위 시스템에 대한 개발 활동은 일련의 버전을 만들었다.

VME/B의 이러한 분할과 하위 분할은 CADES 데이터베이스의 계층 구조에 반영되었다.이를 통해 VME/B(소프트웨어 엔지니어링 목표 중 하나) 내에서 코드를 재사용할 수 있었다.이를 도구 모음과 결합하고, 개발 언어, 버전 기록 및 신뢰할 수 있는 소스 코드(QADS를 통과하여 CADES 파일스테어 내에 상주하는 코드)의 개념으로 SDL(Software Design Language)을 사용함으로써 개발 시간이 개선되는 동시에 만족스러운 감사 추적 및 QA 프로세스를 제공하였다.

CADES는 코드 모듈(절차, 매크로 등)을 참조하기 위해 "홀론"이라는 용어를 채택했다.이 단어는 전체를 뜻하는 그리스 홀로에서 나왔고, 아서 쾰러의 책 <기계 속의 유령>에서 해제되었다.피어슨은 항상 튀니지의 해변에서 쾰러의 책을 연구하면서 CADES의 건축물을 공식화했다고 주장했다.계층 구조로 배열된 홀론은 부모/자녀 관계를 활용하여 '패밀리 트리'(각 하위 시스템마다)를 제공한다.홀론은 또한 상호작용의 속성을 유지하여 한 홀론이 다른 홀론들과 상호작용할 수 있게 하여 더 많은 모듈형 개발을 가능하게 하고 재사용을 용이하게 했다.유사한 방식으로 CADES는 상수 값(일명 리터럴), 사용자 정의 유형 및 사용자 정의 구조와 관련된 정보도 보유했다.

CADE를 이용한 개발

CADES에 따른 개발은 개발자와 CADES 사이의 인터페이스(또는 브로커) 역할을 하는 MODPRO(Module Processing)라고 알려진 툴 세트를 사용하여 이루어졌다.이러한 도구를 통해 개발자는 관리, QA 또는 SCM 작업에 더 집중할 수 있었다.CADE 내에서 데이터를 조작하는 방법을 알 필요는 없었으며, 애플리케이션은 필요한 결과를 얻기 위해 필요한 DNL(Data Navigation Language)을 생성했다.

MODPRO를 이용한 개발은 S3SCL(후기 컴파일을 위한 목표 언어) 중 어느 하나에 대한 구체적인 지식이 필요하지 않았지만 SDL, 소프트웨어 설계 언어: 이전 두 가지 이상의 추상화가 필요했다.개선 편집기 EDSDL(Edit SDL)과 결합되어 개발 또는 재작업을 관리하기 위해 CADES와 상호 작용했다.그런 다음, 다시 CADES의 정보로, MODPRO 도구 EPETC(Environmental Processor 또는 EP 등이라고 함)와 함께 사용할 경우 S3 또는 SCL 컴파일에 대한 결과 파일을 정확하게 조준할 수 있었다.제품군 내의 후속 도구는 다음과 같은 개발 내의 다양한 단계를 촉진했다.

  • CHD(CADES Holon Environment Details)를 이용한 Holon 상세 정보,
  • DIL(Database Interface Language, DNL 생성에 사용되는 데이터베이스 인터페이스 언어)을 사용한 CADE와의 상호작용
  • CRP(CADES 보고서 제작자)를 사용하여 보고서 제작
  • XFER를 사용하여 유효한 파일/코드를 보안 저장소(CADES)로 전송하거나 외부로 추출하십시오.

다음은 대표적인 MODPRO 개발 경로를 보여준다.

Process flow using CADES MODPRO Tools
MODPRO 툴을 사용한 VME/B 개발

참조

  1. ^ B.C.Warboys "IPSE 2.5 프로젝트: 지원 환경의 기반으로서의 프로세스 모델링" 1989년 5월 베를린 시스템 개발 환경 및 공장에 관한 국제 회의
  2. ^ 마틴 캠벨 켈리 "ICL: 비즈니스 및 기술 역사" Clarendon Press, 1989년 옥스포드
  3. ^ D.J.Pearson "CADES - 컴퓨터 보조 개발 및 평가 시스템" 컴퓨터 위클리, 1973
  4. ^ D.J.Pearson과 B.C.워보이 "구조 모델링 - 철학" OSTC/IN/40 1970년 7월
  5. ^ G.D.Pratten과 R.Snowden "CADES, 복합 소프트웨어 개발 지원" EUROCOMP,1976
  6. ^ M.A.Firth 및 기타 "객체 지향 기술을 이용한 소프트웨어 개발 환경 개선" Tools(8), 1992
  7. ^ B.W.채터즈,M.리먼 및 기타 "소프트웨어 진화 프로세스 모델링" 소프트웨어 프로세스:개선 및 실천, 2000년 9월
  8. ^ D.J.Pearson "소프트웨어 엔지니어링 시스템의 사용 및 남용" 1979년 뉴욕 전국 컴퓨터 컨퍼런스
  9. ^ Don Leavitt "개발 방법 검토가 유용한" Computerworld 1979년 6월

추가 읽기

  • B.C. Warboys (25 January 1988). "Extrapolation of lessons from CADES to the present day". IEE Colloquium on Industrial Impact of Software Engineering: 3.
  • R. W. McGuffin; A.E. Elliston; B.R. Tranter; P.N. Westmacott (September 1979). "CADES - software engineering in practice". IEEE Proceedings 4th International Conference on Software Engineering, Munich, Germany.
  • B. Kitchenham (May 1982). "System Evolution Dynamics of VME/B". ICL Technical Journal: 42–57.
  • B. W. Chatters; M. M. Lehman; J. F. Ramil; P. Wernick (2000). "Modelling a software evolution process: a long-term case study". Software Process: Improvement and Practice. 5 (2–3): 91–102. doi:10.1002/1099-1670(200006/09)5:2/3<91::AID-SPIP123>3.0.CO;2-L. Archived from the original on 2013-01-05.
  • R.A Snowden (May 1990). "An Introduction To The IPSE 2.5 Project". ICL Technical Journal. 6 (3).
  • B.C. Warboys, P.Veasey (May 1990). "Twenty Years With Support Environments". ICL Technical Journal. 6 (3).