특성 지향의 제품계열분석 모델의 정형적 정의와 일관성 분석

Formal Definition and Consistency Analysis of Feature-Oriented Product Line Analysis Model

  • 이관우 (한성대학교 정보시스템공학과)
  • 발행 : 2005.02.01

초록

제품계열분석(product line analysis)은 제품계열자산(product line asset)을 개발하기에 앞서, 제품계열 내에 속한 제품들의 다양한 요구사항과 이들 간의 관계 및 제약사항을 분석하는 활동을 말한다. 지금까지 특성모델링(feature modeling)이라 불리는 특성 지향의 공통성과 가변성 분석은 제품계열분석의 핵심적인 부분으로 간주되어 왔다. 비록 공통성과 가변성 분석이 제품계열분석의 핵심적인 요소이지만, 이것만으로는 재사용가능하고 적응성이 뛰어난 제품계열자산(예, 아키텍처와 컴포넌트) 개발에 한계가 있다. 특성간의 의존성 및 특성결합시간도 제품계열자산 개발에 중대한 영향을 미치는 요소이다. 따라서 본 논문에서는 기존에 공통성과 가변성 관점에서 제품계열을 분석한 결과인 특성모델(feature model)을 세 가지의 특성 측면(즉, 제품특성의 공통성과 가변성, 특성간의 의존성, 그리고 특성결합시간)으로 확장한 특성지향의 제품계열분석 모델을 제안한다. 특히, 세 가지 측면의 일관성을 검증하기 위해서, 특성 지향의 제품계열분석 모델을 정형적으로 정의하고, 모델의 일관성을 검사하는 규칙을 제공한다.

Product line analysis is an activity for analyzing requirements, their relationships, and constraints in a product line before engineering product line assets (e.g., architectures and components). A feature-oriented commonality and variability analysis (called feature modeling) has been considered an essential part of product line analysis. Commonality and variability analysis, although critical, is not sufficient to develop reusable and adaptable product line assets. Dependencies among features and feature binding time also have significant influences on the design of product line assets. In this paper. we propose a feature-oriented product line analysis model that extends the existing feature model in terms of three aspects (i.e., feature commonality and variability, feature dependency, and feature binding time). To validate the consistency among the three aspects we formally define the feature-oriented product line analysis model and provide rules for checking consistency.

키워드

참고문헌

  1. Clements, P. and Northrop, L., 'Software Product Lines: Practices and Patterns,' Addison-Wesley, Upper Saddle River, NJ, 2002
  2. Czarnecki, K. and Eisenecker, U., 'Generative Programming: Methods, Tools, and Applications,' Addison-Wesley, New York, 2000
  3. Griss, M., Favaro, J., d'Alessandro, M., 'Integrating Feature Modeling with the RSEB,' In Proceedings of Fifth International Conference on Software Reuse, pp. 76-85, 1998 https://doi.org/10.1109/ICSR.1998.685732
  4. Kang, K. C., Kim, S., Lee, J., Shin, E., Huh, M., 'FORM: A Feature-Oriented Reuse Method with Domain Specific Reference Architectures,' Annals of Software Engineering, Vol. 5, pp. 143-168, 1998 https://doi.org/10.1023/A:1018980625587
  5. Kang, K. C., Cohen, S., Hess, J., Nowak, W., Peterson, S., 'Feature-Oriented Domain Analysis (FODA) Feasibility Study,' Technical Report CMU/ SEI-90-TR-21, Pittsburgh, PA, Software Engineering Institute, Carnegie Mellon University, November 1990
  6. Lee, K., Kang, K. C., Lee, J., 'Concepts and Guidelines of Feature Modeling for Product Line Software Engineering,' C. Gacek (ed.), Software Reuse: Methods, Techniques, and Tools, Berlin, Springer-Verlag, pp. 62-77, 2002 https://doi.org/10.1007/3-540-46020-9_5
  7. Ferber, S., Haag, J., Savolainen, J., 'Feature Interaction and Dependencies: Modeling Features for Reengineering a Legacy Product Line,' G. Chastek (ed.), Software Product lines, Springer-Verlag, Berlin, pp. 235-256, 2002 https://doi.org/10.1007/3-540-45652-X_15
  8. Fey, D., Fajta, R., Boros, A., 'Feature Modeling: A Meta-model to Enhance Usability and Usefulness,' G. Chastek (ed.), Software Product lines, Springer-Verlag, Berlin, pp, 198-216, 2002 https://doi.org/10.1007/3-540-45652-X_13
  9. Lee, K. and Kang, K. C., 'Feature Dependency Analysis for Product Line Component Design,' J. Bosch, C. Krueger (eds.), Software Reuse: Methods, Techniques, and Tools, Berlin, Springer-Verlag, pp. 69-85, 2004
  10. Lee, J. and Kang, K. C., 'Feature Binding Issues In Variability Analysis for Product Line Engineering,' Workshop on 'Modeling Variability for Object-Oriented Product Lines' at ECOOP 2003, Darmstadt, Germany, July 21, pp. 77-82, 2003
  11. Heimdahi, M. P. E., Leveson, N. G., 'Completeness and Consistency Analysis of State-Based Requirements,' In Proceedings of the 17th International Conference on Software Engineering, pp. 3-14, 1995
  12. Heitmeyer, C. L., Jeffords, R. D., Labaw, B. G., 'Automated Consistency Checking of Requirements Specifications,' ACM Transactions on Software Engineering and Methodology, Vol. 5, No. 3, pp. 231-261, July 1996 https://doi.org/10.1145/234426.234431
  13. Chechik, M., Gannon, J., 'Verification of Consistency Between Concurrent Program Designs and Their Requirements,' In Proceedings of COMPASS'96, June. 1996 https://doi.org/10.1109/CMPASS.1996.507879
  14. Allen, R. J., 'A Formal Approach to Software Architecture,' Ph.D. thesis, Carnegie Mellon University, Pittsburgh, PA, 1997
  15. Mannion, M., 'Using First-Order Logic for Product Line Model Validation,' LNCS2379, pp. 176-187, 2002