Design Obligations for Software, with Examples from Data Abstraction and Adaptive Systems
March 06, 2025 Β· Declared Dead Β· π 2025 IEEE/ACM International Workshop on Designing Software (Designing)
"No code URL or promise found in abstract"
Evidence collected by the PWNC Scanner
Authors
Mary Shaw
arXiv ID
2503.04022
Category
cs.SE: Software Engineering
Citations
2
Venue
2025 IEEE/ACM International Workshop on Designing Software (Designing)
Last Checked
4 months ago
Abstract
Producing a good software design involves not only writing a definition that satisfies the syntax of the chosen language or structural constraints of a design paradigm. It also involves upholding a variety of expectations about the behavior of the system: the semantic expectations. These expectations may apply not only at the code level, but also to more abstract system structures such as software architectures. Such high-level design paradigms provide a vocabulary of components or other constructs and ways to compose those constructs, but not all expressible designs are well-formed, and even well-formed designs may fail to satisfy the expectations of the paradigm. Unfortunately, these expectations are often implicit or documented only informally, so they are challenging to discover, let alone uphold. They may for example, require correct use of complex structures, internal consistency, compliance with external standards, adherence with design principles, etc. Further, the reasons for design decisions that uphold these expectations are often not explicit in the code or other representation of the system. I introduce the idea of 'design obligations', which are constraints on allowable designs within a given design paradigm that help to assure appropriate use of the paradigm. To illustrate this idea, I discuss design obligations for two paradigms: data abstraction and a class of adaptive based on feedback control.
Community Contributions
Found the code? Know the venue? Think something is wrong? Let us know!
π Similar Papers
In the same crypt β Software Engineering
R.I.P.
π»
Ghosted
R.I.P.
π»
Ghosted
Microservices: yesterday, today, and tomorrow
π
π
The Cartographer
A Survey of Machine Learning for Big Code and Naturalness
R.I.P.
π»
Ghosted
An Overview on Smart Contracts: Challenges, Advances and Platforms
R.I.P.
π»
Ghosted
Slither: A Static Analysis Framework For Smart Contracts
R.I.P.
π»
Ghosted
ContractFuzzer: Fuzzing Smart Contracts for Vulnerability Detection
Died the same way β π» Ghosted
R.I.P.
π»
Ghosted
Federated Learning: Strategies for Improving Communication Efficiency
R.I.P.
π»
Ghosted
In-Datacenter Performance Analysis of a Tensor Processing Unit
R.I.P.
π»
Ghosted
Deep Convolutional Neural Networks for Computer-Aided Detection: CNN Architectures, Dataset Characteristics and Transfer Learning
R.I.P.
π»
Ghosted