View : 796 Download: 0

작용식 기반 점진 해석

Title
작용식 기반 점진 해석
Authors
한정란
Issue Date
1999
Department/Major
대학원 컴퓨터학과
Publisher
이화여자대학교 대학원
Degree
Doctor
Abstract
In order to increase the productivity of software, the research to reduce the total cost in software development environments is working. Considerable time is wasted waiting for a changed program in program development, however small the change, to be compiled and linked into executable form. In case of partial change, it is inefficient to retranslate the total program in respect of time and memory space. The incremental techniques, which retranslate the changed part and its affected one, is very important in program development environments. Using these incremental translation techniques, we obtain the same result as the execution of total program. To implement the incremental translator, we use the incremental attribute evaluation to find the affected part by the changed part and reevaluate this part. The existing incremental methods do the propagation of changes to find their affected part. This progress performs very complexly using dependency graph and must reevaluate many attributes. To simplify this propagation and increase the program productivity, we implement incremental translation system using efficient incremental attribute evaluation in this thesis. We present the new technique of dependency chart for incremental attribute evaluation instead of the dependency graph used in the existing methods. The dependency in the dependency chart is based on the attribute which describes the real value of the variable which directly affects the semantics, thereby doing efficient trace. In particular, this proposed method evaluates only the essential attributes, i.e., the attributes which are in the running statements when the program is executed, according to conditional attribute and gives optimal evaluation. Attribute grammars are a formal notation for specifying the static semantics of programming languages, but are not suitable for expressing dynamic semantics. To specify the dynamic semantics and implement the specified language, it is necessary to extend the existing attribute grammars and describe the dynamic actions for language implementation. To do so, we present new action equations that describe the static and dynamic semantics by using extension of attribute grammars. To implement incremental translator based on presented action equations, we define a new IMPLO(IMPerative Language with Object) language using EBNF(Extended Backus Naur Form) notation and then, design and implement the incremental interpretation techniques of this language by using the dynamic semantics of action equations. We implement our incremental interpretation system in C, Lex and Yacc using X windows for user interface on Sun 1000. We obtain 48∼50% speedup in case of incremental execution time for example programs. ; 소프트웨어의 생산성을 향상시키기 위해 소프트웨어 개발 단계에서 소요되는 비용을 최소화하려는 연구가 다양하게 진행되고 있다. 프로그램 개발 단계에서는 프로그램을 부분적으로 수정하게 되고 프로그램의 부분 수정인 경우에도 프로그램을 편집하여 다시 실행하는데 많은 시간이 소요된다. 프로그램의 부분 수정인 경우 전체 프로그램을 재실행하기보다는 수정된 부분과 그 부분에 영향을 받는 부분만을 재실행하는 것이 시간과 공간 면에서 효율적이라 할 수 있다. 프로그램을 수정할 경우 수정한 부분과 이에 영향받는 부분만을 재실행하기 위해 사용되는 점진 번역 방법은 프로그램 개발 환경에서 실행 효율성 측면에서 고려해 볼 때 매우 중요하다. 이러한 점진 번역 방법을 사용하면 프로그램 전체를 번역하지 않더라도 전체를 번역한 것과 동일한 결과를 얻을 수 있다. 점진 번역기를 구현하기 위해서, 변화된 부분과 그 부분에 영향을 받아 변경되는 부분을 찾아내어 이 부분들을 다시 평가하는 점진 속성 평가 방법을 사용해야 한다. 기존의 점진 속성 평가 방법은 처음 변화된 부분에 영향받는 부분을 찾기 위해 변화를 파급시키는 변화 파급 과정을 거치게 된다. 이 과정은 종속 그래프를 사용하여 아주 복잡하게 수행되며 많은 속성들을 다시 평가해야 하는 문제점이 있다. 즉 종속 그래프는 의미 구조에 직접적인 영향을 주지 않는 속성들의 종속성을 모두 표현하여 이 속성들을 모두 평가하는데 상당한 시간이 소요되며 구조 또한 아주 복잡하다. 이러한 점진 속성 평가의 수행 과정을 단순하게 하고 프로그램의 생산성을 향상시키기 위해 본 연구에서는 효율적인 점진 속성 평가 방법을 제시하고 이를 기반으로 하는 점진 번역 시스템을 구현하고자 한다. 기존의 방법에서는 종속 그래프를 사용하였으나 본 연구에서는 점진 속성 평가를 위해 종속 차트(dependency chart) 사용 기법을 제시한다. 종속 차트는 의미 구조에 직접적으로 영향을 주는 변수의 값을 나타내는 속성을 중심으로 종속성을 표시하여 변화를 추적하는 과정이 효율적으로 수행된다. 특히 기존의 방법과 달리 이 기법은 조건 속성의 값에 따라 평가 여부를 결정하여 프로그램 수행 상 필요한 필수 속성만을 다시 평가하므로 최적의 평가가 이루어진다. 속성 문법은 언어의 정적인 의미론을 표현하는 형식적인 표기법으로서 동적인 의미론을 표현하기에는 부적절하다. 동적 의미론을 잘 명세하고 명세된 언어를 구현하기 위해서는 기존의 속성 문법을 확장하고 변형하여 언어 구현에 필요한 동적인 작용들(actions)을 명세해야 할 필요가 있다. 이를 위해 속성 문법을 확장하고 변형하여 정적이고 동적인 의미론을 쉽게 명세할 수 있는 새로운 작용식(action equation)을 제시한다. 제시된 작용식을 기반으로 점진 번역을 수행하기 위해서 본 연구에서는 번역을 효율적으로 실행되도록 해석 방법을 사용한다. 새로운 IMPLO(IMPerative Language with Object) 언어를 EBNF(Extended Backus Naur Form) 표기법으로 정의하고 제시된 작용식(action equation)의 동적인 의미 구조로부터 IMPLO 언어의 점진 해석(incremental interpretation)을 수행하고자 한다. 본 연구에서 점진 해석 시스템을 구현하기 위해 SUN 1000에서 Lex와 Yacc을 이용해서 C 언어로 프로그래밍하고 사용자 인터페이스는 X로 구현하였다. 예제 프로그램들의 점진 실행 시간을 전체 프로그램의 실행 시간과 비교했을 때 약 48% ∼ 50% 정도의 속도 개선 효과를 거둘 수 있었다.
Fulltext
Show the fulltext
Appears in Collections:
일반대학원 > 컴퓨터공학과 > Theses_Ph.D
Files in This Item:
There are no files associated with this item.
Export
RIS (EndNote)
XLS (Excel)
XML


qrcode

BROWSE