1 / 9

Madara KaRL Updates

Madara KaRL Updates. James Edmondson October 6, 2010. MADARA KaRL Motivations. DAnCE Deployments Currently a three phase component loading process that requires some trial and error to get working properly

gavivi
Download Presentation

Madara KaRL Updates

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. MadaraKaRLUpdates James Edmondson October 6, 2010

  2. MADARA KaRL Motivations • DAnCE Deployments • Currently a three phase component loading process that requires some trial and error to get working properly • May take up dozens of seconds to minutes to load 2,000 components properly in a deployment • MADARA aims to reduce deployment load time to a fraction of previous load time

  3. MADARA KaRL Motivations • DAnCE Deployments Component 2 Requires Component2.Stage >= 5 Component 1 Requires Component17.Stage >= 1 Component 17 Requires Component245.Stage >= 1 Component 245

  4. MADARA KaRL Motivations • DAnCE Deployments Knowledge.set (“Component2.Stage = 5”); Knowledge.wait (“Component2.Stage >= 5 && Component17.Stage >= 1 && Component245.Stage >= 1”); Component 2 Requires Component2.Stage >= 5 Component 1 Knowledge.set (“Component17.Stage = 1”); Requires Component17.Stage >= 1 Component 17 Requires Component245.Stage >= 1 Wait condition Is true. Proceed. Component 245 Knowledge.set (“Component245.Stage = 1”);

  5. MADARA KaRL Updates • Knowledge domains • Users may now specify a subset of the global domain to reduce message traffic and target knowledge events to only interested parties global “emergencies” knowledge Domain can be specified as An argument to the Knowledge_Base emergencies

  6. MADARA KaRL Updates • Bridge pattern for main class • Allows user to use the Knowledge Base without worrying about effects of copy-by-value Knowledge_Base Knowledge_Base_Impl KB_Implimpl_

  7. MADARA KaRL Updates • Variable expansion • Variable names may now be combinations of strings and evaluations of other variables • Allows for rich expressiveness Knowledge.evaluate (“ .id = 1; .state = 3 State{.id}.{.state} = -2 // State1.3 = -2 “);

  8. MADARA KaRL Updates • Added two Wiki pages to project site • http://code.google.com/p/madara/wiki/KnowledgeEngineMechanisms • Includes explanations of core KaRL Engine mechanisms • Includes commented example of tagalong process creation, which can aid in fault tolerant active replication service creation • http://code.google.com/p/madara/wiki/LanguageSpecification • Includes full language specification and precedence levels • Includes commented example of 3-state synchronization ring, which can aid in emergent programming techniques

  9. MADARA KaRL GME Updates • GME Paradigm • Provides developers with modeling environment for processes • Each process can have multiple stages • Each stage may have one or more expressions to evaluate or wait for • Eventually will allow users to specify dependencies, build finite-state-machines, etc. • Process building aspect • State transition aspect

More Related