1 / 12

ActiveContext

ActiveContext. Erwann Wernli. Outline. Why dyn . software update is challenging (5’) Our approach (5’) Current stage of the research (5’). About safety. Let’s consider the evolution. Page Html. Page Title Body. About safety. How can we migrate the state?

mahola
Télécharger la présentation

ActiveContext

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. ActiveContext Erwann Wernli

  2. Outline • Why dyn. software update is challenging (5’) • Our approach (5’) • Current stage of the research (5’)

  3. About safety • Let’s consider the evolution Page Html Page Title Body

  4. About safety • How can we migrate the state? • What happens if old running code accesses field html ? • What if an execution mixes old and new code? aPage : Page Method Body / header Method Method html Method … Method Method Request V1 … Request V2

  5. Trade-offs practical timely safe

  6. Trade-offs Run-time errors Dynamic C++ Smalltalk practical timely Gemstone POLUS Boyapati HotSwap JVolve FickleMT Ginseng Impose constraints Delay update safe

  7. Trade-offs Dynamic C++ Smalltalk practical timely Gemstone ActiveContext Boyapati HotSwap JVolve FickleMT Ginseng safe

  8. Our approach a context is always version-consistent html := aPage html. newCtx := NewContextancesor: oldCtx. newCtx do: [ aPage header , aPage body ]. new

  9. Bi-directional transformation Shared object has one identity but two states Request V1 Method Dynamic evolution Method aPage: Page Old context • Solution: • State transfer • Safe concurrency • Reflective extension … Method Method … New context Request V2

  10. Design

  11. Conclusion • First-class contexts ensure version consistency • Safe dynamic software update • Working implementation • Future work: enable lazy sync & GC

More Related