Title: Beyond the Object
1Beyond the Object
2Design After Modernism Beyond the Object John
Thackara, 1988 Major shifts in technology and
in society have brought about strategic changes
in design. The idea of continuous, computer-led
innovation and of information-based products
appears to challenge the fixed principles that
guided modernist design.
The Walking Office, Iavicoli and Rossi, 1984
3Design, Object-Oriented...
- Goals of design
- To meet a need / solve a problem
- To do so economically
- To do so in a pleasing way
- To support evolution
- Do objects do that?
4Objects Echos of modernism
- Technology is good
- Language games (like James Joyce novels) and
free verse (not structured) - OO Interfaces Art Nouveau?
- The automation craze
5Is there any reason objects should work?
- The mind-works-that-way argument
- Wrong Lakoffs metaphors, not classification
- The nature-works-that-way argument
- Wrong Piecemeal growth, not modularity
- The but-it-supports-evolution argument
- Wrong There are no broad, compelling data
- but it does work, sometimes
6A post-modern response Patterns
- Restoring the human element
- Systems thinking / ecosystems
- Software community varies
- Most get the essence but not the substance
- Most get the mechanics but not the essence
- A few barely have a confused image
- Prognosis A foreign post-modern presence adapted
to a modernist world
7A more balanced stage
- We are entering a post-industrial age in which
things will be less valuable than ideas
Thackara, October 1987 - Systems whose properties (aspects,
variabilities), not pieces (objects), are key - As art deco did for crafts, so this new era is
doing for OO software
8Enter Multi-Paradigm Design
- First explicitly embraced by Budd
- MPD in C
- Analyze domainsdont find objects
- Application domain analysis (shape of
problem)understanding the broad need - Solution domain analysis (shape of solutions)the
responsibility of the technology - Match em up
9Why MPD?
- Because thats how good C developers really
work theres nothing new here! - Because thats how Stroustrup intended it to
work, but no one got the joke - Because objects just arent enough
- A post-modern approach to design no automation,
technology just as part of the system
10What is MPD?
Solution Domain
Problem Domain
R E L ATIONSHI P
Commalities/ Variabilities
Commalities/ Variabilities
Problem Domain
Commalities/ Variabilities
Align
Problem Domain
Commalities/ Variabilities
A Design
11Commonality
Variability
Binding
Instantiation
C Feature
Fine algorithm structure Other algorithm structure
Everything else
Source
Template
n/a
Function Name and Semantics
Compile
ifdef
n/a
Compile
Overloading
n/a
Struct, simple types enum Template
Value of State A small set of values Types,
values, and State
Run time
Yes
Data Structure
Yes
Run time
Source
Yes
Value of State
Source
No
Module
Value of State
Source
Yes
struct, class
Related Operations and Some Structure
Data Structure and State
Compile
Optional
Inheritance
Algorithm, Data Structure and State
Compile
Optional
Inheritance
Run
Optional
Virtual Functions
12Objects compared to MPD
13And, at about the same time...
- Generative Programming Czarnecki, Eisenecker
- Aspect-Oriented Programming, Kiczales and Lopes
- Intensional Programming,
14Generative Programming
- Analyzing dependencies, relationships
architecture! - Conceptual modeling objects are a solution
domain construct (ideas are more important than
things) - Domain engineering
- Automatic translation (shades of modernism)
15Aspect-Oriented Programming
- The goal of this work is to develop an effective
way of handling software systems in which there
are issues of importance that are not easy (or
even possible) to localize to a single module.
Examples of such issues include
synchronization, resource sharing, error handling
and application look and feel.
16Intensional Programming
- Intensional Programing is especialy suited to
application domains where the notion of dynamic
change is central Orgun and Ashcroft
17Whats going on here?
- Modules (objects) dont work!
- Beyond Cartesian reductionism to holism a real
paradigm shift - Change Postmodernism has one central theme,
the disappearance of a sense of history to
live in a perpetual present and in a perpetual
change that obliterates tradition.
18At a threshhold
- Obiects had their chance lets move on
- Patterns can eventually grow to system thinking,
but were not there yet - IP, GP, MPD, AOP all break down the classic
Cartesian hierarchy - We are at the threshold of an evolution