Trade-off-oriented Development


A Paradigm for Making Quality-Attribute Trade-offs First-Class

Implementing a solution for a design decision that precisely satisfies the trade-off between quality attributes can be extremely challenging. Further, typically trade-offs are not represented as first-class entities in development artifacts. Hence, decisions might be suboptimal and lack requirements traceability as well as changeability. We propose Trade-off-oriented Development (ToD), a new concept to automate the selection and integration of reusable implementations for a given design decision based on quality attribute trade-offs. Implementations that vary in quality attributes and that solve reoccurring design decisions are collected in a design decision library. Developers declaratively specify the quality attribute trade-off, which is then used to automatically select the best fitting implementation. We argue that thereby, software satisfies the trade-offs more precisely, requirements are traceable and changeable, and advances in implementations automatically improve existing software.

Cannot render svg
2019

Trade-off-Oriented Development - Making Quality Attribute Trade-offs First-Class

Tobias Dürschmid, Eunsuk Kang, and David Garlan
To appear in ICSE-NIER '19: ICSE New Ideas and Emerging Results 2019

Abstract, BibTeX, Preprint (PDF), Poster (PDF)

Implementing a solution for a design decision that precisely satisfies the trade-off between quality attributes can be extremely challenging. Further, typically trade-offs are not represented as first-class entities in development artifacts. Hence, decisions might be suboptimal and lack requirements traceability as well as changeability. We propose Trade-off-oriented Development (ToD), a new concept to automate the selection and integration of reusable implementations for a given design decision based on quality attribute trade-offs. Implementations that vary in quality attributes and that solve reoccurring design decisions are collected in a design decision library. Developers declaratively specify the quality attribute trade-off, which is then used to automatically select the best fitting implementation. We argue that thereby, software satisfies the trade-offs more precisely, requirements are traceable and changeable, and advances in implementations automatically improve existing software.

@inproceedings{Duerschmid2019TOD,
  author = {D\"{u}rschmid, Tobias and Kang, Eunsuk and Garlan, David},
  title = {Trade-off-Oriented Development -- Making Quality Attribute Trade-offs First-Class},
  booktitle = {Proceedings of the 41th International Conference on Software Engineering: New Ideas and Emerging Results Track},
  series = {ICSE-NIER '19},
  year = {2019},
  numpages = {4},
  publisher = {IEEE Press},
  address = {Piscataway, NJ, USA},
}