Advertisement

Models in Software Architecture Derivation and Evaluation: Challenges and Opportunities

  • Javier Gonzalez-Huerta
  • Emilio Insfran
  • Silvia AbrahãoEmail author
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 506)

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.

Keywords

Software architectures Software product lines Model-driven development Quality assurance 

References

  1. 1.
    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)CrossRefGoogle Scholar
  2. 2.
    Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley Professional, Boston (2001)Google Scholar
  3. 3.
    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)Google Scholar
  4. 4.
    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)Google Scholar
  5. 5.
    Botterweck, G., Lee, K., Thiel, S.: Automating product derivation in software product line engineering. In: Software Engineering Conference, pp. 177–182, Kaiserslautern, Germany (2009)Google Scholar
  6. 6.
    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)Google Scholar
  7. 7.
    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)Google Scholar
  8. 8.
    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)Google Scholar
  9. 9.
    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)CrossRefGoogle Scholar
  10. 10.
    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)Google Scholar
  11. 11.
    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)Google Scholar
  12. 12.
    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)Google Scholar
  13. 13.
    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)Google Scholar
  14. 14.
    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)Google Scholar
  15. 15.
    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)Google Scholar
  16. 16.
    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)Google Scholar
  17. 17.
    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)Google Scholar
  18. 18.
    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)Google Scholar
  19. 19.
    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)Google Scholar
  20. 20.
    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)Google Scholar
  21. 21.
    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)Google Scholar
  22. 22.
    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)CrossRefGoogle Scholar
  23. 23.
    Guana, V., Correal, D.: Improving software product line configuration: a quality attribute-driven approach. Inf. Softw. Technol. 55, 541–562 (2013)CrossRefGoogle Scholar
  24. 24.
    Fleurey, F., Haugen, Ø., Møller-Pedersen, B.: A Generic Language and Tool for Variability Modeling. SINTEF, Oslo (2009)Google Scholar
  25. 25.
    Dolan, T.J.: Architecture Assessment of Information-System Families: a Practical Perspective. PhD thesis, Technische Universiteit Eindhoven (2001)Google Scholar
  26. 26.
    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)Google Scholar
  27. 27.
    Bengtsson, P., Lassing, N., Bosch, J., van Vliet, H.: Architecture-level modifiability analysis (ALMA). J. Syst. Softw. 69, 129–147 (2004)CrossRefGoogle Scholar
  28. 28.
    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)Google Scholar
  29. 29.
    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)Google Scholar
  30. 30.
    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)Google Scholar
  31. 31.
    Maccari, A.: Experiences in assessing product family software architecture for evolution. In: 24th International Conference on Software Engineering, pp. 585–592, Orlando, Florida (2002)Google Scholar
  32. 32.
    Riva, C., Rosso, C.D.: Experiences with software product family evolution. In: 6th International Workshop on Principles of Software Evolution, Helsinki, Finland (2003)Google Scholar
  33. 33.
    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)Google Scholar
  34. 34.
    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)Google Scholar
  35. 35.
    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)Google Scholar
  36. 36.
    Olumofin, F.G., Misic, V.B.: A holistic architecture assessment method for software product lines. Inf. Softw. Technol. 49, 309–323 (2007)CrossRefGoogle Scholar
  37. 37.
    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)Google Scholar
  38. 38.
    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)CrossRefGoogle Scholar
  39. 39.
    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)Google Scholar
  40. 40.
    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)Google Scholar
  41. 41.
    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)Google Scholar
  42. 42.
    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)Google Scholar
  43. 43.
    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)Google Scholar
  44. 44.
    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)Google Scholar
  45. 45.
    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)Google Scholar
  46. 46.
    Object Management Group: Common Variability Language (CVL) OMG Revised Submission (2012)Google Scholar
  47. 47.
    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)Google Scholar
  48. 48.
    ISO/IEC: ISO/IEC 25000:2005 Software Engineering - Software product Quality Requirements and Evaluation (SQuaRE) - Guide to SQuaRE (2005)Google Scholar
  49. 49.
    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)Google Scholar
  50. 50.
    Douglass, B.P.: Real-Time Design Patterns: Robust Scalable Architecture for Real-Time Systems. Addison Wesley, Boston (2002)Google Scholar
  51. 51.
    Kruchten, P.: The Rational Unified Process, an Introduction. Addison Wesley, Boston (1999)Google Scholar
  52. 52.
    Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: Pattern-Oriented Software Architecture: a System of Patterns, vol. 1. Wiley, Chichester (1996)Google Scholar
  53. 53.
    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)Google Scholar
  54. 54.
    ISA Research Group: Fama Tool Suite. http://www.isa.us.es/fama/
  55. 55.

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Javier Gonzalez-Huerta
    • 1
  • Emilio Insfran
    • 1
  • Silvia Abrahão
    • 1
    Email author
  1. 1.ISSI Research GroupUniversitat Politècnica de ValènciaValenciaSpain

Personalised recommendations