SlideShare a Scribd company logo
Software
from Code into the Clouds
Code
a.   Code is a system of signals
     used to send messages
b.   Code is a system of symbols
     used for the purpose of identification or
     classification
c.   Code is a set of conventions
     governing behaviour
Pre Human Codes

pheromones
                 Gopal Aggarwal http://gopal1035.blogspot.com



                   body language




             http://commons.wikimedia.org/wiki/File:Genetic_code.svg



         information content in genetic material
Pre Computing Era
        < 1800
... consisted of all the
code used in
interactions between
humans
• Natural language evolved to
   become an important ingredient
   of the code used by humans       http://commons.wikimedia.org/wiki/
                                             File:Discussion.jpg


• Humans learned to translate
   between different natural
   languages
                                                ...
Proto Computing Era
    1800 - 1940
... now included all
the code used
within a computer
• Development of hardware that             http://commons.wikimedia.org/wiki/
                                      File:Babbage_Difference_Engine_%281%29.jpg
   understands a small code

• Hardware understanding is
   limited to arithmetic operations

• Humans translate arithmetic
                                                                      ...
   tasks into code with crude tools
Business Computing Era
        1970s
 ... now included all
 the code used in
 interactions between
 computers and                       http://commons.wikimedia.org/wiki/




                                                                                ...
                                               File:COBOL.png

 humans
 • Humans develop programming                                                     ...
    languages that borrow heavily
    from natural language

 • Compilers translate into a code
    that models the hardware

                                     http://commons.wikimedia.org/wiki/File:Cpc-wide-700.jpg
Network Computing Era
        1980s
 ... now included all
 the code used in
 interactions between
 computers
                                 http://upload.wikimedia.org/wikipedia/commons/thumb/
                                   4/41/Mislanet2003_3.jpg/120px-Mislanet2003_3.jpg
 • Humans use programming
    languages to express
    increasingly sophisticated
    network protocols

 • Focus shifts to computer-
    computer communication               ...            ...            ...
Internet Era
              1990s
... now consisted of
everything that is                  http://commons.wikimedia.org/wiki/

not hardware
                                    File:Internetanschl%C3%BCsse.PNG




• More and more of the code is                    ...
   expressed in programming
   languages

• The complexity that comes with



                                   ...




                                                                ...
   scale becomes the big
   productivity bottleneck

                                   ...            ...             ...
Web Application Era
       2000s
... increasingly
included interaction
with the web                         http://commons.wikimedia.org/wiki/File:Mfile.png



• The problem of scaling hardware
   and networks has been solved
                                                         ...
• The problem of scaling ...
   remains




                                      ...




                                                                       ...
• Making programming languages
   feel more like natural language
   doesn’t seem to help
                                                         ...
Cloud Era
                  2010s
... suffers from the
same problems as                    http://commons.wikimedia.org/wiki/

way back                               File:Cloud_computing_icon.svg




• when ... was all about exchange
   between humans

• Increasingly the artefacts
   exchanged are not hardware                       http://commons.wikimedia.org/wiki/
                                                             File:Discussion.jpg


• We are encoding ... in ...

• Hold that thought!                                            ...
...


... is a container of information that                    http://commons.wikimedia.org/wiki/
                                                             File:Photo_with_histogram.JPG
•   is created by a specific actor (human or a system)
•   is consumed by at least one actor (human or system)
•   represents a natural unit of work (for the creating and consuming actors)
•   may contain links to other ...
•   has a state and a life-cycle
...

We are encoding ... in ...
• ...

• <=> communication

• <=> information

• <=> programs

• <=> representations
Language Artefacts

A language artefact is a non-hardware artefact
•   information content of pheromones
•   information content of body language
•   live music
•   live speech
•   information content in traditional symbolic notations
•   program/diagram/hypertext/database content
•   information content of recorded sound/pictures/videos
•   information content of genetic material
Coding

All language artefacts are expressed in code
• Each code adheres to a syntax defined in a meta code
• The producer typically associates
   a desired intent with a language artefact
• The semantics of a language artefact are determined
   by the reactions of consumers, not by the producer
• The desired intent and the semantics of a syntax
   can only be aligned through
   extensive instantiation (by producers)
   and semantic processing (by consumers)
   of example language artefacts


                                                        http://commons.wikimedia.org/wiki/
                                                        File:Encoding_communication-1-.jpg
Meta Code
                               Syntax definitions
                              •     molecular structure
                              •     postures, gestures
                              •     instrument-specific sound production rules
                              •     pronunciation rules
                              •     grammars (for natural languages, mathematics, music, ...)
                              •     grammars (for human/computer languages)
                              •     audio formats, image formats, video formats
                              •     genetic code

                               Meta code is a subset of code (recursion!)
http://geekandpoke.typepad.com/geekandpoke/2010/04/meta.html
Modularity

Familiar language artefact modules
•   molecules
•   posture, gestures
                                                        low
•   beats, phrases, songs
                                                expressive
•   words, sentences
                                                    power
•   paragraphs, chapters, books, terms, equations
•   program/diagram/hypertext/database files
•   audio/image/video files
                                                        high
•   nucleotides, genes
Scalability
http://commons.wikimedia.org/wiki/
      File:Modular_origami.jpg



                  Modules preserve simplicity
                  •    molecules
                  •    posture, gestures
                                                                          low
                  •    beats, phrases, songs
                                                                 information
                  •    words, sentences
                                                                     content
                  •    paragraphs, chapters, books, terms, equations
                  •    program/diagram/hypertext/database files
                  •    audio/image/video files
                                                                          high
                  •    nucleotides, genes
Pain Point
http://commons.wikimedia.org/wiki/
  File:Ann_dependency_graph.png


               Dependency graphs must also be modularised
               •     molecules
               •     posture, gestures
                                                                                low
               •     beats, phrases, songs                              number of
                                                                    semantic links
               •     words, sentences                             between modules
               •     paragraphs, chapters, books, terms, equations
               •     program/diagram/hypertext/database files
               •     audio/image/video files
                                                                               high
               •     nucleotides, genes
Why Do We Need Google Search?
   The file system abstraction does not scale
   •   In conflict with human cognitive limitations
   •   The folder structure does not allow for multiple view points
   •   The number of semantic dependencies between files really hurts
   •   When it gets complex, humans draw pictures/diagrams,
   •   and tap into the power of collaboration & multi-brainstorming,
   •   and tap into multi-channel/media communication
Software



Software is an arbitrary
set of language artefacts
Models
                                                      Class : Mammal
                                                  dateOfBirth



Models are
language artefacts
that represent                     Class : Dog                          Class : Cat
                           isPoliceDog                      [2]                              [2]



the desired intent                                          [*]                              [*]




associated with a system
                           Dog : Jack                             Cat : Coco
                           {1/5/03, yes}                          {4/3/07}

in a human-friendly                        Dog : Susie
                                           {1/2/00, no}
                                                                               Cat : Peter
                                                                               {10/9/98}

syntax
Software



Software increasingly
consists of models
Modelling is about Clarity

All models are code
• a system of symbols used for
  • identification
  • classification in the sense of grouping
• a system of signals used to send messages
• a set of conventions governing behaviour
Modelling is meta coding
to improve clarity of code
Communication Costs

Not all code is a model
• a system of signals that includes a
   translation of messages to deal with someone else’s syntax
• a system of symbols used for
   classification in the sense of obfuscation or encryption




                                 http://commons.wikimedia.org/wiki/File:Encryption_-_decryption.svg
Modelling
Language
Design                                   http://commons.wikimedia.org/wiki/File:Human_Cognition.jpg




 Modelling language design
 is a balancing act between simplicity
 and not compromising the desired intent
 • Focus is on the view point of human cognitive ability
 • Modelling languages often make use of multiple syntax elements
    (visual containers, visual symbols, text, mathematical expressions)
 • Syntax elements are either borrowed from existing language artefacts,
    or are designed and incrementally refined in close collaboration with
    the user community
Evolution


Software continuously evolves,
whether we like it or not
Software shapes us
and we attempt to shape software
A dynamic system
with increasingly fast feedback loops
More Information
The Role of Artefacts            tiny.cc/artefacts
From Muddling to Modelling       tiny.cc/muddleToModel
Model Oriented Domain Analysis   tiny.cc/domainanalysis

Multi-Level Modelling            tiny.cc/gmodel

                                 tiny.cc/sematpos_jbe,
Perspective on SEMAT
                                 tiny.cc/sematslides_jbe

Denotational Semantics           tiny.cc/densem



              Thank you
    Jorn Bettin                   jbe @ sofismo.ch
Software is Models                www.sofismo.ch

More Related Content

PDF
Lecture 1
PPTX
Evaluation of e books user interfaces sis conf talk
PPS
Bas van Velzen (University of Amsterdam), Documentation or Reporting?
PDF
Open Source Web Content Management Technologies for Libraries
DOCX
Digital library softaware greenstone & dsapce
PPTX
Chapter 4
PPTX
Preserving Your Family Memories (Personal Digital Archiving)
KEY
Gender and ePortfolio practice
Lecture 1
Evaluation of e books user interfaces sis conf talk
Bas van Velzen (University of Amsterdam), Documentation or Reporting?
Open Source Web Content Management Technologies for Libraries
Digital library softaware greenstone & dsapce
Chapter 4
Preserving Your Family Memories (Personal Digital Archiving)
Gender and ePortfolio practice

Viewers also liked (9)

PDF
Multi Level Modelling
PPTX
A Guide to Effective Benchmarking of Applications Development
PPTX
The nature of management, managers and their
PDF
From Muddling to Modelling
PPTX
Charles E. Lindblom: The science of muddling through.
PPT
Ppt science muddling_critique(joseph)
PPTX
Decision making theory and process
PPT
Organisational Decision Making models
PPT
21. Decision making model
Multi Level Modelling
A Guide to Effective Benchmarking of Applications Development
The nature of management, managers and their
From Muddling to Modelling
Charles E. Lindblom: The science of muddling through.
Ppt science muddling_critique(joseph)
Decision making theory and process
Organisational Decision Making models
21. Decision making model
Ad

Similar to Software, from Code into the Clouds (20)

KEY
The Story of Life is Language
KEY
Beyond Sharing: Open Source Design
PDF
Platforms and the Semantic Web
PDF
Interoperability Requirements for a Sustainable Component to Support Manageme...
PPT
Information and Instructional Technologies
PDF
201004 - Natural User Interfaces
PDF
Multi-implications of multi-dimensional authoring; or, “everything you wanted...
PDF
Making Design By Committee Work
PDF
Good ideas that we forgot
KEY
Get ready for web3.0! Open up your app!
PPT
Closed systems, open systems
PPT
Towards the Social Programmer (MSR 2012 Keynote by M. Storey)
PPTX
Mdst3705 2012-01-22-code-as-language
PDF
The world is the computer and the programmer is you
PPTX
Class 39: ...and the World Wide Web
PPT
Intro compute
PPT
Intro compute
PPT
Intro computeRRR
PDF
The current architecture of TYPO3 5.0
PPTX
1-Network and its elements in cOMP N.pptx
The Story of Life is Language
Beyond Sharing: Open Source Design
Platforms and the Semantic Web
Interoperability Requirements for a Sustainable Component to Support Manageme...
Information and Instructional Technologies
201004 - Natural User Interfaces
Multi-implications of multi-dimensional authoring; or, “everything you wanted...
Making Design By Committee Work
Good ideas that we forgot
Get ready for web3.0! Open up your app!
Closed systems, open systems
Towards the Social Programmer (MSR 2012 Keynote by M. Storey)
Mdst3705 2012-01-22-code-as-language
The world is the computer and the programmer is you
Class 39: ...and the World Wide Web
Intro compute
Intro compute
Intro computeRRR
The current architecture of TYPO3 5.0
1-Network and its elements in cOMP N.pptx
Ad

More from Jorn Bettin (11)

PDF
From collective insanity to organisational learning 2019 03 11 brisbane bus...
PDF
From artificially intelligent systems towards real thinking tools and human s...
PDF
From collective insanity to organisational learning
PDF
From artificially intelligent systems towards real thinking tools and human s...
PDF
From project to product mindset and onwards to product platform architectures
PDF
Semantic Search – Do you know what I mean?
PDF
Sharpening your collaborative edge
PDF
Curation of information and knowledge
KEY
Advanced modelling made simple with the Gmodel metalanguage
PDF
Model Oriented Domain Analysis - Industrialized Software Specifications
PDF
Artefacts - Bringing Clarity & Simplicity to Modelling
From collective insanity to organisational learning 2019 03 11 brisbane bus...
From artificially intelligent systems towards real thinking tools and human s...
From collective insanity to organisational learning
From artificially intelligent systems towards real thinking tools and human s...
From project to product mindset and onwards to product platform architectures
Semantic Search – Do you know what I mean?
Sharpening your collaborative edge
Curation of information and knowledge
Advanced modelling made simple with the Gmodel metalanguage
Model Oriented Domain Analysis - Industrialized Software Specifications
Artefacts - Bringing Clarity & Simplicity to Modelling

Recently uploaded (20)

PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
Cloud computing and distributed systems.
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
Big Data Technologies - Introduction.pptx
PDF
Electronic commerce courselecture one. Pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
NewMind AI Weekly Chronicles - August'25 Week I
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Understanding_Digital_Forensics_Presentation.pptx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Advanced methodologies resolving dimensionality complications for autism neur...
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Cloud computing and distributed systems.
The AUB Centre for AI in Media Proposal.docx
MYSQL Presentation for SQL database connectivity
Big Data Technologies - Introduction.pptx
Electronic commerce courselecture one. Pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Unlocking AI with Model Context Protocol (MCP)
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
NewMind AI Weekly Chronicles - August'25 Week I

Software, from Code into the Clouds

  • 2. Code a. Code is a system of signals used to send messages b. Code is a system of symbols used for the purpose of identification or classification c. Code is a set of conventions governing behaviour
  • 3. Pre Human Codes pheromones Gopal Aggarwal http://gopal1035.blogspot.com body language http://commons.wikimedia.org/wiki/File:Genetic_code.svg information content in genetic material
  • 4. Pre Computing Era < 1800 ... consisted of all the code used in interactions between humans • Natural language evolved to become an important ingredient of the code used by humans http://commons.wikimedia.org/wiki/ File:Discussion.jpg • Humans learned to translate between different natural languages ...
  • 5. Proto Computing Era 1800 - 1940 ... now included all the code used within a computer • Development of hardware that http://commons.wikimedia.org/wiki/ File:Babbage_Difference_Engine_%281%29.jpg understands a small code • Hardware understanding is limited to arithmetic operations • Humans translate arithmetic ... tasks into code with crude tools
  • 6. Business Computing Era 1970s ... now included all the code used in interactions between computers and http://commons.wikimedia.org/wiki/ ... File:COBOL.png humans • Humans develop programming ... languages that borrow heavily from natural language • Compilers translate into a code that models the hardware http://commons.wikimedia.org/wiki/File:Cpc-wide-700.jpg
  • 7. Network Computing Era 1980s ... now included all the code used in interactions between computers http://upload.wikimedia.org/wikipedia/commons/thumb/ 4/41/Mislanet2003_3.jpg/120px-Mislanet2003_3.jpg • Humans use programming languages to express increasingly sophisticated network protocols • Focus shifts to computer- computer communication ... ... ...
  • 8. Internet Era 1990s ... now consisted of everything that is http://commons.wikimedia.org/wiki/ not hardware File:Internetanschl%C3%BCsse.PNG • More and more of the code is ... expressed in programming languages • The complexity that comes with ... ... scale becomes the big productivity bottleneck ... ... ...
  • 9. Web Application Era 2000s ... increasingly included interaction with the web http://commons.wikimedia.org/wiki/File:Mfile.png • The problem of scaling hardware and networks has been solved ... • The problem of scaling ... remains ... ... • Making programming languages feel more like natural language doesn’t seem to help ...
  • 10. Cloud Era 2010s ... suffers from the same problems as http://commons.wikimedia.org/wiki/ way back File:Cloud_computing_icon.svg • when ... was all about exchange between humans • Increasingly the artefacts exchanged are not hardware http://commons.wikimedia.org/wiki/ File:Discussion.jpg • We are encoding ... in ... • Hold that thought! ...
  • 11. ... ... is a container of information that http://commons.wikimedia.org/wiki/ File:Photo_with_histogram.JPG • is created by a specific actor (human or a system) • is consumed by at least one actor (human or system) • represents a natural unit of work (for the creating and consuming actors) • may contain links to other ... • has a state and a life-cycle
  • 12. ... We are encoding ... in ... • ... • <=> communication • <=> information • <=> programs • <=> representations
  • 13. Language Artefacts A language artefact is a non-hardware artefact • information content of pheromones • information content of body language • live music • live speech • information content in traditional symbolic notations • program/diagram/hypertext/database content • information content of recorded sound/pictures/videos • information content of genetic material
  • 14. Coding All language artefacts are expressed in code • Each code adheres to a syntax defined in a meta code • The producer typically associates a desired intent with a language artefact • The semantics of a language artefact are determined by the reactions of consumers, not by the producer • The desired intent and the semantics of a syntax can only be aligned through extensive instantiation (by producers) and semantic processing (by consumers) of example language artefacts http://commons.wikimedia.org/wiki/ File:Encoding_communication-1-.jpg
  • 15. Meta Code Syntax definitions • molecular structure • postures, gestures • instrument-specific sound production rules • pronunciation rules • grammars (for natural languages, mathematics, music, ...) • grammars (for human/computer languages) • audio formats, image formats, video formats • genetic code Meta code is a subset of code (recursion!) http://geekandpoke.typepad.com/geekandpoke/2010/04/meta.html
  • 16. Modularity Familiar language artefact modules • molecules • posture, gestures low • beats, phrases, songs expressive • words, sentences power • paragraphs, chapters, books, terms, equations • program/diagram/hypertext/database files • audio/image/video files high • nucleotides, genes
  • 17. Scalability http://commons.wikimedia.org/wiki/ File:Modular_origami.jpg Modules preserve simplicity • molecules • posture, gestures low • beats, phrases, songs information • words, sentences content • paragraphs, chapters, books, terms, equations • program/diagram/hypertext/database files • audio/image/video files high • nucleotides, genes
  • 18. Pain Point http://commons.wikimedia.org/wiki/ File:Ann_dependency_graph.png Dependency graphs must also be modularised • molecules • posture, gestures low • beats, phrases, songs number of semantic links • words, sentences between modules • paragraphs, chapters, books, terms, equations • program/diagram/hypertext/database files • audio/image/video files high • nucleotides, genes
  • 19. Why Do We Need Google Search? The file system abstraction does not scale • In conflict with human cognitive limitations • The folder structure does not allow for multiple view points • The number of semantic dependencies between files really hurts • When it gets complex, humans draw pictures/diagrams, • and tap into the power of collaboration & multi-brainstorming, • and tap into multi-channel/media communication
  • 20. Software Software is an arbitrary set of language artefacts
  • 21. Models Class : Mammal dateOfBirth Models are language artefacts that represent Class : Dog Class : Cat isPoliceDog [2] [2] the desired intent [*] [*] associated with a system Dog : Jack Cat : Coco {1/5/03, yes} {4/3/07} in a human-friendly Dog : Susie {1/2/00, no} Cat : Peter {10/9/98} syntax
  • 23. Modelling is about Clarity All models are code • a system of symbols used for • identification • classification in the sense of grouping • a system of signals used to send messages • a set of conventions governing behaviour Modelling is meta coding to improve clarity of code
  • 24. Communication Costs Not all code is a model • a system of signals that includes a translation of messages to deal with someone else’s syntax • a system of symbols used for classification in the sense of obfuscation or encryption http://commons.wikimedia.org/wiki/File:Encryption_-_decryption.svg
  • 25. Modelling Language Design http://commons.wikimedia.org/wiki/File:Human_Cognition.jpg Modelling language design is a balancing act between simplicity and not compromising the desired intent • Focus is on the view point of human cognitive ability • Modelling languages often make use of multiple syntax elements (visual containers, visual symbols, text, mathematical expressions) • Syntax elements are either borrowed from existing language artefacts, or are designed and incrementally refined in close collaboration with the user community
  • 26. Evolution Software continuously evolves, whether we like it or not Software shapes us and we attempt to shape software A dynamic system with increasingly fast feedback loops
  • 27. More Information The Role of Artefacts tiny.cc/artefacts From Muddling to Modelling tiny.cc/muddleToModel Model Oriented Domain Analysis tiny.cc/domainanalysis Multi-Level Modelling tiny.cc/gmodel tiny.cc/sematpos_jbe, Perspective on SEMAT tiny.cc/sematslides_jbe Denotational Semantics tiny.cc/densem Thank you Jorn Bettin jbe @ sofismo.ch Software is Models www.sofismo.ch