Abstract
Component-Based Software Engineering (CBSE) is widely accepted as new paradigms for building applications with reusable assets. Mismatch problems occur while integrating the assets and make a burden in CBSE. Therefore, a larger-grained reuse unit than a component such as a framework is required, and it consists of relevant components, connectors and domain-specific architecture. The benefits of frameworks over components are commonly known, however, the key elements and internal structure of framework has not been clearly defined. We believe most of the framework models proposed in recent works remain at conceptual level. In this paper, we propose a practical-level framework reference model, and define key elements of frameworks. The research goal is to precisely identify concrete elements of a framework, inter-connection of components within a framework, extended notion of connectors, and tailored meaning of architecture In a framework. Hence, the proposed framework can be practically implemented in common object-oriented languages and with middleware such as lava, J2EE, CORBA Component Model (CCM) and NET.
컴포넌트 기반 소프트웨어 공학(CBSE)은 재사용 가능한 소프트웨어 부품을 이용하여 어플리케이션을 개발하는 새로운 패러다임이다. 그러나 소프트웨어 부품을 조림하는 과정에 부품들 간에 불일치 문제가 발생하여 CBSE를 수행함에 있어 부담이 되고 있다. 따라서, 컴포넌트의 재사용 단위보다는 큰 프레임웍(Framework)이 요구되고 있으며 프레임웍은 관련 있는 컴포넌트와 커넥터들 그리고 도메인에 특화된 아키텍처로 구성된다. 프레임웍은 컴포넌트보다 많은 장점을 가지고 있지만, 프레임웍을 구성하는 핵심 요소들과 내부 구조는 명확히 정의되지 않고 있다. 즉, 현재까지 제시된 대부분의 프레임웍 모델들은 실용적이지 못한 개념적인 수준에 머물러 있다. 본 논문에서는 실용적인 수준의 프레임웍 참조 모델을 제안하고 프레임웍의 핵심 요소들을 정의한다. 프레임웍의 구체적인 구성요소들, 컴포넌트와 프레임웍의 상호 관련성, 커넥터의 확장된 개념들, 그리고 프레임웍 내에서의 특화된 아키텍처의 의미에 대해서 명확히 식별한다. 본 논문에서 제안된 프레임웍은 Java, J2EE, CORBA Component Model (CCM) 그리고 NET과 같은 객체지향 기반 미들웨어에서 실용적으로 구현될 수 있을 것이다.