Praxis der Forschung SS15/PerOpteryx Automated Application of Tactics in Multi-Objective Software Architecture Optimization

Aus SDQ-Wiki

BibTeX Eintrag

@inproceedings{koziolek2011f,
	Abstract = {Designing software architectures that exhibit a good trade-off between
	multiple quality attributes is hard. Even with a given functional
	design, many degrees of freedom in the software architecture (e.g.
	component deployment or server configuration) span a large design
	space. In current practice, software architects try to find good
	solutions manually, which is time-consuming, can be error-prone and
	can lead to suboptimal designs. We propose an automated approach
	guided by architectural tactics to search the design space for good
	solutions. Our approach applies multi-objective evolutionary optimization
	to software architectures modelled with the Palladio Component Model.
	Software architects can then make well-informed trade-off decisions
	and choose the best architecture for their situation. To validate
	our approach, we applied it to the architecture models of two systems,
	a business reporting system and an industrial control system from
	ABB. The approach was able to find meaningful trade-offs leading
	to significant performance improvements or costs savings. The novel
	use of tactics decreased the time needed to find good solutions by
	up to 80\%.},
	Acmid = {2000267},
	Author = {Koziolek, Anne and Koziolek, Heiko and Reussner, Ralf},
	Booktitle = {Joint proceedings of the Seventh International ACM SIGSOFT Conference on the Quality of Software Architectures and the 2nd ACM SIGSOFT International Symposium on Architecting Critical Systems (QoSA-ISARCS 2011)},
	Doi = {10.1145/2000259.2000267},
	Editor = {Ivica Crnkovic and Judith A. Stafford and Dorina C. Petriu and Jens Happe and Paola Inverardi},
	Isbn = {978-1-4503-0724-6},
	Keywords = {architectural tactics, costs, multi-objective optimization, optimization, performance, reliability, software architecture},
	Location = {Boulder, Colorado, USA},
	Numpages = {10},
	Pages = {33--42},
	Pdf = {http://sdqweb.ipd.kit.edu/publications/pdfs/koziolek2011f.pdf},
	Publisher = ACM,
	Title = {{PerOpteryx}: automated application of tactics in multi-objective software architecture optimization},
	Url = {http://qosa.ipd.kit.edu/qosa_2011/},
	Year = {2011},
	Bdsk-Url-1 = {http://qosa.ipd.kit.edu/qosa_2011/},
	Bdsk-Url-2 = {http://dx.doi.org/10.1145/2000259.2000267}}

Abstract

Designing software architectures that exhibit a good trade- off between multiple quality attributes is hard. Even with a given functional design, many degrees of freedom in the software architecture (e.g. component deployment or server configuration) span a large design space. In current prac- tice, software architects try to find good solutions manually, which is time-consuming, can be error-prone and can lead to suboptimal designs. We propose an automated approach guided by architectural tactics to search the design space for good solutions. Our approach applies multi-objective evo- lutionary optimization to software architectures modelled with the Palladio Component Model. Software architects can then make well-informed trade-off decisions and choose the best architecture for their situation. To validate our ap- proach, we applied it to the architecture models of two sys- tems, a business reporting system and an industrial control system fromABB. The approach was able to findmeaningful trade-offs leading to significant performance improvements or costs savings. The novel use of tactics decreased the time needed to find good solutions by up to 80%.

Eigene Zusammenfassung

  • Softwarearchitekturen erfahren einen großen Einfluss durch die Qualitätsattribute, wie zum Beispiel Performance, Reliability, Maintainability, Kosten oder Sicherheit.
  • Die letzten Jahre gab es immer wieder Ansätze, mit denen beispielsweise die Performance der Architektur analysiert werden konnte. Jedoch war das Verbessern der Architektur immer händische Arbeit des Softwarearchitekten.
  • Eine Softwarearchitektur, gerade bei großer und komplexer Software, ist ein fehleranfälliges und mühsames Prozedere. Dies rührt daher, dass dem Softwarearchitekten viel Freiheit gelassen wird.
  • Das Verbessern eines einzigen Qualitätsattribut kann zur Folge haben, dass sich ein anderes dadurch verschlechtert. Dies ist schwer für den Softwarearchitekten zu erkennen.
  • Es gibt regelbasierte und metaheuristische Ansätze:
    • Regelbasiert: Bekannte Taktiken, wie zum Beispiel das Entfernen des Flaschenhalses, werden so definiert, dass sie auf einem Architekturmodell ausgeführt werden können. Bisherige Ansätze, um den Architekten zu unterstützen, berücksichtigen nur ein Qualitätsattribut und lassen die anderen außer Acht.
    • Metaheuristisch: Das Verbessern der Architektur wird als Optimierungsproblem gesehen, auf das Optimierungsstrategien angewandt werden können. Bisherige Ansätze arbeiten auf einer Problemebene, die keine zusätzlichen domänenspezifischen Informationen enthalten.
  • Mit PerOpteryx sollen beide Ansätze zusammengebracht werden. Die Softwarearchitekten müssen nicht nach alternativen Lösungen händisch suchen, sie können stattdessen aus den automatisch erstellten Vorschlägen einen wählen, der den Qualitätsattributen ihrer Meinung nach am besten entspricht.

Notizen

Verweise