병행 객체지향 언어에서 상속 인터페이스 메커니즘을 이용한 상속 변칙의 해결

Solving Inheritance Anomaly using Inheritance Interface Mechanism in Concurrent Object-Oriented Programming Languages

  • 김국세 (조선대학교 컴퓨터공학과) ;
  • 이광 (조선대학교 컴퓨터공학과) ;
  • 방극인 (조선대학교 컴퓨터공학과) ;
  • 박영옥 (조선대학교 컴퓨터공학과) ;
  • 이준 (조선대학교 컴퓨터공학과)
  • Kim, Kuk-Se (Dept. of Computer Engineering, Chosun Univ.) ;
  • Lee, Gwang (Dept. of Computer Engineering, Chosun Univ.) ;
  • Bang, Keug-in (Dept. of Computer Engineering, Chosun Univ.) ;
  • Park, Young-Ok (Dept. of Computer Engineering, Chosun Univ.) ;
  • Lee, Joon (Dept. of Computer Engineering, Chosun Univ.)
  • 발행 : 1999.05.01

초록

상속과 병행성은 병행 객체지향 언어에서 가장 주된 개념이며 특히 코드의 재사용에 있어서 매우 중요하다. 이들은 객체의 병행 수행을 통해 최대의 계산력과 모델링 능력을 제공한다. 하지만, 병행 객체와 상속은 서로 상충되는 특성을 가지고 있으며, 이들의 동시 사용은 병행 객체들의 무결성을 유지하기 위해 상속된 메소드들의 코드 재정의를 요구하는 상속 변칙 문제를 발생시킨다. 본 논문에서는 상속 이상의 해결을 위해 캡슐화된 객체의 내부 상태들이 객체의 외부 인터페이스의 한 부분으로 이용될 수 있는 상태 추상화 개념을 도입하였다. 또한, 메소드들을 효과적으로 상속할 수 있는 상속 인터페이스 메커니즘을 설계하였고 이를 통해 전형적인 상속 이상을 해결하였다.

Inheritance and concurrency are the primary feature of object oriented languages, and are especially important for code re-use. They provide maximum computational power and modeling power through concurrency of objects. But, concurrent objects and inheritance have conflicting characteristics, thereby simultaneously use of them causes the problem, so failed inheritance anomaly, which requires code redefinition of inherited methods to maintain integrity of objects. In this paper, to solve the inheritance anomaly problems we introduce concept of state abstraction, in which infernal states of encapsulated objects are made available from a part of object's external interface. And we design inheritance interface mechanisms which methods are inherited efficiently. In our scheme, we can solve the typical inheritance anomaly problems.

키워드