The Shlaer-Mellor lens

Recursive design as accessibility. Bridged semantic information domains rendered concrete by a model compiler for given user-and-environment constraints. The methodological substrate beneath everything else on this page.

The structural claim

Accessibility is a recursive-design problem. That is: it has the same shape as the problem Shlaer-Mellor Object-Oriented Analysis and Design was built to solve — bridged semantic information domains rendered concrete by a model compiler for given platform constraints.

In Shlaer-Mellor, you analyse a system as a collection of independent-but-related problem domains, each with its own subject matter, joined by formal bridges that map counterparts between the bridged domains. The abstract analysis is then translated (not elaborated) into a concrete realisation for a specific platform (defined by populated counterpart tables) via a model compiler. Same domains, different concrete realisations for different targets — that is recursive design.

Accessibility has the same structure with different vocabulary. The domains are content-semantics, navigation, modality (visual / sonic / haptic), user capability, device capacity, environment, custom-and-practice. The “platform” you are targeting is the user-plus-environment. The model compiler is the adaptation system that selects appropriate inventory and presentation for that user-and-environment context.

Functional accessibility is achieving one successful traversal of the bridges to land on a usable concrete realisation. Intrinsic accessibility is the property of an underlying interface that admits many such traversals for many user-platforms.

The forty-year lineage

This is not retrospective rationalisation. The lens has been the central engineering vocabulary across four decades and four problem domains:

  • Forth at Metal Box (1984–89). The threaded-interpreter execution model that, twenty-five years later, became how the PhD’s Action Language runtime executed.
  • Shlaer-Mellor from 1989 onward. OOA/D, domain charts, bridges, assigner state models, subtyping with role migration, action specification languages, model compilation.
  • Ascom AG (1994–96). SM in production with Tcl simulation. A bridge-extension contribution from this period — describing inter-domain dependencies as sequences of interactions across domain boundaries — was carried into the thesis methodology.
  • Nokia Mobile (1997–2001). Adaptive UIs as recursive design. Self-adapting interfaces moving across devices of varying capability.
  • PhD (2004–13). SM applied explicitly to accessibility, with the bridge-composition contribution and the Forth-style threaded-interpreter Action Language execution engine.
  • Paradise (current). The ActionLanguage intermediate representation (IR) for source-level accessibility analysis. The same shape again.

One continuous engineering project, applied to four problem domains.

Specific mappings to accessibility

  • Domain charts → the CISNA five-layer model (Adaptation / Navigation / Semantics / Inventory / External Content), with peer relationships between domains rather than the canonical SM client-server hierarchy.
  • Bridges between domains→ Inventory↔Semantics and Semantics↔Navigation in CISNA, expressing how meaning composes upward from raw content to adapted presentation.
  • Assigner state models for resource competition → modality-channel competition (audio channel: incoming-call earcon vs. new-message earcon vs. voice-note recording).
  • Subtyping with role migration (disjoint-complete) → transcoding sequences. A notification migrates Announcing → Dwelling → Expiring while remaining the same notification, with adapted forms of each state for different modalities.
  • State Transition Tableswith “Can’t Happen” and “Ignore” entries → user-capability-specific exception handling expressed per user profile.
  • Action Specification Language→ the Action Language XML notation, with Forth-style threaded-interpreter execution.

Reading on