Data Type-Tolerant Component Model: A Method to Process Variability of Externalized Data

데이터 타입 무결성 컴포넌트 모델 : 외부화된 데이터 가변성 처리 기법

  • Published : 2009.05.15

Abstract

Business entities with which most service components interact are kind of cross-cutting concerns in a multi-layered distributed application architecture. When business entities are modified, service components related to them should also be modified, even though they implement common functions of the application framework. This paper proposes what we call DTT (Data Type-Tolerant) component model to process the variability of business entities, or externalized data, which feature modern application architectures. The DTT component model expresses the data variability of product lines at the implementation level by means of SCDTs (Self-Contained Data Types) and variation point interfaces. The model improves the efficiency of application engineering through data type converters which support type conversion between SCDTs and business entities of particular applications. The value of this model lies in that data and functions are coupled locally in each component again by allowing service components to deal with SCDTs only instead of externalized business eutities.

다계층 구조로 설계된 현대의 분산 애플리케이션 아키텍처에서 비즈니스 엔티티는 모든 서비스 로직 컴포넌트들을 관통하는 일종의 횡단관심사(Crosscutting Concerns)이다. 그러므로 비즈니스 엔티티가 변화하면 이와 관련된 서비스 컴포넌트들은 비록 애플리케이션 프레임워크의 공통적인 기능을 구현한 서비스 로직 컴포넌트라 할지라도 새로운 비즈니스 엔티티를 다를 수 있도록 수정되어야 한다. 본 논문에서는 비즈니스 엔티티, 즉 외부화(externalized)된 데이터에 대한 가변성(variability)을 처리하는 DTT 컴포넌트 모델(Data Type-Tolerant Component Model)을 제시한다. DTT 컴포넌트 모델은 SCDT(Self-Contained Data Type)와 가변점(Variation Point) 인터페이스를 통해 프로덕트 라인의 데이터 가변성을 구현 수준에서 구체적으로 표현하고, 서비스 컴포넌트 코드 수정대신 비즈니스 엔티티와 SCDT간 타입 변환을 지원하는 데이터 타입 컨버터를 도입함으로써 애플리케이션 엔지니어링 효율을 향상시킨다. 서비스 컴포넌트가 외부화된 비즈니스 엔티티를 직접 다루지 않고 SCDT 만을 다루게 함으로써 데이터와 함수의 커플링을 다시 컴포넌트 수준에서 로컬화했다는 점이 DTT 컴포넌트 모델의 의의라 할 수 있다.

Keywords

References

  1. Atkinson, C., et al., 'Component-Based Product Line Engineering with UML,' Addison Wesley, 2002
  2. Hassan Gomaa and Diana L Webber, 'Modeling adaptive and evolvable software product lines using the variation point model,' Proceedings of the 37th Annual Hawaii International Conference on System Sciences, p. 10, 2004 https://doi.org/10.1109/HICSS.2004.1265638
  3. 문미경, 염근혁, '소프트웨어 프로덕트 라인에서 가변성 분석을 통한 도메인 아키텍처 개발 방법', 정보과학회논문지 : 소프트웨어 및 응용 제34권 제4호, 2007. 4
  4. 허진선, 김수동, '컴포넌트 프레임웍의 실용적 참조 모델', 정보과학회논문지 : 소프트웨어 및 응용 제33권 제6호, 2006. 6
  5. John Cheesman and John Daniels, 'UML Components: A Simple Process for Specifying Component-Based Software,' Addison Wesley, 2001
  6. 'Patterns & Practices, Application Architecture for .NET: Designing Applications and Services,' Microsoft Corporation, 2002
  7. 김명호, '마이크로소프트 컴포넌트 기술의 발전과 동향', 정보과학회지: 제24권 제11호, 2006. 12
  8. Joseph W. Yoder, Ralph E. Johnson, 'The Adaptive Object-Model Architectural Style,' Proceedings of the IFIP 17th World Computer Congress - TC2 Stream / 3rd IEEE/IFIP Conference on Software Architecture: System Design, Development and Maintenance, pp. 3-27, August 2002
  9. H. Gomaa, D. Webber, 'Modeling Adaptive and Evolvable Software Product Lines Using the Variation Point Model,' In Proceedings of the 37th Annual Hawaii International Conference on System Sciences, HICSS`04, pp. 1-10, IEEE Computer Society Press, January 2004 https://doi.org/10.1109/HICSS.2004.1265638
  10. Barry Keepence and Mike Mannion, 'Using patterns to model variability in product families,' IEEE Software, Vol.16, Issue: 4, pp. 102-108, 1999 https://doi.org/10.1109/52.776957
  11. Matthias Clauß, 'Generic Modeling using UML extensions for variability,' OOPSLA 2001, Workshop on Domain Specific Visual Languages, 2001
  12. Alan C. Wills, 'Components and Connectors: Catalysis Techniques for Designing Component Infrastructures,' In Component-Based Software Engineering: Putting the Pieces together, pp. 307-320. Addison Wesley, 2001
  13. Yoonsun Lim, Myung Kim, Seungnam Jeong and Anmo Jeong, 'A Reuse-Based Software Development Method,' Proceedings of International Conference on Convergence and Hybrid Information Technology, Daejeon, Korea, August 2008 https://doi.org/10.1109/ICHIT.2008.190