90 likes | 230 Views
The latest MADARA KaRL updates focus on enhancing the efficiency of DAnCE Deployments, specifically in reducing component load times from minutes to mere seconds. A new three-phase component loading process has been introduced that necessitates trial and error to achieve optimal results. Additionally, users can now manage a subset of the global knowledge domain to minimize message traffic during knowledge events. Noteworthy upgrades include variable expansion, bridge patterns for knowledge bases, and newly added Wiki pages detailing critical mechanisms and process examples, enhancing user experience and developer capabilities.
E N D
MadaraKaRLUpdates 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 • 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
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
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”);
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
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_
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 “);
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
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