15
Robust Reconfigurable Erlang Component System ErlCOM Gabor Batori, Zoltan Theisz, Domonkos Asztalos ETH Software Engineering Group

Slide title In CAPITALS 50 pt Slide subtitle 32 pt Robust Reconfigurable Erlang Component System ErlCOM Gabor Batori, Zoltan Theisz, Domonkos Asztalos

Embed Size (px)

Citation preview

Page 1: Slide title In CAPITALS 50 pt Slide subtitle 32 pt Robust Reconfigurable Erlang Component System ErlCOM Gabor Batori, Zoltan Theisz, Domonkos Asztalos

Slide titleIn CAPITALS

50 pt

Slide subtitle 32 pt

Robust Reconfigurable Erlang Component System

ErlCOM

Gabor Batori, Zoltan Theisz, Domonkos AsztalosETH Software Engineering Group

Page 2: Slide title In CAPITALS 50 pt Slide subtitle 32 pt Robust Reconfigurable Erlang Component System ErlCOM Gabor Batori, Zoltan Theisz, Domonkos Asztalos

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

Page 3: Slide title In CAPITALS 50 pt Slide subtitle 32 pt Robust Reconfigurable Erlang Component System ErlCOM Gabor Batori, Zoltan Theisz, Domonkos Asztalos

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

Page 4: Slide title In CAPITALS 50 pt Slide subtitle 32 pt Robust Reconfigurable Erlang Component System ErlCOM Gabor Batori, Zoltan Theisz, Domonkos Asztalos

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

Page 5: Slide title In CAPITALS 50 pt Slide subtitle 32 pt Robust Reconfigurable Erlang Component System ErlCOM Gabor Batori, Zoltan Theisz, Domonkos Asztalos

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)

Page 6: Slide title In CAPITALS 50 pt Slide subtitle 32 pt Robust Reconfigurable Erlang Component System ErlCOM Gabor Batori, Zoltan Theisz, Domonkos Asztalos

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

Page 7: Slide title In CAPITALS 50 pt Slide subtitle 32 pt Robust Reconfigurable Erlang Component System ErlCOM Gabor Batori, Zoltan Theisz, Domonkos Asztalos

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

Page 8: Slide title In CAPITALS 50 pt Slide subtitle 32 pt Robust Reconfigurable Erlang Component System ErlCOM Gabor Batori, Zoltan Theisz, Domonkos Asztalos

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)

Page 9: Slide title In CAPITALS 50 pt Slide subtitle 32 pt Robust Reconfigurable Erlang Component System ErlCOM Gabor Batori, Zoltan Theisz, Domonkos Asztalos

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

Page 10: Slide title In CAPITALS 50 pt Slide subtitle 32 pt Robust Reconfigurable Erlang Component System ErlCOM Gabor Batori, Zoltan Theisz, Domonkos Asztalos

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)

Page 11: Slide title In CAPITALS 50 pt Slide subtitle 32 pt Robust Reconfigurable Erlang Component System ErlCOM Gabor Batori, Zoltan Theisz, Domonkos Asztalos

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

Page 12: Slide title In CAPITALS 50 pt Slide subtitle 32 pt Robust Reconfigurable Erlang Component System ErlCOM Gabor Batori, Zoltan Theisz, Domonkos Asztalos

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

Page 13: Slide title In CAPITALS 50 pt Slide subtitle 32 pt Robust Reconfigurable Erlang Component System ErlCOM Gabor Batori, Zoltan Theisz, Domonkos Asztalos

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)

Page 14: Slide title In CAPITALS 50 pt Slide subtitle 32 pt Robust Reconfigurable Erlang Component System ErlCOM Gabor Batori, Zoltan Theisz, Domonkos Asztalos

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

Page 15: Slide title In CAPITALS 50 pt Slide subtitle 32 pt Robust Reconfigurable Erlang Component System ErlCOM Gabor Batori, Zoltan Theisz, Domonkos Asztalos

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)