1 / 24

InterLink

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?.

Télécharger la présentation

InterLink

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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. Spectrum of programming What (Specification) How (implementation)

  10. Spectrum of programming Synthesis What (Specification) How (implementation) Verification

  11. Z CASL Alloy C asm What (Specification) How (implementation)

  12. Java C# Scala ML Z CASL Alloy Haskell C asm What (Specification) How (implementation)

  13. SQL BNF Excel HTML Att-Gr UML Java C# Scala ML Z CASL Alloy Haskell C asm What (Specification) How (implementation)

  14. SQL BNF Excel HTML UML Attr-Gr Aspect Specific Java C# Scala ML Z CASL Alloy General Purpose Haskell C asm What (Specification) How (implementation)

  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. Partial Evaluation of Web Interpreter web[UI, Schema](db, request) : HTML staticdynamic 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

  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. Description Reflection Object

  22. Description Interpretation* Object *and partial evaluation

  23. Do notDesign Your Programs

  24. Program Your Designs!

More Related