SlideShare a Scribd company logo
THIS WORK
THE DIGITAL
MACHINE
Transforming Systems to Software
Tim Sheiner
Systems Class Visit 2015
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
A system is an interconnected set of
elements that is coherently organized
in a way that achieves something.
2
Donella Meadows, Thinking in Systems
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
A System has
3
Elements
Connections
Purpose.
A
B C
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
And State.
4
state
A
B C
State describes what is
currently true about the
objects and relationships in
the system.
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
Dynamic Systems Change State.
5
state’
time
A
B C
A
B C
state
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
This is important:
6
dynamics systems change state.
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
State Change == Purpose
7
state’
time
state
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
Software version
8
state’
time
state
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
HOW?
9
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
MODELS
10
make it possible.
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
MODELS
11
let us talk about complicated things.
12
Dubberly, Models of Models, 2009
12
Dubberly, Models of Models, 2009
Models let me put
my ideas in your head
Models let me put
my ideas in your head
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
All models are wrong
13
but some are useful.
George P. Box
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
A useful model for
making software
14
The Digital Machine
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
15
designer
developer
Software
User Process
Observational
Model
Algorithmic
Model
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
16
Software
User Process
Algorithmic
Model
Observational
Model
designer
developer
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
16
Software
User Process
Algorithmic
Model
Observational
Model
designer
developer
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
17
Observational
Model
Algorithmic
Model
Digital Machine
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
18
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
18
interaction model
object model
data model
persona model
conceptual model
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
19
interaction model
object model
data model
persona model
conceptual model
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
19
interaction model
object model
data model
persona model
conceptual model
what is the purpose?
who is it for?
how do I use it?
what are the elements?
how is state managed?
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
20
conceptual
model
output
input
interaction
model
storage
logic
object model
data modelpersona
model
{ }name:value
name:value
name:value
the digital machine
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
Value of the Digital Machine
21
conceptual
model
output
input
interaction
model
storage
logic
object model
data modelpersona
model
{ }
name:value
name:value
name:value
1. It is a collaboration
2. The models can be iterated
separately, for a time,
without losing sight of the
whole
3. There is a model for every
stakeholder’s point of view
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
THE MODELS
22
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
The Conceptual Model
23
for understanding the purpose.
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
24
conceptual
model
output
input
interaction
model
storage
logic
object model
data modelpersona
model
{ }name:value
name:value
name:value
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
Conceptual Model
25
is a about purpose
For target customers
Who have a particular need
This product is a category of solution
That provides a key benefit
Unlike the competition
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
Conceptual Model
1. Defines purpose: what problem gets solved for whom
2. Identifies value & utility
3. Does not describe use cases, interface or implementation
26
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
The Persona Model
27
describes behavior.
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
28
conceptual
model
output
input
interaction
model
storage
logic
object model
data modelpersona
model
{ }name:value
name:value
name:value
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
Persona Model
29
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
Persona Model
1. Is a model of human behavior, goals and emotions
2. The most established design practice model with lots of
literature and examples
3. Derives communication power from natural human instinct
for empathy
4. The more real the representation the more effective the
consensus
30
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
The Interaction Model
31
for how to change state.
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
32
conceptual
model
output
input
interaction
model
storage
logic
object model
data modelpersona
model
{ }name:value
name:value
name:value
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
By a state of a system is meant any well-
defined condition or property that can be
recognized if it occurs again. Every system
will naturally have many possible states.
33
Ashby, An Introduction to Cybernetics, 1956
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
How Do I Change State?
The interaction model defines how to manipulate system
state
1. how do I interact with the system?
2. what are the workflows?
3. how do inputs become outputs?
4. how do I get feedback that the state has changed?
34
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
What is Interaction?
35
action
feedback
System
input
output
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
Interaction Changes State
36
action
input
output
feedback
A
B C
A
B C
state’
state
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
Object Change is System Change
37
state’
time
A
B C
A
B C
state
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
System Change is a Flow
38
A B
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
Each Step is a State Change
39
B C
D E
A
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
Each Step is a State Change
40
A B C
D E
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
Each Step is a State Change
41
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
The Interaction Model is a Process Story
42
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
The Interaction Model is a Process Story
42
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
The Interaction Model is a Process Story
42
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
The Interaction Model is a Process Story
42
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
The Interaction Model is a Process Story
42
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
Interaction Model
1. The easiest model for people to connect with (and the one
everyone has an opinion about)
2. Maps inputs to outputs
3. Organized into workflows
4. Defines process by which a system changes state
43
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
The Object Model
44
describes the positions and the players.
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
45
conceptual
model
output
input
interaction
model
storage
logic
object model
data modelpersona
model
{ }name:value
name:value
name:value
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
Design a game
46
about riding a bicycle.
47
47
48
48
handle bar
handle
grip
handgrip
control
?grip
48
grip
49
grip
49
rotation
grip
49
X
rotation
grip
49
rotation
grip
inclination
49
rotation
grip
inclination
gravity
50
gravity
rotation
inclination
grip
50
gravity
rotation
inclination
grip
50
gravity
rotation
inclination
grip
transportation!
50
gravity
destination
rotation
inclination
grip
transportation!
50
gravity
destinationorigin
rotation
inclination
grip
transportation!
50
gravity
destinationorigin
position
rotation
inclination
grip
transportation!
50
gravity
destinationorigin
position
trip
rotation
inclination
grip
transportation!
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
trip
Object Model
51
vehicle
origin
destination
bicyclerider
grip
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
Object Model
1. The elements and relationships of the system that work
together to achieve purpose.
2. The most personal and the most confusing.
3. Describes concepts, their capabilities and their relationships.
4. Names matter. A lot.
52
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
trip
Object Model
53
vehicle
origin
destination
bicyclerider
position
rotation
inclination
grip
What about the properties?
How is state retained?
(system)dt
d
state change =
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
The Data Model
54
identifies the object properties.
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
55
conceptual
model
output
input
interaction
model
storage
logic
object model
data modelpersona
model
{ }name:value
name:value
name:value
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
WHAT IS DATA?
56
(in the software context)
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
name : value
57
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
lat : '37.78'
58
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
59
	
   	
  
	
   	
   position	
  :	
  {	
  
	
   	
   	
   lat	
  :	
  '37.78',	
  long	
  :	
  '-­‐122.42'	
  
	
   	
   }	
  
	
   	
   	
  
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
59
a set of name : value
pairs defines object
state
	
   	
  
	
   	
   position	
  :	
  {	
  
	
   	
   	
   lat	
  :	
  '37.78',	
  long	
  :	
  '-­‐122.42'	
  
	
   	
   }	
  
	
   	
   	
  
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
60
trip
vehicle
origin
destination
bicyclerider
grip
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
bikeTrip	
  =	
  {	
  
	
   vehicle	
  :	
  {	
  
	
   	
   rider	
  :	
  {	
  
	
   	
   	
   name	
  :	
  'Kyle'	
  
	
   	
   },	
  
	
   	
   bicycle	
  :	
  {	
  
	
   	
   	
   grip	
  :	
  {	
  
	
   	
   	
   	
   rotation	
  :	
  '12',	
  inclination	
  :	
  '3'	
  
	
   	
   	
   }	
  
	
   	
   },	
  
	
   	
   position	
  :	
  {	
  
	
   	
   	
   lat	
  :	
  '37.78',	
  long	
  :	
  '-­‐122.42'	
  
	
   	
   },	
  
	
   },	
  
	
   origin	
  :	
  {	
  
	
   	
   name	
  :	
  'San	
  Francisco',	
  
	
   	
   position	
  :	
  {	
  
	
   	
   	
   lat	
  :	
  '37.78',	
  long	
  :	
  '-­‐122.42'	
  
	
   	
   },	
  
	
   destination	
  :	
  {	
  
	
   	
   name	
  :	
  'Los	
  Angeles',	
  
	
   	
   position	
  :	
  {	
  
	
   	
   	
   lat	
  :	
  '34.05',	
  long	
  :	
  '-­‐118.24'	
  
	
   	
   }	
   	
  
}
60
a set of object
states defines
system state
trip
vehicle
origin
destination
bicyclerider
grip
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
Value Change == State Change == Purpose
61
state’
time
state
position	
  :	
  {	
  
lat	
  :	
  '37.78',	
  long	
  :	
  '-­‐122.42'	
  
}
position	
  :	
  {	
  
lat	
  :	
  '34.05',	
  long	
  :	
  '-­‐118.24'	
  
}
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
bikeTrip	
  =	
  {	
  
	
   	
   position	
  :	
  {	
  
	
   	
   	
   lat	
  :	
  '	
  	
  	
  	
  	
  ',	
  long	
  :	
  '	
  	
  	
  	
  	
  	
  	
  '	
  
	
   	
   }	
   	
  
}
37.78 -­‐122.42
62
(system)dt
d
state change =
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
bikeTrip	
  =	
  {	
  
	
   	
   position	
  :	
  {	
  
	
   	
   	
   lat	
  :	
  '	
  	
  	
  	
  	
  ',	
  long	
  :	
  '	
  	
  	
  	
  	
  	
  	
  '	
  
	
   	
   }	
   	
  
}
37.78 -­‐122.42
62
(system)dt
d
state change =
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
bikeTrip	
  =	
  {	
  
	
   	
   position	
  :	
  {	
  
	
   	
   	
   lat	
  :	
  '	
  	
  	
  	
  	
  ',	
  long	
  :	
  '	
  	
  	
  	
  	
  	
  	
  '	
  
	
   	
   }	
   	
  
}
37.78 -­‐122.42
62
interaction model
(system)dt
d
state change =
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
bikeTrip	
  =	
  {	
  
	
   	
   position	
  :	
  {	
  
	
   	
   	
   lat	
  :	
  '	
  	
  	
  	
  	
  ',	
  long	
  :	
  '	
  	
  	
  	
  	
  	
  	
  '	
  
	
   	
   }	
   	
  
}
62
34.05 -­‐118.24
interaction model
(system)dt
d
state change =
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
Data Model Defines State
63
The names do not change.
The values change to reflect system state.
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
Data Model
1. The atomic structure is name:value pairs
2. A set of name:value pairs defines object state
3. A set of object states defines system state
4. The data model, therefore, defines what can read or written
5. Or more simply, what can be changed
64
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
65
conceptual
model
output
input
interaction
model
storage
logic
object model
data model
persona
model
{ }name:value
name:value
name:value
the digital machine
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
66
conceptual
model
output
input
interaction
model
storage
logic
object model
data model
persona
model
{ }name:value
name:value
name:value
Software
User Process
Observational
Model
Algorithmic Model
the digital machine
THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES
FIN
67

More Related Content

PDF
BrightEdge Share15 - CM202: Content Marketing Models: Content Mix - Whitney P...
PPTX
The Harvest Digital Guide to Attribution Modelling
PPT
Switching from relational to the graph model
PDF
Digital marketing ROI - An introduction to attribution modelling
PPTX
Multi Channel Attribution - Driving Marketing Spend Planning In The Big Data Age
PDF
The Conceptual Model
PDF
The Interaction Model
PPTX
System Modelling
BrightEdge Share15 - CM202: Content Marketing Models: Content Mix - Whitney P...
The Harvest Digital Guide to Attribution Modelling
Switching from relational to the graph model
Digital marketing ROI - An introduction to attribution modelling
Multi Channel Attribution - Driving Marketing Spend Planning In The Big Data Age
The Conceptual Model
The Interaction Model
System Modelling

Similar to The Digital Machine - Transforming Systems to Software (20)

PPT
Jar chapter 4, part 1
PDF
critical perspective on conceptual models in enterprise architecture
PPT
Modeling System Requirements
PPT
oomd-unit-i-cgpa.ppt
PDF
Software engineering ,system modeing >>Abu ul hassan sahadvi
PDF
Systemprocessing 160107234141
PDF
Introduction to UML
PDF
chapter_03_5e.pdf
PPT
Introduction to Object orientation , Modeling as a Design Technique Modeling ...
PPTX
Module 2 17CS45
PDF
PPTX
conceptual models of interaction (Human Computer interaction)
PPTX
Software Architecture Standard IEEE 1471
PDF
Meetup 11 here&now_megatriscomp design methodpartii_v0.2
PDF
Udforskning af problem gennem forslag til dets løsning
PPT
09 introduction to_modeling
PPTX
Object oriented modeling and design
PDF
2. Enterprise and Business Architecture Cloud Video Data
KEY
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
PPT
Discuss systems
Jar chapter 4, part 1
critical perspective on conceptual models in enterprise architecture
Modeling System Requirements
oomd-unit-i-cgpa.ppt
Software engineering ,system modeing >>Abu ul hassan sahadvi
Systemprocessing 160107234141
Introduction to UML
chapter_03_5e.pdf
Introduction to Object orientation , Modeling as a Design Technique Modeling ...
Module 2 17CS45
conceptual models of interaction (Human Computer interaction)
Software Architecture Standard IEEE 1471
Meetup 11 here&now_megatriscomp design methodpartii_v0.2
Udforskning af problem gennem forslag til dets løsning
09 introduction to_modeling
Object oriented modeling and design
2. Enterprise and Business Architecture Cloud Video Data
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Discuss systems
Ad

More from Tim Sheiner (7)

PDF
When UX (guy) Meets Operations
PDF
The Data Model
PDF
The Object Model
PDF
From Systems to Software
PDF
Visualizing Systems
PDF
System Diagramming Basics
PDF
What is a system?
When UX (guy) Meets Operations
The Data Model
The Object Model
From Systems to Software
Visualizing Systems
System Diagramming Basics
What is a system?
Ad

Recently uploaded (20)

PPTX
rapid fire quiz in your house is your india.pptx
PPTX
Entrepreneur intro, origin, process, method
PDF
Chalkpiece Annual Report from 2019 To 2025
PPTX
Introduction to Building Information Modeling
PDF
Urban Design Final Project-Context
PPTX
DOC-20250430-WA0014._20250714_235747_0000.pptx
PPTX
Tenders & Contracts Works _ Services Afzal.pptx
PPTX
Causes of Flooding by Slidesgo sdnl;asnjdl;asj.pptx
PPTX
22CDH01-V3-UNIT-I INTRODUCITON TO EXTENDED REALITY
PPTX
Orthtotics presentation regarding physcial therapy
PDF
Architecture Design Portfolio- VICTOR OKUTU
PPTX
Media And Information Literacy for Grade 12
PDF
321 LIBRARY DESIGN.pdf43354445t6556t5656
PDF
SOUND-NOTE-ARCHITECT-MOHIUDDIN AKHAND SMUCT
PDF
ART & DESIGN HISTORY OF VEDIC CIVILISATION.pdf
PDF
GSH-Vicky1-Complete-Plans on Housing.pdf
PDF
UNIT 1 Introduction fnfbbfhfhfbdhdbdto Java.pptx.pdf
PPTX
Presentation.pptx anemia in pregnancy in
PDF
Strengthening Tamil Identity A. Swami Durai’s Legacy
PPT
aksharma-dfs.pptgfgfgdfgdgdfgdfgdgdrgdgdgdgdgdgadgdgd
rapid fire quiz in your house is your india.pptx
Entrepreneur intro, origin, process, method
Chalkpiece Annual Report from 2019 To 2025
Introduction to Building Information Modeling
Urban Design Final Project-Context
DOC-20250430-WA0014._20250714_235747_0000.pptx
Tenders & Contracts Works _ Services Afzal.pptx
Causes of Flooding by Slidesgo sdnl;asnjdl;asj.pptx
22CDH01-V3-UNIT-I INTRODUCITON TO EXTENDED REALITY
Orthtotics presentation regarding physcial therapy
Architecture Design Portfolio- VICTOR OKUTU
Media And Information Literacy for Grade 12
321 LIBRARY DESIGN.pdf43354445t6556t5656
SOUND-NOTE-ARCHITECT-MOHIUDDIN AKHAND SMUCT
ART & DESIGN HISTORY OF VEDIC CIVILISATION.pdf
GSH-Vicky1-Complete-Plans on Housing.pdf
UNIT 1 Introduction fnfbbfhfhfbdhdbdto Java.pptx.pdf
Presentation.pptx anemia in pregnancy in
Strengthening Tamil Identity A. Swami Durai’s Legacy
aksharma-dfs.pptgfgfgdfgdgdfgdfgdgdrgdgdgdgdgdgadgdgd

The Digital Machine - Transforming Systems to Software

  • 1. THIS WORK THE DIGITAL MACHINE Transforming Systems to Software Tim Sheiner Systems Class Visit 2015
  • 2. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES A system is an interconnected set of elements that is coherently organized in a way that achieves something. 2 Donella Meadows, Thinking in Systems
  • 3. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES A System has 3 Elements Connections Purpose. A B C
  • 4. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES And State. 4 state A B C State describes what is currently true about the objects and relationships in the system.
  • 5. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES Dynamic Systems Change State. 5 state’ time A B C A B C state
  • 6. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES This is important: 6 dynamics systems change state.
  • 7. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES State Change == Purpose 7 state’ time state
  • 8. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES Software version 8 state’ time state
  • 9. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES HOW? 9
  • 10. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES MODELS 10 make it possible.
  • 11. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES MODELS 11 let us talk about complicated things.
  • 12. 12 Dubberly, Models of Models, 2009
  • 13. 12 Dubberly, Models of Models, 2009 Models let me put my ideas in your head Models let me put my ideas in your head
  • 14. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES All models are wrong 13 but some are useful. George P. Box
  • 15. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES A useful model for making software 14 The Digital Machine
  • 16. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES 15 designer developer Software User Process Observational Model Algorithmic Model
  • 17. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES 16 Software User Process Algorithmic Model Observational Model designer developer
  • 18. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES 16 Software User Process Algorithmic Model Observational Model designer developer
  • 19. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES 17 Observational Model Algorithmic Model Digital Machine
  • 20. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES 18
  • 21. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES 18 interaction model object model data model persona model conceptual model
  • 22. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES 19 interaction model object model data model persona model conceptual model
  • 23. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES 19 interaction model object model data model persona model conceptual model what is the purpose? who is it for? how do I use it? what are the elements? how is state managed?
  • 24. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES 20 conceptual model output input interaction model storage logic object model data modelpersona model { }name:value name:value name:value the digital machine
  • 25. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES Value of the Digital Machine 21 conceptual model output input interaction model storage logic object model data modelpersona model { } name:value name:value name:value 1. It is a collaboration 2. The models can be iterated separately, for a time, without losing sight of the whole 3. There is a model for every stakeholder’s point of view
  • 26. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES THE MODELS 22
  • 27. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES The Conceptual Model 23 for understanding the purpose.
  • 28. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES 24 conceptual model output input interaction model storage logic object model data modelpersona model { }name:value name:value name:value
  • 29. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES Conceptual Model 25 is a about purpose For target customers Who have a particular need This product is a category of solution That provides a key benefit Unlike the competition
  • 30. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES Conceptual Model 1. Defines purpose: what problem gets solved for whom 2. Identifies value & utility 3. Does not describe use cases, interface or implementation 26
  • 31. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES The Persona Model 27 describes behavior.
  • 32. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES 28 conceptual model output input interaction model storage logic object model data modelpersona model { }name:value name:value name:value
  • 33. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES Persona Model 29
  • 34. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES Persona Model 1. Is a model of human behavior, goals and emotions 2. The most established design practice model with lots of literature and examples 3. Derives communication power from natural human instinct for empathy 4. The more real the representation the more effective the consensus 30
  • 35. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES The Interaction Model 31 for how to change state.
  • 36. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES 32 conceptual model output input interaction model storage logic object model data modelpersona model { }name:value name:value name:value
  • 37. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES By a state of a system is meant any well- defined condition or property that can be recognized if it occurs again. Every system will naturally have many possible states. 33 Ashby, An Introduction to Cybernetics, 1956
  • 38. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES How Do I Change State? The interaction model defines how to manipulate system state 1. how do I interact with the system? 2. what are the workflows? 3. how do inputs become outputs? 4. how do I get feedback that the state has changed? 34
  • 39. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES What is Interaction? 35 action feedback System input output
  • 40. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES Interaction Changes State 36 action input output feedback A B C A B C state’ state
  • 41. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES Object Change is System Change 37 state’ time A B C A B C state
  • 42. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES System Change is a Flow 38 A B
  • 43. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES Each Step is a State Change 39 B C D E A
  • 44. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES Each Step is a State Change 40 A B C D E
  • 45. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES Each Step is a State Change 41
  • 46. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES The Interaction Model is a Process Story 42
  • 47. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES The Interaction Model is a Process Story 42
  • 48. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES The Interaction Model is a Process Story 42
  • 49. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES The Interaction Model is a Process Story 42
  • 50. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES The Interaction Model is a Process Story 42
  • 51. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES Interaction Model 1. The easiest model for people to connect with (and the one everyone has an opinion about) 2. Maps inputs to outputs 3. Organized into workflows 4. Defines process by which a system changes state 43
  • 52. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES The Object Model 44 describes the positions and the players.
  • 53. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES 45 conceptual model output input interaction model storage logic object model data modelpersona model { }name:value name:value name:value
  • 54. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES Design a game 46 about riding a bicycle.
  • 55. 47
  • 56. 47
  • 57. 48
  • 72. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES trip Object Model 51 vehicle origin destination bicyclerider grip
  • 73. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES Object Model 1. The elements and relationships of the system that work together to achieve purpose. 2. The most personal and the most confusing. 3. Describes concepts, their capabilities and their relationships. 4. Names matter. A lot. 52
  • 74. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES trip Object Model 53 vehicle origin destination bicyclerider position rotation inclination grip What about the properties? How is state retained? (system)dt d state change =
  • 75. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES The Data Model 54 identifies the object properties.
  • 76. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES 55 conceptual model output input interaction model storage logic object model data modelpersona model { }name:value name:value name:value
  • 77. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES WHAT IS DATA? 56 (in the software context)
  • 78. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES name : value 57
  • 79. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES lat : '37.78' 58
  • 80. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES 59         position  :  {         lat  :  '37.78',  long  :  '-­‐122.42'       }        
  • 81. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES 59 a set of name : value pairs defines object state         position  :  {         lat  :  '37.78',  long  :  '-­‐122.42'       }        
  • 82. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES 60 trip vehicle origin destination bicyclerider grip
  • 83. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES bikeTrip  =  {     vehicle  :  {       rider  :  {         name  :  'Kyle'       },       bicycle  :  {         grip  :  {           rotation  :  '12',  inclination  :  '3'         }       },       position  :  {         lat  :  '37.78',  long  :  '-­‐122.42'       },     },     origin  :  {       name  :  'San  Francisco',       position  :  {         lat  :  '37.78',  long  :  '-­‐122.42'       },     destination  :  {       name  :  'Los  Angeles',       position  :  {         lat  :  '34.05',  long  :  '-­‐118.24'       }     } 60 a set of object states defines system state trip vehicle origin destination bicyclerider grip
  • 84. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES Value Change == State Change == Purpose 61 state’ time state position  :  {   lat  :  '37.78',  long  :  '-­‐122.42'   } position  :  {   lat  :  '34.05',  long  :  '-­‐118.24'   }
  • 85. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES bikeTrip  =  {       position  :  {         lat  :  '          ',  long  :  '              '       }     } 37.78 -­‐122.42 62 (system)dt d state change =
  • 86. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES bikeTrip  =  {       position  :  {         lat  :  '          ',  long  :  '              '       }     } 37.78 -­‐122.42 62 (system)dt d state change =
  • 87. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES bikeTrip  =  {       position  :  {         lat  :  '          ',  long  :  '              '       }     } 37.78 -­‐122.42 62 interaction model (system)dt d state change =
  • 88. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES bikeTrip  =  {       position  :  {         lat  :  '          ',  long  :  '              '       }     } 62 34.05 -­‐118.24 interaction model (system)dt d state change =
  • 89. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES Data Model Defines State 63 The names do not change. The values change to reflect system state.
  • 90. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES Data Model 1. The atomic structure is name:value pairs 2. A set of name:value pairs defines object state 3. A set of object states defines system state 4. The data model, therefore, defines what can read or written 5. Or more simply, what can be changed 64
  • 91. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES 65 conceptual model output input interaction model storage logic object model data model persona model { }name:value name:value name:value the digital machine
  • 92. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES 66 conceptual model output input interaction model storage logic object model data model persona model { }name:value name:value name:value Software User Process Observational Model Algorithmic Model the digital machine
  • 93. THIS WORK BY TIM SHEINER LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 3.0 UNITED STATES FIN 67