Slide title In CAPITALS 50 pt Slide subtitle 32 pt Robust Reconfigurable Erlang Component System...
-
Upload
jason-cook -
Category
Documents
-
view
218 -
download
0
Transcript of Slide title In CAPITALS 50 pt Slide subtitle 32 pt Robust Reconfigurable Erlang Component System...
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)