InterLink William R. Cook UT Austin November 2008.
-
date post
21-Dec-2015 -
Category
Documents
-
view
218 -
download
1
Transcript of InterLink William R. Cook UT Austin November 2008.
InterLink
William R. Cook UT Austin
November 2008
Huge Scale
Open
Non-deterministic
Adaptive
Huge ∧ Open ∧ Stochastic ∧ Adaptive
How many of ushave ever builtsuch a system?
Huge ∨ Open ∨ Stochastic ∨ Adaptive
…or dealt with oneof them?
Choices?
Emergent behavior versus Compositionality
“Fitness to Purpose” versus Verification
Dynamic Languages versus Type Systems
Methodology?
Try and build such systems
(Don't worry about methodology or tools)
Just build it
Analyze and build tools along the way
Question Assumptions
• The Interactive Nature of Computing: Refuting the Strong Church-Turing Thesis– Minds and Machines, Volume 18, Issue 1
(March 2008)– Expanded version of 2003 CACM paper
• Turing Machines do not express all computations, only computable funtions– Interaction: or feedback with outputs to
inputs– What does an operating system compute?
Strategic Programming
William R. Cook UT Austin
InterLinkNovember 2008
How(implementation)
What(Specification)
Spectrum of programming
How(implementation)
What(Specification)
Spectrum of programming
Verification
Synthesis
How(implementation)
What(Specification)
Casm
ZCASLAlloy
How(implementation)
What(Specification)
Casm
JavaC#ScalaML Haskell
ZCASLAlloy
How(implementation)
What(Specification)
Casm
JavaC#ScalaML Haskell
SQLBNFExcelHTMLAtt-GrUML
ZCASLAlloy
How(implementation)
What(Specification)
Casm
JavaC#ScalaML H
askell
SQLBNFExcelHTMLUMLAttr-Gr
General
Purpose
Asp
ect
Specific
ZCASLAlloy
Strategic Programming
• Another view of– Model-driven development– Domain-specific language engineering
• System =– General strategies: interpreter– Specifics of problem at hand: model
• Compilation by partial evaluation
Challenge: Integrating Models
– Grammars/Parsers (Yacc)– Queries (SQL, OQL)– Semantic Data Models (ER/UML)– State machines (Statecharts, xUML)– Security models (rule-based access control)– User interface models (web)– Dependency models (Make)– Workflow models (Orc)
Challenge: Building Complete Systems
• User Interface– Mapping to/from data for web & GUI
• Security/Authorization– Enforced as checks, provide metadata to UI
• Triggers and Workflow– React to conditions, concurrent workflow
• Semantic Data Models (graphs)– Graphs: constraints, computations,
relationships
• Generic Operations– Read, write, parse, compare, diff, merge, …
Web Applicationsweb(UI, Schema, db, request) : HTML UI : description of user interface (pages,
sections) schema: description of data (constraints, etc) db : data store (described by schema) request : an HTTP request web : interpreter, with design knowledge
Addresses key problem: Integrating multiple models
web[UI, Schema](db, request) : HTML static dynamic
web[UI, Schema] is partial evaluation of web with respect to UI model and data schema
Dynamic web site (wiki-style) or compiledPossible to generate both web and GUI
Partial Evaluation of Web Interpreter
Conclusion
• Strategic Programming– Interpretation of descriptions– Aspects as interpreter extensions– Compilation by partial evaluation +
deforestation– Self-implemented system (Scheme)
• Not for all kinds of programming– Not for unique programs
Object
Description
Reflection
Object
Description
Interpretation*
*and partial evaluation
Do notDesign Your Programs
Program Your Designs!