9
1 3 Questions • What do we need to do in order to achieve the vision? What is a fuller elaboration of the collection of artifacts required to support the vision? • What has been done recently? • What is ready to be addressed in the near future?

1 3 Questions What do we need to do in order to achieve the vision? What is a fuller elaboration of the collection of artifacts required to support the

Embed Size (px)

Citation preview

Page 1: 1 3 Questions What do we need to do in order to achieve the vision? What is a fuller elaboration of the collection of artifacts required to support the

1

3 Questions

• What do we need to do in order to achieve the vision? What is a fuller elaboration of the collection of artifacts required to support the vision?

• What has been done recently?

• What is ready to be addressed in the near future?

Page 2: 1 3 Questions What do we need to do in order to achieve the vision? What is a fuller elaboration of the collection of artifacts required to support the

2

Constituents of the RESOLVE Effort

•Math Units•Precis

•Basis: Set Theory•Proofs

•Basis: Math Logic•Specificational Units

•Concepts•Enhancements•Profiles

•Basis: Reals, Integers•Code Units

•Realizations•Basis: Integer Facility, Arrays, Input/Output ⋯

•Facilities

Language Definition

Page 3: 1 3 Questions What do we need to do in order to achieve the vision? What is a fuller elaboration of the collection of artifacts required to support the

3

Constituents of a Specificational Programming Language

Coding Subsystem

Mathematical Subsystem

MathPrécis

ProofUnits

FacilityConcepts

Realizations

Set Th.

Int. Th.

● Str. Th.

●Tree. Th.

● Ttl. Odr. Th.

Built-inFacilities

● Int. Fac.

● Stk. Tpl.

● Que. Tpl.

● Ptzr. Tpl.

● Arr. Rlz.

● Arr. Rlz.

● Lst. Rlz.

Facilities

● ●

( denotes ‘uses’ relation)

● ●

PerformanceProfiles

SpecificationalSubsystem

Language Diagram

Page 4: 1 3 Questions What do we need to do in order to achieve the vision? What is a fuller elaboration of the collection of artifacts required to support the

4

Design Principles

•Primary vs Secondary Operations •Simple Formal Specs•Metaphorical Nomenclature•Support for Efficiency•Broad Reusability

Page 5: 1 3 Questions What do we need to do in order to achieve the vision? What is a fuller elaboration of the collection of artifacts required to support the

5

Software Support•Verifying Compiler

•Type Checking•Code•Math

•Code Generator•Proof Checker•Justification Checker

•Run Time System (I/O, ⋯)•Editor (Math Notation)•Environment Manipulator?

Page 6: 1 3 Questions What do we need to do in order to achieve the vision? What is a fuller elaboration of the collection of artifacts required to support the

6

Metatheory

•Formal Language Syntax•Denotational Semantics•Compiler Specification•Soundness •Completeness

Page 7: 1 3 Questions What do we need to do in order to achieve the vision? What is a fuller elaboration of the collection of artifacts required to support the

7

Communicating the New Verifiability Paradigm•The Message

•New Vision is Worthwhile•Current Paradigm is Hopelessly Broken•New Paradigm will work for Everything

•The Challenge•No Incremental Change Path•Small Fragments Unconvincing

•A Strategy•Target Visionaries First•Develop Critical Mass of Use Cases•Author Foundational Books

•The Books•Rationale for Features of RESOLVE for Experts in Software Engineering and Programming Languages (Vol. I, II, ⋯)•Introduction to RESOLVE for CS 1 & 2•Data Structures in RESOLVE•Programming Language Theory based on RESOLVE•Discrete Math in RESOLVE

Page 8: 1 3 Questions What do we need to do in order to achieve the vision? What is a fuller elaboration of the collection of artifacts required to support the

8

Progress Since Last Workshop•Performance Profiles Presentation•Hand Verification of Examples•Updated Program Proof Rules

•Precursor Function for Relational Correspondences•Simplified Communal Concept Specifications•Reducing Loops to Conditionals•Removing Manifestly Superfluous Hypotheses •Eliminate the Nested Remember Construct•NQV( RP, x ) [Next Question-mark Variable]

•Why “n: 7” is incorrect [MAD]•Facility Declarations within Objects•Forms Allowed in Mathematical Proofs•New Parameter Mode•Nested List Explorer•Depository Metaphor for Partial Maps

•Hashing Realization•Terminability Condition for Relational Op Specs

Page 9: 1 3 Questions What do we need to do in order to achieve the vision? What is a fuller elaboration of the collection of artifacts required to support the

9

Frontier Activities•RESOLVE Vision Statement•Exploration Tree Realization for Depository•Subtyping•Compiler Development•Chapters in RESOLVE Rationale Book•Additional Performance Profiles•CS Encyclopedia Articles on Specification & on Verification•Experiments with Isabelle•Caching Optimization and Scratchpad Memories