An Identification and Specification Method of Crosscutting Concerns based on Goal-Scenario Modeling for Aspect-Oriented Software Development

Aspect-Oriented 소프트웨어 개발을 위한 목표-시나리오 모델링 기반의 횡단관심사 식별 및 명세화 방법

  • Published : 2008.07.15

Abstract

Identifying crosscutting concerns during requirements engineering phase is one of the most essential parts in Aspect-Oriented Software Development. Considering crosscutting concerns in the earlier phase of the development improves consistency among requirements so that it can help maintain software systems efficiently and effectively. It also provides a systematic way to manage requirements changes by supporting traceability throughout the software lifecycle. Thus, identifying tangled and scattered concerns, and encapsulating them into separate entities must be addressed from the early phase of the development. To do so, first, functional and non-functional concerns must be clearly separated. Second, a pointcut where a main concern meets crosscutting concerns should be defined and specified precisely. Third, it is required to detect conflicts being occurred during composition of crosscutting concerns from the earlier phase. Therefore, this paper proposes a systematic approach to identifying and specifying crosscutting concerns using goal-scenario based requirements analysis. And we demonstrate the applicability of the approach by applying it into the intelligent service robot system.

관점지향 소프트웨어 개발방법론(Aspect-Oriented Software Development)에서 가장 중요한 고려사항중 하나는 요구사항 분석단계에서 횡단관심사(Crosscutting Concerns)를 식별하는 것이다. 이는 개발 초기단계에 횡단관심사를 식별함으로써 요구사항의 일관성(consistency)을 증진시켜 시스템의 유지보수를 쉽게 하고, 개발단계의 산출물들 사이의 추적성(traceability)을 제공하여 체계적인 변경관리를 지원할 수 있기 때문이다. 따라서 소프트웨어 개발 초기단계에 횡단관심사를 식별하고, 이를 독립적인 모듈로 구현하는 것을 지원하기 위해서는 다음과 같은 사항들을 고려해야 한다. 첫째, 복잡하게 분산되고 엉킨 요구사항의 관심사를 분리되어야 한다. 둘째, 횡단관심사가 시스템을 횡단하는 시점이 식별되어야 한다. 셋째, 횡단관심사를 구현한 모듈과 이것이 횡단하는 다른 모듈들 사이에 발생할 수 있는 요구사항 충돌을 통합 이전단계에 관리할 수 있는 방법이 지원되어야 한다. 이를 위해 본 논문에서는 목표와 시나리오 기반의 요구사항 분석 방법을 기반으로 횡단관심사를 식별하는 방법을 제안한다. 그리고 제안된 방법을 지능형 로봇 소프트웨어 개발 사례에 적용하여 그 유용성을 검증한다.

Keywords

References

  1. J. Whittle, J. Araujo, "Scenario Modeling with Aspects," IEEE Software, Vol. 151, Issue 4, pp. 157-171. 2004 https://doi.org/10.1049/ip-sen:20040921
  2. A. Rashid, "Website: Early Aspects: Aspect- Oriented Requirements Engineering and Architecture Design," URL: Early Aspects: Aspect-Oriented Requirements Engineering and Architecture Design, 2005
  3. Y. Yu, J. C. S. P. Leite, J. Mylopoulos, "From Goals to Aspects: Discovering Aspects from Requirements Goal Models," Proceedings of Requirements Engineering Conference, Kyoto, Japan, pp. 38-47, 2004
  4. I. Jacobson, "Use Cases and Aspects-Working Seamlessly Together," Journal of Object Technology, Vol. 2, pp. 7-28, 2003
  5. M. Kim, S. Park, V. Sugumaran, H. Yang, "Managing Requirements Conflicts in Software Product Lines: A Goal and Scenario Based Approach", Data and Knowledge Engineering Journal, Vol. 61, Issue 3, pp. 417-432, 2007 https://doi.org/10.1016/j.datak.2006.06.009
  6. K. Lee, K.C. Kang, M. Kim, S. Park, "Combining feature-oriented analysis and aspect-oriented programming for product line asset development," Proceedings of the 10th International Software Product Line Conference (SPLC '06), Baltimore, MD, pp. 103-112, 2006
  7. R. France, D. Kim, S. Ghosh, E. Song, "A UML- Based Pattern Specification Technique," IEEE Transactions on Software Engineering, Vol. 30, pp. 193- 206, 2004 https://doi.org/10.1109/TSE.2004.1271174
  8. M. Kim, S. Kim, S. Park, M. Choi, M. Kim, H. Gomaa, "UML-Based Service Robot Software Development: A Case Study," International Conference on Software Engineering, pp. 534-543. 2006