Runtime modifiability can improve the performance of the program by using the runtime information which cannot be reflected at compile time. Especially it is important for high-availability systems such as networked massive multi-user systems. The component based approach provides a useful framework of run-time modifiability for such high-availability systems. In the component based approach, the frame is designed for the replaceable components and the component replacement is performed based on the structure of the frame at runtime. But when the frame is needed to be changed, runtime modification of the frame is not possible in most cases. Another restriction is on the modification granularity. The replaceable unit is limited to the component.
We propose a new program named runtime modifiable program (RMP) that has high level program-ming features on the modification of its runtime structures. We present that the modifiability of the RMP can compromise the restrictions of the component based approach. We extend a simple imperative language to show the feasibility of the RMP. In the thesis the necessary syntax extensions and their semantics are de-scribed. The safety of runtime modification is discussed with respect to the sustainability of syntax complete form on the subsequent modified programs.
수행 중에 변경이 가능한 프로그램은 프로그램 설계, 개발 과정에서 반영할 수 없는, 수행 중에서만 수집 가능한 정보를 사용하여 수행 효율을 높일 수 있다. 특히 네트워크 상에서 수행되는 대규모 사용자용 프로그램과 같은 고가용성 시스템의 경우는 매우 필요한 기능이라고 할 수 있다. 컴포넌트에 기반한 소프트웨어 적응 방법이 유용한 틀을 제공하지만 구성 요소를 연결하는 기본 구조는 쉽게 변경할 수 없으며, 더 작은 변경만으로 충분하여도 변경은 컴포넌트 단위로만 가능하다. 수행 중 변경 가능한 프로그램은 수행 중에 계산 코드나 제어 코드를 변경할 수 있는 프로그램을 말한다. 본 연구에서는 기본적인 명령형 프로그래밍 언어를 기초로 수행 중 변경이 가능하도록 확장한다. 이때 필요한 구문의 확장과 확장된 구문의 의미에 대하여 기술하다. 또한 완전한 구문 형태가 수행 중에 변경된 프로그램에서도 유지될 수 있도록 하여 수행 중 변경의 안전성을 유지하는 부분에 대하여 설명한다. .