Design and Implementation of a Distributed Object Programming Language supporting Peer Replicated Object Model

대등관계 복제객체 모델을 지원하는 분산 객체 프로그래밍 언어의 설계 및 구현

  • Sin, Beom-Ju (Electronics and Telecommunications Research Institute) ;
  • Lee, Dong-Hyeon (Dept. of Computer Science, Korea Advanced Institute of Science and Technology)
  • 신범주 (한국전자통신연구원) ;
  • 이동현 (한국과학기술원 전산학과)
  • Published : 1999.08.01

Abstract

본 논문은 C++에 분산 객체 프로그래밍 기능을 추가한 D++ 언어를 제안한다. 대등관계 복제객체 모델을 지원하는 D++는 분산 클래스의 정의, 멤버 함수의 일치성 제어 정의 기능, 그리고 영구 객체 이름에 기반한 분산 객체를 정의할 수 있는 언어 구조를 제공한다. D++ 프로그램에서 새로이 생성되는 분산 객체는 생성 시에 제공되는 객체의 영구 이름과 동일한 영구 이름을 갖는 분산 객체가 존재할 경우 해당 객체들과 복제 관계를 유지함으로써 정보를 공유한다. 각 복제 객체들은 서로 간에 대등한 관계를 가지며, 멤버 함수 정의 시에 기술되는 특성에 따라 일치성이 유지된다. 이 같은 D++의 분산 객체 모델은 실시간 그룹웨어의 기본 요구 사항인 분산 환경에서의 정보 공유 및 사건 공지 기능을 자연스럽게 해결해 주기 때문에 실시간 그룹웨어의 개발을 효율적으로 지원할 수 있을 것으로 기대한다. Abstract This paper proposes D++ programming language that is an extension of C++ for distributed object oriented programming. The D++, which supports peer-to-peer object model, provides new language constructs for the definition of distributed classes, the definition of the consistency control of the member function and the definition of distributed object variables with the persistent name. In D++, when the persistent name of a newly created distributed object is same as that of an existing distributed object, the new distributed object replicates object state of the existing distributed object and thus they share the object state. The replicas have peer relation and the consistency among them is maintained according to the characteristic described on the definition of designated member functions. It is expected that D++ language increases efficiency in development of real-time groupware because the distributed object model of D++ naturally supports the information sharing and event notification that are the basic functions required when building real-time groupware.

Keywords

References

  1. Object Orientation in Heterogeneous Distributed Computing Systems J.R.Nicol;T.Wilkes;F.A.Manola
  2. The Essential Distributed Objects Survival Guide R.Orfali;D.Harkey;J.Edwards
  3. Communications of the ACM Groupware: Some Issues and Experiences C.A.Ellis;S.J.Gibbs;G.L.Rein
  4. ACM Ada Letters v.15 no.1 Comparing data synchronization in Ada 9X and Orca H.E.Bal
  5. IEEE Transactions on Software Engineering v.18 no.3 ORCA:A Language for Parallel Programming of Distributed Systems H.E.Bal
  6. IEEE Transactions on Software Engineering v.SE-13 no.1 Distribution and Abstract types in Emerald Andrew Black;Norman Hutchinson;Eric Jul;Henry Levy;Larry Carter
  7. Software-Practice and Experience v.21 Emerald: A General-Purpose Programming Language R.K.RAJ;E.Tempero;H.M.Levy
  8. Proceedings of ACM conference on CSCW94 Real-Time Groupware as a Distributed System: Concurrency Control and its Effect on the Interface S.Greenberg;D.Marwood
  9. Lecture Notes in Computer Science 1364 titled as Coordination Technology for Collaborative Applications Supporting Both Client-Server and Peer-to-Peer Models in a Framework of a Distributed Object Management System T.H.Lee(et.al)
  10. Lecture Notes in Computer Science 448 titled as Fault-Tolerant Distributed Computing The State Machine Approach F.G.Schneider
  11. Groupware: Technology and Applications D.Coleman;R.Khanna
  12. An Advanced Course on Distributed Computing S.J.Mullender
  13. The Annotated C++ Reference Manual M.A.Ellis;B.Stroustrup
  14. ITU SG8 Draft Recommendation T.120 Data Protocol for Multimedia Conferencing ITU
  15. 13th International Conference on Distributed Systems Maintaining Information about Persistent Replicated Objects in a Distributed System M.C.Little;D.L.McCue;S.K.Shrivastava
  16. Replication Techniques in Distributed Systems A.A.Helal(et al)