Skip to main content
QUICK REVIEW

[논문 리뷰] An Approach to Programming Based on Concepts

Alexandr Savinov|ArXiv.org|2007. 12. 30.
Advanced Software Engineering Methodologies참고 문헌 31인용 수 5
한 줄 요약

이 논문은 '개념(concepts)'을 중심으로 하는 새로운 프로그래밍 패러다임을 소개한다. 개념은 참조 클래스와 객체 클래스의 이중 구조 추상화로, 상속, 다형성, 수명 주기 관리 등을 통해 일반화된 객체 지향 프로그래밍을 가능하게 한다. 이 접근법은 포함 관계를 통해 개념을 형식화하고, 컨텍스트 스택과 이중 메서드와 같은 메커니즘을 도입하여 기존 OOP를 강화한 통합 모델을 제공한다. 이는 더 강력한 캡슐화와 타입 안정성을 제공한다.

ABSTRACT

In this paper we describe a new approach to programming which generalizes object-oriented programming. It is based on using a new programming construct, called concept, which generalizes classes. Concept is defined as a pair of two classes: one reference class and one object class. Each concept has a parent concept which is specified using inclusion relation generalizing inheritance. We describe several important mechanisms such as reference resolution, context stack, dual methods and life-cycle management, inheritance and polymorphism. This approach to programming is positioned as a new programming paradigm and therefore we formulate its main principles and rules.

연구 동기 및 목표

  • 기존의 클래스 기반 OOP를 일반화하기 위해 참조 클래스와 객체 클래스를 통합하는 새로운 추상화인 '개념'을 도입하는 것.
  • 구조화된 개념 계층을 통해 기존 OOP 모델의 한계를 해결하고 더 강력한 캡슐화와 타입 안정성을 제공하는 것.
  • 컨텍스트 스택과 참조 해석과 같은 정의된 원칙, 규칙, 메커니즘을 포함한 새로운 프로그래밍 패러다임을 형식화하는 것.
  • 개념 간 부모-자식 관계를 통해 다형성과 상속을 일반화하는 것.

제안 방법

  • 개념은 참조 클래스와 객체 클래스의 쌍으로 정의되며, 이 둘 다 모델 내에서 일급 구성 요소이다.
  • 상속은 개념 간 포함 관계를 통해 모델링되며, 자식 개념이 부모 개념으로부터 상속받는다.
  • 참조 해석은 실행 중 활성 개념 인스턴스를 추적하는 컨텍스트 스택을 통해 관리된다.
  • 이중 메서드가 도입되며, 하나는 참조 클래스용, 다른 하나는 객체 클래스용으로, 다형적 행동을 가능하게 한다.
  • 수명 주기 관리는 개념 인스턴스의 생성, 파기, 상태 전환을 제어하는 메서드를 통해 형식화된다.
  • 모델은 개념 내 객체 클래스의 동적 타입에 기반해 연산을 디스패치할 수 있도록 하여 다형성을 지원한다.

실험 결과

연구 질문

  • RQ1기존의 클래스 기반 모델을 초월해 새로운 추상화를 통해 객체 지향 프로그래밍을 어떻게 일반화할 수 있는가?
  • RQ2이중 클래스 모델에서 참조 해석과 동적 디스패치를 지원하기 위해 어떤 메커니즘이 필요한가?
  • RQ3타입 안정성을 유지하면서 개념 기반 모델에서 상속과 다형성을 어떻게 형식화할 수 있는가?
  • RQ4프로그램 실행 중 개념 인스턴스를 관리하는 데 컨텍스트 스택이 수행하는 역할은 무엇인가?
  • RQ5수명 주기 관리는 어떻게 개념 모델에 통합되어 자원 처리의 정확성을 보장할 수 있는가?

주요 결과

  • 개념 모델은 참조와 객체의 책임을 분리하는 이중 구조 추상화를 도입함으로써 클래스 기반 OOP를 성공적으로 일반화한다.
  • 개념 간 포함 관계는 단일 클래스 계층을 초월한 깔끔하고 형식화된 상속 방식을 가능하게 한다.
  • 컨텍스트 스택을 통한 참조 해석은 동적 디스패치를 가능하게 하며, 타입 안정적인 방식으로 다형적 행동을 지원한다.
  • 이중 메서드는 참조 수준과 객체 수준에서 행동을 정의하는 메커니즘을 제공하여 표현력과 제어력을 향상시킨다.
  • 수명 주기 관리는 모델에 효과적으로 통합되어 개념 인스턴스의 예측 가능한 초기화 및 정리가 가능해졌다.
  • 이 접근법은 새로운 프로그래밍 패러다임이 일관된 원칙, 규칙, 메커니즘을 갖추고 형식적으로 정의될 수 있음을 입증하며, 향후 언어 설계의 기초를 제공한다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.