DOI QR코드

DOI QR Code

A MDA-based Approach to Developing UI Architecture for Mobile Telephony Software

MDA기반 이동 단말 시스템 소프트웨어 개발 기법

  • 이준상 (LG전자 디지털 미디어 연구소) ;
  • 채흥석 (부산대학교 공과대학 컴퓨터공학과)
  • Published : 2006.06.01

Abstract

Product-line engineering is a dreaming goal in software engineering research. Unfortunately, the current underlying technologies do not seem to be still not much matured enough to make it viable in the industry. Based on our experiences in working on mobile telephony systems over 3 years, now we are in the course of developing an approach to product-line engineering for mobile telephony system software. In this paper, the experiences are shared together with our research motivation and idea. Consequently, we propose an approach to building and maintaining telephony application logics from the perspective of scenes. As a Domain-Specific Language(DSL), Menu Navigation Viewpoint(MNV) DSL is designed to deal with the problem domain of telephony applications. The functional requirements on how a set of telephony application logics are configured can be so various depending on manufacturer, product concept, service carrier, and so on. However, there is a commonality that all of the currently used telephony application logics can be generally described from the point of user's view, with a set of functional features that can be combinatorially synthesized from typical telephony services(i.e. voice/video telephony, CBS/SMS/MMS, address book, data connection, camera/multimedia, web browsing, etc.), and their possible connectivity. MNV DSL description acts as a backbone software architecture based on which the other types of telephony application logics are placed and aligned to work together globally.

현대의 소프트웨어공학 관련 연구 중에서, 산업계가 궁극적으로 추구하는 수준의 생산성을 제공할 수 있는 기술은 아마도 프로덕트라인 공학이 될 것이다. 지금까지의 소프트웨어공학 기술로는 소프트웨어 개발 분야에 프로덕트라인 기법을 실질적이고 실용적으로 적용하기에는 아직 충분히 성숙하지 못한 것이 사실이다. 본 논문에서는 저자가 산업체에서 접한 과거 3년 동안의 PDA 스마트폰 개발 경험을 바탕으로 실용적 수준의 프로덕트라인 기법을 Model-Driven Architecture(MDA) 접근 방법을 통해 제안한다. 이동 단말 시스템의 경우 단말기 제조사, 목적 사용자 층, 이동 단말 사업자 등에 따라 다양한 형태의 소프트웨어가 존재한다. 특히, 최근에는 단말기 사용자가 직접 느낄 수 있는 지원 기능 구성 및 인터페이스 형식은 매우 다양한 형태가 존재하며, 같은 제조사에 시리즈 제품으로 개발하더라도 이 부분에 대한 변이성이 매우 큰 특징이 있다. 하지만, 전형적인 폰 관련 기능 모듈 즉, 음성호 및 화상전화 기능, 메시지, 주소록, 데이터통신, 카메라 및 멀티미디어 기능, 웹 브라우징 과 같은 큰 기능 묶음에 대한 피처(Feature)들은 자체의 다양한 기능적 요구사항과 함께 피처 간 상호 연관성을 크고 다양한 형태로 구성될 수 있는 특성이 있다. 본 논문에서는 이동 단말기에서 구현해야 하는 다양한 형태의 사용자 소프트웨어의 요구사항에 대해 사용 시나리오 상에서 구분 가능하고 의미 있는 장면의 연속 관계로 정의하여 추후 설계, 구현, 시험 단계에서도 소프트웨어 아키텍쳐 역할을 할 수 있는 개발 기법을 제안한다. 따라서, 요구분석 단계에서도 사용자 인터페이스 관점에서 전반적인 소프트웨어 아키텍쳐에 대해 검증할 수 있게 될 뿐만 아니라 소프트웨어 개발 주기 전 과정에서 그 구조를 사용자 인터페이스 관점에서 유지, 관리 할 수 있는 핵심적인 방법을 제공한다.

Keywords

References

  1. Frederick P. and Brooks Jr., 'No silver bullet: Essence and accidents of software engineering,' IEEE Computer, pp.10-19, April, 1987 https://doi.org/10.1109/MC.1987.1663532
  2. Helm G, Holland I, and Gangopadhyay D, 'Contracts: Specifying behvioral compositions in object-oriented system,' ACM SIGPLAN Notices, Vol.25, No.10, pp.303-311, 1990 https://doi.org/10.1145/97946.97967
  3. VanHilst M and Nokin D, 'Using role components to implement collaboration-based designs,' Proceedings of the ACM Conference on Object-Oriented Systems, Languages, and Applications, California, pp.359-369, 1996 https://doi.org/10.1145/236337.236375
  4. Kristensen BB., 'Roles: Conceptual abstraction theory and practical language issues', Theory and Practice of Object Systems(special issue on subjectivity in object-oriented systems), Vol.2, No.3, pp.143-160, 1996 https://doi.org/10.1002/(SICI)1096-9942(1996)2:3<143::AID-TAPO2>3.0.CO;2-X
  5. Joon-Sang Lee and Doo-Hwan Bae, 'An enhanced role model for alleviating the role-binding anomaly,' Software: Practice and Experience, Vol.32, No.14, pp.1317-1344, Nov. 2002 https://doi.org/10.1002/spe.483
  6. Lieberherr KJ, 'Adaptive Object-Oriented Software Evolution: The Demeter Method with Propagation Patterns,' PWS Publishing Company, Boston, MA, 1996
  7. Harrison W and Ossher H, 'Subject-Oriented Programming(a critique of pure objects,' ACM SIGPLAN Notices, Vol.28, No.10, pp.411-428, 1993 https://doi.org/10.1145/165854.165932
  8. Smaragdakis Y and Dabory D, 'Implementing layered designs with mixin layers,' Proceedings of the European Conference for Object-Oriented Programming, Lecture Notes in Computer Science 1445, July, 1998
  9. D. Batory and B. J. Geraci, 'Composition Validation and Subjectivity in GenVoca Generators,' IEEE Transactions on Software Engineering(special issue on Software Reuse), Vol.23, No.2, pp.67-82, Feb., 1997 https://doi.org/10.1109/32.585497
  10. Kiczale G and et al., 'Aspect-oriented programming: Proceedings of the European Conference for Object-Oriented Programming,' Finland, Lecture Notes in Computer Science 1241, Springer, pp.220-243, 1997
  11. D.E. Perry and A.L. Wolf, 'Foundations for the study of software architecture,' ACM SIGSOFT Software Engineering Notes Oct, pp.40-52, 1992 https://doi.org/10.1145/141874.141884
  12. M. Shaw and D. Garlan, 'Software architecture: Perspectives on an emerging discipline,' Prentice Hall, 1996
  13. R. N. Tayler and et al., 'A component- and message-based architectural style for GUI software,' IEEE Transactions on Software Engineering, Vol.22, No.6, pp.390-406, June, 1996 https://doi.org/10.1109/32.508313
  14. F. DeRemer and H.B. Kron, 'Programming-in-the-Large versus Programming-in-the-Small,' IEEE Transactions Software Engineering, Vol.2 No.2, pp.80-86, June 1976 https://doi.org/10.1109/TSE.1976.233534
  15. Object Management Group : MDA Guide V1.0.1. http://www.omg.org., 12th June, 2003
  16. D. Batory and J.N. Sarvela, A. Rauschmayer, 'Scaling Step-Wise Refinement,' IEEE Transactions on Software Engineering, Vol.30, No.6, pp.355-370, June, 2004 https://doi.org/10.1109/TSE.2004.23
  17. J. Liu, D and Batory, S., 'Nedunuri : Modeling Interactions in Feature Oriented Designs,' International Conference on Feature Interactions(ICFI), June, 2005
  18. R. van Ommering, 'Building Product Populations with Software Components,' Proceedings of the Twenty-fourth International Conference on Software Engineering, pp.255-265, 2002