140 likes | 275 Views
Progress Report: Web Service Agents for .NET. Paul Roe Queensland University of Technology. Brisbane. QUT. Queensland University of Technology (QUT) One of largest universities in Australia: 30,000 students (u/g, p/g, 10% international) Strong links with industry eg Microsoft. Goal.
E N D
Progress Report:Web Service Agents for .NET Paul Roe Queensland University of Technology
Brisbane QUT • Queensland University of Technology (QUT) • One of largest universities in Australia: 30,000 students (u/g, p/g, 10% international) • Strong links with industry eg Microsoft
Goal • Design a system and programming language to support mobile agents for .NET • Not about AI, agents that feel etc. Agent migration Web server Web server Web services Agents
Motivation • A richer abstraction for distributed computing • Better client server factoring • Support intermittent connectivity • Fault-tolerance
Applications • Mobile devices • Distributed information retrieval and dissemination • Autonomous workflow • Parallel computing • Personal assistants etc.
But wait there’s more… copy • More general goal • Elevate processes to first class status, like data • Data can be copied, moved, edited, inspected • Why not processes? move split/merge
Research Issues • Programming, expression of new abstraction • Context switching: processes move from one context to another • Process state migration • Communication – dynamic web services • Security • Theoretical basis • Ambient calculus?
Where Are We 6 months in? • Research students • Dominic Cooney – migration • Minna Yao - security • Completed initial toy programming language and system • Some initial ideas for programming language • Mobilizer: process migration pre-processor for .NET assemblies
Process Migration Approaches • Only support migration at top level event loop e.g. Java Agglets • Baked in support • Interpreted language • Migration aware VM • Generate state saving and restoring code • Special language & compiler (initial system) • Instrument source/object code (mobilizer)
Mobilizer • A process migration pre-processor for .NET assemblies • Disassembles and reassembles assemblies • Abstract IL toolkit • Use reflection and binary serialization to save heap objects • Insert stack saving and restoring support in most methods
normal return return save state Stack State Migration migrate Stack Stack normal call call restore state foo foo bar bar baz baz
Next 6 months • Implement some toy applications • Investigate context switching • Use application domains to isolate agents • Utilise COM+ / AOP ideas • Work on programming language and theoretical underpinnings • Release mobilizer
Finally • Thanks to Microsoft Research for supporting project