SlideShare a Scribd company logo
Here are the annotated slides from my W.P.E. presentation. Any and all comments are welcome at
jallen@engr.scu.edu.

The obvious –and usual–remarks about copyright (and copyleft/copywrong) are expected to be honored.

john
1. This was a real filing cabinet –without the palm tree—but that’s
another story. The point it that it describes the structure of this talk
… the “beginning, middle, end” if-you-will …while hitting some
points that did not get into the two-page abstract.




2. First, the obligatory introduction. The slide pretty much says it.
I’m not a philosopher; not an engineer; and not a historian. Just a
curmudgeon.




From wanderer to engineering to math to logic. Finally to C.S. about
1964.

But not just any C.S.
It was McCarthy’s version and at Stanford, with their very strong
program in logic and foundations of mathematics.
3. Now the talk. It’s my decade-long voyage through intellectual
and mathematical history and philosophy with the goal of
unwinding the development of modern engineering and engineering
education.

The overarching goal is to make the case that software is destined to
develop similarly.

History and Mystery are interlinked. They deal with mathematical
physics and the interlinking with several Western cultures, and
how/why different societies dealt with the transformation of the new
mathematically-based results into engineering.




                                The Ballast section is the heart of the
matter. It’s an answer to a question I had: Can we bring rationality
and discipline to software development; something similar to the
structure developed over some 300 years of traditional engineering?
My answer is yes –but only if we want to.
4. There’s a difference between training and education –just as
there’s a difference between construction work and engineering–
and the following McCarthy quote expresses the challenge for
software. There are equally apt quotes from Christopher Strachey …




or Peter Landin ... or Tony Hoare

5. I was going for a “Glorious Revolution” picture since the
Glorious Revolution was an entry point to the Age of
Enlightenment, but Compleat Revolution was the best I had..




But first, some mathematical history.
6. The critical event that supports modern science and engineering
happened in the late 16th century: the introduction of symbolic
algebra by Francois Viete. There were some interesting –even
mysterious– interchanges between Viete in France and Harriot in
England, but Viete began the adventure.




Rather than solving specific equations, Viete’s use of symbolic
parameters allowed the statement of general solutions and required
the development of symbolic algebra. You can reduce (2+3)-2 by
arithmetic but reducing (a+b)-a requires symbolic algebra including
the notion of valid symbolic transformations.
****need a better example***

7. Just for comparison, pre-Viete algebras –besides being equation-
specific– were notationally clumsy. Think Roman versus Arabic




notations.
8. But the really powerful idea that was unleashed by Viete is
described here in its original form. He understood exactly what he
had done.




9. And now computational simulation also fits the diagram.




10. Looking back 400 years, the structure of his innovation is what
we now take for granted in all of our mathematical modeling.
11. But there’s something lurking --and usually unsaid-- in this
diagram: that the relationship between the subject-matter and the
model is somehow faithful. The most explicit statement of this
relationship is due to Kurt Godel. This representation relationship is
more applicable than the specifics of his Incompleteness results.




                                The relationship says that you can’t
just put some bullshit down on paper and say “it works!” That’s
called programming. Or in mathematics a conjecture. And Godel
did program. Godel numbers are an example of concrete data
structures, for example. But he did more.

Here what’s required is some justification –some range of
applicability—for your assertion that the representation is somehow
faithful. That’s his representation theorem. It’s an explicit
demonstration that a representation fulfills its intended purpose.

12. And here’s John McCarthy again.




                               Original Lisp was called Meta-
expressions. The language’s domain was Symbolic-expressions –or
S-exprs. Steve Russell noted that McCarthy’s Godel-like work in
representing M-exprs as S-exprs resulted in a notataion that –while
“weird” – was human-readable; something that Godel numbers were
not. So McCarthy “numbers” became a programming language.

13. A little cultural history




14. Nothing occurs in a vacuum. The mathematical and scientific
innovation beginning in the late 17th century occurred in and around
the Enlightenment. And actually there were several varieties of the
big “E” –Radical, Moderate, and (of course) Anti-E. (The Eels) The
national flavor of E greatly influenced how scientific ideas were
assimilated.




                                 More specifically, the Radical E of
France supported the experimentation with scientific engineering …
of course it also lead to the French Revolution, but that’s another
story.
The English, Scotch, and American versions were more “Moderate”
–bordering on “Anti” – and this spilled over into their attitude
toward theory-versus-practice and by extension to their attitude
toward new ideas in engineering. Hacking versus thinking. Practice
versus theory.
The defining difference was how Descartes was interpreted. It
turned on whether one questioned everything or ended the
questioning when it came to “altar and/or throne,” and the status
quo was given a pass. Btw: In the 17th century Descartes kept his
head by saying that rational thought let us see how god’s mind
worked. But by the 18th century the cat was out of the bag, and the
radicals asked the obvious rational question: “why god?”

15. Some quick specifics. I like mysteries. How did Newtonian
mathematical physics end up in France’s Academies?. Why France
and not England?
16. Quickly. Engineering developed in scope and geographical
extent rapidly.




                                   Science-based engineering then
progressed from France to Germany, to England, and finally the
U.S. It’s interesting that the attitude toward E ideas, follows a
similar pattern in terms of Radicalism. Recall Kant’s 1784
newspaper article What is Enlightenment? It was radically tinted.

17. Though Descriptive Geometry was a “killer app” it wasn’t deep
theory. What situation “proved” theory’s worth? What put calculus




on the engineering calendar?                                 The
“forcing event” happened with the Transatlantic cable. One simply
cannot rely on seat-of-pants practice to discover cable-breaks under
2 miles of water. Game; set; match.
18. Of course engineers get educated. And the style of education
directly results for the style of engineering practice –theory-driven
in France; practice-based elsewhere.




19. Monte Calvert expressed the division very aptly as a cultural
issue --“shop versus school.”




Shop-culture versus school-culture is another name for practice-
versus theory-driven. Or in the early days, Moderate versus Radical.
Clearly traditional engineering education is school-based. And
software engineering is shop-based. I think software engineering
needs to change radically. And soon.
20. Here’s current software engineering.




21. To make the case for a new approach we need a “forcing event.”
Something like the transatlantic cable did for electrical engineering,
but for software. Something that “the practical man” cannot do.”




                               A prime example involves the
insecurity of software and a potential solution: to specify
expectations and then require verifiable justification from those who
claim to meet those expectations. Current practice cannot address
this issue –and has no hope of doing so. We believe that Proof-
Carrying Code offers hope.
22. Here’s a short description of the technique.




                             So how do we get there? How do we
supply the mechanisms? There’re theory-based notions, of course.

They’re the Ballast. –
23.




24. The Ballast is based on some implicit –sometimes explicit –
assumptions of engineering. Namely, that properties of a construct
are related to the properties of the components.




25. The ideas can be expressed as inference rules.
26. But now we’re face-to-face again with Viete and symbolic
notation and how to interpret its content.




27. That manipulation can appear in many forms … symbolic
reduction, computation … …whatever. But regardless, the critical
feature is property-preservation.




28. The issue of denotation versus sense is both logical and
philosophical. Since I’m not a philosopher, I’ll go straight to the
logical. And we’ve all seen a Denotational Logic in one form or
another.




29. Since Sensational Logic is not so well-known, here’s a
thumbnail history.




Brouwer was a Dutch mathematician.
Heyting was his student.
Kolmogorov worked independently in Russia.
Curry was an American logician.
Kreisel, Scott, and Howard were at Stanford in the ‘60s –I ran into
these ideas from K.
Martin-Lof as a philosopher, mathematician, computer scientist
brought the ideas out of the logical realm and began to import them
into computer science as “type theory.”

30.Classical truth is illustrated by truth tables and Tarksi’s notion of
truth for predicate calculus (better: cylindric algebras, or Halmos’
algebraic logics). Not really interesting for our purposes.
31. Here’s the Real Ballast.      The BHK interpretation.




                                   To the Intuitionist, a declaration of
truth without its justification is vacuous. This attitude is reminiscent
of Descartes and the Radical Enlightenment: accept nothing without
justification.

But we need to answer “Is this semantics compostional?”
32. Indeed! There’s a simple translation of Intuitionistic truth to
something we can apply. And its semantics is compositional!




33. Here are some Natural Deduction rules demonstrating the two
logics. The Sensational rules are the ones of interest.




                                Note modus ponens.

34. Now it’s a simple step from constructive truth to programming
languages that now contain some basic assertional mechanisms that
we can exploit to create large-scale applications that can fit the PCC
model.




                                 ML is Scheme with strong types.
35. As always the difficulties are in the details. We need heavy-duty
tools, not just theory. It took decades before the fundamentals of
Newton’s mathematical physics became realistic engineering tools.
But here help is on the way.




                               The natural extensions of simple
constructive type theory allow us to express conditions like “buffer
overflow cannot occur.”

36. And we have a Representation Theorem, not just a “numbering.”
Though it can’t do the hard part –handle the full specification
problem– it does guarantee simple syntactic coherence.

This says that the program is “well-typed.” It means that the
program’s collection of type assertions is consistent. For example,
we don’t ask that x be an integer (x:int) and x also be a Boolean
(x:bool).




                                   The hard part requires the parasite to
supply a proof; the host has it easier since proof checking is a
simpler task. But that is as it should be.
37. And back to Godel numbers. We have morphed proofs and
propositions into programs and security assertions.




38. Finally; the point of this exercise is to allow the back-and-forth
to occur without executing the code. And that goes back to a
property that’s required of the language: it’s the property we
mentioned early, now given the name Subject Reduction.




Subject Reduction allows us to check assertions about dynamic
properties without running the program. This is critical for
something like Proof-carrying Code.

Subject Reduction says that throughout the reduction process the
type of the expression is unchanged. And in the limit, the value’s
type is the same as that of the original expression. So, for example,
if we show that the original program does not violate array-bounds,
then throughout its execution the code is also safe, and no run-time
bounds checks need to be included.
39-40,41.




done!!

More Related Content

Viewers also liked

Edina Energy & Environment Commission
Edina Energy & Environment CommissionEdina Energy & Environment Commission
Edina Energy & Environment Commission
University of Minnesota
 
Creative thinking techniques, Part 1
Creative thinking techniques, Part 1Creative thinking techniques, Part 1
Creative thinking techniques, Part 1Dexa Mexa
 
Resumen ocupación turística 2009 Galicia
Resumen ocupación turística 2009 GaliciaResumen ocupación turística 2009 Galicia
Resumen ocupación turística 2009 Galicia
botadechaplin
 
The Prayer Of Winter 1230121816106954 2
The Prayer Of Winter 1230121816106954 2The Prayer Of Winter 1230121816106954 2
The Prayer Of Winter 1230121816106954 2ljvdb
 
How General Motors does it?
How General Motors does it?How General Motors does it?
How General Motors does it?farshid_etype
 
Si And Engineering Philosophy Presentation 081110
Si And Engineering Philosophy Presentation 081110Si And Engineering Philosophy Presentation 081110
Si And Engineering Philosophy Presentation 081110
wpe
 
Athens Digital Week
Athens Digital WeekAthens Digital Week
Athens Digital Week
patrimal
 
Mobile phone future angular js
Mobile phone future angular jsMobile phone future angular js
Mobile phone future angular js
atanacy
 
Trends In Human Resources Management (7) 7 8 2010
Trends In Human Resources Management (7) 7 8 2010Trends In Human Resources Management (7) 7 8 2010
Trends In Human Resources Management (7) 7 8 2010atkinr1
 
Turizm 2.0
Turizm 2.0Turizm 2.0
Turizm 2.0
Mehmet Cihangir
 
Accelerating Residential Energy Efficiency Overview
Accelerating Residential Energy Efficiency OverviewAccelerating Residential Energy Efficiency Overview
Accelerating Residential Energy Efficiency OverviewUniversity of Minnesota
 
Changes Schools Can Make to Reduce their Energy Consumption and Save Money
Changes Schools Can Make to Reduce their Energy Consumption and Save MoneyChanges Schools Can Make to Reduce their Energy Consumption and Save Money
Changes Schools Can Make to Reduce their Energy Consumption and Save MoneyUniversity of Minnesota
 
All About Me
All About MeAll About Me
All About Me
De-Kenna Black
 
Introduction to HRXRD
Introduction to HRXRDIntroduction to HRXRD
Introduction to HRXRD
Nikolaus Herres
 
Valeria
ValeriaValeria
Valeriaitsasu
 

Viewers also liked (20)

Edina Energy & Environment Commission
Edina Energy & Environment CommissionEdina Energy & Environment Commission
Edina Energy & Environment Commission
 
Creative thinking techniques, Part 1
Creative thinking techniques, Part 1Creative thinking techniques, Part 1
Creative thinking techniques, Part 1
 
Resumen ocupación turística 2009 Galicia
Resumen ocupación turística 2009 GaliciaResumen ocupación turística 2009 Galicia
Resumen ocupación turística 2009 Galicia
 
Setas Tóxicas
Setas TóxicasSetas Tóxicas
Setas Tóxicas
 
The Prayer Of Winter 1230121816106954 2
The Prayer Of Winter 1230121816106954 2The Prayer Of Winter 1230121816106954 2
The Prayer Of Winter 1230121816106954 2
 
Tv
TvTv
Tv
 
How General Motors does it?
How General Motors does it?How General Motors does it?
How General Motors does it?
 
Si And Engineering Philosophy Presentation 081110
Si And Engineering Philosophy Presentation 081110Si And Engineering Philosophy Presentation 081110
Si And Engineering Philosophy Presentation 081110
 
Athens Digital Week
Athens Digital WeekAthens Digital Week
Athens Digital Week
 
Mobile phone future angular js
Mobile phone future angular jsMobile phone future angular js
Mobile phone future angular js
 
Trends In Human Resources Management (7) 7 8 2010
Trends In Human Resources Management (7) 7 8 2010Trends In Human Resources Management (7) 7 8 2010
Trends In Human Resources Management (7) 7 8 2010
 
Turizm 2.0
Turizm 2.0Turizm 2.0
Turizm 2.0
 
Accelerating Residential Energy Efficiency Overview
Accelerating Residential Energy Efficiency OverviewAccelerating Residential Energy Efficiency Overview
Accelerating Residential Energy Efficiency Overview
 
Changes Schools Can Make to Reduce their Energy Consumption and Save Money
Changes Schools Can Make to Reduce their Energy Consumption and Save MoneyChanges Schools Can Make to Reduce their Energy Consumption and Save Money
Changes Schools Can Make to Reduce their Energy Consumption and Save Money
 
All About Me
All About MeAll About Me
All About Me
 
RhiZone Energy Solutions
RhiZone Energy SolutionsRhiZone Energy Solutions
RhiZone Energy Solutions
 
Petarkadas.com
Petarkadas.comPetarkadas.com
Petarkadas.com
 
Introduction to HRXRD
Introduction to HRXRDIntroduction to HRXRD
Introduction to HRXRD
 
Ppt Ejer
Ppt EjerPpt Ejer
Ppt Ejer
 
Valeria
ValeriaValeria
Valeria
 

Similar to John Allen, WPE-2008 Presentation

Edwardian Proofs as Futuristic Programs
Edwardian Proofs as Futuristic ProgramsEdwardian Proofs as Futuristic Programs
Edwardian Proofs as Futuristic Programs
Valeria de Paiva
 
COMMUNICATIONS ON PURE AND APPLIED MATHEMATICS, VOL. XIII, 001.docx
COMMUNICATIONS ON PURE AND APPLIED MATHEMATICS, VOL. XIII, 001.docxCOMMUNICATIONS ON PURE AND APPLIED MATHEMATICS, VOL. XIII, 001.docx
COMMUNICATIONS ON PURE AND APPLIED MATHEMATICS, VOL. XIII, 001.docx
pickersgillkayne
 
Shaastra Main Quiz 2020 [SciTech] - Prelims
Shaastra Main Quiz 2020 [SciTech] - Prelims Shaastra Main Quiz 2020 [SciTech] - Prelims
Shaastra Main Quiz 2020 [SciTech] - Prelims
Pranav Condur
 
Mathematical Thinking- there's more to math than just numbers (by Keith Devlin)
Mathematical Thinking- there's more to math than just numbers (by Keith Devlin) Mathematical Thinking- there's more to math than just numbers (by Keith Devlin)
Mathematical Thinking- there's more to math than just numbers (by Keith Devlin)
Rhea Padarath
 
It is a special honor to receive an awardnamed for Allen N.docx
It is a special honor to receive an awardnamed for Allen N.docxIt is a special honor to receive an awardnamed for Allen N.docx
It is a special honor to receive an awardnamed for Allen N.docx
christiandean12115
 
Is Computer Science Science?
Is Computer Science Science?Is Computer Science Science?
Is Computer Science Science?
Daniel Cukier
 
BUS 1 Mini Exam – Chapters 05 – 10 40 Points S.docx
BUS 1 Mini Exam – Chapters 05 – 10 40 Points S.docxBUS 1 Mini Exam – Chapters 05 – 10 40 Points S.docx
BUS 1 Mini Exam – Chapters 05 – 10 40 Points S.docx
hartrobert670
 
Mathematical problems130i q
Mathematical problems130i qMathematical problems130i q
Mathematical problems130i q
Mark Hilbert
 
Project 2 For this project, please pick either Option A or Opt.docx
Project 2 For this project, please pick either Option A or Opt.docxProject 2 For this project, please pick either Option A or Opt.docx
Project 2 For this project, please pick either Option A or Opt.docx
wkyra78
 
Unfreezing thoughts. Philosophy, design studies and role-playing games in a f...
Unfreezing thoughts. Philosophy, design studies and role-playing games in a f...Unfreezing thoughts. Philosophy, design studies and role-playing games in a f...
Unfreezing thoughts. Philosophy, design studies and role-playing games in a f...Luca Galli
 
You will be required to a complete a brief (~300 400 words) read
You will be required to a complete a brief (~300 400 words) readYou will be required to a complete a brief (~300 400 words) read
You will be required to a complete a brief (~300 400 words) read
SANSKAR20
 
VINT Symposium 2012: Recorded Future | David Weinberger
VINT Symposium 2012: Recorded Future | David WeinbergerVINT Symposium 2012: Recorded Future | David Weinberger
VINT Symposium 2012: Recorded Future | David WeinbergerVINTlabs | The Sogeti Trendlab
 
The laboratoryandthemarketinee bookchapter10pdf_merged
The laboratoryandthemarketinee bookchapter10pdf_mergedThe laboratoryandthemarketinee bookchapter10pdf_merged
The laboratoryandthemarketinee bookchapter10pdf_merged
JeenaDC
 
Complexity A Guided Tour By Melanie Mitchell
Complexity A Guided Tour By Melanie MitchellComplexity A Guided Tour By Melanie Mitchell
Complexity A Guided Tour By Melanie Mitchell
528Hz TRUTH
 
Who studies maths practice
Who studies maths practiceWho studies maths practice
Who studies maths practice
Brendan Larvor
 
Who studies maths practice
Who studies maths practiceWho studies maths practice
Who studies maths practiceBrendan Larvor
 
4AI_N1.pdf
4AI_N1.pdf4AI_N1.pdf
Are Human Beings Becoming Dumb Terminals? Notes and Works Cited
Are Human Beings Becoming Dumb Terminals? Notes and Works CitedAre Human Beings Becoming Dumb Terminals? Notes and Works Cited
Are Human Beings Becoming Dumb Terminals? Notes and Works Cited
Chris Boese
 

Similar to John Allen, WPE-2008 Presentation (20)

Edwardian Proofs as Futuristic Programs
Edwardian Proofs as Futuristic ProgramsEdwardian Proofs as Futuristic Programs
Edwardian Proofs as Futuristic Programs
 
COMMUNICATIONS ON PURE AND APPLIED MATHEMATICS, VOL. XIII, 001.docx
COMMUNICATIONS ON PURE AND APPLIED MATHEMATICS, VOL. XIII, 001.docxCOMMUNICATIONS ON PURE AND APPLIED MATHEMATICS, VOL. XIII, 001.docx
COMMUNICATIONS ON PURE AND APPLIED MATHEMATICS, VOL. XIII, 001.docx
 
Shaastra Main Quiz 2020 [SciTech] - Prelims
Shaastra Main Quiz 2020 [SciTech] - Prelims Shaastra Main Quiz 2020 [SciTech] - Prelims
Shaastra Main Quiz 2020 [SciTech] - Prelims
 
Mathematical Thinking- there's more to math than just numbers (by Keith Devlin)
Mathematical Thinking- there's more to math than just numbers (by Keith Devlin) Mathematical Thinking- there's more to math than just numbers (by Keith Devlin)
Mathematical Thinking- there's more to math than just numbers (by Keith Devlin)
 
It is a special honor to receive an awardnamed for Allen N.docx
It is a special honor to receive an awardnamed for Allen N.docxIt is a special honor to receive an awardnamed for Allen N.docx
It is a special honor to receive an awardnamed for Allen N.docx
 
Is Computer Science Science?
Is Computer Science Science?Is Computer Science Science?
Is Computer Science Science?
 
BUS 1 Mini Exam – Chapters 05 – 10 40 Points S.docx
BUS 1 Mini Exam – Chapters 05 – 10 40 Points S.docxBUS 1 Mini Exam – Chapters 05 – 10 40 Points S.docx
BUS 1 Mini Exam – Chapters 05 – 10 40 Points S.docx
 
Mathematical problems130i q
Mathematical problems130i qMathematical problems130i q
Mathematical problems130i q
 
Project 2 For this project, please pick either Option A or Opt.docx
Project 2 For this project, please pick either Option A or Opt.docxProject 2 For this project, please pick either Option A or Opt.docx
Project 2 For this project, please pick either Option A or Opt.docx
 
Unfreezing thoughts. Philosophy, design studies and role-playing games in a f...
Unfreezing thoughts. Philosophy, design studies and role-playing games in a f...Unfreezing thoughts. Philosophy, design studies and role-playing games in a f...
Unfreezing thoughts. Philosophy, design studies and role-playing games in a f...
 
You will be required to a complete a brief (~300 400 words) read
You will be required to a complete a brief (~300 400 words) readYou will be required to a complete a brief (~300 400 words) read
You will be required to a complete a brief (~300 400 words) read
 
VINT Symposium 2012: Recorded Future | David Weinberger
VINT Symposium 2012: Recorded Future | David WeinbergerVINT Symposium 2012: Recorded Future | David Weinberger
VINT Symposium 2012: Recorded Future | David Weinberger
 
The laboratoryandthemarketinee bookchapter10pdf_merged
The laboratoryandthemarketinee bookchapter10pdf_mergedThe laboratoryandthemarketinee bookchapter10pdf_merged
The laboratoryandthemarketinee bookchapter10pdf_merged
 
Artificial intelligence research
Artificial intelligence researchArtificial intelligence research
Artificial intelligence research
 
Artificial intelligence research
Artificial intelligence researchArtificial intelligence research
Artificial intelligence research
 
Complexity A Guided Tour By Melanie Mitchell
Complexity A Guided Tour By Melanie MitchellComplexity A Guided Tour By Melanie Mitchell
Complexity A Guided Tour By Melanie Mitchell
 
Who studies maths practice
Who studies maths practiceWho studies maths practice
Who studies maths practice
 
Who studies maths practice
Who studies maths practiceWho studies maths practice
Who studies maths practice
 
4AI_N1.pdf
4AI_N1.pdf4AI_N1.pdf
4AI_N1.pdf
 
Are Human Beings Becoming Dumb Terminals? Notes and Works Cited
Are Human Beings Becoming Dumb Terminals? Notes and Works CitedAre Human Beings Becoming Dumb Terminals? Notes and Works Cited
Are Human Beings Becoming Dumb Terminals? Notes and Works Cited
 

Recently uploaded

20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
Pixlogix Infotech
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 

Recently uploaded (20)

20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 

John Allen, WPE-2008 Presentation

  • 1. Here are the annotated slides from my W.P.E. presentation. Any and all comments are welcome at jallen@engr.scu.edu. The obvious –and usual–remarks about copyright (and copyleft/copywrong) are expected to be honored. john 1. This was a real filing cabinet –without the palm tree—but that’s another story. The point it that it describes the structure of this talk … the “beginning, middle, end” if-you-will …while hitting some points that did not get into the two-page abstract. 2. First, the obligatory introduction. The slide pretty much says it. I’m not a philosopher; not an engineer; and not a historian. Just a curmudgeon. From wanderer to engineering to math to logic. Finally to C.S. about 1964. But not just any C.S. It was McCarthy’s version and at Stanford, with their very strong program in logic and foundations of mathematics.
  • 2. 3. Now the talk. It’s my decade-long voyage through intellectual and mathematical history and philosophy with the goal of unwinding the development of modern engineering and engineering education. The overarching goal is to make the case that software is destined to develop similarly. History and Mystery are interlinked. They deal with mathematical physics and the interlinking with several Western cultures, and how/why different societies dealt with the transformation of the new mathematically-based results into engineering. The Ballast section is the heart of the matter. It’s an answer to a question I had: Can we bring rationality and discipline to software development; something similar to the structure developed over some 300 years of traditional engineering? My answer is yes –but only if we want to.
  • 3. 4. There’s a difference between training and education –just as there’s a difference between construction work and engineering– and the following McCarthy quote expresses the challenge for software. There are equally apt quotes from Christopher Strachey … or Peter Landin ... or Tony Hoare 5. I was going for a “Glorious Revolution” picture since the Glorious Revolution was an entry point to the Age of Enlightenment, but Compleat Revolution was the best I had.. But first, some mathematical history.
  • 4. 6. The critical event that supports modern science and engineering happened in the late 16th century: the introduction of symbolic algebra by Francois Viete. There were some interesting –even mysterious– interchanges between Viete in France and Harriot in England, but Viete began the adventure. Rather than solving specific equations, Viete’s use of symbolic parameters allowed the statement of general solutions and required the development of symbolic algebra. You can reduce (2+3)-2 by arithmetic but reducing (a+b)-a requires symbolic algebra including the notion of valid symbolic transformations. ****need a better example*** 7. Just for comparison, pre-Viete algebras –besides being equation- specific– were notationally clumsy. Think Roman versus Arabic notations.
  • 5. 8. But the really powerful idea that was unleashed by Viete is described here in its original form. He understood exactly what he had done. 9. And now computational simulation also fits the diagram. 10. Looking back 400 years, the structure of his innovation is what we now take for granted in all of our mathematical modeling.
  • 6. 11. But there’s something lurking --and usually unsaid-- in this diagram: that the relationship between the subject-matter and the model is somehow faithful. The most explicit statement of this relationship is due to Kurt Godel. This representation relationship is more applicable than the specifics of his Incompleteness results. The relationship says that you can’t just put some bullshit down on paper and say “it works!” That’s called programming. Or in mathematics a conjecture. And Godel did program. Godel numbers are an example of concrete data structures, for example. But he did more. Here what’s required is some justification –some range of applicability—for your assertion that the representation is somehow faithful. That’s his representation theorem. It’s an explicit demonstration that a representation fulfills its intended purpose. 12. And here’s John McCarthy again. Original Lisp was called Meta- expressions. The language’s domain was Symbolic-expressions –or S-exprs. Steve Russell noted that McCarthy’s Godel-like work in representing M-exprs as S-exprs resulted in a notataion that –while
  • 7. “weird” – was human-readable; something that Godel numbers were not. So McCarthy “numbers” became a programming language. 13. A little cultural history 14. Nothing occurs in a vacuum. The mathematical and scientific innovation beginning in the late 17th century occurred in and around the Enlightenment. And actually there were several varieties of the big “E” –Radical, Moderate, and (of course) Anti-E. (The Eels) The national flavor of E greatly influenced how scientific ideas were assimilated. More specifically, the Radical E of France supported the experimentation with scientific engineering … of course it also lead to the French Revolution, but that’s another story. The English, Scotch, and American versions were more “Moderate” –bordering on “Anti” – and this spilled over into their attitude toward theory-versus-practice and by extension to their attitude toward new ideas in engineering. Hacking versus thinking. Practice versus theory.
  • 8. The defining difference was how Descartes was interpreted. It turned on whether one questioned everything or ended the questioning when it came to “altar and/or throne,” and the status quo was given a pass. Btw: In the 17th century Descartes kept his head by saying that rational thought let us see how god’s mind worked. But by the 18th century the cat was out of the bag, and the radicals asked the obvious rational question: “why god?” 15. Some quick specifics. I like mysteries. How did Newtonian mathematical physics end up in France’s Academies?. Why France and not England?
  • 9. 16. Quickly. Engineering developed in scope and geographical extent rapidly. Science-based engineering then progressed from France to Germany, to England, and finally the U.S. It’s interesting that the attitude toward E ideas, follows a similar pattern in terms of Radicalism. Recall Kant’s 1784 newspaper article What is Enlightenment? It was radically tinted. 17. Though Descriptive Geometry was a “killer app” it wasn’t deep theory. What situation “proved” theory’s worth? What put calculus on the engineering calendar? The “forcing event” happened with the Transatlantic cable. One simply cannot rely on seat-of-pants practice to discover cable-breaks under 2 miles of water. Game; set; match.
  • 10. 18. Of course engineers get educated. And the style of education directly results for the style of engineering practice –theory-driven in France; practice-based elsewhere. 19. Monte Calvert expressed the division very aptly as a cultural issue --“shop versus school.” Shop-culture versus school-culture is another name for practice- versus theory-driven. Or in the early days, Moderate versus Radical. Clearly traditional engineering education is school-based. And software engineering is shop-based. I think software engineering needs to change radically. And soon.
  • 11. 20. Here’s current software engineering. 21. To make the case for a new approach we need a “forcing event.” Something like the transatlantic cable did for electrical engineering, but for software. Something that “the practical man” cannot do.” A prime example involves the insecurity of software and a potential solution: to specify expectations and then require verifiable justification from those who claim to meet those expectations. Current practice cannot address this issue –and has no hope of doing so. We believe that Proof- Carrying Code offers hope.
  • 12. 22. Here’s a short description of the technique. So how do we get there? How do we supply the mechanisms? There’re theory-based notions, of course. They’re the Ballast. – 23. 24. The Ballast is based on some implicit –sometimes explicit – assumptions of engineering. Namely, that properties of a construct are related to the properties of the components. 25. The ideas can be expressed as inference rules.
  • 13. 26. But now we’re face-to-face again with Viete and symbolic notation and how to interpret its content. 27. That manipulation can appear in many forms … symbolic reduction, computation … …whatever. But regardless, the critical feature is property-preservation. 28. The issue of denotation versus sense is both logical and philosophical. Since I’m not a philosopher, I’ll go straight to the
  • 14. logical. And we’ve all seen a Denotational Logic in one form or another. 29. Since Sensational Logic is not so well-known, here’s a thumbnail history. Brouwer was a Dutch mathematician. Heyting was his student. Kolmogorov worked independently in Russia. Curry was an American logician. Kreisel, Scott, and Howard were at Stanford in the ‘60s –I ran into these ideas from K. Martin-Lof as a philosopher, mathematician, computer scientist brought the ideas out of the logical realm and began to import them into computer science as “type theory.” 30.Classical truth is illustrated by truth tables and Tarksi’s notion of truth for predicate calculus (better: cylindric algebras, or Halmos’ algebraic logics). Not really interesting for our purposes.
  • 15. 31. Here’s the Real Ballast. The BHK interpretation. To the Intuitionist, a declaration of truth without its justification is vacuous. This attitude is reminiscent of Descartes and the Radical Enlightenment: accept nothing without justification. But we need to answer “Is this semantics compostional?”
  • 16. 32. Indeed! There’s a simple translation of Intuitionistic truth to something we can apply. And its semantics is compositional! 33. Here are some Natural Deduction rules demonstrating the two logics. The Sensational rules are the ones of interest. Note modus ponens. 34. Now it’s a simple step from constructive truth to programming languages that now contain some basic assertional mechanisms that we can exploit to create large-scale applications that can fit the PCC model. ML is Scheme with strong types.
  • 17. 35. As always the difficulties are in the details. We need heavy-duty tools, not just theory. It took decades before the fundamentals of Newton’s mathematical physics became realistic engineering tools. But here help is on the way. The natural extensions of simple constructive type theory allow us to express conditions like “buffer overflow cannot occur.” 36. And we have a Representation Theorem, not just a “numbering.” Though it can’t do the hard part –handle the full specification problem– it does guarantee simple syntactic coherence. This says that the program is “well-typed.” It means that the program’s collection of type assertions is consistent. For example, we don’t ask that x be an integer (x:int) and x also be a Boolean (x:bool). The hard part requires the parasite to supply a proof; the host has it easier since proof checking is a simpler task. But that is as it should be.
  • 18. 37. And back to Godel numbers. We have morphed proofs and propositions into programs and security assertions. 38. Finally; the point of this exercise is to allow the back-and-forth to occur without executing the code. And that goes back to a property that’s required of the language: it’s the property we mentioned early, now given the name Subject Reduction. Subject Reduction allows us to check assertions about dynamic properties without running the program. This is critical for something like Proof-carrying Code. Subject Reduction says that throughout the reduction process the type of the expression is unchanged. And in the limit, the value’s type is the same as that of the original expression. So, for example, if we show that the original program does not violate array-bounds, then throughout its execution the code is also safe, and no run-time bounds checks need to be included.