Download presentation
Presentation is loading. Please wait.
1
InterLink William R. Cook UT Austin November 2008
2
Huge Scale Open Non-deterministic Adaptive
3
Huge Open Stochastic Adaptive How many of us have ever built such a system?
4
Huge Open Stochastic Adaptive …or dealt with one of them?
5
Choices? Emergent behavior versus Compositionality “Fitness to Purpose” versus Verification Dynamic Languages versus Type Systems
6
Methodology? Try and build such systems (Don't worry about methodology or tools) Just build it Analyze and build tools along the way
7
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?
8
Strategic Programming William R. Cook UT Austin InterLink November 2008
9
How (implementation) What (Specification) Spectrum of programming
10
How (implementation) What (Specification) Spectrum of programming Verification Synthesis
11
How (implementation) What (Specification) C asm Z CASL Alloy
12
How (implementation) What (Specification) C asm Java C# Scala ML Haskell Z CASL Alloy
13
How (implementation) What (Specification) C asm Java C# Scala ML Haskell SQL BNF Excel HTML Att-Gr UML Z CASL Alloy
14
How (implementation) What (Specification) C asm Java C# Scala ML Haskell SQL BNF Excel HTML UML Attr-Gr General Purpose Aspect Specific Z CASL Alloy
15
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
16
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)
17
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, …
18
Web Applications web(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
19
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 compiled Possible to generate both web and GUI Partial Evaluation of Web Interpreter
20
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
21
Object Description Reflection
22
Object Description Interpretation* *and partial evaluation
23
Do not Design Your Programs
24
Program Your Designs!
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.