Skip to main content
Erschienen in: Software and Systems Modeling 2/2019

02.08.2017 | Regular Paper

Applying design patterns in the search-based optimization of software product line architectures

verfasst von: Giovani Guizzo, Thelma Elita Colanzi, Silvia Regina Vergilio

Erschienen in: Software and Systems Modeling | Ausgabe 2/2019

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

The design of the product line architecture (PLA) is a difficult activity that can benefit from the application of design patterns and from the use of a search-based optimization approach, which is generally guided by different objectives related, for instance, to cohesion, coupling and PLA extensibility. The use of design patterns for PLAs is a recent research field, not completely explored yet. Some works apply the patterns manually and for a specific domain. Approaches to search-based PLA design do not consider the usage of these patterns. To allow such use, this paper introduces a mutation operator named “Pattern-Driven Mutation Operator” that includes methods to automatically identify suitable scopes and apply the patterns Strategy, Bridge and Mediator with the search-based approach multi-objective optimization approach for PLA. A metamodel is proposed to represent and identify suitable scopes to receive each one of the patterns, avoiding the introduction of architectural anomalies. Empirical results are also presented, showing evidences that the use of the proposed operator produces a greater diversity of solutions and improves the quality of the PLAs obtained in the search-based optimization process, regarding the values of software metrics.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Literatur
1.
Zurück zum Zitat Amoui, M., Mirarab, S., Ansari, S., Lucas, C.: A genetic algorithm approach to design evolution using design pattern transformation. Int. J. Inf. Technol. Intell. Comput. 1, 235–245 (2006) Amoui, M., Mirarab, S., Ansari, S., Lucas, C.: A genetic algorithm approach to design evolution using design pattern transformation. Int. J. Inf. Technol. Intell. Comput. 1, 235–245 (2006)
2.
Zurück zum Zitat Arcuri, A., Fraser, G.: On parameter tuning in search based software engineering. In: Proceedings of the 3rd Symposium on Search Based Software Engineering (SSBSE), pp. 33–47 (2011) Arcuri, A., Fraser, G.: On parameter tuning in search based software engineering. In: Proceedings of the 3rd Symposium on Search Based Software Engineering (SSBSE), pp. 33–47 (2011)
3.
Zurück zum Zitat Cinnéide, M.O.: Automated software evolution towards design patterns. In: Proceedings of the 4th International Workshop on Principles of Software Evolution (IWPSE), pp. 162–165. ACM, New York (2001) Cinnéide, M.O.: Automated software evolution towards design patterns. In: Proceedings of the 4th International Workshop on Principles of Software Evolution (IWPSE), pp. 162–165. ACM, New York (2001)
4.
Zurück zum Zitat Coello, C.A.C., Lamont, G.B., Veldhuizen, D.A.V.: Evolutionary Algorithms for Solving Multi-Objective Problems, 2nd edn. Springer, Berlin (2007)MATH Coello, C.A.C., Lamont, G.B., Veldhuizen, D.A.V.: Evolutionary Algorithms for Solving Multi-Objective Problems, 2nd edn. Springer, Berlin (2007)MATH
5.
Zurück zum Zitat Colanzi, T.E., Vergilio, S.R.: Representation of software product lines architectures for search-based design. In: CMSBSE Workshop of International Conference on Software Engineering (ICSE), pp. 28–33 (2013) Colanzi, T.E., Vergilio, S.R.: Representation of software product lines architectures for search-based design. In: CMSBSE Workshop of International Conference on Software Engineering (ICSE), pp. 28–33 (2013)
6.
Zurück zum Zitat Colanzi, T.E., Vergilio, S.R., Gimenes, I.M.S., Oizumi, W.N.: A search-based approach for software product line design. In: Proceedings of the 18th Software Product Line Conference (SPLC), pp. 237–241 (2014) Colanzi, T.E., Vergilio, S.R., Gimenes, I.M.S., Oizumi, W.N.: A search-based approach for software product line design. In: Proceedings of the 18th Software Product Line Conference (SPLC), pp. 237–241 (2014)
7.
Zurück zum Zitat Contieri Junior, A.C., Correia, G.G., Colanzi, T.E., Gimenes, I.M.S., Junior, E.A.O., Ferrari, S., Masiero, P.C., Garcia, A.F.: Extending UML components to develop software product-line architectures: lessons learned. In: Proceedings of the 5th European Conference on Software Architecture (ECSA), pp. 130–138 (2011) Contieri Junior, A.C., Correia, G.G., Colanzi, T.E., Gimenes, I.M.S., Junior, E.A.O., Ferrari, S., Masiero, P.C., Garcia, A.F.: Extending UML components to develop software product-line architectures: lessons learned. In: Proceedings of the 5th European Conference on Software Architecture (ECSA), pp. 130–138 (2011)
8.
Zurück zum Zitat Coplien, J.O.: Software design patterns: common questions and answers. In: Rising, L. (ed.) The Patterns Handbook: Techniques, Strategies, and Applications, pp. 311–320. Cambridge University Press, Cambridge (1998) Coplien, J.O.: Software design patterns: common questions and answers. In: Rising, L. (ed.) The Patterns Handbook: Techniques, Strategies, and Applications, pp. 311–320. Cambridge University Press, Cambridge (1998)
9.
Zurück zum Zitat Darwin, C.: On the Origin of Species by Means of Natural Selection, or, The Preservation of Favoured Races in the Struggle for Life. J. Murray, London (1859) Darwin, C.: On the Origin of Species by Means of Natural Selection, or, The Preservation of Favoured Races in the Struggle for Life. J. Murray, London (1859)
10.
Zurück zum Zitat Deb, K., Pratap, A., Agarwal, S., Meyarivan, T.: A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Trans. Evol. Comput. 6(2), 182–197 (2002)CrossRef Deb, K., Pratap, A., Agarwal, S., Meyarivan, T.: A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Trans. Evol. Comput. 6(2), 182–197 (2002)CrossRef
11.
Zurück zum Zitat Derrac, J., García, S., Molina, D., Herrera, F.: A practical tutorial on the use of nonparametric statistical tests as a methodology for comparing evolutionary and swarm intelligence algorithms. Swarm Evol. Comput. 1(1), 3–18 (2011)CrossRef Derrac, J., García, S., Molina, D., Herrera, F.: A practical tutorial on the use of nonparametric statistical tests as a methodology for comparing evolutionary and swarm intelligence algorithms. Swarm Evol. Comput. 1(1), 3–18 (2011)CrossRef
12.
Zurück zum Zitat Donegan, P.M., Masiero, P.C.: Design issues in a component-based software product line. In: Proceedings of Brazilian Symposium on Software Components, Architectures and Reuse (SBCARS), pp. 3–16 (2007) Donegan, P.M., Masiero, P.C.: Design issues in a component-based software product line. In: Proceedings of Brazilian Symposium on Software Components, Architectures and Reuse (SBCARS), pp. 3–16 (2007)
13.
Zurück zum Zitat Fant, J.S., Gomaa, H., Pettit, R.G.: A pattern-based modeling approach for software product line engineering. In: Proceedings of the 46th Hawaii International Conference on System Sciences (HICSS), pp. 4985–4994 (2013) Fant, J.S., Gomaa, H., Pettit, R.G.: A pattern-based modeling approach for software product line engineering. In: Proceedings of the 46th Hawaii International Conference on System Sciences (HICSS), pp. 4985–4994 (2013)
14.
Zurück zum Zitat Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley Professional Computing Series, vol. 206. Addison-Wesley Longman Publishing Co., Inc, Boston (1995) Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley Professional Computing Series, vol. 206. Addison-Wesley Longman Publishing Co., Inc, Boston (1995)
15.
Zurück zum Zitat Gandibleux, X., Sevaux, M., Sörensen, K., T’Kindt, V.: Metaheuristics for multiobjective optimisation. Lecture Notes in Economics and Mathematical Systems. Springer Berlin Heidelberg (2012) Gandibleux, X., Sevaux, M., Sörensen, K., T’Kindt, V.: Metaheuristics for multiobjective optimisation. Lecture Notes in Economics and Mathematical Systems. Springer Berlin Heidelberg (2012)
16.
Zurück zum Zitat Garlan, D., Shaw, M.: An introduction to software architecture. In: Ambriola, V., Tortora, G. (eds.) Advances in Software Engineering and Knowledge Engineering, vol. I, pp. 1–39. World Scientific, Singapore (1994) Garlan, D., Shaw, M.: An introduction to software architecture. In: Ambriola, V., Tortora, G. (eds.) Advances in Software Engineering and Knowledge Engineering, vol. I, pp. 1–39. World Scientific, Singapore (1994)
17.
Zurück zum Zitat Gomaa, H., Hussein, M.: Software reconfiguration patterns for dynamic evolution of software architectures. In: Proceedings of the Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA), pp. 79–88. IEEE Computer Society, Washington (2004) Gomaa, H., Hussein, M.: Software reconfiguration patterns for dynamic evolution of software architectures. In: Proceedings of the Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA), pp. 79–88. IEEE Computer Society, Washington (2004)
18.
Zurück zum Zitat Guizzo, G., Colanzi, T.E., Vergilio, S.R.: Applying design patterns in product line search-based design: feasibility analysis and implementation aspects. In: Proceedings of the 32nd International Conference of the Chilean Computer Society (SCCC), Temuco, Chile, SCCC’13 (2013) Guizzo, G., Colanzi, T.E., Vergilio, S.R.: Applying design patterns in product line search-based design: feasibility analysis and implementation aspects. In: Proceedings of the 32nd International Conference of the Chilean Computer Society (SCCC), Temuco, Chile, SCCC’13 (2013)
19.
Zurück zum Zitat Guizzo, G., Colanzi, T.E., Vergilio, S.R.: A pattern-driven mutation operator for search-based product line architecture design. In: Proceedings of the 6th Symposium on Search Based Software Engineering (SSBSE), pp. 77–91. Springer, Fortaleza (2014) Guizzo, G., Colanzi, T.E., Vergilio, S.R.: A pattern-driven mutation operator for search-based product line architecture design. In: Proceedings of the 6th Symposium on Search Based Software Engineering (SSBSE), pp. 77–91. Springer, Fortaleza (2014)
20.
Zurück zum Zitat Harman, M., Clark, J.: Metrics are fitness functions too. In: Proceedings of the 10th International Symposium on Software Metrics (ISSM), pp. 58–69 (2004) Harman, M., Clark, J.: Metrics are fitness functions too. In: Proceedings of the 10th International Symposium on Software Metrics (ISSM), pp. 58–69 (2004)
21.
Zurück zum Zitat Harman, M., Mansouri, A.: Search based software engineering: introduction to the special issue of the IEEE transactions on software engineering. IEEE Trans. Softw. Eng. 36(6), 737–741 (2010)CrossRef Harman, M., Mansouri, A.: Search based software engineering: introduction to the special issue of the IEEE transactions on software engineering. IEEE Trans. Softw. Eng. 36(6), 737–741 (2010)CrossRef
22.
Zurück zum Zitat Harman, M., Tratt, L.: Pareto optimal search based refactoring at the design level. In: Proceedings of the 9th Genetic and Evolutionary Computation Conference (GECCO), pp. 1106–1113. ACM (2007) Harman, M., Tratt, L.: Pareto optimal search based refactoring at the design level. In: Proceedings of the 9th Genetic and Evolutionary Computation Conference (GECCO), pp. 1106–1113. ACM (2007)
23.
Zurück zum Zitat Hwang, C.L., Yoon, K.: Multiple attribute decision making: methods and applications : a state-of-the-art survey. Lecture notes in economics and mathematical systems. Springer (1981) Hwang, C.L., Yoon, K.: Multiple attribute decision making: methods and applications : a state-of-the-art survey. Lecture notes in economics and mathematical systems. Springer (1981)
25.
Zurück zum Zitat Jensen, A.C., Cheng, B.H.C.: On the use of genetic programming for automated refactoring and the introduction of design patterns. In: Proceedings of the 12th Genetic and Evolutionary Computation Conference (GECCO), pp. 1341–1348 (2010) Jensen, A.C., Cheng, B.H.C.: On the use of genetic programming for automated refactoring and the introduction of design patterns. In: Proceedings of the 12th Genetic and Evolutionary Computation Conference (GECCO), pp. 1341–1348 (2010)
26.
Zurück zum Zitat Junior, E.A.O., Gimenes, I.M.S., Maldonado, J.C.: Systematic management of variability in UML-based software product lines. J. Univers. Comput. Sci. 16(17), 2374–2393 (2010) Junior, E.A.O., Gimenes, I.M.S., Maldonado, J.C.: Systematic management of variability in UML-based software product lines. J. Univers. Comput. Sci. 16(17), 2374–2393 (2010)
27.
Zurück zum Zitat Keepence, B., Mannion, M.: Using patterns to model variability in product families. IEEE Softw. 16, 102–108 (1999)CrossRef Keepence, B., Mannion, M.: Using patterns to model variability in product families. IEEE Softw. 16, 102–108 (1999)CrossRef
28.
Zurück zum Zitat van der Linden, F., Schmid, K., Rommes, E.: Software Product Lines in Action: The Best Industrial Practice in Product Line Engineering. Springer, Berlin (2007)CrossRef van der Linden, F., Schmid, K., Rommes, E.: Software Product Lines in Action: The Best Industrial Practice in Product Line Engineering. Springer, Berlin (2007)CrossRef
29.
Zurück zum Zitat Macia, I.: On the detection of architecturally-relevant code anomalies in software systems. Ph.d. thesis, Pontifical Catholic University of Rio de Janeiro (2013) Macia, I.: On the detection of architecturally-relevant code anomalies in software systems. Ph.d. thesis, Pontifical Catholic University of Rio de Janeiro (2013)
30.
Zurück zum Zitat Mariani, T., Vergilio, S.R.: A systematic review on search-based refactoring. Inf. Softw. Technol. 83, 14–34 (2017)CrossRef Mariani, T., Vergilio, S.R.: A systematic review on search-based refactoring. Inf. Softw. Technol. 83, 14–34 (2017)CrossRef
31.
Zurück zum Zitat Mariani, T., Colanzi, T.E., Vergilio, S.R.: Search based design of layered product line architectures. In: Proceedings of the 39th IEEE Computer Society International Conference on Computers, Software and Applications (COMPSAC). IEEE, Taichung (2015a) Mariani, T., Colanzi, T.E., Vergilio, S.R.: Search based design of layered product line architectures. In: Proceedings of the 39th IEEE Computer Society International Conference on Computers, Software and Applications (COMPSAC). IEEE, Taichung (2015a)
32.
Zurück zum Zitat Mariani, T., Vergilio, S.R., Colanzi, T.E.: Optimizing aspect-oriented product line architectures with search-based algorithms. In: Proceedings of the 7th Symposium on Search Based Software Engineering (SSBSE), pp. 173–187. Springer, Bergamo (2015b) Mariani, T., Vergilio, S.R., Colanzi, T.E.: Optimizing aspect-oriented product line architectures with search-based algorithms. In: Proceedings of the 7th Symposium on Search Based Software Engineering (SSBSE), pp. 173–187. Springer, Bergamo (2015b)
33.
Zurück zum Zitat Oliveira Junior, E.A., Gimenes, I.M.S., Maldonado, J.C., Masiero, P.C., Barroca, L.: Systematic evaluation of software product line architectures. J. Univers. Comput. Sci. 19, 25–52 (2013) Oliveira Junior, E.A., Gimenes, I.M.S., Maldonado, J.C., Masiero, P.C., Barroca, L.: Systematic evaluation of software product line architectures. J. Univers. Comput. Sci. 19, 25–52 (2013)
34.
Zurück zum Zitat Philippow, I., Streitferdt, D., Riebisch, M.: Design pattern recovery in architectures for supporting product line development and application. In: Riebisch, M., Coplien, J., Streitferdt, D. (eds.) Modelling Variability for Object-Oriented Product Lines, pp. 42–57. Springer, Berlin (2003) Philippow, I., Streitferdt, D., Riebisch, M.: Design pattern recovery in architectures for supporting product line development and application. In: Riebisch, M., Coplien, J., Streitferdt, D. (eds.) Modelling Variability for Object-Oriented Product Lines, pp. 42–57. Springer, Berlin (2003)
35.
Zurück zum Zitat Qayum, F., Heckel, R.: Local search-based refactoring as graph transformation. In: Proceedings of the 1st Symposium on Search Based Software Engineering (SSBSE), pp. 43–46. IEEE (2009) Qayum, F., Heckel, R.: Local search-based refactoring as graph transformation. In: Proceedings of the 1st Symposium on Search Based Software Engineering (SSBSE), pp. 43–46. IEEE (2009)
36.
Zurück zum Zitat Räihä, O.: A survey on search-based software design. Comput. Sci. Rev. 4(4), 203–249 (2010)CrossRef Räihä, O.: A survey on search-based software design. Comput. Sci. Rev. 4(4), 203–249 (2010)CrossRef
37.
Zurück zum Zitat Räihä, O., Koskimies, K., Makinen, E.: Complementary crossover for genetic software architecture synthesis. In: 10th International Conference on Intelligent Systems Design and Applications (ISDA), pp. 266–271 (2010) Räihä, O., Koskimies, K., Makinen, E.: Complementary crossover for genetic software architecture synthesis. In: 10th International Conference on Intelligent Systems Design and Applications (ISDA), pp. 266–271 (2010)
38.
Zurück zum Zitat Räihä, O., Koskimies, K., Mäkinen, E.: Generating software architecture spectrum with multi-objective genetic algorithms. In: 2011 Third World Congress on Nature and Biologically Inspired Computing (NaBIC), pp. 29–36. IEEE (2011) Räihä, O., Koskimies, K., Mäkinen, E.: Generating software architecture spectrum with multi-objective genetic algorithms. In: 2011 Third World Congress on Nature and Biologically Inspired Computing (NaBIC), pp. 29–36. IEEE (2011)
39.
Zurück zum Zitat Rumbaugh, J., Jacobson, I., Booch, G.: The Unified Modeling Language Reference Manual, 2nd edn. Addison-Wesley Professional, Boston (2004) Rumbaugh, J., Jacobson, I., Booch, G.: The Unified Modeling Language Reference Manual, 2nd edn. Addison-Wesley Professional, Boston (2004)
40.
Zurück zum Zitat Sant’Anna, C., Figueiredo, E., Garcia, A., Lucena, C.J.P.: On the modularity of software architectures: a concern-driven measurement framework. In: Proceedings of the 1st European Conference on Software Architecture (ECSA), pp. 207–224 (2007) Sant’Anna, C., Figueiredo, E., Garcia, A., Lucena, C.J.P.: On the modularity of software architectures: a concern-driven measurement framework. In: Proceedings of the 1st European Conference on Software Architecture (ECSA), pp. 207–224 (2007)
41.
Zurück zum Zitat Shimomura, T., Ikeda, K., Takahashi, M.: An approach to ga-driven automatic refactoring based on design patterns. In: Proceedings of the Fifth International Conference on Software Engineering Advances (ICSEA), pp. 213–218 (2010) Shimomura, T., Ikeda, K., Takahashi, M.: An approach to ga-driven automatic refactoring based on design patterns. In: Proceedings of the Fifth International Conference on Software Engineering Advances (ICSEA), pp. 213–218 (2010)
42.
Zurück zum Zitat Simons, C., Singer, J., White, D.R.: Search-based refactoring: metrics are not enough. In: Search-Based Software Engineering, Lecture Notes in Computer Science, vol. 9275, pp. 47–61. Springer International Publishing (2015) Simons, C., Singer, J., White, D.R.: Search-based refactoring: metrics are not enough. In: Search-Based Software Engineering, Lecture Notes in Computer Science, vol. 9275, pp. 47–61. Springer International Publishing (2015)
44.
Zurück zum Zitat Yourdon, E., Constantine, L.L.: Structured Design: Fundamentals of a Discipline of Computer Program and Systems Design. Prentice-Hall Inc, Upper Saddle River (1979)MATH Yourdon, E., Constantine, L.L.: Structured Design: Fundamentals of a Discipline of Computer Program and Systems Design. Prentice-Hall Inc, Upper Saddle River (1979)MATH
45.
Zurück zum Zitat Ziadi, T., Jézéquel, J.M., Fondement, F.: Product line derivation with UML. In: Proceedings of Software Variability Management Workshop (2003) Ziadi, T., Jézéquel, J.M., Fondement, F.: Product line derivation with UML. In: Proceedings of Software Variability Management Workshop (2003)
46.
Zurück zum Zitat Ziadi, T., Hélouët, L., Jézéquel, J.M.: Towards a UML profile for software product lines. In: Linden, F.J. (ed.) Software Product-Family Engineering, Lecture Notes in Computer Science, vol. 3014, pp. 129–139. Springer, Berlin Heidelberg (2004) Ziadi, T., Hélouët, L., Jézéquel, J.M.: Towards a UML profile for software product lines. In: Linden, F.J. (ed.) Software Product-Family Engineering, Lecture Notes in Computer Science, vol. 3014, pp. 129–139. Springer, Berlin Heidelberg (2004)
47.
Zurück zum Zitat Zitzler, E., Thiele, L.: Multiobjective evolutionary algorithms: a comparative case study and the strength Pareto approach. Trans. Evol. Comput. 3(4), 257–271 (1999)CrossRef Zitzler, E., Thiele, L.: Multiobjective evolutionary algorithms: a comparative case study and the strength Pareto approach. Trans. Evol. Comput. 3(4), 257–271 (1999)CrossRef
48.
Zurück zum Zitat Zitzler, E., Thiele, L., Laumanns, M., Fonseca, C.M., da Fonseca, V.G.: Performance assessment of multiobjective optimizers: an analysis and review. IEEE Trans. Evol. Comput. 7(2), 117–132 (2003)CrossRef Zitzler, E., Thiele, L., Laumanns, M., Fonseca, C.M., da Fonseca, V.G.: Performance assessment of multiobjective optimizers: an analysis and review. IEEE Trans. Evol. Comput. 7(2), 117–132 (2003)CrossRef
Metadaten
Titel
Applying design patterns in the search-based optimization of software product line architectures
verfasst von
Giovani Guizzo
Thelma Elita Colanzi
Silvia Regina Vergilio
Publikationsdatum
02.08.2017
Verlag
Springer Berlin Heidelberg
Erschienen in
Software and Systems Modeling / Ausgabe 2/2019
Print ISSN: 1619-1366
Elektronische ISSN: 1619-1374
DOI
https://doi.org/10.1007/s10270-017-0614-9

Weitere Artikel der Ausgabe 2/2019

Software and Systems Modeling 2/2019 Zur Ausgabe

Premium Partner