SlideShare a Scribd company logo
A computational scientist’s wish list
for tomorrow’s computing systems
Konrad Hinsen
Centre de Biophysique Moléculaire, Orléans, France
and
Synchrotron SOLEIL, Saint Aubin, France
February 1st 2020
Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st
2020 1 / 38
Where I am coming from
1990 condensed matter physics, simple models, simple Fortran code
1995 biophysics, complex models, messy and buggy Fortran code
action: co-found Numerical Python
action: molecular simulation library in Python
2000 Scientific Python becomes popular
2010 Python 3 breaks all my Python code
insight: dependencies are a real problem for science
action: join the Reproducible Research movement
2015 scientific papers refer to software rather than models
action: start working on digital scientific notations
Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st
2020 2 / 38
Reflective tower of computational science
Notations and tools
for computational models
and methods
Models and methods
for molecular simulation
Proteins via
molecular simulation
1995
2015
Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st
2020 3 / 38
Topics
1 Focussing on the subject domain
2 Bottom-up growth, not top-down design
3 Knowledge consolidation
Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st
2020 4 / 38
Focussing on the subject domain
Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st
2020 5 / 38
Good ideas from the past
Reports and Articles
BeyondProgrammingLanguages
TerryWinograd
StanfordUniversity
As computer technology matures, our growing
ability to create large systems is leading to basic
changes in the nature of programming. Current
programming language concepts will not be adequate
for building and maintaining systems of the complexity
called for by the tasks we attempt. Just as high level
languages enabled the programmer to escape from the
intricacies of a machine's order code, higher level
programming systems can provide the means to
understand and manipulate complex systems and
components. In order to develop such systems, we need
to shift our attention away from the detailed
specification of algorithms, towards the description of
the properties of the packages and objects with which
we build. This paper analyzes some of the shortcomings
of programming languages as they now exist, and lays
out some possible directions for future research.
Key Words and Phrases: programming,
programming languages, programming systems, systems
development
CR Categories: 4.0, 4.20, 4.22, 4.40
Introduction
Computer programming today is in a state of crisis
(or, more optimistically, a state of creative ferment).
There is a growing recognition that the available pro-
gramming languages are not adequate for building com-
puter systems. Of course, as any first year student of
computation theory knows, they are logically sufficient.
But they do not deal adequately with the problems we
face in the day-to-daywork of programming. We become
swamped by the complexity of large systems, lost in code
written by others, and mystified by the behavior of our
almost debugged systems. When we look to the inte-
grated multiprocessor systems that will soon dominate
computing, the situation is even worse.
This crisis in software production is far greater (in
overall magnitude at least) than the situation of the early
50's that led to the development of high level languages
to relieve the burden of coding. The problems are harder
to solve, and the costs of not solving them are in the
hundreds of millions. "The symptoms appear in the form
of software that is nonresponsive to user needs, unrelia-
T. Winograd, Comm. ACM 22, pp 391-401, 1979
Three Domains of Description
Subject domain
Domain of interaction
Domain of implementation
Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st
2020 6 / 38
Subject vs. implementation domain
Dimensional analysis
Some but not all data
Applied at specific interface points
Dimension, unit, kind of quantity,
rank
Type checking
Every value has a type
Every function: input → output
No more than one type per value
Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st
2020 7 / 38
Subject vs. implementation domain
Dimensional analysis
Some but not all data
Applied at specific interface points
Dimension, unit, kind of quantity,
rank
Type checking
Every value has a type
Every function: input → output
No more than one type per value
Example:
Given: m: mass, v1, v2: velocity
Then: mv2
1 : energy, mv2
2 : energy
Allowed but undefined: v2
1 , mv1 · v2
Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st
2020 7 / 38
The two pillars of science
Theory
Science
Experim
ent
Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st
2020 8 / 38
The two pillars of science
Science
Models
Observa
tions
Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st
2020 9 / 38
The two pillars of science
Science
Models
Observa
tions
Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st
2020 10 / 38
Learning process
Input Inner state
Observations and models
Source: https://all-free-download.com/free-vector/download/laboratory-work-background-scientist-microscope-bacteria-icons_6837383.html
Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st
2020 11 / 38
Observations and models
Source: https://all-free-download.com/free-vector/download/laboratory-work-background-scientist-microscope-bacteria-icons_6837383.html
Model
Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st
2020 12 / 38
Observations and models
Source: https://all-free-download.com/free-vector/download/laboratory-work-background-scientist-microscope-bacteria-icons_6837383.html
Model
Model
Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st
2020 13 / 38
Wish list item #1
Observations and models as first-class objects
Today’s reality:
OK but perfectible for observations (data, metadata)
Models are absorbed by software tools
Models can be applied but not examined nor modified
Models cannot be composed nor transformed
K. Hinsen, F1000Research 3:101 (2014)
Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st
2020 14 / 38
The structure and implementation of scientific models
Models are stories with embedded formal elements
(equations, graphs, algorithms, ...)
Cross-references: hypertext
Metastories about models
Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st
2020 15 / 38
The structure and implementation of scientific models
Empirical models
Mathematical model Example
function with Ptolemy: circles
fitted parameters with epicycles
Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st
2020 16 / 38
The structure and implementation of scientific models
Empirical models
Mathematical model Example Computational model
function with Ptolemy: circles machine learning
fitted parameters with epicycles
Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st
2020 16 / 38
The structure and implementation of scientific models
Empirical models
Mathematical model Example Computational model
function with Ptolemy: circles machine learning
fitted parameters with epicycles
Explanatory models
Mathematical model Example
equation Newton: F = m · a, Fij = −Gmi mj r̂ij /r2
ij
general solution Kepler: elliptical orbits, sun at
(parametric) focal point, constant area speed
specific solution Earth’s orbit around the Sun
Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st
2020 16 / 38
The structure and implementation of scientific models
Empirical models
Mathematical model Example Computational model
function with Ptolemy: circles machine learning
fitted parameters with epicycles
Explanatory models
Mathematical model Example Computational model
equation Newton: F = m · a, Fij = −Gmi mj r̂ij /r2
ij specification
general solution Kepler: elliptical orbits, sun at algorithm
(parametric) focal point, constant area speed (with input parameters)
specific solution Earth’s orbit around the Sun computation
Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st
2020 16 / 38
The structure and implementation of scientific models
Explanatory models
composable constraints
intensional
abstract
small, understandable
Simulation programs
monolithic code
extensional
concrete
accidental complexity
Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st
2020 17 / 38
Wish list item #2
Focus on specifications
Today’s reality:
Specification languages are marginal
Overly focused on preparing implementation
No live coding systems for specifications, not even IDEs
No integration of specifications with code, graphics, ...
Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st
2020 18 / 38
Leibniz, a Digital Scientific Notation
Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st
2020 19 / 38
Leibniz, a Digital Scientific Notation
Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st
2020 20 / 38
Bottom-up growth, not top-down design
Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st
2020 21 / 38
Science works bottom-up
World view
Theories
Models
Observations
Unification
specific
general
Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st
2020 22 / 38
Programming works top-down
Languages
Frameworks
Libraries
Applications
Control
specific
general
Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st
2020 23 / 38
Scientific computing
World view
Theories
Models
Observations
Unification
Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st
2020 24 / 38
no digital
representation
many languages
many file formats
Wish list item #3
Support for a bottom-up, integrative style of work
Today’s reality:
Programming languages define universes with strong boundaries
Platforms (OS, Web, ...) impose strong boundaries as well
Weak interoperability
Lack of bridges, connectors, mediators
Competition rather than collaboration
Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st
2020 25 / 38
Knowledge consolidation
Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st
2020 26 / 38
Knowledge consolidation
Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st
2020 27 / 38
Knowledge consolidation
Coverage
Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st
2020 28 / 38
Knowledge consolidation
Precision
Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st
2020 29 / 38
Knowledge consolidation
Depth
Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st
2020 30 / 38
Knowledge consolidation
Confidence
Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st
2020 31 / 38
Technological consolidation
Tinkering Craft Engineering Industry
Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st
2020 32 / 38
Technology stacks
Tinkering Craft ...
Tinkering Craft
Engineering
Tinkering Craft
Engineering
Tinkering Craft
Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st
2020 33 / 38
Programming languages
Tinkering Craft Engineering
Infrastructure
Problem
domain
Hardware
control C
Rust
Python
Haskell
Smalltalk
Mathematica
Excel
Shells
Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st
2020 34 / 38
Programming languages for science
Tinkering Craft Engineering
Infrastructure
Problem
domain
Hardware
control C
Rust
Python
Haskell
Smalltalk
Mathematica
Excel
Shells
Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st
2020 35 / 38
Wish list item #4
Support for the knowledge consolidation process
Today’s reality:
Distinct language universes, weak interoperability
No refactoring or translation tools
Weak support for tinkering (REPLs, notebooks)
Weak support for working in the problem domain
Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st
2020 36 / 38
Programming systems for science
Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st
2020 37 / 38
Summary
Wish list
1 Observations and models as first-class objects
2 Focus on specifications
3 Support for a bottom-up, integrative style of work
4 Support for the knowledge consolidation process
Missing functionality
1 Interoperability
2 Bridges, connectors, etc.
3 Data first, tools adapt to data
4 Specifications and algorithms as data
5 Graphical tinkering environments
Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st
2020 38 / 38

More Related Content

PPTX
Slides for a talk on search-based testing for Event-B models
PDF
BrianWalstromResumeRev5
PDF
Knighton_PortfolioSummary
PDF
Towards Smart Modeling (Environments)
PPTX
[PhDThesis2021] - Augmenting the knowledge pyramid with unconventional data a...
PDF
Formal Modeling And Analysis Of Timed Systems 10th International Conference F...
PDF
What iscs
PDF
Data Science for Internet of Things with Ajit Jaokar
Slides for a talk on search-based testing for Event-B models
BrianWalstromResumeRev5
Knighton_PortfolioSummary
Towards Smart Modeling (Environments)
[PhDThesis2021] - Augmenting the knowledge pyramid with unconventional data a...
Formal Modeling And Analysis Of Timed Systems 10th International Conference F...
What iscs
Data Science for Internet of Things with Ajit Jaokar

Similar to A computational scientist's wish list for tomorrow's computing systems (20)

PDF
Ajit jaokar slides
PDF
Will Robots Take all the Jobs? Not yet.
PDF
Numerical models for complex molecular systems
PDF
Computational Models Of Argument Proceedings Of Comma 2012 1st Edition B Verh...
PPTX
Software Engineering Challenges in building AI-based complex systems
PDF
Computational Mechanics
PPTX
Artificial Intelligence Project report.pptx
PDF
Model-Based Risk Assessment in Multi-Disciplinary Systems Engineering
PPT
Chapter01
PDF
New books jun 2014
PDF
AudrisMockus_MSR22.pdf
PDF
Varied encounters with data science (slide share)
DOC
Final CHO Internet of Things cho cho cho
PDF
Quantum Computation: An Overview
PDF
Smart Hydroponic Plant Growing System using IoT
PDF
Be computer-engineering-2012
PDF
Thirteen Years of SysML: A Systematic Mapping Study
PDF
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
PDF
Facing The Multicorechallenge Ii Aspects Of New Paradigms And Technologies In...
PDF
990072579TraineeshipPropo.pdf
Ajit jaokar slides
Will Robots Take all the Jobs? Not yet.
Numerical models for complex molecular systems
Computational Models Of Argument Proceedings Of Comma 2012 1st Edition B Verh...
Software Engineering Challenges in building AI-based complex systems
Computational Mechanics
Artificial Intelligence Project report.pptx
Model-Based Risk Assessment in Multi-Disciplinary Systems Engineering
Chapter01
New books jun 2014
AudrisMockus_MSR22.pdf
Varied encounters with data science (slide share)
Final CHO Internet of Things cho cho cho
Quantum Computation: An Overview
Smart Hydroponic Plant Growing System using IoT
Be computer-engineering-2012
Thirteen Years of SysML: A Systematic Mapping Study
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
Facing The Multicorechallenge Ii Aspects Of New Paradigms And Technologies In...
990072579TraineeshipPropo.pdf
Ad

More from khinsen (7)

PDF
Le pourquoi et le comment de la science ouverte
PDF
Expérience, statistique, calcul : La trinité de la reproductibilité scientifique
PDF
The stuff that proteins are made of
PDF
Anomalous diffusion in a finite world: time-scale dependent trajectory analysis
PDF
Leibniz: A Digital Scientific Notation
PDF
Reproducibility in computer-assisted research
PDF
Reproducible research in molecular biophysics and structural biology
Le pourquoi et le comment de la science ouverte
Expérience, statistique, calcul : La trinité de la reproductibilité scientifique
The stuff that proteins are made of
Anomalous diffusion in a finite world: time-scale dependent trajectory analysis
Leibniz: A Digital Scientific Notation
Reproducibility in computer-assisted research
Reproducible research in molecular biophysics and structural biology
Ad

Recently uploaded (20)

PPTX
DRUG THERAPY FOR SHOCK gjjjgfhhhhh.pptx.
PPTX
ANEMIA WITH LEUKOPENIA MDS 07_25.pptx htggtftgt fredrctvg
PDF
AlphaEarth Foundations and the Satellite Embedding dataset
PPTX
ECG_Course_Presentation د.محمد صقران ppt
PPTX
Microbiology with diagram medical studies .pptx
PDF
CAPERS-LRD-z9:AGas-enshroudedLittleRedDotHostingaBroad-lineActive GalacticNuc...
PPTX
INTRODUCTION TO EVS | Concept of sustainability
PDF
An interstellar mission to test astrophysical black holes
PDF
. Radiology Case Scenariosssssssssssssss
PPTX
2Systematics of Living Organisms t-.pptx
PDF
Biophysics 2.pdffffffffffffffffffffffffff
PDF
Sciences of Europe No 170 (2025)
PPTX
Cell Membrane: Structure, Composition & Functions
DOCX
Q1_LE_Mathematics 8_Lesson 5_Week 5.docx
PDF
VARICELLA VACCINATION: A POTENTIAL STRATEGY FOR PREVENTING MULTIPLE SCLEROSIS
PPTX
Classification Systems_TAXONOMY_SCIENCE8.pptx
PPTX
2. Earth - The Living Planet earth and life
PDF
ELS_Q1_Module-11_Formation-of-Rock-Layers_v2.pdf
PPTX
Introduction to Fisheries Biotechnology_Lesson 1.pptx
PPTX
cpcsea ppt.pptxssssssssssssssjjdjdndndddd
DRUG THERAPY FOR SHOCK gjjjgfhhhhh.pptx.
ANEMIA WITH LEUKOPENIA MDS 07_25.pptx htggtftgt fredrctvg
AlphaEarth Foundations and the Satellite Embedding dataset
ECG_Course_Presentation د.محمد صقران ppt
Microbiology with diagram medical studies .pptx
CAPERS-LRD-z9:AGas-enshroudedLittleRedDotHostingaBroad-lineActive GalacticNuc...
INTRODUCTION TO EVS | Concept of sustainability
An interstellar mission to test astrophysical black holes
. Radiology Case Scenariosssssssssssssss
2Systematics of Living Organisms t-.pptx
Biophysics 2.pdffffffffffffffffffffffffff
Sciences of Europe No 170 (2025)
Cell Membrane: Structure, Composition & Functions
Q1_LE_Mathematics 8_Lesson 5_Week 5.docx
VARICELLA VACCINATION: A POTENTIAL STRATEGY FOR PREVENTING MULTIPLE SCLEROSIS
Classification Systems_TAXONOMY_SCIENCE8.pptx
2. Earth - The Living Planet earth and life
ELS_Q1_Module-11_Formation-of-Rock-Layers_v2.pdf
Introduction to Fisheries Biotechnology_Lesson 1.pptx
cpcsea ppt.pptxssssssssssssssjjdjdndndddd

A computational scientist's wish list for tomorrow's computing systems

  • 1. A computational scientist’s wish list for tomorrow’s computing systems Konrad Hinsen Centre de Biophysique Moléculaire, Orléans, France and Synchrotron SOLEIL, Saint Aubin, France February 1st 2020 Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st 2020 1 / 38
  • 2. Where I am coming from 1990 condensed matter physics, simple models, simple Fortran code 1995 biophysics, complex models, messy and buggy Fortran code action: co-found Numerical Python action: molecular simulation library in Python 2000 Scientific Python becomes popular 2010 Python 3 breaks all my Python code insight: dependencies are a real problem for science action: join the Reproducible Research movement 2015 scientific papers refer to software rather than models action: start working on digital scientific notations Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st 2020 2 / 38
  • 3. Reflective tower of computational science Notations and tools for computational models and methods Models and methods for molecular simulation Proteins via molecular simulation 1995 2015 Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st 2020 3 / 38
  • 4. Topics 1 Focussing on the subject domain 2 Bottom-up growth, not top-down design 3 Knowledge consolidation Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st 2020 4 / 38
  • 5. Focussing on the subject domain Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st 2020 5 / 38
  • 6. Good ideas from the past Reports and Articles BeyondProgrammingLanguages TerryWinograd StanfordUniversity As computer technology matures, our growing ability to create large systems is leading to basic changes in the nature of programming. Current programming language concepts will not be adequate for building and maintaining systems of the complexity called for by the tasks we attempt. Just as high level languages enabled the programmer to escape from the intricacies of a machine's order code, higher level programming systems can provide the means to understand and manipulate complex systems and components. In order to develop such systems, we need to shift our attention away from the detailed specification of algorithms, towards the description of the properties of the packages and objects with which we build. This paper analyzes some of the shortcomings of programming languages as they now exist, and lays out some possible directions for future research. Key Words and Phrases: programming, programming languages, programming systems, systems development CR Categories: 4.0, 4.20, 4.22, 4.40 Introduction Computer programming today is in a state of crisis (or, more optimistically, a state of creative ferment). There is a growing recognition that the available pro- gramming languages are not adequate for building com- puter systems. Of course, as any first year student of computation theory knows, they are logically sufficient. But they do not deal adequately with the problems we face in the day-to-daywork of programming. We become swamped by the complexity of large systems, lost in code written by others, and mystified by the behavior of our almost debugged systems. When we look to the inte- grated multiprocessor systems that will soon dominate computing, the situation is even worse. This crisis in software production is far greater (in overall magnitude at least) than the situation of the early 50's that led to the development of high level languages to relieve the burden of coding. The problems are harder to solve, and the costs of not solving them are in the hundreds of millions. "The symptoms appear in the form of software that is nonresponsive to user needs, unrelia- T. Winograd, Comm. ACM 22, pp 391-401, 1979 Three Domains of Description Subject domain Domain of interaction Domain of implementation Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st 2020 6 / 38
  • 7. Subject vs. implementation domain Dimensional analysis Some but not all data Applied at specific interface points Dimension, unit, kind of quantity, rank Type checking Every value has a type Every function: input → output No more than one type per value Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st 2020 7 / 38
  • 8. Subject vs. implementation domain Dimensional analysis Some but not all data Applied at specific interface points Dimension, unit, kind of quantity, rank Type checking Every value has a type Every function: input → output No more than one type per value Example: Given: m: mass, v1, v2: velocity Then: mv2 1 : energy, mv2 2 : energy Allowed but undefined: v2 1 , mv1 · v2 Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st 2020 7 / 38
  • 9. The two pillars of science Theory Science Experim ent Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st 2020 8 / 38
  • 10. The two pillars of science Science Models Observa tions Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st 2020 9 / 38
  • 11. The two pillars of science Science Models Observa tions Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st 2020 10 / 38 Learning process Input Inner state
  • 12. Observations and models Source: https://all-free-download.com/free-vector/download/laboratory-work-background-scientist-microscope-bacteria-icons_6837383.html Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st 2020 11 / 38
  • 13. Observations and models Source: https://all-free-download.com/free-vector/download/laboratory-work-background-scientist-microscope-bacteria-icons_6837383.html Model Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st 2020 12 / 38
  • 14. Observations and models Source: https://all-free-download.com/free-vector/download/laboratory-work-background-scientist-microscope-bacteria-icons_6837383.html Model Model Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st 2020 13 / 38
  • 15. Wish list item #1 Observations and models as first-class objects Today’s reality: OK but perfectible for observations (data, metadata) Models are absorbed by software tools Models can be applied but not examined nor modified Models cannot be composed nor transformed K. Hinsen, F1000Research 3:101 (2014) Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st 2020 14 / 38
  • 16. The structure and implementation of scientific models Models are stories with embedded formal elements (equations, graphs, algorithms, ...) Cross-references: hypertext Metastories about models Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st 2020 15 / 38
  • 17. The structure and implementation of scientific models Empirical models Mathematical model Example function with Ptolemy: circles fitted parameters with epicycles Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st 2020 16 / 38
  • 18. The structure and implementation of scientific models Empirical models Mathematical model Example Computational model function with Ptolemy: circles machine learning fitted parameters with epicycles Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st 2020 16 / 38
  • 19. The structure and implementation of scientific models Empirical models Mathematical model Example Computational model function with Ptolemy: circles machine learning fitted parameters with epicycles Explanatory models Mathematical model Example equation Newton: F = m · a, Fij = −Gmi mj r̂ij /r2 ij general solution Kepler: elliptical orbits, sun at (parametric) focal point, constant area speed specific solution Earth’s orbit around the Sun Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st 2020 16 / 38
  • 20. The structure and implementation of scientific models Empirical models Mathematical model Example Computational model function with Ptolemy: circles machine learning fitted parameters with epicycles Explanatory models Mathematical model Example Computational model equation Newton: F = m · a, Fij = −Gmi mj r̂ij /r2 ij specification general solution Kepler: elliptical orbits, sun at algorithm (parametric) focal point, constant area speed (with input parameters) specific solution Earth’s orbit around the Sun computation Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st 2020 16 / 38
  • 21. The structure and implementation of scientific models Explanatory models composable constraints intensional abstract small, understandable Simulation programs monolithic code extensional concrete accidental complexity Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st 2020 17 / 38
  • 22. Wish list item #2 Focus on specifications Today’s reality: Specification languages are marginal Overly focused on preparing implementation No live coding systems for specifications, not even IDEs No integration of specifications with code, graphics, ... Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st 2020 18 / 38
  • 23. Leibniz, a Digital Scientific Notation Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st 2020 19 / 38
  • 24. Leibniz, a Digital Scientific Notation Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st 2020 20 / 38
  • 25. Bottom-up growth, not top-down design Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st 2020 21 / 38
  • 26. Science works bottom-up World view Theories Models Observations Unification specific general Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st 2020 22 / 38
  • 27. Programming works top-down Languages Frameworks Libraries Applications Control specific general Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st 2020 23 / 38
  • 28. Scientific computing World view Theories Models Observations Unification Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st 2020 24 / 38 no digital representation many languages many file formats
  • 29. Wish list item #3 Support for a bottom-up, integrative style of work Today’s reality: Programming languages define universes with strong boundaries Platforms (OS, Web, ...) impose strong boundaries as well Weak interoperability Lack of bridges, connectors, mediators Competition rather than collaboration Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st 2020 25 / 38
  • 30. Knowledge consolidation Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st 2020 26 / 38
  • 31. Knowledge consolidation Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st 2020 27 / 38
  • 32. Knowledge consolidation Coverage Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st 2020 28 / 38
  • 33. Knowledge consolidation Precision Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st 2020 29 / 38
  • 34. Knowledge consolidation Depth Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st 2020 30 / 38
  • 35. Knowledge consolidation Confidence Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st 2020 31 / 38
  • 36. Technological consolidation Tinkering Craft Engineering Industry Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st 2020 32 / 38
  • 37. Technology stacks Tinkering Craft ... Tinkering Craft Engineering Tinkering Craft Engineering Tinkering Craft Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st 2020 33 / 38
  • 38. Programming languages Tinkering Craft Engineering Infrastructure Problem domain Hardware control C Rust Python Haskell Smalltalk Mathematica Excel Shells Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st 2020 34 / 38
  • 39. Programming languages for science Tinkering Craft Engineering Infrastructure Problem domain Hardware control C Rust Python Haskell Smalltalk Mathematica Excel Shells Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st 2020 35 / 38
  • 40. Wish list item #4 Support for the knowledge consolidation process Today’s reality: Distinct language universes, weak interoperability No refactoring or translation tools Weak support for tinkering (REPLs, notebooks) Weak support for working in the problem domain Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st 2020 36 / 38
  • 41. Programming systems for science Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st 2020 37 / 38
  • 42. Summary Wish list 1 Observations and models as first-class objects 2 Focus on specifications 3 Support for a bottom-up, integrative style of work 4 Support for the knowledge consolidation process Missing functionality 1 Interoperability 2 Bridges, connectors, etc. 3 Data first, tools adapt to data 4 Specifications and algorithms as data 5 Graphical tinkering environments Konrad Hinsen (CBM/SOLEIL) A computational scientist’s wish list for tomorrow’s computing systems February 1st 2020 38 / 38