A Dnlamic Variability Design Technique of Embedded Software for Improving Reusability

재사용성 향상을 위한 임베디드 소프트웨어의 동적 가변성 설계 기법

  • 김철진 (삼성전자 디지털 미디어 총괄) ;
  • 조은숙 (서일대학 소프트웨어과)
  • Published : 2009.01.15

Abstract

Devices of home network system have different control data formats according to each product company. Therefore, types or protocols of digital devices are various. Also, interaction operating environments are different among various devices. These characteristics of home network system don't support sufficiently functionalities such as data comparability, concurrent control, dynamic plug-in, and so on. That is, the degree of reusability of home network system is very poor. This paper proposes a framework which can be coverable to the scope of reusability widely and a design technique based on framework in order to improve reusability. That is, we extract various parts of home network systems as variation points, classify and define these as variation types, propose a framework which can be reusable those, and proposes a design technique of variability to improve reusability. Finally, proposed technique can be reusable to various domains by applying proposed reusability framework into real home network system's design.

홈 네트워크 시스템에서는 가전 기기들이 각기 제조된 회사에 따라 서로 다른 제어 데이타 포맷을 가지고 있으며, 디지털 기기(디바이스)의 유형과 프로토콜이 다양하다. 또한 다양한 디바이스들 간의 상호 운영 환경이 상이하다. 홈 네트워크 시스템이 이와 같은 특성들로 인해 데이타 호환성나 동시 제어, 동적 플러그-인과 같은 기능들이 미약하게 지원되고 있다. 이로 인해 홈 네트워크 시스템의 재사용성은 매우 빈약한 상태이다. 본 논문에서는 홈 네트워크 시스템의 재사용성을 향상시키기 위해 가변성의 범위를 폭넓게 다룰 수 있는 재사용 프레임워크와 이를 기반으로 한 가변성 설계 기법을 제시한다. 즉, 홈 네트워크 시스템의 다양한 부분들을 가변부로 추출하여 이를 가변성 유형으로 분류 정의하고 이를 재사용 할 수 있는 프레임워크를 제안하며, 이러한 프레임워크를 기반으로 재사용성을 향상시키기 하기 위한 가변성 설계 기법을 제안한다. 재사용 프레임워크를 실제 홈네트워크 시스템 설계에 적용함으로써 다양한 도메인에 재사용될 수 있음을 증명한다.

Keywords

References

  1. Selic B., Gullekson G., and Ward P.T., Real-Time Object-Oriented Modeling, John Wiley&Sons, 1999
  2. Comma H., 'A Software Design Method for Real- Time Systems,' Communications of ACM, Vol.27, No.7, pp. 938-949, Sept. 1984 https://doi.org/10.1145/358234.358262
  3. David E. S., An Embedded Software Primer, Addison Wesely, 1999
  4. Raj K., Embedded Systems: Architecture, Programming and Design, McGraw Hill, 2004
  5. Ready J. and Howard D., 'Structuring Real-Time Application Software Part1,' VMEbus Systems, pp. 33-45, April, 1991
  6. Axel J., Modeling Embedded System and SOCs, Mogan Kaufmann, 2004
  7. Jose C., 'Next-Generation Object-Oriented Software Analysis and Design Methodology,' at URL: http://www.hpl.hp.com/fusion/ma_961007.html, 1996
  8. Szyperski C., Component Software: Beyond Object- Oriented Programming, Addison-Wesley, 2002
  9. Kang K., 'Issues in Component-Based Software Engineering,' International Workshop on Component- Based Software Engineering 1999
  10. Hopkins J., 'Component Primer,' Communication of the ACM Vol.43, No.10, October 2000 https://doi.org/10.1145/352183.352198
  11. Short K., Component Based Development and Object Modeling, Sterling Software, Technical Handbook Version 1.0, February 1997
  12. Coplien J., Hoffman D., and Weiss D., 'Commonality and Variability in Software Engineering,' IEEE Software, pp. 37-45, November 1998 https://doi.org/10.1109/52.730836
  13. Weiss D. M., 'Commonality Analysis: A Systematic Process for Defining Families,' Second International Workshop on Development and Evolution of Software Architectures for Product Families, February 1998
  14. Kang, K. C., Cohen, S. G., Novak, W. E. and Peterson, A. S., 'Feature-oriented Domain Analysis(FODA) Feasibility Study,' Technical Report CMU/SEI-90-TR-21, Software Engineering Institute (SEI), November 1990
  15. Gamma E., et al., Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995
  16. Pree, W., Design Patterns for Object-Oriented Software Development. Addison-Wesley, 1995
  17. I. Sora, P. Verbaeten, and Y. Berbers, 'Using Component Composition for Self-Customizable Systems,' Workshop on Component-Based Software Engineering, ECBS 2002, April 8-11, 2002, Lund, Sweden
  18. R. P. e Silva, et al., 'Component Interface Pattern,' Procs. Pattern Languages of Program, 1999
  19. Anastasopoulos M. and Gacek C., Implementing Product Line Variabilties, Technical Report IESE Report No. 089.00/E, Version 1.0, Fraunhofer Institute for Experimental Software Engineering (IESE), November 2000
  20. Bachmann F., Bass Len, http://www.sei.cmu.edu/plp/variability.pdf, 'Managing Variability in Software Architecture,' Software Engineering Institute (SEI), 2001
  21. Diana L. and Gomaa H., 'Modeling variability in software product lines with the variation point model,' Science of Computer Programming 53, 2004
  22. Java Developer Network, http://java.sun.com