오브리크

Obliq
오브리크
패러다임다중 패러다임: 필수, 구조, 모듈형, 객체 지향, 프로토타입 기반, 병렬
가족위르스 오베론
설계자크리슈나 바라트
마크 H. 브라운
루카 카르델리
첫 등장1993; 29년 전 (1998년)
타이핑 규율강하고 역동적인
범위어휘 순수
구현 언어모둘라-3
플랫폼IA-32
웹사이트www.cc.gatech.edu/gvu/people/Phd/Krishna/VO/VOHome.html
주요 구현
Obliq, Visual Obliq
영향을 받은
모둘라-3, 셀프, 오버론

Obliq는 프로그램 안전성과 암묵적 유형 시스템을 제공하면서 분산되고 로컬로 다중화컴퓨팅을 프로그래밍하기 위해 고안된 해석된 객체 지향 프로그래밍 언어다.통역사는 모둘라-3로 쓰여 있으며, 오블리크에게 모둘라-3의 네트워크 객체 능력에 대한 완전한 접근을 제공한다.Obliq에 대해 기록 연결, 하위 유형 및 반복 유형에 대한 유형 추론 알고리즘이 개발되었다.또한, 그것은 NP-완전성이며[1] 그것의 가장 낮은 복잡성이 ο(n3) 또는 ο(n2)[2]까지의 다른 모델링에 따라 ((n)까지이며, 그것의 가장 잘 알려진 구현은 n(n5)에서 실행된다는 것이 증명되었다.[3][contradictory]Obliq의 구문은 Modula-3와 매우 유사하며, 가장 큰 차이점은 Obliq가 명시적으로 타이핑된 변수(즉, 타입 체커에서 허용되는 데이터 유형을 변수가 보유할 수 있으며, 이를 받아들이지 않으면 주어진 표현 실행 오류가 표시됨)가 상호간에 허용되고 무시됨에도 불구하고 Obliq가 명시적으로 타이핑된 변수들을 보유할 필요가 없다는 점이다.언어의 기본 데이터 유형에는 술어, 정수, 리얼, 문자, 문자열, 배열 등이 있다.Obliq는 일반적인 순차 제어 구조(조건부, 반복, 예외 처리 양식)와 동시성을 위한 특별 제어 양식(음소거 및 보호 명령문)을 지원한다.또한 Obliq의 오브젝트는 분산된 네트워크 오브젝트의 어떤 기계에 의해서도 원격으로 복제되고 안전하게 복사될 수 있으며, 안전하고 투명하게 수행될 수 있다.[4]

Obliq의 대형 표준 라이브러리는 수학 연산, 입출력(I/O), 지속성, 스레드 제어, 그래픽, 애니메이션에 대한 강력한 지원을 제공한다.분산 컴퓨팅은 객체 기반이다: 객체는 하나의 프로세스에 로컬인 상태를 유지한다.물체와 다른 변수의 범위는 순전히 어휘적이다.개체가 네트워크의 다른 컴퓨터에 있더라도 개체는 다른 개체의 메서드를 호출할 수 있다.Obliq 객체는 단순히 명명된 필드 모음이며(SelfSmalltalk의 슬롯과 유사), 위임에 의한 상속을 지원한다(Self와 같다).

Obliq의 일반적인 용도는 이더넷과 같은 LAN(Local Area Network)에서 일어나는 것처럼 네트워크를 통한 프로그래밍, 3D 애니메이션, 분산 컴퓨팅을 포함한다.Obliq는 DEC(Digital Equipment Corporation) Modula-3 배포에 무료로 포함되지만, 다른 무료 버전은 여러 운영 체제에 대해 사전 컴파일된 바이너리를 포함하여 다른 곳에 존재한다.

Obliq를 사용한 프로젝트

  • Obliq 애플릿과[6] 제우스[7] 알고리즘 애니메이션 시스템(모둘라-3으로 작성)을 이용해 개발된 협업 능동 교과서(CAT)[5]이다.
  • Obliq 애플릿(Oblets)[6] 특수 웹 브라우저(Modula-3) Obliq 웹 페이지 임베디드 응용 프로그램.[8]

참조

  1. ^ http://www.cs.ucla.edu/~htmlberg/paper/ic04.pdf[bare URL PDF]
  2. ^ Henglein, Fritz (1999). "Breaking through the n3 barrier: Faster object type inference". Theory and Practice of Object Systems. 5 (1): 57–72. doi:10.1002/(SICI)1096-9942(199901/03)5:1<57::AID-TAPO5>3.0.CO;2-U.
  3. ^ Palsberg, Jens; Zhao, Tian (2002). "Efficient Type Inference for Record Concatenation and Subtyping". Logic in Computer Science, Symposium on. Los Alamitos, California, USA: IEEE Computer Society. p. 125. doi:10.1109/LICS.2002.1029822.
  4. ^ Briais, Sebastien; Nestmann, Uwe (2002). "Mobile Objects "must" Move Safely". FMOODS '02. pp. 129–146. CiteSeerX 10.1.1.23.4787.
  5. ^ Brown, Marc H.; Najork, Marc A. (May 1996). "Collaborative Active Textbooks: A Web-Based Algorithm Animation System for an Electronic Classroom; Research Report 142". DEC Systems Research Center (SRC). Digital Equipment Corporation (DEC). Archived from the original on 2006-04-11.
  6. ^ a b Brown, Marc H.; Najork, Marc A. (1997). "Distributed applets". CHI '97 extended abstracts on Human factors in computing systems: looking to the future. Atlanta, Georgia: ACM. pp. 204–205. doi:10.1145/1120212.1120344. ISBN 0-89791-926-2. Retrieved 2010-05-15.
  7. ^ 제우스: 알고리즘 애니메이션과 다중 뷰 편집 마크 H. 브라운을 위한 시스템.DEC(Digital Equipment Corporation) Systems Research Center(SRC) 연구 보고서 075(1992년 2월)
  8. ^ http://www.ibiblio.org/openvideo/video/chi/chi97_02_m1.mpg

외부 링크