interlink
DESCRIPTION
InterLink. William R. Cook UT Austin November 2008. Huge Scale Open Non-deterministic Adaptive. Huge ∧ Open ∧ Stochastic ∧ Adaptive. How many of us have ever built such a system?. Huge ∨ Open ∨ Stochastic ∨ Adaptive. …or dealt with one of them?. Choices?. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: InterLink](https://reader034.vdocuments.us/reader034/viewer/2022051820/568135db550346895d9d4cd0/html5/thumbnails/1.jpg)
InterLink
William R. Cook UT Austin
November 2008
![Page 2: InterLink](https://reader034.vdocuments.us/reader034/viewer/2022051820/568135db550346895d9d4cd0/html5/thumbnails/2.jpg)
Huge Scale
Open
Non-deterministic
Adaptive
![Page 3: InterLink](https://reader034.vdocuments.us/reader034/viewer/2022051820/568135db550346895d9d4cd0/html5/thumbnails/3.jpg)
Huge ∧ Open ∧ Stochastic ∧ Adaptive
How many of ushave ever builtsuch a system?
![Page 4: InterLink](https://reader034.vdocuments.us/reader034/viewer/2022051820/568135db550346895d9d4cd0/html5/thumbnails/4.jpg)
Huge ∨ Open ∨ Stochastic ∨ Adaptive
…or dealt with oneof them?
![Page 5: InterLink](https://reader034.vdocuments.us/reader034/viewer/2022051820/568135db550346895d9d4cd0/html5/thumbnails/5.jpg)
Choices?
Emergent behavior versus Compositionality
“Fitness to Purpose” versus Verification
Dynamic Languages versus Type Systems
![Page 6: InterLink](https://reader034.vdocuments.us/reader034/viewer/2022051820/568135db550346895d9d4cd0/html5/thumbnails/6.jpg)
Methodology?
Try and build such systems
(Don't worry about methodology or tools)
Just build it
Analyze and build tools along the way
![Page 7: InterLink](https://reader034.vdocuments.us/reader034/viewer/2022051820/568135db550346895d9d4cd0/html5/thumbnails/7.jpg)
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?
![Page 8: InterLink](https://reader034.vdocuments.us/reader034/viewer/2022051820/568135db550346895d9d4cd0/html5/thumbnails/8.jpg)
Strategic Programming
William R. Cook UT Austin
InterLinkNovember 2008
![Page 9: InterLink](https://reader034.vdocuments.us/reader034/viewer/2022051820/568135db550346895d9d4cd0/html5/thumbnails/9.jpg)
How(implementation)
What(Specification)
Spectrum of programming
![Page 10: InterLink](https://reader034.vdocuments.us/reader034/viewer/2022051820/568135db550346895d9d4cd0/html5/thumbnails/10.jpg)
How(implementation)
What(Specification)
Spectrum of programming
Verification
Synthesis
![Page 11: InterLink](https://reader034.vdocuments.us/reader034/viewer/2022051820/568135db550346895d9d4cd0/html5/thumbnails/11.jpg)
How(implementation)
What(Specification)
Casm
ZCASLAlloy
![Page 12: InterLink](https://reader034.vdocuments.us/reader034/viewer/2022051820/568135db550346895d9d4cd0/html5/thumbnails/12.jpg)
How(implementation)
What(Specification)
Casm
JavaC#ScalaML Haskell
ZCASLAlloy
![Page 13: InterLink](https://reader034.vdocuments.us/reader034/viewer/2022051820/568135db550346895d9d4cd0/html5/thumbnails/13.jpg)
How(implementation)
What(Specification)
Casm
JavaC#ScalaML Haskell
SQLBNFExcelHTMLAtt-GrUML
ZCASLAlloy
![Page 14: InterLink](https://reader034.vdocuments.us/reader034/viewer/2022051820/568135db550346895d9d4cd0/html5/thumbnails/14.jpg)
How(implementation)
What(Specification)
Casm
JavaC#ScalaML H
askell
SQLBNFExcelHTMLUMLAttr-Gr
General
Purpose
Asp
ect
Specific
ZCASLAlloy
![Page 15: InterLink](https://reader034.vdocuments.us/reader034/viewer/2022051820/568135db550346895d9d4cd0/html5/thumbnails/15.jpg)
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
![Page 16: InterLink](https://reader034.vdocuments.us/reader034/viewer/2022051820/568135db550346895d9d4cd0/html5/thumbnails/16.jpg)
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)
![Page 17: InterLink](https://reader034.vdocuments.us/reader034/viewer/2022051820/568135db550346895d9d4cd0/html5/thumbnails/17.jpg)
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, …
![Page 18: InterLink](https://reader034.vdocuments.us/reader034/viewer/2022051820/568135db550346895d9d4cd0/html5/thumbnails/18.jpg)
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
![Page 19: InterLink](https://reader034.vdocuments.us/reader034/viewer/2022051820/568135db550346895d9d4cd0/html5/thumbnails/19.jpg)
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
![Page 20: InterLink](https://reader034.vdocuments.us/reader034/viewer/2022051820/568135db550346895d9d4cd0/html5/thumbnails/20.jpg)
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
![Page 21: InterLink](https://reader034.vdocuments.us/reader034/viewer/2022051820/568135db550346895d9d4cd0/html5/thumbnails/21.jpg)
Object
Description
Reflection
![Page 22: InterLink](https://reader034.vdocuments.us/reader034/viewer/2022051820/568135db550346895d9d4cd0/html5/thumbnails/22.jpg)
Object
Description
Interpretation*
*and partial evaluation
![Page 23: InterLink](https://reader034.vdocuments.us/reader034/viewer/2022051820/568135db550346895d9d4cd0/html5/thumbnails/23.jpg)
Do notDesign Your Programs
![Page 24: InterLink](https://reader034.vdocuments.us/reader034/viewer/2022051820/568135db550346895d9d4cd0/html5/thumbnails/24.jpg)
Program Your Designs!