SlideShare a Scribd company logo
From Systems to Software
The Digital Machine
№ 2, Design of Digital Machines
Tim Sheiner



0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States.
Begin with a definition...




0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States.   2
A system is an interconnected set
            of elements that is coherently
            organized in a way that achieves
            something.

            Donella Meadows, Thinking in Systems


0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States.   3
Make an assumption...




0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States.   4
These real systems...




0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States.   5
...can be abstracted to this form:

            1. Objects
            2. Relationships                                                                                    A
            3. Currency
            4. Boundary
            5. Purpose
                                                                                                                            Output
                                                                                                                    C
                                               Input                                                        B
                                                                                                                        D




0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States.                        6
In practice, how is this done?




0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States.   7
Step 1: define the abstraction




          1. Observe the world
          2. Learn the terminology
          3. Find the currency
          4. See relationships
          5. Compare to archetypes
          6. Play with the puzzle
          7. Settle on simple

0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States.   8
Step 2: abstraction to machine model
                                                                                                     Machine Model
                                                                                                     • Conceptual Model

            Software Machine                                                                         • Object Model
                                                                                                     • Interaction Model
                                                                                                     • Data Model



                                                                                                                               A




                                                                                                                                       Output
                                                                                                                                   C
                                                                                                                 Input     B
                                                                                                                                   D




0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States.                                       9
The machine has a standard form

                                   Controller                                                                This is the digital machine.
                                                                                                             All digital machines are of this form.


        View                                                                  Model


                                                                                                                              A




                                                                                                                                                      Output
                                                                                                                                      C
                                                                                                            Input       B
                                                                                                                                       D




0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States.                                                  10
What is the MVC idea?
The idea is separation of function.
The value is
• modularity                                                                                                       Controller
• flexibility
• data integrity
                                                                                                            View                Model




0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States.                               11
What is the MVC idea?
The idea is separation of function.
The value is
• modularity                                                                                                         Controller
• flexibility
• data integrity
                                                                                                              View                Model

                                                                                                            observer




0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States.                                 11
What is the MVC idea?
The idea is separation of function.
The value is
• modularity                                                                                                         Controller
• flexibility
• data integrity
                                                                                                              View                 Model

                                                                                                            observer              recorder




0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States.                                    11
What is the MVC idea?
The idea is separation of function.                                                                                  mediator
The value is
• modularity                                                                                                         Controller
• flexibility
• data integrity
                                                                                                              View                 Model

                                                                                                            observer              recorder




0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States.                                    11
MVC is everywhere in digital machines
The MVC concept is relevant to
the well-designed machine                                                                                     View         Controller     Model
literally, conceptually, tactically,
strategically and at every level of                                                                            Show             Do          Save
analysis.
                                                                                                              Objects        Actions      Memory


                                                                                                            Observer        Mediator      Recorder

                                                                                                            Presentation      Event       Structure


                                                                                                             Front End      Middle Tier   Back End


                                                                                                             Interface      Application   Database


                                                                                                                CSS         Javascript     HTML



0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States.                                             12
The MVC Cycle

                                                                                                            Controller




                                                View                                                                     Model



0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States.                        13
The MVC Cycle

                                                                                                            Controller
                      request                                                                                                          request
                   component                                                                                                           state
                       update                                                                                                          update

                                                                                        report                           confirm
                                                                                         event                           state
                                                                                                                         change


                                                View                                                                               Model



0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States.                                        13
The Design Problem = MVC + User

                                                                                                            Controller




                                                View                                                                     Model



0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States.                        14
The Design Problem = MVC + User

                                                                                                                   Controller




                                                                                                            View                Model




0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States.                               14
The Design Problem = MVC + User

                                                                                                                   Controller




                                                                                                            View                Model




0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States.                               15
The Design Problem = MVC + User

                                                                                                                   Controller



                                                                    feedback



                                                                                                            View                Model


                                                                        action




0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States.                               15
The Design Problem = MVC + User

                                                                                                                   Controller



                                                                    feedback



                                                                                                            View                Model


                                                                        action



                                                                             We use models to design this system.
0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States.                               16
The models answer these questions




0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States.   17
The models answer these questions
                                 What does the machine do?                                                  Conceptual Model
                                                                                                            Concept


                                 How do I change the output?                                                Interaction Model
                                                                                                            Flow


                                 How does it work?                                                          Object Model
                                                                                                            Structure


                                 How are the parts related?                                                 Data Model
                                                                                                            Inheritance




0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States.                       17
The models answer these questions
                                 What does the machine do?                                                  Conceptual Model
                                                                                                            Concept


                                 How do I change the output?                                                Interaction Model
                                                                                                            Flow


                                 How does it work?                                                          Object Model
                                                                                                            Structure


                                 How are the parts related?                                                 Data Model
                                                                                                            Inheritance




0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States.                       17
The models answer these questions
                                 What does the machine do?                                                  Conceptual Model
                                                                                                            Concept


                                 How do I change the output?                                                Interaction Model
                                                                                                            Flow


                                 How does it work?                                                          Object Model
                                                                                                            Structure


                                 How are the parts related?                                                 Data Model
                                                                                                            Inheritance




0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States.                       17
The models answer these questions
                                 What does the machine do?                                                  Conceptual Model
                                                                                                            Concept


                                 How do I change the output?                                                Interaction Model
                                                                                                            Flow


                                 How does it work?                                                          Object Model
                                                                                                            Structure


                                 How are the parts related?                                                 Data Model
                                                                                                            Inheritance




0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States.                       17
Correspondence between digital machine
and the models
                                                                                                            object model

                                                                         Input                               Controller



                                                                                                                                            Output

                                                                                                 View                       Model

                                                                                                                                    Digital Machine

                                                                              interaction model                           data model
                                                                                                                             conceptual model

                                                                                Each sub model applies most directly to one aspect of the MVC machine.
                                                                                Of course, the well designed machine will have pieces of all the models
                                                                                throughout the entire system.

0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States.                                                 18
fin




0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States.         19

More Related Content

PDF
SMartyParser: an XMI Parser for UML-based Software Product Line Variability M...
PDF
When UX (guy) Meets Operations
PDF
Introducing MDSD
PDF
Diseño digital
PDF
The Conceptual Model
PDF
超級全能危樓改造王 - 增建、改建、打掉重建你的軟體架構?
PDF
Close encounters in MDD: when Models meet Code
PDF
Close Encounters in MDD: when models meet code
SMartyParser: an XMI Parser for UML-based Software Product Line Variability M...
When UX (guy) Meets Operations
Introducing MDSD
Diseño digital
The Conceptual Model
超級全能危樓改造王 - 增建、改建、打掉重建你的軟體架構?
Close encounters in MDD: when Models meet Code
Close Encounters in MDD: when models meet code

Similar to From Systems to Software (20)

PPT
Notacion uml
PDF
CG2010 Introducing MDSD
PDF
iOS Dev Intro
PDF
Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...
PDF
Portfolio - Pradeep
PPTX
Rishikesh Sharma Portfolio
PDF
Verhaert Innovation Day 2011 – Koenraad Rombaut & Michiel De Paepe (VERHAERT)...
PPT
Model-based engineering of multi-platform, synchronous & collaborative UIs
PDF
Lec1 introduction
PDF
MDE based FPGA physical Design Fast prototyping with Smalltalk
PDF
Verteilte Synchronisierung von Modellen in automatisierten Entwicklungsprozessen
PDF
The DEVS-Driven Modeling Language: Syntax and Semantics Definition by Meta-Mo...
PDF
Benefits of Using FPGAs for Embedded Processing: Embedded World 2010
PPT
Software Design_Se lect16 btech
PDF
iOS Development Introduction (MuMe11)
PDF
Prototyping in code
ODP
BIS 08a - Application Development - II Version 2
PDF
Q1 2009 Earning Report of National Instruments Corp
PDF
Applied Software Engineering Assignment
PPT
Creating an RAD Authoratative Data Environment
Notacion uml
CG2010 Introducing MDSD
iOS Dev Intro
Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...
Portfolio - Pradeep
Rishikesh Sharma Portfolio
Verhaert Innovation Day 2011 – Koenraad Rombaut & Michiel De Paepe (VERHAERT)...
Model-based engineering of multi-platform, synchronous & collaborative UIs
Lec1 introduction
MDE based FPGA physical Design Fast prototyping with Smalltalk
Verteilte Synchronisierung von Modellen in automatisierten Entwicklungsprozessen
The DEVS-Driven Modeling Language: Syntax and Semantics Definition by Meta-Mo...
Benefits of Using FPGAs for Embedded Processing: Embedded World 2010
Software Design_Se lect16 btech
iOS Development Introduction (MuMe11)
Prototyping in code
BIS 08a - Application Development - II Version 2
Q1 2009 Earning Report of National Instruments Corp
Applied Software Engineering Assignment
Creating an RAD Authoratative Data Environment
Ad

More from Tim Sheiner (7)

PDF
The Digital Machine - Transforming Systems to Software
PDF
The Data Model
PDF
The Interaction Model
PDF
The Object Model
PDF
Visualizing Systems
PDF
System Diagramming Basics
PDF
What is a system?
The Digital Machine - Transforming Systems to Software
The Data Model
The Interaction Model
The Object Model
Visualizing Systems
System Diagramming Basics
What is a system?
Ad

Recently uploaded (20)

PPTX
EDP Competencies-types, process, explanation
PDF
2025CategoryRanking of technology university
PPTX
Acoustics new for. Sound insulation and absorber
PDF
Architecture Design Portfolio- VICTOR OKUTU
PPTX
rapid fire quiz in your house is your india.pptx
PPT
WHY_R12 Uaafafafpgradeaffafafafaffff.ppt
PPT
robotS AND ROBOTICSOF HUMANS AND MACHINES
PDF
2025_AIFG_Akane_Kikuchi_Empathy_Design.PDF
PPTX
timber basics in structure mechanics (dos)
PDF
Interior Structure and Construction A1 NGYANQI
PDF
SOUND-NOTE-ARCHITECT-MOHIUDDIN AKHAND SMUCT
PDF
Skskkxiixijsjsnwkwkaksixindndndjdjdjsjjssk
PDF
Test slideshare presentation for blog post
PPTX
NEW EIA PART B - Group 5 (Section 50).pptx
PPTX
DOC-20250430-WA0014._20250714_235747_0000.pptx
PPTX
CLASS_11_BUSINESS_STUDIES_PPT_CHAPTER_1_Business_Trade_Commerce.pptx
PPTX
22CDH01-V3-UNIT III-UX-UI for Immersive Design
PPTX
Media And Information Literacy for Grade 12
PDF
Pongal 2026 Sponsorship Presentation - Bhopal Tamil Sangam
PPTX
22CDO02-IMGD-UNIT-I-MOBILE GAME DESIGN PROCESS
EDP Competencies-types, process, explanation
2025CategoryRanking of technology university
Acoustics new for. Sound insulation and absorber
Architecture Design Portfolio- VICTOR OKUTU
rapid fire quiz in your house is your india.pptx
WHY_R12 Uaafafafpgradeaffafafafaffff.ppt
robotS AND ROBOTICSOF HUMANS AND MACHINES
2025_AIFG_Akane_Kikuchi_Empathy_Design.PDF
timber basics in structure mechanics (dos)
Interior Structure and Construction A1 NGYANQI
SOUND-NOTE-ARCHITECT-MOHIUDDIN AKHAND SMUCT
Skskkxiixijsjsnwkwkaksixindndndjdjdjsjjssk
Test slideshare presentation for blog post
NEW EIA PART B - Group 5 (Section 50).pptx
DOC-20250430-WA0014._20250714_235747_0000.pptx
CLASS_11_BUSINESS_STUDIES_PPT_CHAPTER_1_Business_Trade_Commerce.pptx
22CDH01-V3-UNIT III-UX-UI for Immersive Design
Media And Information Literacy for Grade 12
Pongal 2026 Sponsorship Presentation - Bhopal Tamil Sangam
22CDO02-IMGD-UNIT-I-MOBILE GAME DESIGN PROCESS

From Systems to Software

  • 1. From Systems to Software The Digital Machine № 2, Design of Digital Machines Tim Sheiner 0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States.
  • 2. Begin with a definition... 0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 2
  • 3. A system is an interconnected set of elements that is coherently organized in a way that achieves something. Donella Meadows, Thinking in Systems 0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 3
  • 4. Make an assumption... 0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 4
  • 5. These real systems... 0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 5
  • 6. ...can be abstracted to this form: 1. Objects 2. Relationships A 3. Currency 4. Boundary 5. Purpose Output C Input B D 0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 6
  • 7. In practice, how is this done? 0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 7
  • 8. Step 1: define the abstraction 1. Observe the world 2. Learn the terminology 3. Find the currency 4. See relationships 5. Compare to archetypes 6. Play with the puzzle 7. Settle on simple 0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 8
  • 9. Step 2: abstraction to machine model Machine Model • Conceptual Model Software Machine • Object Model • Interaction Model • Data Model A Output C Input B D 0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 9
  • 10. The machine has a standard form Controller This is the digital machine. All digital machines are of this form. View Model A Output C Input B D 0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 10
  • 11. What is the MVC idea? The idea is separation of function. The value is • modularity Controller • flexibility • data integrity View Model 0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 11
  • 12. What is the MVC idea? The idea is separation of function. The value is • modularity Controller • flexibility • data integrity View Model observer 0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 11
  • 13. What is the MVC idea? The idea is separation of function. The value is • modularity Controller • flexibility • data integrity View Model observer recorder 0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 11
  • 14. What is the MVC idea? The idea is separation of function. mediator The value is • modularity Controller • flexibility • data integrity View Model observer recorder 0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 11
  • 15. MVC is everywhere in digital machines The MVC concept is relevant to the well-designed machine View Controller Model literally, conceptually, tactically, strategically and at every level of Show Do Save analysis. Objects Actions Memory Observer Mediator Recorder Presentation Event Structure Front End Middle Tier Back End Interface Application Database CSS Javascript HTML 0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 12
  • 16. The MVC Cycle Controller View Model 0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 13
  • 17. The MVC Cycle Controller request request component state update update report confirm event state change View Model 0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 13
  • 18. The Design Problem = MVC + User Controller View Model 0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 14
  • 19. The Design Problem = MVC + User Controller View Model 0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 14
  • 20. The Design Problem = MVC + User Controller View Model 0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 15
  • 21. The Design Problem = MVC + User Controller feedback View Model action 0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 15
  • 22. The Design Problem = MVC + User Controller feedback View Model action We use models to design this system. 0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 16
  • 23. The models answer these questions 0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 17
  • 24. The models answer these questions What does the machine do? Conceptual Model Concept How do I change the output? Interaction Model Flow How does it work? Object Model Structure How are the parts related? Data Model Inheritance 0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 17
  • 25. The models answer these questions What does the machine do? Conceptual Model Concept How do I change the output? Interaction Model Flow How does it work? Object Model Structure How are the parts related? Data Model Inheritance 0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 17
  • 26. The models answer these questions What does the machine do? Conceptual Model Concept How do I change the output? Interaction Model Flow How does it work? Object Model Structure How are the parts related? Data Model Inheritance 0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 17
  • 27. The models answer these questions What does the machine do? Conceptual Model Concept How do I change the output? Interaction Model Flow How does it work? Object Model Structure How are the parts related? Data Model Inheritance 0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 17
  • 28. Correspondence between digital machine and the models object model Input Controller Output View Model Digital Machine interaction model data model conceptual model Each sub model applies most directly to one aspect of the MVC machine. Of course, the well designed machine will have pieces of all the models throughout the entire system. 0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 18
  • 29. fin 0.5beta 2013 This work by Tim Sheiner is licensed under a Creative Commons Attribution 3.0 United States. 19