A Study on Extended Z for the Concurrency Specification

병행성 명세를 위한 확장된 Z의 연구

  • 남성욱 (동국대학교 전자계산학과) ;
  • 조영석 (동국대학교 컴퓨터학과)
  • Published : 2000.10.13

Abstract

소프트웨어 개발 초기 단계에서의 부정확에 기인한 에러들을 줄이기 위한 노력이나 기술이 절실하다. [1][2] 정형 명세 기법은 명세 단계에서 기인하는 에러들을 줄이기 위해 Z 나 VDM 과 같은 정형 표기법(formal notation)에 의해 쓰여지며, 정형성(formality)과 추상화(abstraction)의 제공 등 두 가지 사항에 대한 요구사항을 충족시켜 준다. [3][4] 그러나, Z 표기법의 병행성 표현 능력의 부족으로 병행성을 요구하는 시스템의 명세에서 사용할 수 없거나, Process Algebra의 CSP (Communicating Sequence Processes)등과 같은 다른 정형 언어와 함께 명세해야 하는 단점이 있다. 본 논문은 이를 보완하기 위해 범용 목적의 명세 언어인 기존의 Z 를 확장하여 병행성을 명세 가능하도록 하고자 한다. 이를 위해서 병행 프로세스(concurrent process) 개념을 도입하며, 이를 나타내는 표기를 정의하고 사용한다. 또한, 병행성의 제어를 위해서 프로시듀어 기술부(procedure description)의 도입 및 관련 스키마(schema)들을 정의한다. 아울러, 확장된 Z 로 작성된 명세서를 목적 언어로 자동 변환(translate)하기 위한 변환기(translator)를 Lex 와 Yacc을 이용하여 구현하고, 변환된 목적 언어 파일을 실행하여 확장된 Z 가 모호성을 포함하지 않는지 시뮬레이션을 통해 검증한다.

Keywords