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

「 」를 참조해 주세요.

레퍼런스

  1. ^ [1] N. Halbwachs et al.동기 데이터 흐름 프로그래밍 언어 LUSTRE.인프로그래프IEEE 1991 제79권, 제9호2014년 3월 17일에 접속.
  2. ^ "SCADE Success Stories". Retrieved 8 June 2013.

외부 링크