모듈식 컴파일을 위한 동기식 언어 LE 설계와 검증

본 논문은 동기식 언어 LE의 행동 의미론과 방정식 의미론을 정의하고, 이를 기반으로 소프트웨어·하드웨어 양쪽으로의 모듈식 컴파일 기법을 제시한다. 새로운 정렬 알고리즘(PERT)으로 전체 프로그램의 인과성 검사를 부분 프로그램 재검사 없이 수행함으로써 대규모 시스템에서도 효율적인 컴파일과 형식 검증을 가능하게 한다.

저자: Annie Ressouche, Daniel Gaffe (LEAT), Valerie Roy

모듈식 컴파일을 위한 동기식 언어 LE 설계와 검증
본 논문은 안전·비즈니스 크리티컬 시스템 개발에 적합한 동기식 언어 LE를 설계하고, 그 언어를 기반으로 모듈식 컴파일 프레임워크를 구축한다. 서론에서는 동기식 언어가 제공하는 동시성, 단순성, 동기성의 세 가지 핵심 특성을 재조명하고, 기존 컴파일러가 겪는 상태 폭발과 인과성 검사의 전역성 문제를 지적한다. 특히, “RMC barrier theorem”에 따라 응답성·모듈성·인과성 세 속성을 동시에 만족시키기 어려운 점을 강조한다. 2장에서는 LE 언어의 문법을 상세히 소개한다. 모듈은 입력·출력 이벤트 집합을 선언하고, 본문에서는 비시간 연산자(‘nothing’, ‘emit’, ‘present‑then‑else’, ‘sequence’, ‘parallel’, ‘abort’, ‘loop’, ‘local’, ‘run’)와 시간 연산자(‘pause’, ‘wait’)를 제공한다. 또한, 복잡한 제어 흐름을 직접 기술하기 위해 자동자 사양을 지원한다. 3장에서는 행동 의미론을 정의한다. 프로그램을 이벤트 시퀀스와 상태 변환의 집합으로 모델링하고, 각 연산자의 의미를 수학적으로 정형화한다. 이를 통해 프로그램의 의미가 유일하게 결정되며, 모호성이 없음을 보장한다. 4장에서는 방정식 의미론을 제시한다. 각 문장은 부울 방정식과 상태 변수 업데이트 식으로 변환되며, 전체 프로그램은 방정식 네트워크(회로)로 표현된다. 이 의미론은 하드웨어 합성(VHDL, FPGA)과 소프트웨어 코드(C)로 직접 매핑할 수 있는 기반을 제공한다. 또한, 행동 의미론과 방정식 의미론이 동등함을 정리와 증명을 통해 확인한다. 5장에서는 모듈식 컴파일 기법을 상세히 설명한다. 핵심은 PER‑T(Partial‑Order‑Event‑Relation‑Tree) 정렬 알고리즘이다. 먼저 각 모듈을 독립적으로 컴파일하고 인과성 사이클을 검사한다. 이후 모듈 간 의존 관계를 그래프 형태로 구성하고, 두 부분 순서를 병합해 전체 프로그램의 정렬을 완성한다. 이 과정에서 이미 검증된 서브 프로그램을 재검사할 필요가 없으며, 사이클 검사는 모듈 연결 그래프에 국한된다. 실용적인 구현 이슈(효율적인 컴파일, 최종화, 컴파일 스키마)와 벤치마크 결과도 제시한다. 6장에서는 메카트로닉스 시스템(컨트롤·템포라이제이션·노멀 사이클 모듈) 사례를 통해 LE 프로그램을 작성, 시뮬레이션, VHDL 합성, 모델 체커 입력 변환까지 전 과정을 보여준다. 이 예제는 모듈식 설계가 복잡한 제어 로직을 어떻게 구조화하고, 자동화된 인과성 검증과 하드웨어 구현을 동시에 가능하게 하는지를 입증한다. 7장은 결론으로, 제안된 LE 언어와 모듈식 컴파일 프레임워크가 형식적 검증과 실시간 임베디드 구현을 일관되게 연결한다는 점을 강조한다. 향후 연구로는 최적화 기법 확대, 동적 모듈 로딩, 그리고 다른 동기식 언어와의 상호 운용성을 제시한다.

원본 논문

고화질 논문을 불러오는 중입니다...

댓글 및 학술 토론

Loading comments...

의견 남기기