1 / 62

The Inverse World of the FOREST Object Web Duncan Cragg Part 1 - Overview

The Inverse World of the FOREST Object Web Duncan Cragg Part 1 - Overview. FOREST is an architecture that resonates with stuff like this: Clojure Agents / Scala & Erlang Actors Dataflow / Reactive Programming Declarative / Functional Programming Concurrency, Map-Reduce

wallis
Download Presentation

The Inverse World of the FOREST Object Web Duncan Cragg Part 1 - Overview

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. The Inverse World of the FOREST Object Web Duncan Cragg Part 1 - Overview

  2. FOREST is an architecture that resonates with stuff like this: • Clojure Agents / Scala & Erlang Actors • Dataflow / Reactive Programming • Declarative / Functional Programming • Concurrency, Map-Reduce • NoSQL, Eventual Consistency • REST, Resource-Oriented Architectures

  3. FOREST describes a new kind of Object...

  4. FOREST Objects are Happy Objects

  5. They are happy because no-one tells them what to do

  6. Normal Objects are covered with methods

  7. ..which other Objects can call whenever they want

  8. ..as long as they happen to know the particular interface ?

  9. Normal Objects keep their state hidden under wraps

  10. FOREST Objects show their state to everyone

  11. and that state is in a standard form that everyone understands

  12. FOREST Objects are internally-animated

  13. All the methods are on the inside

  14. FOREST Objects are Inverse Objects

  15. FOREST Objects are Inverse Objects Tell Don't Ask Ask Don't Tell

  16. Another reason FOREST Objects are so happy is that they have lots of friends

  17. Which are kept through links or URLs in their public state

  18. FOREST Objects link up into a single Web - "hyperdata" - a semantic Web!

  19. A Global Object Web

  20. FOREST Objects interact with their friends

  21. An Object affects another through its public state

  22. An Object affects another through its public state "An object's state evolves

  23. An Object affects another through its public state "An object's state evolves as a function of

  24. An Object affects another through its public state "An object's state evolves as a function of its own state and

  25. An Object affects another through its public state "An object's state evolves as a function of its own state and the state of other objects, local and remote,

  26. An Object affects another through its public state "An object's state evolves as a function of its own state and the state of other objects, local and remote, that it observes directly or indirectly through links"

  27. A Global Interacting Object Web

  28. Now for a simple example - an Object whose state is a function of a couple of sub-Objects .. it joins their text up

  29. joiner Hello Hello World World

  30. joiner Greetings Hello World World

  31. joiner Greetings Greetings World World

  32. Let's see that again... it's your first FOREST program!

  33. joiner Hello Hello World World

  34. joiner Greetings Hello World World

  35. joiner Greetings Greetings World World

  36. "An object's state evolves as a function of its own state and the state of other objects, local and remote, that it observes directly or indirectly through links"

  37. An Object's state will be much more complex than that example: it's an arbitrary JSON structure

  38. State update notification is propagated to observing Objects asynchronously - through queues

  39. An Object can read a linked Object's state at any time; FOREST supports eager and lazy modes

  40. So FOREST is easy to program: look at current and linked states, then set new state accordingly

  41. You can still use traditional Objects for this animation on the inside

  42. FOREST Objects can still be animated in any language Javascript Ruby Java Erlang C# F# Python Clojure Haskell Scala C

  43. But more naturally, FOREST Objects can be programmed Declaratively

  44. Which is a lot like... Rules Programming HTML Spreadsheet Formulae CSS

  45. Another reason FOREST Objects are so happy, is that they're free!

  46. Not just free of being told what to do by other objects, but free of a bounding application

  47. FOREST is a Global Interacting Object Web

  48. Traditional Objects can only work in an application context Application Application

  49. And you have to do all the co-ordination, threads and remote calls yourself, Imperatively

  50. A FOREST Object only has itself to co-ordinate .. it doesn't need an application

More Related