24
InterLink William R. Cook UT Austin November 2008

InterLink William R. Cook UT Austin November 2008

  • View
    222

  • Download
    1

Embed Size (px)

Citation preview

Page 1: InterLink William R. Cook UT Austin November 2008

InterLink

William R. Cook UT Austin

November 2008

Page 2: InterLink William R. Cook UT Austin November 2008

Huge Scale

Open

Non-deterministic

Adaptive

Page 3: InterLink William R. Cook UT Austin November 2008

Huge ∧ Open ∧ Stochastic ∧ Adaptive

How many of ushave ever builtsuch a system?

Page 4: InterLink William R. Cook UT Austin November 2008

Huge ∨ Open ∨ Stochastic ∨ Adaptive

…or dealt with oneof them?

Page 5: InterLink William R. Cook UT Austin November 2008

Choices?

Emergent behavior versus Compositionality

“Fitness to Purpose” versus Verification

Dynamic Languages versus Type Systems

Page 6: InterLink William R. Cook UT Austin November 2008

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 William R. Cook UT Austin November 2008

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 William R. Cook UT Austin November 2008

Strategic Programming

William R. Cook UT Austin

InterLinkNovember 2008

Page 9: InterLink William R. Cook UT Austin November 2008

How(implementation)

What(Specification)

Spectrum of programming

Page 10: InterLink William R. Cook UT Austin November 2008

How(implementation)

What(Specification)

Spectrum of programming

Verification

Synthesis

Page 11: InterLink William R. Cook UT Austin November 2008

How(implementation)

What(Specification)

Casm

ZCASLAlloy

Page 12: InterLink William R. Cook UT Austin November 2008

How(implementation)

What(Specification)

Casm

JavaC#ScalaML Haskell

ZCASLAlloy

Page 13: InterLink William R. Cook UT Austin November 2008

How(implementation)

What(Specification)

Casm

JavaC#ScalaML Haskell

SQLBNFExcelHTMLAtt-GrUML

ZCASLAlloy

Page 14: InterLink William R. Cook UT Austin November 2008

How(implementation)

What(Specification)

Casm

JavaC#ScalaML H

askell

SQLBNFExcelHTMLUMLAttr-Gr

General

Purpose

Asp

ect

Specific

ZCASLAlloy

Page 15: InterLink William R. Cook UT Austin November 2008

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 William R. Cook UT Austin November 2008

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 William R. Cook UT Austin November 2008

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 William R. Cook UT Austin November 2008

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 William R. Cook UT Austin November 2008

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 William R. Cook UT Austin November 2008

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 William R. Cook UT Austin November 2008

Object

Description

Reflection

Page 22: InterLink William R. Cook UT Austin November 2008

Object

Description

Interpretation*

*and partial evaluation

Page 23: InterLink William R. Cook UT Austin November 2008

Do notDesign Your Programs

Page 24: InterLink William R. Cook UT Austin November 2008

Program Your Designs!