Robust Reconfigurable Erlang Component System ErlCOM
Robust Reconfigurable Erlang Component System ErlCOM Gabor Batori, Zoltan Theisz, Domonkos Asztalos ETH Software Engineering Group Why? Robust Fault tolerant, Highly available Reconfigurable Adaptability to environmental changes Erlang Ericssons preferred language Component Separation of functionality
Structured, reusable code System Application neutral framework EUC 2005, Stockholm, Sweden 2 2005-11-10 Component Model Component, Composite Component Functionality Owner Interface, Receptacle Interaction Point Owner
Binding Communication Owner Component Framework Constraint Owner EUC 2005, Stockholm, Sweden 3 2005-11-10 Robust Component Model Capsule Supervision Owner Caplet Component Owner Component Functionality Owner EUC 2005, Stockholm, Sweden 4 2005-11-10
Reconfiguration Reactive behavior: Due to environmental changes (switch-over) Due to HW/SW faults (fail-over) Implementation: Reflectivity (observable) Operational Facility (dynamic reconfiguration) EUC 2005, Stockholm, Sweden 5 2005-11-10 Basic concepts Concept
Erlang ErlCOM Concurrent entity Process Component Communication Message Passing* Binding** State
Local state information Reflective Repository *No reasoning about messages **Interception consists of pre/post actions synchronous communication EUC 2005, Stockholm, Sweden 6 2005-11-10 RUNES Example Gateways represented by Capsules (running Erlang) Middleware and Application Component Frameworks using
the services of the Ubiquitous CRTK EUC 2005, Stockholm, Sweden 7 2005-11-10 Erlang Mapping Component gen_server
Interface/receptacle gen_server Binding gen_server Pre/post action process Capsule erlang node, gen_server Caplet gen_server, supervisor Reflective Repository mnesia CRTK module (floating reflective API) EUC 2005, Stockholm, Sweden 8 2005-11-10 Implementation details(1) Entity Relationship Diagram (ERD) + generated Erlang Code EUC 2005, Stockholm, Sweden
9 2005-11-10 Implementation details(2) Message Sequence Chart (MSC) + Erlang Code (CRTK) EUC 2005, Stockholm, Sweden 10 2005-11-10 What we have learnt? Entity Relationship Diagram helps identify concepts MSC helps describe dynamics Erlang provides versatile platform for component based systems Current implementation provides a feasible proof of
concept for RUNES CRTK. BUT, the implementation code is COMPLEX EUC 2005, Stockholm, Sweden 11 2005-11-10 How to reduce complexity? Custom libraries (API design) Custom behavior (language design and virtual machine)
Code maintenance problem (version handling) Too intrusive , too costly Generative Programming (meta-modeling, modeling and transformation design) New design approach Domain Specific Language engineering and supporting IDE needed EUC 2005, Stockholm, Sweden 12 2005-11-10
Our solution Development cycle Translator (Erlang Templates) ERD,MSC Generates ErlCOM Structural Description Application Code (Erlang) EUC 2005, Stockholm, Sweden
Application (Erlang) 13 2005-11-10 Generic Modeling Environment (GME) NOT object-oriented, NOT UML Supports multi domain modeling Meta-model aware graphical editor Supports transformation frameworks
Freely available, Open Source, BUT industry quality Perfect match to Erlang EUC 2005, Stockholm, Sweden 14 2005-11-10 Conclusion ErlCOM extends Erlang with new abstractions (like OTP) ErlCOMs Component System provides adaptive behavior to Erlang applications in Run-Time ErlCOMs GME IDE allows design abstraction driven Erlang code production in Development-Time Should not be used in application development where the Erlang abstraction level is perfectly sufficient (ErlCOM is a component based adaptive extension)
Book of Daniel 1.12-13 12 "Please test your servants for ten days, and let us be given some vegetables to eat and water to drink. 13 "Then let our appearance be observed in your presence and the appearance of the...
 Adam J Aviv, Katherine L Gibson, Evan Mossop, Matt Blaze, and Jonathan M Smith. 2010. Smudge Attacks on Smartphone Touch Screens. Woot 10 (2010), 1-7.  Jie Zhang, Xiaolong Zheng, Zhanyong Tang, Tianzhang Xing, Xiaojiang Chen, Dingyi Fang, Rong...
Explain the inheritance of height by a) indicating the number of gene pairs involved and b) by designating which genotypes yield tall and which yield dwarf. When studying a single character, a ratio expressed in 16 parts suggests that two...
Procedure for developing a reference model for Big Data. We are here. 32N2386-Reference . Model for Big Data. 1. Eliciting requirements and analyzing the environment of Big Data. 2. Establishing visions and strategies for achieving the goal of Big Data....
Times Blank Presentation Biomechanics of the Spine & Hip Spinal Deviations Forces Acting On The Spine Upright Position Torque Spinal Muscles Role In Lifting Why Lift With The Legs? Question: How Much Torque Is Developed By The Erector Spinae Muscles...
Hamlet By William Shakespeare The very essence of Hamlet is twofold: One, it is a ghost story/murder mystery It is all about Hamlet revealing to the world who killed his father Superstition plays a big role in Hamlet Two, it...
Folk Housing & The Environment. Folk housing. Determined by available resources and social preferences. Different places use same material, but orientation and form of the houses are different. Examples: Madagascar, Laos, Thailand. (ALSO FengShui) for orientation and China for form.
The District of Columbia Government is an Equal Opportunity Employer. The District Government prohibits discrimination in employment because of race, color, religion, national origin, sex, age, marital status, personal appearance, sexual orientation, family responsibilities, matriculation, political affiliation, or physical handicap.
Ready to download the document? Go ahead and hit continue!