An Operation-Based Model of Version Storage and Consistency Management for Fine-Grained Software Objects

미세 단위 소프트웨어 객체를 위한 연산 기반 버전 및 일관성 관리 모델

  • Published : 2000.07.15

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.

소프트웨어 문서는 수많은 논리적인 객체와 객체간의 관계로 이루어진 구조를 가지고 있으며 그 구조가 빈번하게 변경될 수 있다. 본 논문에서는 소프트웨어 편집 과정에서 적용되는 연산에 기반한 미세 단위 소프트웨어 객체의 버전 및 일관성 관리 모델을 제안하였다. 모든 소프트웨어 객체는 연산으로 구성된 인터페이스를 가지고 객체의 편집은 연산을 통해서 이루어진다. 편집기를 통하여 객체에 적용된 연산은 연산 히스토리에 기록되고 버전 관리와 소프트웨어 구성 요소간의 일관성 관리에 이용된다. 객체의 버전은 연산 히스토리를 이용한 델타를 이용하여 저장되고 검색되므로 델타 추출을 위한 비교 과정이 필요 없으며 버전간의 변경 내용을 쉽게 파악하여 버전 전파 여부를 결정지을 수 있다는 장점이 있다. 일관성은 객체간의 종속성과 객체에 적용된 연산의 종류에 의해 관리되므로 불필요한 변경 전파를 피할 수 있다. 본 논문에서는 객체에 적용된 연산을 기반으로 하여 버전 검색 및 미세 단위 일관성에 대한 정형적인 모델을 제시하였다.

Keywords

References

  1. S. Sachweh and W. Schafer, Version Management for tightly integrated Software Engineering Environments, Proc. 7th Int'l Conf. Software Engineering Environments, Apr. 1995 https://doi.org/10.1109/SEE.1995.393613
  2. Yi-Jing Lin and Steven P. Reiss, Configuration Management with Logical Structures, Proc. 18th Int'l Conf. Software Engineering, 1996 https://doi.org/10.1109/ICSE.1996.493425
  3. P. Lindsay, Y. Liu and O. Traynor, A Generic Model for Fine Grained Configuration Management Including Version Control and Traceability, Proc. Australian Software Engineering Conf. Sep. 1997 https://doi.org/10.1109/ASWEC.1997.623752
  4. F. Bancilhon, C. Delobel, and P. Kanellakis, Building an Object-Oriented Database System, The Story of $O_2$, Morgan Kaufmann, 1992
  5. W. Emmerich, W. Sch fer and J. Welsh, Databases for Software Engineering Environments - The Goal has not yet been attained, Proc. 4th European Software Engineering Conf., 1993
  6. B. Magnusson and U. Asklund, Fine Grained Version Control of Configurations in COOP/Orm, Int'l Workshop on Software Configuration Management, Mar. 1996
  7. E. J. Choi and Y. Kwon, An Efficient Method for Version Control of a Tree Data Structure, Software- Practice and Experience, vol. 27, no. 7, pp.797-811, Jul. 1997 https://doi.org/10.1002/(SICI)1097-024X(199707)27:7<797::AID-SPE106>3.0.CO;2-0
  8. J. Grundy, J. Hosking, and W. B. Mugridge, 'Inconsistency Management for Multiple-View Software Development Environments,' IEEE Transactions on Software Engineering, Vol. 24, No. 11, November 1998 https://doi.org/10.1109/32.730545
  9. B. Westfechtel, A Graph-Based System for Managing Configurations of Engineering Design Documents , Int'l J. Software Engineering and Knowledge Engineering, vol. 6, no. 4, 1996 https://doi.org/10.1142/S0218194096000235
  10. G. Heidenreich, D. Kips, and M. Minas. A New Approach to Consistency Control in Software Engineering, Proc. 18th Int'l Conf. Software Engineering, Mar. 1996 https://doi.org/10.1109/ICSE.1996.493424
  11. E. Bertino and L. Martino, Object-Oriented Database Systems, Addison-Wesley, 1993
  12. B. P. Munch, Jens-Otto Larsen, B. Gulla, R. Conradi, and Even-Andre Karlsson, Uniform Versioning: The Change-Oriented Model, Proc. 4th Int'l Workshop Software Configuration Management, 1993