A Method for Instantiating Product Line Architecture using Formal Specifications

정형 명세를 이용한 제품계열 아키텍처의 인스턴스화 기법

  • 신숙경 (한국학술진흥재단 학술정보팀) ;
  • 허진선 (숭실대학교 컴퓨터학과) ;
  • 김수동 (숭실대학교 컴퓨터학과)
  • Published : 2006.12.15

Abstract

Product line engineering(PLE) is one of the recent and effective reuse approaches that enables developing a number of applications by instantiating a core asset. Elements of a core asset are product line architecture(PLA), component, and decision model. Among these elements, PLA is the key element since it defines the overall structure of the core asset. Although numerous PLE methodologies have been introduced, it is still unclear what should be the elements of a PLA and how to systematically instantiate it for specific applications. Formal specifications can play a key role in defining detailed and precise instantiation process. In this paper, we first present a meta model of PLA and show how to specify PLA in a formal language, Object-Z. Then, we propose instantiation rules using formal specification and those rules precisely define constraints for instantiating PLA. By applying the proposed formal specification, we believe PLA instantiation can be carried out precisely and correctly, yielding high quality software development.

제품계열 공학(Product Line Engineering, PLE)은 최근 각광받고 있는 효율적인 소프트웨어 재사용 접근 방법 중 하나로 핵심자산을 인스턴스화(Instantiate)하여 여러 어플리케이션을 개발한다. 핵심자산(Core Asset)의 구성요소로는 제품계열 아키텍처(Product Line Architecture, PLA), 컴포넌트, 의사결정모델(Decision Model)이 있다. 이런 요소 중, PLA는 핵심자산의 전체적인 구조를 정의하고 있어 가장 핵심적인 요소라 할 수 있다. 현재 많은 PLE 방법론들이 소개되어 있으나, PLA의 구체적인 구성요소와 어플리케이션을 만들기 위해 PLA를 인스턴스화하기 위한 체계적인 기법이 미비하다. PLA의 구성요소를 명확히 정의하고 인스턴스화 프로세스를 상세히 정의하기 위해 정형명세가 효과적으로 사용될 수 있다. 본 논문에서는 먼저 PLA의 메타모델을 제시하고 PLA를 정형명세 언어인 Object-Z로 명세하는 방법을 제시한다. 또한 정형명세를 이용한 인스턴스화 규칙을 제안하며, 이런 규칙은 PLA를 인스턴스화히기 위한 제약사항을 상세히 정의하고 있다. 제안된 정형명세를 적용함으로써, PLA의 인스턴스화는 상세하고 명확하게 수행될 수 있어 고품질의 소프트웨어를 생산할 수 있다.

Keywords

References

  1. Kang, K., Kim,S., Lee, J.. Kim, K., Shin, E. and 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
  2. Atkinson, C., et aI., Component-based Product Line Engineering with UML, Addison Wesley, 2001
  3. Clements, P., et aI., Software Product Lines, Addison-Wesley, 2002
  4. Bosch, J. Design and Use of Software Architectures, Addison-Wesley, 2000
  5. Smith, G., The Object- Z Specification Language, Kluwer Academic Publishers, 2000
  6. Smith, G., 'An Object-Oriented Approach to Formal Specification,' Doctoral Thesis, University of Queensland, 1992
  7. Shin, S. K., Lee, J. K., and Kim, S. D, 'Techniques to Transform Object-Oriented Design into Component-Based Design Formal Specifications Using Formal Specifications,' Journal of Korea Irformation Science Society(KlSS): Software and Applications, 31(7):883-900, 2004
  8. Bayer, J, et aI., 'PuLSE: A Methodology to Develop Software Product Lines,' Proceedings of the Symposium on Software Reusability (SSR'99), Los Angeles, 1999 https://doi.org/10.1145/303008.303063
  9. Deelstra, S., Sinnema, M., and Bosch, J., 'Product derivation in software product families: a case study,' The Journal of Systems and Software, Vol.74, No.2, p.l74-194, Jan. 2005 https://doi.org/10.1016/j.jss.2003.11.012
  10. Kim, S., Chang, S., and Chang, C., 'A Systematic Method to Instantiate Core Assets in Product Line Engineering,' Proceedings of APSEC 2004, pp.92-98, Nov. 2004 https://doi.org/10.1109/APSEC.2004.12
  11. Clements, P., et al., Documenting Software Architectures Views and Beyond, Addison Wesley, 2003
  12. Matinlassi, M., Niemela, E., and Dobrica, L., 'Quality-driven architecture design and quality analysis method,' VTT publication 456, VTT Technical Research Center of Finland, ESP002002, 2002
  13. Bass, L., Clements, P., and Kazman, R., Software Architecture in Practice, Addison-Wesley, 1998
  14. Thiel, S., and Hein, A., 'Systematic Integration of Variability into Product Line Architecture Design,' Lecture Notes In Computer Science 2379, Proceedings of SPLC2, Springer-Verlag Berlin Heidelberg, 2002
  15. Kim, S., Her, J., and Chang, S., 'A theoretical foundation of variability m component-based development,' Journal of Information and Software Technology, 2005, To Appear
  16. Geyer, L., and Becker, M., 'On the Influence of Variabilities on the Application-Engineering Process of a Product Family,' Lecture Notes in Computer Science 2379, Proceedings of the 2nd Software Product Line Conference, 2002