CIRCUS GO METHOD AND DEVICE FOR AUTOMATIC GENERATING GO CODE FROM CIRCUS
Disclosed is a method for automatically generating a Go code from a Circus specification in a Go code automatic generation apparatus including an input module, an execution code conversion module, and a monitoring code conversion module. The technical problem to be solved by the present invention is...
Saved in:
Main Authors | , |
---|---|
Format | Patent |
Language | English Korean |
Published |
02.05.2017
|
Subjects | |
Online Access | Get full text |
Cover
Loading…
Summary: | Disclosed is a method for automatically generating a Go code from a Circus specification in a Go code automatic generation apparatus including an input module, an execution code conversion module, and a monitoring code conversion module. The technical problem to be solved by the present invention is to provide a method and an apparatus for automatically generating the Go code as a programming language from a formal specification language Circus. In addition, present invention provides the reliable Go code automatic generation method and apparatus by converting the invariants of Circus into a monitoring code, and monitoring the operation of the converted code using the converted codes. The Go code automatic generation method comprises: a step of Circus specification input which receives the Circus specification written in the formal specification language Circus; and a Go code generation step which automatically converting the Circus specification into the Go code using a conversion function. The Go code generation step comprises: a first code conversion process for converting a specification part of a state schema, an operation schema, or system behavior in the Circus specification into a first code, which is an actual operating part of the Go code; and a second code conversion process for converting a portion about invariants in the Circus specification into a second code, which is for monitoring whether a verification property violates during operation of the first code.
입력 모듈, 실행 코드 변환 모듈, 및 모니터링 코드 변환 모듈을 포함하는 Go 코드 자동 생성 장치에서의 Circus 명세로부터 Go 코드를 자동으로 생성하는 방법이 개시된다. Go 코드 자동 생성 방법은 Circus 정형 명세 언어로 작성된 Circus 명세를 입력받는 Circus 명세 입력 단계, 및 상기 Circus 명세를 변환 함수를 이용하여 Go 코드로 자동 변환하는 Go 코드 생성 단계를 포함하되, 상기 Go 코드 생성 단계는 상기 Circus 명세에서 상태 스키마, 오퍼레이션 스키마, 또는 시스템 행위(system behavior)에 대한 명세 부분을 Go 코드의 실제 동작하는 부분인 제1 코드로 변환하는 제1 코드 변환 과정, 및 상기 Circus 명세에서 불변속성(invariants)에 대한 부분을 상기 제1 코드의 동작 중에 검증 속성 위배 여부를 모니터링하기 위한 부분인 제2 코드로 변환하는 제2 코드 변환 과정을 포함한다. |
---|---|
Bibliography: | Application Number: KR20150186580 |