Abstract
Software documents consists of a number of objects and relationships between them, and structure of documents can be changed frequently. In this paper, we propose a version storage and consistency management model for fine-grained software objects based on operations applied to edit software objects. An object has an interface and can be updated only through operations defined in its interface. Operations applied to objects are recorded in the operation history, which is used to retrieve versions of a document and manage consistency between documents. Because versions of an object are stored and retrieved using the operation delta, it is not needed to compare versions of a document to extract delta and it is easy to identify the changes between versions in order to propagate the changes. Consistencies between documents are managed using dependencies between objects and kinds of the operations applied to the objects. Therefore unnecessary version propagation can be avoided. This paper presents a formal model of version retrieval and consistency management at the fine-grained level based on operations applied to the objects.
소프트웨어 문서는 수많은 논리적인 객체와 객체간의 관계로 이루어진 구조를 가지고 있으며 그 구조가 빈번하게 변경될 수 있다. 본 논문에서는 소프트웨어 편집 과정에서 적용되는 연산에 기반한 미세 단위 소프트웨어 객체의 버전 및 일관성 관리 모델을 제안하였다. 모든 소프트웨어 객체는 연산으로 구성된 인터페이스를 가지고 객체의 편집은 연산을 통해서 이루어진다. 편집기를 통하여 객체에 적용된 연산은 연산 히스토리에 기록되고 버전 관리와 소프트웨어 구성 요소간의 일관성 관리에 이용된다. 객체의 버전은 연산 히스토리를 이용한 델타를 이용하여 저장되고 검색되므로 델타 추출을 위한 비교 과정이 필요 없으며 버전간의 변경 내용을 쉽게 파악하여 버전 전파 여부를 결정지을 수 있다는 장점이 있다. 일관성은 객체간의 종속성과 객체에 적용된 연산의 종류에 의해 관리되므로 불필요한 변경 전파를 피할 수 있다. 본 논문에서는 객체에 적용된 연산을 기반으로 하여 버전 검색 및 미세 단위 일관성에 대한 정형적인 모델을 제시하였다.