ABSTRACT
Traditional methods characterize a software product line's requirements using either functional or quality criteria. This appears to be inadequate to assess modularity, detect interferences, and analyze trade-offs. We take advantage of both symmetric and asymmetric views of aspects, and perform formal concept analysis to examine the functional and quality requirements of an evolving product line. The resulting concept lattice provides a rich notion which allows remarkable insights into the modularity and interactions of requirements. We formulate a number of problems that aspect-oriented product line requirements engineering should address, and present our solutions according to the concept lattice. We describe a case study applying our approach to analyze a mobile game product line's requirements, and review lessons learned.
- V. Alves, C. Schwanninger, L. Barbosa, A. Rashid, P. Sawyer, P. Rayson, C. Pohl, and A. Rummler. An exploratory study of information retrieval techniques in domain analysis. In Int'l SPL Conf, pages 67--76, Limerick, Ireland, September 2008. Google ScholarDigital Library
- J. Baldwin and Y. Coady. Are patches cutting it? structuring distribution within a JVM using aspects. In IBM CAS Conf, pages 29--39, Toronto, Canada, 2005. Google ScholarDigital Library
- E. Baniassad, P. C. Clements, J. Araújo, A. Moreira, A. Rashid, and B. TekinerdoØgan. Discovering early aspects. IEEE Software, 23(1):61--70, January/February 2006. Google ScholarDigital Library
- T. Bardo, D. Elliott, T. Krysak, M. Morgan, R. Shuey, and W. Tracz. Core: A product line success story. http://www.stsc.hill.af.mil/crosstalk/1996/03/Core.asp.Google Scholar
- L. Bass, P. Clements, and R. Kazman. Software Architecture in Practice. Addison-Wesley, 2003. Google ScholarDigital Library
- P. Becker and J. Correia. The ToscanaJ suite for implementing conceptual information systems. LNCS, 3626:324--348, 2005. Google ScholarDigital Library
- G. Birkhoff. Lattice Theory. Providence, RI.: Am. Math. Soc., 1940.Google Scholar
- J. D. Blaine and J. Huang. Software quality requirements: how to balance competing priorities. IEEE Software, 25(2):22--24, March/April 2008. Google ScholarDigital Library
- J. Bosch. Design and Use of Software Architectures: Adopting and Evolving a Product-Line Approach. Addison-Wesley, 2000. Google ScholarDigital Library
- D. Callele, E. Neufeld, and K. Schneider. Emotional requirements in video games. In Int'l Reqs Eng Conf, pages 299--302, Minneapolis, USA, September 2006. Google ScholarDigital Library
- R. Chitchyan, A. Rashid, P. Rayson, and R. Waters. Semantics-based composition for aspect-oriented requirements engineering. In Int'l Conf on AOSD, pages 36--48, Vancouver, Canada, March 2007. Google ScholarDigital Library
- H. Cho, L. Kwanwoo, and K. C. Kang. Feature relation and dependency management: an aspect-oriented approach. In Int'l SPL Conf, pages 3--11, Limerick, Ireland, September 2008. Google ScholarDigital Library
- P. Clements and L. Northrop. Software Product Lines: Practices and Patterns. Addison-Wesley, 2001. Google ScholarDigital Library
- S. R. Faulk. Product-line requirements specification (PRS): an approach and case study. In Int'l Symp on Reqs Eng, pages 48--55, Toronto, Canada, August 2001. Google ScholarDigital Library
- B. Ganter and R. Wille. Formal Concept Analysis: Mathematical Foundations. Springer, 1996. Google ScholarDigital Library
- R. Godin, R. Missaoui, and H. Alaoui. Incremental concept formation algorithms based on Galois (concept) lattices. Computational Intelligence, 11(2):246--267, 1995.Google ScholarCross Ref
- IEEE Standards Board. IEEE recommended practice for software requirements specifications. 1998.Google Scholar
- K. C. Kang, S. G. Cohen, J. A. Hess, W. E. Novak, and A. S. Peterson. Feature-oriented domain analysis (FODA) feasibility study. Technical Report CMU/SEI-90-TR-21, Software Engineering Institute, Carnegie Mellon University, November 1990.Google ScholarCross Ref
- K. C. Kang, S. Kim, J. Lee, K. Kim, E. Shin, and M. Huh. FORM: a feature-oriented reuse method with domain-specific reference architectures. Annals of Softw Eng, 5:143--168, January 1998. Google ScholarDigital Library
- R. Kazman, G. Abowd, L. Bass, and P. Clements. Scenario-based analysis of software architecture. IEEE Software, 13(6):47--55, November 1996. Google ScholarDigital Library
- G. Kiczales, J. Lamping, A. Menhdhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-oriented programming. LNCS, 1241:220--242, 1997.Google ScholarCross Ref
- C. W. Krueger. Easing the transition to software mass customization. In Int'l Wkshp on Product-Family Eng, pages 282--293, Bilbao, Spain, October 2001. Google ScholarDigital Library
- J. Kuusela and J. Savolainen. Requirements engineering for product families. In Int'l Conf on Softw Eng, pages 61--69, Limerick, Ireland, June 2000. Google ScholarDigital Library
- S. Liaskos, A. Lapouchnian, Y. Yu, E. Yu, and J. Mylopoulos. On goal-based variability acquisition and analysis. In Int'l Reqs Eng Conf, pages 76--85, Minneapolis, USA, September 2006. Google ScholarDigital Library
- J. Liu, R. R. Lutz, and H. Rajan. The role of aspects in modelling product line variabilities. In Wkshp on Aspect-Oriented Product Line Eng, 2006.Google Scholar
- M. Moon, K. Yeom, and H. S. Chae. An approach to developing domain requirements as a core asset based on commonality and variability analysis in a product line. IEEE Transactions on Software Engineering, 31(7):551--569, July 2005. Google ScholarDigital Library
- N. Niu and S. Easterbrook. Analysis of early aspects in requirements goal models: a concept-driven approach. Trans. AOSD, III:40--72, 2007. Google ScholarDigital Library
- N. Niu and S. Easterbrook. So, you think you know others' goals? A repertory grid study. IEEE Software, 24(2):53--61, March/April 2007. Google ScholarDigital Library
- N. Niu and S. Easterbrook. Extracting and modeling product line functional requirements. In Int'l Reqs Eng Conf, pages 155--164, Barcelona, Spain, September 2008. Google ScholarDigital Library
- N. Niu and S. Easterbrook. On-demand cluster analysis for product line functional requirements. In Int'l SPL Conf, pages 87--96, Limerick, Ireland, September 2008. Google ScholarDigital Library
- N. Niu, S. Easterbrook, and Y. Yu. A taxonomy of asymmetric requirements aspects. LNCS, 4765:1--18, 2007. Google ScholarDigital Library
- N. Niu, Y. Yu, B. González-Baixauli, N. Ernst, J. Leite, and J. Mylopoulos. Aspects across software life cycle: a goal-driven approach. Trans. AOSD, (to appear), 2008.Google Scholar
- B. Nuseibeh and S. Easterbrook. Requirements engineering: a roadmap. In Conf on Future Softw Eng, pages 35--46, Limerick, Ireland, June 2000. Google ScholarDigital Library
- I. Ozkaya, L. Bass, R. L. Nord, and R. S. Sangwan. Making practical use of quality attribute information. IEEE Software, 25(2):25--33, March/April 2008. Google ScholarDigital Library
- K. Pohl, G. B¨ockle, and F. van der Linden. Software Product Line Engineering: Foundations, Principles, and Techniques. Springer, 2005. Google ScholarDigital Library
- R. Prieto-Díaz. Domain analysis: an introduction. Softw Eng Notes, 15(2):47--54, April 1990. Google ScholarDigital Library
- A. Rashid, A. Moreira, and J. Araújo. Modularisation and composition of aspectual requirements. In Int'l Conf on AOSD, pages 11--20, Boston, USA, March 2003. Google ScholarDigital Library
- D. Richards. Merging individual conceptual models of requirements. Reqs Eng Journal, 8(4):195--205, 2003.Google ScholarDigital Library
- G. Salton and M. J. McGill. Introduction to Modern Information Retrieval. McGraw-Hill, 1983. Google ScholarDigital Library
- A. Sampaio, A. Rashid, R. Chitchyan, and P. Rayson. EA-Miner: towards automation in aspect-oriented requirements engineering. Trans. AOSD, III:4--39, 2007. Google ScholarDigital Library
- G. Snelting. Reengineering of configurations based on mathematical concept analysis. ACM Trans. Softw Eng and Methodology, 5(2):146--189, April 1996. Google ScholarDigital Library
- P. Tarr, H. Ossher, W. Harrison, and S. M. Sutton. N degree of separation: multi-dimensional separation of concerns. In Int'l Conf on Softw Eng, pages 107--119, Los Angeles, USA, May 1999. Google ScholarDigital Library
- T. Tilley, R. Cole, P. Becker, and P. Eklund. A survey of formal concept analysis support for software engineering activities. LNCS, 3626:250--271, 2005. Google ScholarDigital Library
- P. Tonella. Using a concept lattice of decomposition slices for program understanding and impact analysis. IEEE Trans. Softw Eng, 29(6):495--509, June 2003. Google ScholarDigital Library
- P. Tonella and M. Ceccato. Aspect mining through the formal concept analysis of execution traces. In Working Conf on Reverse Eng, pages 112--121, Delft, The Netherlands, November 2004. Google ScholarDigital Library
- K. van den Berg, J. M. Conejero, and J. Hernández. Analysis of crosscutting in early software development phases based on traceability. Trans. AOSD, III:73--104, 2007. Google ScholarDigital Library
- D. M. Weiss and C. T. R. Lai. Product-Line Engineering: A Family-Based Software Development Process. Addison-Wesley, 1999. Google ScholarDigital Library
- R. Yin. Case Study Research: Design and Methods. Sage Publications, 2003.Google Scholar
Index Terms
- Concept analysis for product line requirements
Recommendations
Using Documentation for Product Line Scoping
Product line scoping is the process of determining which of an organization's products, features, and domains would find systematic reuse economically useful. Scoping is generally the first phase in product line engineering. For a decade, it has been ...
Requirements for product derivation support: Results from a systematic literature review and an expert survey
Context: An increasing number of publications in product line engineering address product derivation, i.e., the process of building products from reusable assets. Despite its importance, there is still no consensus regarding the requirements for product ...
Requirements-based product line engineering
ESEC/FSE-9: Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineeringReuse and requirements are very important for efficient and successful systems development. This tutorial presents the experiences of requirements reuse using a Method for Requirements Authoring and Management (MRAM). MRAM is a method for establishing ...
Comments