An Approach to Developing Domain Architecture Based on Variability Analysis in Software Product Line

소프트웨어 프로덕트 라인에서 가변성 분석을 통한 도메인 아키텍처 개발 방법

  • 문미경 (부산대학교 정보컴퓨터공학부) ;
  • 염근혁 (부산대학교 컴퓨터공학과)
  • Published : 2007.04.15

Abstract

When the decision to initiate a software product line has been taken, the first step is the domain analysis describing the variability in the requirements, the second important step is the definition of a domain architecture that captures the overall structure of a series of closely related products. A domain architecture can be a core asset in product line by describing the commonalities and variabilities of the products contained in the software product line. The variabilities, which are identified at each phase of the core assets development, are diverse in the level of abstraction. Therefore, it is important to clearly define, systematically identify, and explicitly represent variability at the architectural level. However, it is difficult to identify and represent the variability which should be considered at the architecture level, because these may be appeared in architecture elements and in architecture configuration. In this paper, we suggest a method of developing domain architecture as a core asset in product line where commonality and variability are explicitly considered. First of all, we will describe a domain architecture metamodel that can explicitly define commonality and variability concepts by extending the Object Management Group's ($OMG^{TM}$ Reusable Asset Specification eRAS) model. Using the domain architecture metamodel, architecture elements are defined and the variations that can be identified at the architecture level are classified into two types in according th abstract level. Additionally, we describe a domain architecture where commonality and variability are explicitly considered on basis of this metamodel.

소프트웨어 프로덕트 라인을 구축하고자 할 때,첫 단계 활동은 도메인 분석을 통해 요구사항 들에서 가변성을 식별하는 것이고, 다음 단계는 일련의 관련된 프로덕트들의 전체적인 구조를 나타내는 도 메인 아키텍처를 개발하는 것이다 도메인 아키텍처는 소프트웨어 프로덕트 라인에 포함되어 있는 프로덕트들의 공통성과 가변성을 기술함으로써 프로덕트 라인의 핵심자산이 된다. 핵심자산의 가변성은 개발 프로세스가 진행됨에 따라 식별될 수 있는 가변 요소의 종류와 상세화 수준이 달라지기 때문에 아키텍처 수준에서 식별될 수 있는 가변성을 정의하고 이를 체계적으로 식별하여 아키텍처 모델에 명시적으로 표현하는 것이 중요하다. 아키텍처 수준에서 고려해야 하는 가변성은 아키텍처 구성 요소들에서 발생하는 가변성 뿐만 아니라 이들의 구성(configuration) 관계를 나타내는 모텔에서 나타나는 가변성들까지 고려해야 하기 때문에, 이들 사이의 복잡한 관계를 이해하고 표현하는 것은 매우 힘든 일이며 이에 대한 기존 연구가 부족한 실정이다. 본 논문에서는 공통성과 가변성이 명시적으로 고려되는 프로덕트 라인의 핵심 자산으로서 도메인 아키텍처를 개발하는 방법을 제시한다. 이를 위해, 최근 Object Management Group(OMG)에서 채택한 재사용 자산 병세(Reusable Asset Specification; RAS) 모델을 확장하여 공통성과 가변성 개념이 명확히 정의된 도메인 아키텍처 메타모델을 제시한다. 제시되는 메타모델에는 아키텍처의 구성요소들이 정의되어 있으며, 각 구성요소와 모텔에서 식별 될 수 있는 가변성이 상세화 수준에 따라 두 가지 형태로 구분되어 제시되어 있다. 또한 본 메타모델을 기반으로 특정 도메인에 대한 아키텍처에 가변성이 명시적으로 표현되는 방법을 보인다.

Keywords

References

  1. D. Muthig, and C. Atkinson, 'Model-Driven Product Line Architecture,' In Proceedings of the Second Software Product Line Conference (SPLC2), San Diego, U.S.A., LNCS Vol.2379, pp.110-129, 2002
  2. The Object Management Group (OMG), Reusable Asset Specification (RAS) Version2.2, http://www.omg.org/technology/documents/formal/ras.htm, Nov. 2005
  3. Rational, UML Semantics version1.1, http://www.rational.com/uml, 1997
  4. H. Gomaa, D. Webber, 'Modeling Adaptive and Evolvable Software Product Lines Using theVariation Point Model,' Proceedings of the 37th Annual Hawaii International Conference on System Sciences (HICSS'04), 2004 https://doi.org/10.1109/HICSS.2004.1265638
  5. M. Moon, K. Yeom, and H.S. Chae, 'An Approach to Developing Domain Requirements as a Core Asset Based on Commonality and Variability in a Product Line,' IEEE Transactions on Software Engineering, vol. 31, no. 7, pp.551-569, Jul. 2005 https://doi.org/10.1109/TSE.2005.76
  6. M. Matinlassi, 'Comparison of Software Product Line Architecture Design Methods: COPA, FAST, FORM, KobrA and QADA,' Proceedings of the 26th International Conference on Software Engineering(ICSE'04), 2004
  7. P. America, H. Obbink, J. Muller, and R. van Ommering, 'COPA: A Component-Oriented Platform Architecting Method for Families of Software Intensive Electronic Products,' Denver, Colorado: the First Conference on software Product Line Engineering, 2000
  8. D. Weiss, C. Lai, and R. Tau, Software productline engineering: a family based software development process, Addison-Wesley, Reading, MA, 1999
  9. K. Kang, S. Kim, J. Lee, and K. Kim, 'FORM: A Feature-Oriented Reuse Method with Domain Specific Reference Architectures,' Pohang University of Science and Technology(POSTECH), 1998 https://doi.org/10.1023/A:1018980625587
  10. C. Atkinson et al., Component-based product line engineering with UML. Addison-Wesley, London, New York, 2002
  11. M. Matinlassi, E. Niemela and L. Dobrica, 'Quality-driven architecture design and quality analysis method, A revolutionary initiation approach to a product line architecture,' VTT Technical Research Centre of Finland, Espoo, 2002
  12. K. Kang, S. Cohen, J. Hess, W. Novak, and S. Peterson, 'Feature-Oriented Domain Analysis (FODA) Feasibility Study,' Technical Report CMU/SEI-90-TR-21, Software Engineering Institute, Carnegie Mellon University, November 1990
  13. H. Gomma and M. E.Shin, 'A Multi-View Meta-modeling Approach for Variability Management in Software Product Lines,' In Proceeding's of 8th International Conference (ICSR8), Madrid, Spain, LNCS Vol.3107, pp.274-285, 2004
  14. P. America, D. Hammer, M.T. Ionita, H. Obbink, and E. Rommes, 'Scenario-Based Decision Making for Architectural Variability in Product Families,' In Proceedings of the Second Software Product Line Conference (SPLC4), LNCS Vol.3154, pp.284-303, 2004
  15. M. Sinnema, S. Deelstra, J. Nijhuis, and J. Bosch, 'COVAMOF: A Framework for Modeling Variability in Software Product Families,' In Proceedings of the Second Software Product Line Conference(SPLC4), LNCS Vol.3154, pp.197-213, 2004
  16. Keepence, B., and Mannion, M., '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
  17. ClauB, M., 'Generic Modeling using UML extensions for variability,' OOPSLA 2001, Workshop on Domain Specific Visual Languages, 2001
  18. Webber, D., and Gomma, H., 'Modeling Variability with the Variation Point Model,' In Proceedings of the Seventh International Conference on Software Reuse, pp.109-122, 2002 https://doi.org/10.1007/3-540-46020-9_8
  19. K. Pohl., G. Bockle, and F. van der Linden, Software Product Line Engineering: Foundations, Principles, and Techniques, Springer, 2005