Abstractness, specificity, and complexity in software design

AI-generated keywords: Abstraction Software Design Complexity Specificity Genericity

AI-generated Key Points

The license of the paper does not allow us to build upon its content and the key points are generated using the paper metadata rather than the full article.

  • Abstraction is a fundamental concept in software design
  • Determines appropriate level of abstraction for different components within a software system
  • Two types of abstraction introduced with impact on artifact specificity and complexity
  • Roles played by abstractions in software design are explored
  • Different levels of abstraction can influence the overall design process
  • Implications of findings on various software design activities discussed
  • Research contributes to advancing understanding of abstraction in software design
  • Shed light on nuanced effects on artifact specificity and complexity
  • Valuable resource for practitioners seeking to optimize their approach to designing complex software systems
Also access our AI generated: Comprehensive summary, Lay summary, Blog-like article; or ask questions about this paper to our AI assistant.

Authors: Stefan Wagner, Florian Deissenboeck

Proceedings of the 2nd International Workshop on The Role of Abstraction in Software Engineering (ROA '08), pages 35-42, ACM, 2008
8 pages, 3 figures

Abstract: Abstraction is one of the fundamental concepts of software design. Consequently, the determination of an appropriate abstraction level for the multitude of artefacts that form a software system is an integral part of software engineering. However, the very nature of abstraction in software design and particularly its interrelation with equally important concepts like complexity, specificity or genericity are not fully understood today. As a step towards a better understanding of the trade-offs involved, this paper proposes a distinction of abstraction into two types that have different effects on the specificity and the complexity of artefacts. We discuss the roles of the two types of abstraction in software design and explain the interrelations between abstractness, specificity, and complexity. Furthermore, we illustrate the benefit of the proposed distinction with multiple examples and describe consequences of our findings for software design activities.

Submitted to arXiv on 05 Sep. 2017

Ask questions about this paper to our AI assistant

You can also chat with multiple papers at once here.

The license of the paper does not allow us to build upon its content and the AI assistant only knows about the paper metadata rather than the full article.

AI assistant instructions?

Results of the summarizing process for the arXiv paper: 1709.01304v1

This paper's license doesn't allow us to build upon its content and the summarizing process is here made with the paper's metadata rather than the article.

Abstraction is a fundamental concept in software design that plays a crucial role in determining the appropriate level of abstraction for different components within a software system. However, its intricate nature and relationship with complexity, specificity, and genericity are not fully understood in the field of software engineering. To address this gap in knowledge, this paper introduces a novel distinction between two types of abstraction and their impact on artifact specificity and complexity. Authors Stefan Wagner and Florian Deissenboeck delve into the roles played by these abstractions in software design and elucidate their interconnectedness. By providing examples to illustrate their proposed distinction, they offer valuable insights into how different levels of abstraction can influence the overall design process. Furthermore, they discuss the implications of their findings on various software design activities. This research contributes significantly to advancing our understanding of abstraction in software design by highlighting its nuanced effects on artifact specificity and complexity. By shedding light on these relationships, the authors pave the way for more informed decision-making in software engineering practices. The findings presented in this paper serve as a valuable resource for practitioners seeking to optimize their approach to designing complex software systems.
Created on 17 May. 2025

Assess the quality of the AI-generated content by voting

Score: 0

Why do we need votes?

Votes are used to determine whether we need to re-run our summarizing tools. If the count reaches -10, our tools can be restarted.

Similar papers summarized with our AI tools

Navigate through even more similar papers through a

tree representation

Look for similar papers (in beta version)

By clicking on the button above, our algorithm will scan all papers in our database to find the closest based on the contents of the full papers and not just on metadata. Please note that it only works for papers that we have generated summaries for and you can rerun it from time to time to get a more accurate result while our database grows.

Disclaimer: The AI-based summarization tool and virtual assistant provided on this website may not always provide accurate and complete summaries or responses. We encourage you to carefully review and evaluate the generated content to ensure its quality and relevance to your needs.