Presentation is loading. Please wait.

Presentation is loading. Please wait.

InterLink William R. Cook UT Austin November 2008.

Similar presentations


Presentation on theme: "InterLink William R. Cook UT Austin November 2008."— Presentation transcript:

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!


Download ppt "InterLink William R. Cook UT Austin November 2008."

Similar presentations


Ads by Google