Design Obligations for Software, with Examples from Data Abstraction and Adaptive Systems

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.

Authors

Institutions

Publication Details

Published
2025-04-27
DOI
https://doi.org/10.1109/designing66910.2025.00016
Citations
1
Primary Topic
Advanced Database Systems and Queries
Type
article
Field-Weighted Citation Impact
1.49
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Design Obligations for Software, with Examples from Data Abstraction and Adaptive Systems

Mary Shaw
1 citations
Advanced Database Systems and Queries
1.49
article

Design Obligations for Software, with Examples from Data Abstraction and Adaptive Systems

Mary Shaw
article en
1 citations

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.

Carnegie Mellon University (US)
Openalex Percentile: Top 16%
Advanced Database Systems and Queries
1.49
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

Design Obligations for Software, with Examples from Data Abstraction and Adaptive Systems — Mary Shaw · (2025) | TGRS Research Map | TGRS