간단(프로그래밍 언어)
Ease (programming language)패러다임 | 동시에 순차 프로세스 전달 |
---|---|
설계자 | 스티븐 에릭슨제니스 |
처음 등장한 | 전( |
타이핑 분야 | 강한. |
플랫폼 | 병렬 |
영향을 받다 | |
발생하다 |
Easy는 범용 병렬 프로그래밍 언어입니다.그것은 예일 대학 연구원 스티븐 에릭슨-제니트, 캘리포니아 실리콘 밸리의 고등 과학 & 엔지니어링 연구소, 파리 국립 수페리에르 데 광즈 드 파리, 그리고 [1]소르본 과학부 피에르 퀴리 대학교와 마리 퀴리 대학교가 설계했다.
「프로세스 인터랙션 모델」은, Easy 언어 사양입니다.Easy는 순차 프로세스(CSP)를 통신하는 프로세스 구조와 컨텍스트라고 불리는 논리적으로 공유되는 데이터 구조를 결합합니다.컨텍스트는 프로세스에 의해 구성되며 프로세스가 상호 작용하는 방법을 제공하는 병렬 데이터 유형입니다.
언어에는 2개의 프로세스 컨스트럭터가 포함되어 있습니다.
협력에는 명시적 장벽 동기화가 포함되며 다음과 같이 기술된다.
한 프로세스가 다른 프로세스보다 먼저 완료되면 다른 프로세스가 완료될 때까지 대기합니다.
하위는 작성 시 범위 내의 컨텍스트를 공유하고 완료 시 종료되는 프로세스를 작성하고(다른 프로세스를 기다리지 않음) 다음과 같이 기술합니다.
하위 프로세스는 상위 프로세스가 중지되었기 때문에 완료된 컨텍스트와 상호 작용하려고 하면 중지됩니다.이를 통해 결과가 필요하지 않은 경우 종료되는 추측 프로세스를 생성할 수 있습니다.
강력한 복제 구문을 통해 여러 프로세스를 생성할 수 있습니다.예를들면,
는 각각 로컬 상수 i를 사용하여 동기화된 프로세스를 n개 만듭니다.
프로세스는 로컬 변수를 공유할 수 없으며 공유 컨텍스트 구축에 협력할 수 없습니다.리소스라고 불리는 특정 컨텍스트유형은 Call-Reply의 의미를 보증합니다.
콘텍스트에는, 다음의 4개의 기능이 있습니다.
- read(variable, variable): 공유 컨텍스트에서 변수에 값을 복사합니다.
- write(syslog, expression): 표현 값을 공유 컨텍스트에 복사합니다.
- put(put, name): 이름에 바인드된 값을 공유 컨텍스트로 이동합니다.이후 이름 값은 정의되지 않습니다.
- get(module, name): 컨텍스트에서 값을 이동하여 이름으로 바인드합니다.값이 컨텍스트에서 삭제됩니다.
컨텍스트 유형은 Singleton, Bag 또는 Streams이며 서브스크립트 배열이 될 수 있습니다.
이지에는 기호학적 정의가 있습니다.이는 언어가 프로그래머에게 미치는 영향과 알고리즘 개발 방법을 설명한다는 것을 의미합니다.그 언어는 병렬 프로그램 개발을 용이하게 하기 위해 고안되었다.
레퍼런스
- ^ Ericsson-Zenith, Steven (1 July 2011) [July 1992]. Process Interaction Models. Seattle, Washington, U.S.: CreateSpace Independent Publishing Platform. ISBN 978-1463777913.