Configuration Aware Distributed System Design in Erlang Gabor
Configuration Aware Distributed System Design in Erlang Gabor Batori, Zoltan Theisz, Domonkos Asztalos ETH Software Engineering Group
Configuration Aware Distributed System Design GME Metamodel Component Meta-model Model O&M generation of population reflexive via Code deployment ontoon definition based component on scenarios model translation Erl. COM middleware the application and application meta-model via Deployment Tool domain view Model Instantiates In pu t Deployment Translator Output Code base Node 1 dest proc Erl. COM CRTK b EUC 2006, Stockholm, Sweden src Node 2 b b proc 1 b dest proc 2 b src Erl. COM 2006 -11 -09
Meta-model Based Generative Software Development GME Metamodel Model Instantiates In pu t Translator Output Code base dest proc Erl. COM b EUC 2006, Stockholm, Sweden src 3 2006 -11 -09
Meta-modeling § § Establishes relationships among domain concepts Defines the syntax and the static semantics of the domains EUC 2006, Stockholm, Sweden 4 2006 -11 -09
Modeling § § § Specifies the details of a particular scenario Populates the domain meta-model with instances corresponding to the scenario Validates the current instance configuration based on the meta-model EUC 2006, Stockholm, Sweden 5 2006 -11 -09
Reflective Robust Reconfigurable Middleware (Erl. COM) GME Metamodel Model Instantiates In pu t Translator Output Code base Node 1 Node 2 dest proc Erl. COM b EUC 2006, Stockholm, Sweden src Erl. COM 6 Erl. COM 2006 -11 -09
Erl. COM’s Component Model § § Component, Composite Component – Functionality Owner Interface, Receptacle – Interaction Point Owner Binding – Communication Owner Component Framework – Reconfiguration Owner EUC 2006, Stockholm, Sweden 7 2006 -11 -09
Erl. COM’s Robustness Model § Capsule – Resource Owner § Caplet – Component Owner § Component – Functionality Owner EUC 2006, Stockholm, Sweden 8 2006 -11 -09
Configuration aware Component Deployment GME Metamodel Model Instantiates In pu t Deployment Translator Output Code base Node 1 Node 2 dest proc Erl. COM b EUC 2006, Stockholm, Sweden src b proc 1 b dest src Erl. COM 9 Erl. COM 2006 -11 -09
Deployment Configuration Modeling EUC 2006, Stockholm, Sweden 10 2006 -11 -09
Component Reconfiguration O&M Model GME Metamodel Model Instantiates In pu t Deployment Translator Output Code base Node 1 dest proc Erl. COM CRTK b EUC 2006, Stockholm, Sweden src Node 2 b b proc 1 b dest proc 2 b src Erl. COM 11 Erl. COM 2006 -11 -09
Erl. COM’s Reconfigurability Facility § start()-> Static configurations via Pid=spawn(? MODULE, loop, []), register(notify_gme, Pid), Pid. supervisors are not enough loop()-> receive stop->true; § Container and manager of {Command, Parameters}-> prepare_command(Command, Parameters), logically coherent entities loop() end. prepare_command(load, Parameters)-> [Caplet. ID, Loader. ID, Module. Name, Comp. ID, IFIDs, Rec. IDs]=Parameters; … EUC 2006, Stockholm, Sweden 12 2006 -11 -09
Conclusion § Separates application logic and deployment adaptation logic § Component based development reduces spaghetticode § Model aware O&M layer (almost without extra efforts) § Demonstrates how Erlang and model based design can benefit from each other’s ideas EUC 2006, Stockholm, Sweden 13 2006 -11 -09
DEMO EUC 2006, Stockholm, Sweden 14 2006 -11 -09
- Slides: 14