slide title in capitals 50 pt slide subtitle 32 pt robust reconfigurable erlang component system...
Post on 18-Jan-2016
218 Views
Preview:
TRANSCRIPT
Slide titleIn CAPITALS
50 pt
Slide subtitle 32 pt
Robust Reconfigurable Erlang Component System
ErlCOM
Gabor Batori, Zoltan Theisz, Domonkos AsztalosETH Software Engineering Group
Top right corner for field-mark, customer or partner logotypes. See Best practice for example.
Slide title 40 pt
Slide subtitle 24 pt
Text 24 pt
Bullets level 2-520 pt
EUC 2005, Stockholm, Sweden 2005-11-102
Why? Robust
– Fault tolerant, Highly available Reconfigurable
– Adaptability to environmental changes Erlang
– Ericsson’s preferred language Component
– Separation of functionality– Structured, reusable code
System– Application neutral framework
Top right corner for field-mark, customer or partner logotypes. See Best practice for example.
Slide title 40 pt
Slide subtitle 24 pt
Text 24 pt
Bullets level 2-520 pt
EUC 2005, Stockholm, Sweden 2005-11-103
Component Model
Component, Composite Component – Functionality Owner Interface, Receptacle – Interaction Point Owner Binding – Communication Owner Component Framework – Constraint Owner
Top right corner for field-mark, customer or partner logotypes. See Best practice for example.
Slide title 40 pt
Slide subtitle 24 pt
Text 24 pt
Bullets level 2-520 pt
EUC 2005, Stockholm, Sweden 2005-11-104
Robust Component Model Capsule – Supervision Owner Caplet – Component Owner Component – Functionality Owner
Top right corner for field-mark, customer or partner logotypes. See Best practice for example.
Slide title 40 pt
Slide subtitle 24 pt
Text 24 pt
Bullets level 2-520 pt
EUC 2005, Stockholm, Sweden 2005-11-105
Reconfiguration
Reactive behavior:– Due to environmental changes (switch-over)– Due to HW/SW faults (fail-over)
Implementation:– Reflectivity (observable)– Operational Facility (dynamic reconfiguration)
Top right corner for field-mark, customer or partner logotypes. See Best practice for example.
Slide title 40 pt
Slide subtitle 24 pt
Text 24 pt
Bullets level 2-520 pt
EUC 2005, Stockholm, Sweden 2005-11-106
Basic concepts
*No reasoning about messages
**Interception consists of pre/post actions synchronous communication
Concept Erlang ErlCOM
Concurrent entity
Process Component
Communication Message Passing*
Binding**
State Local state information
Reflective Repository
Top right corner for field-mark, customer or partner logotypes. See Best practice for example.
Slide title 40 pt
Slide subtitle 24 pt
Text 24 pt
Bullets level 2-520 pt
EUC 2005, Stockholm, Sweden 2005-11-107
RUNES Example
Gateways represented by Capsules (running Erlang) Middleware and Application Component Frameworks using
the services of the Ubiquitous CRTK
Top right corner for field-mark, customer or partner logotypes. See Best practice for example.
Slide title 40 pt
Slide subtitle 24 pt
Text 24 pt
Bullets level 2-520 pt
EUC 2005, Stockholm, Sweden 2005-11-108
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)
Top right corner for field-mark, customer or partner logotypes. See Best practice for example.
Slide title 40 pt
Slide subtitle 24 pt
Text 24 pt
Bullets level 2-520 pt
EUC 2005, Stockholm, Sweden 2005-11-109
Implementation details(1) Entity Relationship Diagram (ERD) + generated Erlang Code
Top right corner for field-mark, customer or partner logotypes. See Best practice for example.
Slide title 40 pt
Slide subtitle 24 pt
Text 24 pt
Bullets level 2-520 pt
EUC 2005, Stockholm, Sweden 2005-11-1010
Implementation details(2) Message Sequence Chart (MSC) + Erlang Code (CRTK)
Top right corner for field-mark, customer or partner logotypes. See Best practice for example.
Slide title 40 pt
Slide subtitle 24 pt
Text 24 pt
Bullets level 2-520 pt
EUC 2005, Stockholm, Sweden 2005-11-1011
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
Top right corner for field-mark, customer or partner logotypes. See Best practice for example.
Slide title 40 pt
Slide subtitle 24 pt
Text 24 pt
Bullets level 2-520 pt
EUC 2005, Stockholm, Sweden 2005-11-1012
How to reduce complexity?
Custom libraries (API design)– Code maintenance problem (version handling)
Custom behavior (language design and virtual machine)– Too intrusive , too costly
Generative Programming (meta-modeling, modeling and transformation design)
– New design approach Domain Specific Language engineering and supporting IDE needed
Top right corner for field-mark, customer or partner logotypes. See Best practice for example.
Slide title 40 pt
Slide subtitle 24 pt
Text 24 pt
Bullets level 2-520 pt
EUC 2005, Stockholm, Sweden 2005-11-1013
Our solution Development cycle
ERD,MSCERD,MSC
ApplicationApplicationCodeCode
(Erlang)(Erlang)
ApplicationApplication(Erlang)(Erlang)
ErlCOMStructuralDescription
GeneratesTranslatorTranslator(Erlang (Erlang Templates)Templates)
Top right corner for field-mark, customer or partner logotypes. See Best practice for example.
Slide title 40 pt
Slide subtitle 24 pt
Text 24 pt
Bullets level 2-520 pt
EUC 2005, Stockholm, Sweden 2005-11-1014
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
Top right corner for field-mark, customer or partner logotypes. See Best practice for example.
Slide title 40 pt
Slide subtitle 24 pt
Text 24 pt
Bullets level 2-520 pt
EUC 2005, Stockholm, Sweden 2005-11-1015
Conclusion
ErlCOM extends Erlang with new abstractions (like OTP)
ErlCOM’s Component System provides adaptive behavior to Erlang applications in Run-Time
ErlCOM’s 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)
top related