Abstract
Software architecture derivation and evaluation are complex and error prone activities that still represent an open problem with many challenges and opportunities where model-driven software development can play a leading role. In software product line development, the use of model-driven principles could help by providing a richer semantic representation of a product line and by capturing the architectural design decisions and its impact on the product quality attributes. In this chapter, we analyze the main challenges and opportunities surrounding the product architecture derivation and evaluation and introduce QuaDAI, a method for the derivation, evaluation, and improvement of product architectures in model-driven software product line development environments. The method comprises a multimodel, which represents the different viewpoints of a software product line, and a process conducted by model transformations that automate the derivation, evaluation, and improvement of product architectures.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
The prototype is available for download at: http://users.dsic.upv.es/~jagonzalez/CarCarSPL/index.html.
- 2.
The whole specification of the example is available at http://users.dsic.upv.es/~jagonzalez/CarCarSPL/links.html.
- 3.
NFRs are defined in the quality viewpoint as constraints affecting the quality attributes whereas the prioritization of the quality attributes allows expressing the relative importance of each quality attribute.
References
Rabiser, R., Grünbacher, P., Dhungana, D.: Requirements for product derivation support: results from a systematic literature review and an expert survey. Inf. Softw. Technol. 52, 324–346 (2010)
Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley Professional, Boston (2001)
Atkinson, C., Bayer, J., Muthig, D.: Component-based product line development: the KobrA approach. In: 1st International Conference on Software Product Lines, pp. 289–309, Denver, Colorado (2000)
Asikainen, T., Soininen, T., Männistö, T.: A Koala-based approach for modelling and deploying configurable software product families. In: 5th International Workshop on Product-Family Engineering, pp. 225–249, Sienna, Italy (2003)
Botterweck, G., Lee, K., Thiel, S.: Automating product derivation in software product line engineering. In: Software Engineering Conference, pp. 177–182, Kaiserslautern, Germany (2009)
Cabello, M.E.: Baseline-Oriented Modeling: una Aproximación Mda Basada en Líneas de Productos Software para el Desarrollo de Aplicaciones. PhD thesis, Departamento de Sistemas Informáticos y Computación, Universitat Poltècnica de València (2008)
Rossel, P.O., Perovich, D., Bastarrica, M.C.: Reuse of architectural knowledge in SPL development. In: Edwards, S.H., Kulczycki, G. (eds.) 11th International Conference on Software Reuse, pp. 191–200, Falls Church, VA, USA (2009)
Duran-Limon, H.A., Castillo-Barrera, F.E., Lopez-Herrejon, R.E.: Towards an ontology-based approach for deriving product architectures. In: 15th International Software Product Line Conference, vol. 2, Munich, Germany (2011)
Czarnecki, K., Antkiewicz, M.: Mapping features to models: a template approach based on superimposed variants. In: Glück, R., Lowry, M. (eds.) GPCE 2005. LNCS, vol. 3676, pp. 422–437. Springer, Heidelberg (2005)
Ziadi, T., Jézéquel, J.: Software product line engineering with the UML: deriving products. In: 10th Software Product Lines Conference, pp. 557–588, Baltimore, Maryland, USA (2006)
Gomaa, H., Shin, M.E.: Automated software product line engineering. In: 40th Annual Hawaii International Conference on System Science, pp. 1–10, Hawaii, USA (2007)
Perrouin, G., Klein, J., Guelfi, N., Jézéquel, J.M.: Reconciling automation and flexibility in product derivation. In: 12th Software Product Line Conference, pp. 339–348, Limerick, Ireland (2008)
Schaefer, I., Worret, A., Poetzsch-Heffter, A.: A model-based framework for automated product derivation. In: 1st International Workshop on Model-Driven Approaches in Software Product Line Engineering, pp. 14–21, San Francisco, California, USA (2009)
Tawhid, R., Petriu, D.C.: Product model derivation by model transformation in software product lines. In: 14th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing Workshops, pp. 72–79, Newport Beach, Canada (2011)
Sánchez, P., Loughran, N., Fuentes, L., Garcia, A.: Engineering languages for specifying product-derivation processes in software product lines. In: Software Language Engineering, pp. 188–208, Toulousse, France (2008)
Heidenreich, F., Kopcsek, J., Wende, C.: FeatureMapper: mapping features to models. In: Companion of the 30th International Conference on Software Engineering, pp. 943–944, Vancouver, Canada (2008)
Haugen, Ø., Moller-Pedersen, B., Olsen, G.K., Svendsen, A., Fleurey, F., Zhang, X.: Consolidated CVL language and tool. MoSiS Project, D.2.1.4., SINTEF, Univeristy of Oslo (2010)
Montagud, S., Abrahão, S.: Gathering current knowledge about quality evaluation in software product lines. In: 13th Software Product Line Conference, pp. 91–100, San Francisco, USA (2009)
Kazman, R., Klein, M., Clements, P.: ATAM: method for architecture evaluation. CMU/SEI-2000-TR-004, ESC-TR-2000-004, Software Engineering Institute, Carnegie Mellon University (2000)
Kazman, R., Bass, L., Abowd, G., Webb, M.: SAAM: a method for analyzing the properties of software architectures. In: 16th International Conference on Software Engineering, pp. 81–90, Sorrento, Italy (1994)
González-Huerta, J., Insfrán, E., Abrahão, S.: Defining and validating a multimodel approach for product architecture derivation and improvement. In: 16th International Conference on Model-Driven Engineering Languages and Systems, pp. 388–404, Miami, USA (2013)
Gonzalez-Huerta, J., Insfran, E., Abrahão, S., Scanniello, G.: Validating a model-driven software architecture evaluation and improvement method: a family of experiments. Inf. Softw. Technol. 57, 405–429 (2015)
Guana, V., Correal, D.: Improving software product line configuration: a quality attribute-driven approach. Inf. Softw. Technol. 55, 541–562 (2013)
Fleurey, F., Haugen, Ø., Møller-Pedersen, B.: A Generic Language and Tool for Variability Modeling. SINTEF, Oslo (2009)
Dolan, T.J.: Architecture Assessment of Information-System Families: a Practical Perspective. PhD thesis, Technische Universiteit Eindhoven (2001)
Graaf, B., van Dijk, H., van Deursen, A.: Evaluating an embedded software reference architecture—industrial experience report—. In: 9th European Conference on Software Maintenance and Reengineering, Manchester, United Kingdom (2005)
Bengtsson, P., Lassing, N., Bosch, J., van Vliet, H.: Architecture-level modifiability analysis (ALMA). J. Syst. Softw. 69, 129–147 (2004)
Matinlassi, M., Niemelä, E., Dobrica, L.: Quality-driven architecture design and quality analysis method. VTT Publications 456, VTT Technical Research Centre of Finland, Oulu, Finland (2002)
Alves, E., Junior, D.O., Gimenes, I.M.S.: A metric suite to support software product line architecture evaluation. In: XXIV Conferencia Latinoamericana de Informática, pp. 489–498, Santa Fé, Argentina (2008)
Gannod, G., Lutz, R.: An approach to architectural analysis of product lines. In: 22nd International Conference on Software Engineering, pp. 548–557, Limerick, Ireland (2000)
Maccari, A.: Experiences in assessing product family software architecture for evolution. In: 24th International Conference on Software Engineering, pp. 585–592, Orlando, Florida (2002)
Riva, C., Rosso, C.D.: Experiences with software product family evolution. In: 6th International Workshop on Principles of Software Evolution, Helsinki, Finland (2003)
Tawhid, R., Petriu, D.C.: Automatic derivation of a product performance model from a software product line model. In: 15th International Software Product Line Conference, pp. 80–89. IEEE, Munich, Germany (2011)
Alonso, A., García-Valls, M., Puente, J.: Assessment of timing properties of family products. In: ESPRIT-ATES Workshop, pp. 161–169, Las palmas de Gran Canaria, Spain (1998)
Kim, T., Ko, I.Y, Kang, S.W., Lee, D.H.: Extending ATAM to assess product line architecture. In: 2008 8th IEEE International Conference on Computer and Information Technology, pp. 790–797, Khulna, Bangladesh (2008)
Olumofin, F.G., Misic, V.B.: A holistic architecture assessment method for software product lines. Inf. Softw. Technol. 49, 309–323 (2007)
Etxeberria, L.: Evaluación de atributos de calidad en líneas de productos software de forma efectiva en costes. PhD thesis, Departamento de Electonica e Informatica, Modragon Unibesitatea (2008)
Roos-Frantz, F., Benavides, D., Ruiz-Cortés, A., Heuer, A., Lauenroth, K.: Quality-aware analysis in product line engineering with the orthogonal variability model. Softw. Qual. J. 20, 519–565 (2011)
Soltani, S., Asadi, M., Gašević, D., Simon, M.H., Bagheri, E.: Automated planning for feature model configuration based on functional and non-functional requirements. In: Proceedings of the 16th International Software Product Line Conference, vol. 1, pp. 56–65, New York, NY, USA (2012)
Ghezzi, C., Sharifloo, A.M.: Verifying non-functional properties of software product lines: towards an efficient approach using parametric model checking. In: 15th International Software Product Line Conference, pp. 170–174. IEEE, Munich, Germany (2011)
Crnkovic, I., Larsson, M., Preiss, O.: Concerning predictability in dependable component- based systems: classification of quality attributes. In: ICSE 2004 Workshops on Software Architectures for Dependable Systems, pp. 257–278, Edinburgh, Scotland, UK (2004)
González-Huerta, J., Insfran, E., Abrahão, S.: A multimodel for integrating quality assessment in model-driven engineering. In: 8th International Conference on the Quality of Information and Communications Technology, pp. 251–254, Lisbon, Portugal (2012)
Barkmeyer, E.J., Feeney, A.B., Denno, P., Flater, D.W., Libes, D.E., Steves, M.P., Wallace, E.K.: Concepts for Automating Systems Integration. NISTIR 6928, U.S. Department of Commerce (2003)
Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature-Oriented Domain Analysis (FODA) Feasibility Study. CMU/SEI-90-TR-21 ESD-90-TR-222, Software Engineering Institute, Carnegie Melon University (1990)
Gómez, A., Ramos, I.: Cardinality-based feature modeling and model-driven engineering: fitting them together. In: International Workshop on Variability Modelling of Software-Intensive Systems, pp. 61–68. Linz, Austria (2010)
Object Management Group: Common Variability Language (CVL) OMG Revised Submission (2012)
González-Huerta, J., Insfran, E., Abrahão, S., McGregor, J.D.: Non-functional requirements in model-driven software product line engineering. In: Proceedings of the Fourth International Workshop on Nonfunctional System Properties in Domain Specific Modeling Languages, pp. 1–6. Innsbruck, Austria (2012)
ISO/IEC: ISO/IEC 25000:2005 Software Engineering - Software product Quality Requirements and Evaluation (SQuaRE) - Guide to SQuaRE (2005)
González-huerta, J., Insfran, E., Abrahão, S., Mcgregor, J.D.: Architecture derivation in product line development through model transformations. In: 22nd International Conference on Information Systems Development, Seville, Spain (2013)
Douglass, B.P.: Real-Time Design Patterns: Robust Scalable Architecture for Real-Time Systems. Addison Wesley, Boston (2002)
Kruchten, P.: The Rational Unified Process, an Introduction. Addison Wesley, Boston (1999)
Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: Pattern-Oriented Software Architecture: a System of Patterns, vol. 1. Wiley, Chichester (1996)
Janota, M., Botterweck, G.: Formal approach to integrating feature and architecture models. In: 11th Conference on Fundamental Approaches to Software Engineering, pp. 31–45, Budapest, Hungary (2008)
ISA Research Group: Fama Tool Suite. http://www.isa.us.es/fama/
Eclipse: Eclipse OCL. http://projects.eclipse.org/projects/modeling.mdt.ocl
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Gonzalez-Huerta, J., Insfran, E., Abrahão, S. (2015). Models in Software Architecture Derivation and Evaluation: Challenges and Opportunities. In: Hammoudi, S., Pires, L., Filipe, J., das Neves, R. (eds) Model-Driven Engineering and Software Development. MODELSWARD 2014. Communications in Computer and Information Science, vol 506. Springer, Cham. https://doi.org/10.1007/978-3-319-25156-1_2
Download citation
DOI: https://doi.org/10.1007/978-3-319-25156-1_2
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-25155-4
Online ISBN: 978-3-319-25156-1
eBook Packages: Computer ScienceComputer Science (R0)