A Specification Technique for Product Line Core Assets using MDA / PIM

MDA / PIM을 이용한 제품계열 핵심자산의 명세 기법

  • Published : 2005.09.01

Abstract

A Product Line (PL) is a set of products (applications) that share common assets in a domain. Product Line Engineering (PLE) is a set of principles, techniques, mechanisms, and processes that enables the instantiation of produce lines. Core assets, the common assets, are created and instantiated to make products in PLE. Model Driven Architecture (MDA) is a new software development paradigm that emphasizes its feasibility with automatically developing product. Therefore, we can get advantages of both of the two paradigms, PLE and MDA, if core assets are represented as PIM in MDA with predefined automatic mechanism. PLE framework in the PIM level has to be interpreted by MDA tools. However, we do not have a standard UML profile for representing core assets. The research about representing PLE framework is not enough to make automatically core assets and products. We represent core asset in PIM level in terms of structural view and semantic view. We also suggest a method for representing architecture, component, workflow, algorithm, and decision model. The method of representing framework with PLE and MDA is used to improve productivity, applicability, maintainability and qualify of product.

제품계열(Product Line)은 핵심자산(Core Asset)을 서로 공유하는 제품들의 집합이며, 제품계열 공학(Product Line Engineering, PLE)은 제품계열을 특화(Instantiation) 할 수 있는 원리, 기술, 메커니즘과 프로세스들의 집합이다. PLE는 여러 유사한 제품들간에 공유할 수 있는 핵심자산을 만들고, 그 핵심자산을 특정 제품에 맞게 실체화 시켜서 제품을 만든다. 모델 기반 아키텍처(Model Driven Architecture, MDA)는 자동화 도구를 이용하여 모델로부터 구현으로 구체화하는 접근 방법이다. 그러므로, 핵심자산을 MDA의 플랫폼 독립적인 모델(PIM)로 정의하여 구현까지 자동화한다면, 두 개발 방법의 장점을 극대화 할 수 있다. 하지만, 핵심자산을 표현하는 UML 프로파일은 현재까지 없으며, PLE의 핵심자산 및 제품 조림의 자동화 생산을 위한 PIM 명세 기법의 연구가 부족하다. 본 논문에서는 PLE기술과 MDA 기술을 접목하기 위해 PIM 수준의 핵심자산 명세 기법을 제안한다. 핵심자산을 명세하기 위해 아키텍처 명세, 컴포넌트 명세, 워크플로우 명세, 알고리즘 명세, 결정 모델 명세 기법을 제안한다. 본 논문의 명세 기법은 PLE, MDA 기술을 사용하여 제품의 생산성, 적용성, 유지보수성 및 품질 향상을 지원한다.

Keywords

References

  1. Clements P, Northrop L, Software Product Lines, Addison Wesley, 2002
  2. OMG, MDA Guide Version 1.0.1, omg/2003-06-01, June 2003
  3. Muthig, D. and Atkinson, C., 'Model-Driven Product Line Architectures,' SPLC2 2002, Lecture Notes in Computer Science 2379, pp. 110-129, 2002 https://doi.org/10.1007/3-540-45652-X_8
  4. Fontoura, M., Pree, W., and Rumpe, B., 'UML-F: A Modeling Language for Object-Oriented Frame-works,' 14th European Conference on Object Oriented Programming (ECOOP 2000), Lecture Notes in Computer Science 1850, pp. 63-82, 2000
  5. Kleppe, A., Warmer, J. and Bast, W., MDA Explained, Addison-Wesley, 2003
  6. OMG, UML Profile for EDOC V1.0, http://www.omg.org/technology/ documents/formal/edoc.htm, 2004
  7. JCP, $UML^{TM}$ Profile For EJB_Draft, Java Community Process. 2001
  8. OMG, $UML^{TM}$ Profile for CORBA Specification V1.0, Nov. 2000
  9. OMG, $UML^{TM}$ Profile and Interchange Models for Enterprise Application Integration (EAI) Specification, 2002
  10. Clements, P., et al., Documenting Software Architectures Views and Beyond, 2003
  11. Joachim, B., et.al., 'PuLSE: A Methodology to Develop Software Product Lines,' The Symposium on Software Reusability'99, Los Angeles, May 1999 https://doi.org/10.1145/303008.303063
  12. Atkinson, C., Bayer, J., Bunse, C., Kamsties, E., Laitenberger, O., Laqua, R., Uthing, D., Paech, B., Wuest, J. and Zettel, J., Component-based Product Line Engineering with UML, Addison-Wesley, 2001
  13. Object Management Group, Model Driven Architecture (MDA), pp. 1-31, July 2001
  14. Rumbaugh, J., Jacobson, I, and Booch, G., The Unified Modeling Language Reference Manual Second Edition, Addison-Wesley, 2004
  15. Gomma, H., Designing Software Product Lines with UML from Use Cases to Pattern-based Software Architectures, Addison-Wesley, 2004
  16. Kim, S., Chang, S., 'A Systematic Method to Identify Component,' Proceedings of APSEC 2004, Nov., 2004
  17. Matinlassi, M., Niemela, E., and Dobrica, L., 'Quality-driven architecture design and quality analysis method : A revolutionalry initiation approach to a product line architecture,' VTT Technical Research Enctre of Finland, ESPOO2002, 2002
  18. Mellor, S. and Balcer, M., Executable UML: A Foundation for Model-Driven Architecture, Addison Wesley, 2002
  19. Kim, S., Min, H., and Rhew, S., 'Variability Design and Customization Mechanisms for COTS Components,' Proceedings of the International Conference on Computational Science and its Applications (ICCSA 2005), To Appear, May 2005 https://doi.org/10.1007/11424758_7
  20. Kim, S., Her, J., and Chang, S., 'A Formal View of Variability in Component-Based Development,' Journal of Information and Software Technology, To Appear, 2005