Abstract
Software Product Lines (SPL) promote reuse within an application domain in an organized fashion. Preimplemented software components are arranged according to a product line architecture (PLA). Balancing possibly conflicting quality attributes of all potential products makes PLA design a challenging task. Moreover, if quality attributes are part of the variabilities of the SPL, then a unique PLA may result highly inconvenient for particular configurations. We consider the PLA as a set of architectural decisions organized by the features in the Feature Model. A particular product architecture (PA) is defined as the subset of decisions associated to the chosen features for the product. Architectural knowledge is then reused among products and when new features are required in the SPL. Variability at the quality attribute level will impact the style of the resulting architecture, thus choosing different quality features will produce PAs following different styles, even within the same SPL. We use MDE techniques to operationalize this procedure and we illustrate the technique using the case of a Meshing Tool SPL.
The work of Pedro O. Rossel was partially supported by grant No. UCH 0109 from MECESUP, Chile and by grant of the Departamento de Postgrado y Postítulo de la Vicerrectoría de Asuntos Académicos of Universidad de Chile. The work of Daniel Perovich has been partly funded by CONICYT Chile.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Bastarrica, M.C., Hitschfeld-Kahler, N., Rossel, P.O.: Product Line Architecture for a Family of Meshing Tools. In: Morisio, M. (ed.) ICSR 2006. LNCS, vol. 4039, pp. 403–406. Springer, Heidelberg (2006)
Batory, D.S., Azanza, M., Saraiva, J.: The objects and arrows of computational design. In: Czarnecki, K., Ober, I., Bruel, J.-M., Uhl, A., Völter, M. (eds.) MODELS 2008. LNCS, vol. 5301, pp. 1–20. Springer, Heidelberg (2008)
Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: Pattern-Oriented Software Architecture. A System of Patterns. John Wiley & Sons, Chichester (1996)
Cirilo, E., Kulesza, U., de Lucena, C.J.P.: A Product Derivation Tool Based on Model-Driven Techniques and Annotations. Journal of Universal Computer Science 14(8), 1344–1367 (2008)
Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. SEI Series in Software Engineering. Addison-Wesley, Reading (2001)
Contreras, F.: Adapting a 3D Meshing Tool to a New Architecture. Master’s thesis, Computer Science Department, Universidad de Chile (2007) (in Spanish)
Czarnecki, K., Antkiewicz, M., Kim, C.H.P., Lau, S., Pietroszek, K.: Model-Driven Software Product Lines. In: OOPSLA 2005 Companion, pp. 126–127 (2005)
Czarnecki, K., Helsen, S., Eisenecker, U.W.: Staged Configuration Using Feature Models. In: Nord, R.L. (ed.) SPLC 2004. LNCS, vol. 3154, pp. 266–283. Springer, Heidelberg (2004)
Jones, M.T., Plassmann, P.E.: Parallel algorithms for adaptive mesh refinement. SIAM Journal on Scientific Computing 18, 686–708 (1997)
Jouault, F., Kurtev, I.: Transforming Models with ATL. In: MoDELS Satellite Events, pp. 128–138 (2005)
Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature-Oriented Domain Analysis (FODA). Feasibility Study. Technical Report CMU/SEI-90-TR-21. Software Engineering Institute (November 1990)
Kim, J., Park, S., Sugumaran, V.: DRAMA: A framework for domain requirements analysis and modeling architectures in software product lines. Journal of Systems and Software 81(1), 37–55 (2008)
Matinlassi, M.: Quality-Driven Software Architecture Model Transformation. In: WICSA 2005, pp. 199–200 (2005)
Niemelä, E., Immonen, A.: Capturing quality requirements of product family architecture. Inf. and Software Technology 49(11-12), 1107–1120 (2007)
Perovich, D., Bastarrica, M.C., Rojas, C.: Model-Driven Approach to Software Architecture Design. In: SHARK 2009, May 2009, pp. 1–8 (2009)
Perovich, D., Rossel, P.O., Bastarrica, M.C.: Feature Model to Product Architectures: Applying MDE to Software Product Lines. In: WICSA/ECSA 2009, September 2009. IEEE CS Press, Los Alamitos (2009)
Rivara, M.C., Calderón, C., Fedorov, A., Chrisochoides, N.: Parallel decoupled terminal-edge bisection method for 3d mesh generation. Engineering with Computers 22(2), 111–119 (2006)
Taylor, R.N., Medvidovic, N., Dashofy, E.M.: Software Architecture. Foundations, Theory, and Practice. John Wiley and Sons, Chichester (2009)
Trujillo, S., Azanza, M., Diaz, O., Capilla, R.: Exploring Extensibility of Architectural Design Decisions. In: SHARK-ADI 2007, May 2007, p. 10 (2007)
White, J., Schmidt, D.C.: Model-Driven Product-Line Architectures for Mobile Devices. In: Proceedings of the 17th Annual Conference of the International Federation of Automatic Control, Seoul, Korea (July 2008)
White, J., Schmidt, D.C., Wuchner, E., Nechypurenko, A.: Automating Product-Line Variant Selection for Mobile Devices. In: SPLC 2007, pp. 129–140 (2007)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Rossel, P.O., Perovich, D., Bastarrica, M.C. (2009). Reuse of Architectural Knowledge in SPL Development. In: Edwards, S.H., Kulczycki, G. (eds) Formal Foundations of Reuse and Domain Engineering. ICSR 2009. Lecture Notes in Computer Science, vol 5791. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-04211-9_19
Download citation
DOI: https://doi.org/10.1007/978-3-642-04211-9_19
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-04210-2
Online ISBN: 978-3-642-04211-9
eBook Packages: Computer ScienceComputer Science (R0)