SlideShare ist ein Scribd-Unternehmen logo
1 von 16
Downloaden Sie, um offline zu lesen
Building a scientific workbench in Pharo
Konrad Hinsen 1, 2
Serge Stinckwich 3, 4, 5
1
Centre de Biophysique Moléculaire, Orléans, France
2
Synchrotron SOLEIL, Saint Aubin, France
3
Sorbonne Université, IRD, Unité de Modélisation Mathématiques et Informatique des Systèmes Complexes,
UMMISCO, Bondy, France
4
Université de Yaoundé I, Yaoundé, Cameroon
5
Université de Caen Normandie, Caen, France
27 August 2019
Konrad Hinsen , Serge Stinckwich ( Centre de Biophysique Moléculaire, Orléans, France, Synchrotron SOLEIL, Saint Aubin, France, Sorbonne Université, IRD, Unité de MBuilding a scientific workbench in Pharo 27 August 2019 1 / 16
What’s a scientific workbench?
The IDE of the computational scientist
Supports the tasks of doing science on a computer:
Write and test code
Import and export data
Process data
Perform simulations
Inspect experimental and computed data
Document all of the above
Makes computations reproducible.
Konrad Hinsen , Serge Stinckwich ( Centre de Biophysique Moléculaire, Orléans, France, Synchrotron SOLEIL, Saint Aubin, France, Sorbonne Université, IRD, Unité de MBuilding a scientific workbench in Pharo 27 August 2019 2 / 16
RStudio
Konrad Hinsen , Serge Stinckwich ( Centre de Biophysique Moléculaire, Orléans, France, Synchrotron SOLEIL, Saint Aubin, France, Sorbonne Université, IRD, Unité de MBuilding a scientific workbench in Pharo 27 August 2019 3 / 16
Jupyter
Konrad Hinsen , Serge Stinckwich ( Centre de Biophysique Moléculaire, Orléans, France, Synchrotron SOLEIL, Saint Aubin, France, Sorbonne Université, IRD, Unité de MBuilding a scientific workbench in Pharo 27 August 2019 4 / 16
Emacs
Konrad Hinsen , Serge Stinckwich ( Centre de Biophysique Moléculaire, Orléans, France, Synchrotron SOLEIL, Saint Aubin, France, Sorbonne Université, IRD, Unité de MBuilding a scientific workbench in Pharo 27 August 2019 5 / 16
Shifting priorities
Traditional focus: get work done efficiently
interactive computation
generate plots and tables (for pasting into publications produced outside of the
workbench)
More recent criteria: robust and understandable results
reproducible computations
shared/publishable raw datasets
well-documented computations
document while you compute
Konrad Hinsen , Serge Stinckwich ( Centre de Biophysique Moléculaire, Orléans, France, Synchrotron SOLEIL, Saint Aubin, France, Sorbonne Université, IRD, Unité de MBuilding a scientific workbench in Pharo 27 August 2019 6 / 16
The state of the art: computational notebooks
A fusion of scripts, REPLs, and literate programming, invented in the 1980’s by
Mathematica
A linear sequence of so-called “cells”
Three cell types:
Text cells hold rich text for documentation
Code cells contain code snippets
Output cells show the output of one code snippet (text or graphics)
Code cells can be executed one by one, manually...
... or sequentially as part of a whole-notebook execution.
Many implementations: Mathematica, Jupyter, R Markdown, Emacs/Org-Mode, ...
Konrad Hinsen , Serge Stinckwich ( Centre de Biophysique Moléculaire, Orléans, France, Synchrotron SOLEIL, Saint Aubin, France, Sorbonne Université, IRD, Unité de MBuilding a scientific workbench in Pharo 27 August 2019 7 / 16
Limitations of notebooks
Linear sequence of cells: no way to structure or modularize
Made worse by shared mutable state...
... and even worse by interactive cell execution.
Documentation follows code structure: no way to relegate technical details to an
appendix
Data dependencies are not explicit, nor easily visible.
Neither code nor data are reusable by other notebooks.
Different tools/user interfaces for notebooks and library code.
Notebooks blissfully ignore decades of software engineering achievements.
Konrad Hinsen , Serge Stinckwich ( Centre de Biophysique Moléculaire, Orléans, France, Synchrotron SOLEIL, Saint Aubin, France, Sorbonne Université, IRD, Unité de MBuilding a scientific workbench in Pharo 27 August 2019 8 / 16
Smalltalk to the rescue
Hypothesis:
A Smalltalk system is a much better starting point
for designing a scientific workbench than a REPL.
Nice properties:
well-known to this audience!
Missing pieces:
A documentation tool that allows embedding code and data.
Management of computational tasks and data dependencies
to replace the notebook’s linear control flow
Support libraries for scientific computing.
Konrad Hinsen , Serge Stinckwich ( Centre de Biophysique Moléculaire, Orléans, France, Synchrotron SOLEIL, Saint Aubin, France, Sorbonne Université, IRD, Unité de MBuilding a scientific workbench in Pharo 27 August 2019 9 / 16
Nothing new
Konrad Hinsen , Serge Stinckwich ( Centre de Biophysique Moléculaire, Orléans, France, Synchrotron SOLEIL, Saint Aubin, France, Sorbonne Université, IRD, Unité de MBuilding a scientific workbench in Pharo 27 August 2019 10 / 16
Glamorous Toolkit
Nice properties:
presented yesterday to this audience
specifically for a scientific workbench: an excellent documentation tool
Missing pieces:
Management of computational tasks and data dependencies
to replace the notebook’s linear control flow
Konrad Hinsen , Serge Stinckwich ( Centre de Biophysique Moléculaire, Orléans, France, Synchrotron SOLEIL, Saint Aubin, France, Sorbonne Université, IRD, Unité de MBuilding a scientific workbench in Pharo 27 August 2019 11 / 16
ActivePapers
A research project about performing and communicating computer-aided research
Started in 2011.
Initial focus: reproducible high-performance computing.
Management of computational tasks and data dependencies
Current implementation based on Python...
... and a lousy user interface: very basic CLI
Konrad Hinsen , Serge Stinckwich ( Centre de Biophysique Moléculaire, Orléans, France, Synchrotron SOLEIL, Saint Aubin, France, Sorbonne Université, IRD, Unité de MBuilding a scientific workbench in Pharo 27 August 2019 12 / 16
PolyMath
Release 1.0 last week
300 classes, 50 packages, 24K LOC, 806 unit tests
Ordinary differential Equations, Random Number Generators, Linear algebra,
Matrices, Complex Numbers, FFT, Polynomials, Probability distributions, ...
more recently: Automatic differentiation, Principal Component Analysis, t-SNE,
DataFrame to do data analysis
Talk on PolyMath next thursday
Konrad Hinsen , Serge Stinckwich ( Centre de Biophysique Moléculaire, Orléans, France, Synchrotron SOLEIL, Saint Aubin, France, Sorbonne Université, IRD, Unité de MBuilding a scientific workbench in Pharo 27 August 2019 13 / 16
Working hypothesis
Pharo + Glamorous Toolkit + PolyMath + ActivePapers
= Scientific Workbench
Konrad Hinsen , Serge Stinckwich ( Centre de Biophysique Moléculaire, Orléans, France, Synchrotron SOLEIL, Saint Aubin, France, Sorbonne Université, IRD, Unité de MBuilding a scientific workbench in Pharo 27 August 2019 14 / 16
Demo
Konrad Hinsen , Serge Stinckwich ( Centre de Biophysique Moléculaire, Orléans, France, Synchrotron SOLEIL, Saint Aubin, France, Sorbonne Université, IRD, Unité de MBuilding a scientific workbench in Pharo 27 August 2019 15 / 16
Outlook
A lot of work remains to be done:
More domain-specific libraries
Interfaces to other languages
Data management outside of the Pharo image
Publishing ActivePapers on the Web
Konrad Hinsen , Serge Stinckwich ( Centre de Biophysique Moléculaire, Orléans, France, Synchrotron SOLEIL, Saint Aubin, France, Sorbonne Université, IRD, Unité de MBuilding a scientific workbench in Pharo 27 August 2019 16 / 16

Weitere ähnliche Inhalte

Ähnlich wie Building a scientific workbench in Pharo

Reproducible Open Science with EGI Notebooks, Binder and Zenodo
Reproducible Open Science with EGI Notebooks, Binder and ZenodoReproducible Open Science with EGI Notebooks, Binder and Zenodo
Reproducible Open Science with EGI Notebooks, Binder and Zenodo
EGI Federation
 

Ähnlich wie Building a scientific workbench in Pharo (20)

OpenAIRE presentation for ICT - Brussels 27-29 Sept, 2010
OpenAIRE presentation for  ICT - Brussels 27-29 Sept, 2010OpenAIRE presentation for  ICT - Brussels 27-29 Sept, 2010
OpenAIRE presentation for ICT - Brussels 27-29 Sept, 2010
 
Reproducible Open Science with EGI Notebooks, Binder and Zenodo
Reproducible Open Science with EGI Notebooks, Binder and ZenodoReproducible Open Science with EGI Notebooks, Binder and Zenodo
Reproducible Open Science with EGI Notebooks, Binder and Zenodo
 
Cloud Services for Education - HNSciCloud applied to the UP2U project
Cloud Services for Education - HNSciCloud applied to the UP2U projectCloud Services for Education - HNSciCloud applied to the UP2U project
Cloud Services for Education - HNSciCloud applied to the UP2U project
 
OpenAIRE at the 8th e-Infrastructure Concetration Meeting Nov 5, 2010 CERN -...
OpenAIRE  at the 8th e-Infrastructure Concetration Meeting Nov 5, 2010 CERN -...OpenAIRE  at the 8th e-Infrastructure Concetration Meeting Nov 5, 2010 CERN -...
OpenAIRE at the 8th e-Infrastructure Concetration Meeting Nov 5, 2010 CERN -...
 
#OSSPARIS17 - Logiciel libre pour une science reproductible, par ROBERTO DI C...
#OSSPARIS17 - Logiciel libre pour une science reproductible, par ROBERTO DI C...#OSSPARIS17 - Logiciel libre pour une science reproductible, par ROBERTO DI C...
#OSSPARIS17 - Logiciel libre pour une science reproductible, par ROBERTO DI C...
 
The Community of Interest in France
The Community of Interest in FranceThe Community of Interest in France
The Community of Interest in France
 
ESWC2010 Closing Ceremony
ESWC2010 Closing CeremonyESWC2010 Closing Ceremony
ESWC2010 Closing Ceremony
 
An Ecosystem for Linked Humanities Data
An Ecosystem for Linked Humanities DataAn Ecosystem for Linked Humanities Data
An Ecosystem for Linked Humanities Data
 
Towards Reproducible Science: a few building blocks from my personal experience
Towards Reproducible Science: a few building blocks from my personal experienceTowards Reproducible Science: a few building blocks from my personal experience
Towards Reproducible Science: a few building blocks from my personal experience
 
National scale research computing and beyond pearc panel 2017
National scale research computing and beyond   pearc panel 2017National scale research computing and beyond   pearc panel 2017
National scale research computing and beyond pearc panel 2017
 
Research2.0
Research2.0Research2.0
Research2.0
 
Python for High Performance and Scientific Computing
Python for High Performance and Scientific ComputingPython for High Performance and Scientific Computing
Python for High Performance and Scientific Computing
 
Reproducibility in computer-assisted research
Reproducibility in computer-assisted researchReproducibility in computer-assisted research
Reproducibility in computer-assisted research
 
Interactions 34: The Sorbonne Universities (SU) cluster and interdisciplinarity
Interactions 34: The Sorbonne Universities (SU) cluster and interdisciplinarityInteractions 34: The Sorbonne Universities (SU) cluster and interdisciplinarity
Interactions 34: The Sorbonne Universities (SU) cluster and interdisciplinarity
 
Research2.0
Research2.0Research2.0
Research2.0
 
Demo Presentation Wageningen Text Mining Workshop 2007
Demo Presentation Wageningen Text Mining Workshop 2007Demo Presentation Wageningen Text Mining Workshop 2007
Demo Presentation Wageningen Text Mining Workshop 2007
 
A biologist in e-Science
A biologist in e-ScienceA biologist in e-Science
A biologist in e-Science
 
Reproducible Science and Deep Software Variability
Reproducible Science and Deep Software VariabilityReproducible Science and Deep Software Variability
Reproducible Science and Deep Software Variability
 
ESEC/FSE 2011 CFP - A4
ESEC/FSE 2011 CFP - A4ESEC/FSE 2011 CFP - A4
ESEC/FSE 2011 CFP - A4
 
IC-SDV 2019: Semantic e-Science - The Future of Information Provision in the ...
IC-SDV 2019: Semantic e-Science - The Future of Information Provision in the ...IC-SDV 2019: Semantic e-Science - The Future of Information Provision in the ...
IC-SDV 2019: Semantic e-Science - The Future of Information Provision in the ...
 

Mehr von ESUG

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
ESUG
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
ESUG
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
ESUG
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
ESUG
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
ESUG
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
ESUG
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
ESUG
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
ESUG
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
ESUG
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
ESUG
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
ESUG
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
ESUG
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
ESUG
 

Mehr von ESUG (20)

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in Pharo
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector Tuning
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the Debugger
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing Score
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
 

Kürzlich hochgeladen

%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 

Kürzlich hochgeladen (20)

Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions Presentation
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 

Building a scientific workbench in Pharo

  • 1. Building a scientific workbench in Pharo Konrad Hinsen 1, 2 Serge Stinckwich 3, 4, 5 1 Centre de Biophysique Moléculaire, Orléans, France 2 Synchrotron SOLEIL, Saint Aubin, France 3 Sorbonne Université, IRD, Unité de Modélisation Mathématiques et Informatique des Systèmes Complexes, UMMISCO, Bondy, France 4 Université de Yaoundé I, Yaoundé, Cameroon 5 Université de Caen Normandie, Caen, France 27 August 2019 Konrad Hinsen , Serge Stinckwich ( Centre de Biophysique Moléculaire, Orléans, France, Synchrotron SOLEIL, Saint Aubin, France, Sorbonne Université, IRD, Unité de MBuilding a scientific workbench in Pharo 27 August 2019 1 / 16
  • 2. What’s a scientific workbench? The IDE of the computational scientist Supports the tasks of doing science on a computer: Write and test code Import and export data Process data Perform simulations Inspect experimental and computed data Document all of the above Makes computations reproducible. Konrad Hinsen , Serge Stinckwich ( Centre de Biophysique Moléculaire, Orléans, France, Synchrotron SOLEIL, Saint Aubin, France, Sorbonne Université, IRD, Unité de MBuilding a scientific workbench in Pharo 27 August 2019 2 / 16
  • 3. RStudio Konrad Hinsen , Serge Stinckwich ( Centre de Biophysique Moléculaire, Orléans, France, Synchrotron SOLEIL, Saint Aubin, France, Sorbonne Université, IRD, Unité de MBuilding a scientific workbench in Pharo 27 August 2019 3 / 16
  • 4. Jupyter Konrad Hinsen , Serge Stinckwich ( Centre de Biophysique Moléculaire, Orléans, France, Synchrotron SOLEIL, Saint Aubin, France, Sorbonne Université, IRD, Unité de MBuilding a scientific workbench in Pharo 27 August 2019 4 / 16
  • 5. Emacs Konrad Hinsen , Serge Stinckwich ( Centre de Biophysique Moléculaire, Orléans, France, Synchrotron SOLEIL, Saint Aubin, France, Sorbonne Université, IRD, Unité de MBuilding a scientific workbench in Pharo 27 August 2019 5 / 16
  • 6. Shifting priorities Traditional focus: get work done efficiently interactive computation generate plots and tables (for pasting into publications produced outside of the workbench) More recent criteria: robust and understandable results reproducible computations shared/publishable raw datasets well-documented computations document while you compute Konrad Hinsen , Serge Stinckwich ( Centre de Biophysique Moléculaire, Orléans, France, Synchrotron SOLEIL, Saint Aubin, France, Sorbonne Université, IRD, Unité de MBuilding a scientific workbench in Pharo 27 August 2019 6 / 16
  • 7. The state of the art: computational notebooks A fusion of scripts, REPLs, and literate programming, invented in the 1980’s by Mathematica A linear sequence of so-called “cells” Three cell types: Text cells hold rich text for documentation Code cells contain code snippets Output cells show the output of one code snippet (text or graphics) Code cells can be executed one by one, manually... ... or sequentially as part of a whole-notebook execution. Many implementations: Mathematica, Jupyter, R Markdown, Emacs/Org-Mode, ... Konrad Hinsen , Serge Stinckwich ( Centre de Biophysique Moléculaire, Orléans, France, Synchrotron SOLEIL, Saint Aubin, France, Sorbonne Université, IRD, Unité de MBuilding a scientific workbench in Pharo 27 August 2019 7 / 16
  • 8. Limitations of notebooks Linear sequence of cells: no way to structure or modularize Made worse by shared mutable state... ... and even worse by interactive cell execution. Documentation follows code structure: no way to relegate technical details to an appendix Data dependencies are not explicit, nor easily visible. Neither code nor data are reusable by other notebooks. Different tools/user interfaces for notebooks and library code. Notebooks blissfully ignore decades of software engineering achievements. Konrad Hinsen , Serge Stinckwich ( Centre de Biophysique Moléculaire, Orléans, France, Synchrotron SOLEIL, Saint Aubin, France, Sorbonne Université, IRD, Unité de MBuilding a scientific workbench in Pharo 27 August 2019 8 / 16
  • 9. Smalltalk to the rescue Hypothesis: A Smalltalk system is a much better starting point for designing a scientific workbench than a REPL. Nice properties: well-known to this audience! Missing pieces: A documentation tool that allows embedding code and data. Management of computational tasks and data dependencies to replace the notebook’s linear control flow Support libraries for scientific computing. Konrad Hinsen , Serge Stinckwich ( Centre de Biophysique Moléculaire, Orléans, France, Synchrotron SOLEIL, Saint Aubin, France, Sorbonne Université, IRD, Unité de MBuilding a scientific workbench in Pharo 27 August 2019 9 / 16
  • 10. Nothing new Konrad Hinsen , Serge Stinckwich ( Centre de Biophysique Moléculaire, Orléans, France, Synchrotron SOLEIL, Saint Aubin, France, Sorbonne Université, IRD, Unité de MBuilding a scientific workbench in Pharo 27 August 2019 10 / 16
  • 11. Glamorous Toolkit Nice properties: presented yesterday to this audience specifically for a scientific workbench: an excellent documentation tool Missing pieces: Management of computational tasks and data dependencies to replace the notebook’s linear control flow Konrad Hinsen , Serge Stinckwich ( Centre de Biophysique Moléculaire, Orléans, France, Synchrotron SOLEIL, Saint Aubin, France, Sorbonne Université, IRD, Unité de MBuilding a scientific workbench in Pharo 27 August 2019 11 / 16
  • 12. ActivePapers A research project about performing and communicating computer-aided research Started in 2011. Initial focus: reproducible high-performance computing. Management of computational tasks and data dependencies Current implementation based on Python... ... and a lousy user interface: very basic CLI Konrad Hinsen , Serge Stinckwich ( Centre de Biophysique Moléculaire, Orléans, France, Synchrotron SOLEIL, Saint Aubin, France, Sorbonne Université, IRD, Unité de MBuilding a scientific workbench in Pharo 27 August 2019 12 / 16
  • 13. PolyMath Release 1.0 last week 300 classes, 50 packages, 24K LOC, 806 unit tests Ordinary differential Equations, Random Number Generators, Linear algebra, Matrices, Complex Numbers, FFT, Polynomials, Probability distributions, ... more recently: Automatic differentiation, Principal Component Analysis, t-SNE, DataFrame to do data analysis Talk on PolyMath next thursday Konrad Hinsen , Serge Stinckwich ( Centre de Biophysique Moléculaire, Orléans, France, Synchrotron SOLEIL, Saint Aubin, France, Sorbonne Université, IRD, Unité de MBuilding a scientific workbench in Pharo 27 August 2019 13 / 16
  • 14. Working hypothesis Pharo + Glamorous Toolkit + PolyMath + ActivePapers = Scientific Workbench Konrad Hinsen , Serge Stinckwich ( Centre de Biophysique Moléculaire, Orléans, France, Synchrotron SOLEIL, Saint Aubin, France, Sorbonne Université, IRD, Unité de MBuilding a scientific workbench in Pharo 27 August 2019 14 / 16
  • 15. Demo Konrad Hinsen , Serge Stinckwich ( Centre de Biophysique Moléculaire, Orléans, France, Synchrotron SOLEIL, Saint Aubin, France, Sorbonne Université, IRD, Unité de MBuilding a scientific workbench in Pharo 27 August 2019 15 / 16
  • 16. Outlook A lot of work remains to be done: More domain-specific libraries Interfaces to other languages Data management outside of the Pharo image Publishing ActivePapers on the Web Konrad Hinsen , Serge Stinckwich ( Centre de Biophysique Moléculaire, Orléans, France, Synchrotron SOLEIL, Saint Aubin, France, Sorbonne Université, IRD, Unité de MBuilding a scientific workbench in Pharo 27 August 2019 16 / 16