Presentation is loading. Please wait.

Presentation is loading. Please wait.

IOA Code Generator (Making IOA Run)

Similar presentations


Presentation on theme: "IOA Code Generator (Making IOA Run)"— Presentation transcript:

1 IOA Code Generator (Making IOA Run)
January 2, 2019 IOA Code Generator (Making IOA Run) Joshua A. Tauber PODC Rump Session July 17, 2000 Joint work with: Steve Garland, Nancy Lynch, Michael Tsai I O A

2 What Generate standard language (Java) translation of IOA program that will run in a physically distributed network Execution should be efficient No global synchronization

3 Why (Short term) Test bed for distributed algorithm design (Long term)
Find practical method for generating code from specifications

4 How Make humans do hard thinking
Model and use existing external services (e.g. network, console) Use library of hand-written data type implementations Stay in IOA until very last step Successive refinement Supports application of other tools

5 Node-Channel Form Env System Global Specification Node-Channel Form

6 Abstract Channels Abstract model for ease of programming
(e.g., Reliable FIFO queue): Algorithm that implements abstract channel in terms of (model of) real channel: Auxiliary Automaton Real channel

7 Environment Implementation
Delay Buffer Console Parser

8 Generated vs. External Automata
Env Code to Generate Algorithm Channel

9 Code Generation Process
Submit IOA program for node algorithm Generate parser automaton Compose algorithm, parser (computed), and auxiliary network automata (from library) Resolve nondeterminism in schedule Convert implicit ND to explicit ND Resolve explicit ND (programmer help) Emit target language code - Link to hand coded-datatype implementations

10 Truth in Advertising Assume network implements model
Assumes data type implementations implement axiomatic definitions No current fault tolerance Still in progess Composer Code generator Proof of design correctness


Download ppt "IOA Code Generator (Making IOA Run)"

Similar presentations


Ads by Google