Lustre(프로그래밍 언어)
Lustre (programming language)Lustre는 리액티브시스템을 프로그래밍하기 위한 정식으로 정의된 선언형 동기 데이터 플로우 프로그래밍 언어입니다.그것은 1980년대 초에 연구 프로젝트로 시작되었다.언어의 공식 표현은 1991년 [1]IEEE 회보에서 확인할 수 있다.1993년에는 Estreel Technologies에 의해 개발된 산업 환경 SCADE의 핵심 언어로서 상업용 제품에 실용적이고 산업적으로 사용되게 되었습니다.그것은 현재 항공기,[2] 헬리콥터 및 원자력 발전소에서 중요한 제어 소프트웨어에 사용된다.
Lustre 프로그램의 구조
Lustre 프로그램은 다음과 같이 기술된 일련의 노드 정의입니다.
노드 foo(a : bool)가 반환됩니다(b : bool). b = a가 아닌 tel로 합니다.
어디에foo
노드 이름입니다.a
는 이 노드의 단일 입력 이름입니다.b
는 단일 출력의 이름입니다.이 예에서는 노드가foo
입력의 부정을 반환합니다.a
예상되는 결과입니다.
내부 변수
다음과 같이 추가 내부 변수를 선언할 수 있습니다.
노드 Nand(X,Y: bool) 반환(Z: bool); var U: bool; U = X 및 Y; Z = U가 아님; tel
주의: 방정식의 순서는 상관없습니다.행의 순서입니다.U = X and Y;
그리고.Z = not U;
결과는 변하지 않습니다.
특수 연산자
pre p | 이전 값 p를 반환합니다. |
p -> q | p를 식 q의 초기값으로 설정합니다. |
예
에지 검출
노드 에지(X: bool)가 (E: bool)를 반환한다.X 이전이 아니라 E = false -> X; tel
「 」를 참조해 주세요.
- 에스테렐
- SIGNAL(다른 데이터 흐름 지향 동기 언어)
- 동기 프로그래밍 언어
- 데이터 흐름 프로그래밍
레퍼런스
- ^ [1] N. Halbwachs et al.동기 데이터 흐름 프로그래밍 언어 LUSTRE.인프로그래프IEEE 1991 제79권, 제9호2014년 3월 17일에 접속.
- ^ "SCADE Success Stories". Retrieved 8 June 2013.