FaTC2: An Object-Oriented Framework for Developing Fault-Tolerant - - PowerPoint PPT Presentation

fatc2 an object oriented framework for developing fault
SMART_READER_LITE
LIVE PREVIEW

FaTC2: An Object-Oriented Framework for Developing Fault-Tolerant - - PowerPoint PPT Presentation

Institute of Computing UNICAMP - Brazil FaTC2: An Object-Oriented Framework for Developing Fault-Tolerant Component-Based Systems Fernando J. Castor de Lima Filho Paulo Asterio de C. Guerra Ceclia Mary F. Rubira {fernando, asterio,


slide-1
SLIDE 1

1

Institute of Computing – UNICAMP - Brazil

FaTC2: An Object-Oriented Framework for Developing Fault-Tolerant Component-Based Systems

Fernando J. Castor de Lima Filho Paulo Asterio de C. Guerra Cecília Mary F. Rubira

{fernando, asterio, cmrubira}@ic.unicamp.br ICSE 2003 – Workshop on Software Architectures for Dependable Systems

slide-2
SLIDE 2

2

Motivation

The construction of systems with high dependability requirements out of software components represents a major challenge

Few assumptions can be made about the level of

confidence of off-the-shelf components

An architectural approach is required

Exception handling is a well-known technique for leveraging the task of incorporating fault tolerance into software systems

slide-3
SLIDE 3

3

Motivation (2)

Component-based systems introduce challenges which are not addressed by traditional (language- based) exception handling systems (EHSs) Some of these challenges are:

Traditional EHSs lack support for attaching exception

handlers to architectural elements (components, connectors, configurations)

In an architecture, exception propagation does not

necessarily follow the method invocation chain

An architectural-level EHS should support the attachment of

handlers to components without requiring modifications to them

slide-4
SLIDE 4

4

Objectives

To create an architectural-level EHS which leverages the construction of fault-tolerant component-based systems To devise a reusable implementation of the EHS by means of an object-oriented framework

Based on the concept of idealised fault-tolerant

component

slide-5
SLIDE 5

5

Idealised Fault-Tolerant Component

Normal Activity Abnormal Activity

Recovery Local Exceptions Service Requests Normal Responses Service Requests Normal Responses Interface Exceptions Interface Exceptions Failure Exceptions Failure Exceptions

slide-6
SLIDE 6

6

C2 Architectural Style

We use the C2 architectural style in order to represent component-based systems

Integration of heterogeneous off-the-shelf components

A C2 architecture is composed by components, connectors and interconnections

Layered Elements in an architecture communicate by means of

asynchronous messages

Each component may have its own control thread

Tools which support the development of C2 applications:

ArchStudio C2.FW framework

slide-7
SLIDE 7

7

A Simple C2 Architecture

Component 3

Connector 1

Component 4 Component 2 Component 1 Requests Notifications

Connector 2

slide-8
SLIDE 8

8

Overview of FaTC2

An extension of the JavaTM version of the C2.FW framework

C2.FW lacks support for fault tolerance.

Introduces forward error recovery in the

  • riginal framework by means of an EHS

FaTC2 is based on the concept of idealised C2 component (iC2C)

C2.FW

Exception Handling System

+

FaTC2

=

slide-9
SLIDE 9

9

Idealised C2 Component

A structuring concept for the incorporation of exception handling in component-based systems Equivalent, in structure and behavior, to the idealised fault-tolerant component Defined according to the C2 style

slide-10
SLIDE 10

10

Overall Structure of an iC2C

NormalActivity

iC2C_top iC2C_internal

AbnormalActivity

iC2C_bottom Normal behavior & Error detection Error diagnosis & recovery

slide-11
SLIDE 11

11

Description of FaTC2

The concept of iC2C is employed for defining exception handling contexts

NormalActivity component: normal behavior and

error detection

AbnormalActivity component: error treatment

Connections between normal and abnormal parts are managed by FaTC2

Developers focus on implementing the normal and

abnormal behavior of the system

Abstracts the interaction protocol

slide-12
SLIDE 12

12

Description of FaTC2 (2)

NormalActivity

iC2C_top iC2C_internal

AbnormalActivity

iC2C_bottom Provided by the application developer

slide-13
SLIDE 13

13

Description of FaTC2 (3)

NormalActivity

iC2C_top iC2C_internal

AbnormalActivity

iC2C_bottom Provided by FaTC2

slide-14
SLIDE 14

14

Exception Handling at the Architectural Level

FaTC2 defines an architectural-level EHS for component-based systems Main features :

Separates exception handlers from normal

behavior

Handlers may be attachted to components,

connectors and configurations

Exception propagation according to the execution

flow of the application

slide-15
SLIDE 15

15

Exception Definition

Architectural exceptions are data

  • bjects implemented as simple Java

exceptions FaTC2 wraps exceptions as C2 notifications

slide-16
SLIDE 16

16

Handler Definition and Attachment

The AbnormalActivity component of an iC2C defines an architectural-level exception handler Handlers may be attached to components, connectors and configurations FaTC2 supports the definition of multiple exception-handling contexts

slide-17
SLIDE 17

17

Handler Definition and Attachment (3)

iC2C_top iC2C_internal

AbnormalActivity

iC2C_bottom External exception handlers Internal exception handlers Normal behavior

slide-18
SLIDE 18

18

Handler Definition and Attachment (2)

iC2C_top iC2C_internal

AbnormalActivity

iC2C_bottom A C2 configuration Exception handlers for the whole configuration

slide-19
SLIDE 19

19

External iC2C

Exception Propagation

AbnormalActivity (...) (...)

Normal Activity

slide-20
SLIDE 20

20

External iC2C

Exception Propagation

AbnormalActivity (...) (...)

Service Request Normal Activity

slide-21
SLIDE 21

21

External iC2C

Exception Propagation

AbnormalActivity (...) (...)

Normal Activity Exception Raised

slide-22
SLIDE 22

22

External iC2C

Exception Propagation

AbnormalActivity (...) (...)

Normal Activity Unable to handle exception. Re-raising

slide-23
SLIDE 23

23

External iC2C

Exception Propagation

AbnormalActivity (...) (...)

Normal Activity Unable to handle exception. Re-raising

slide-24
SLIDE 24

24

External iC2C

Continuation of the Flow of Control

AbnormalActivity (...) (...)

Normal Activity Exception handled successfully. Returning to normal Green iC2C receives return-to-normal request

slide-25
SLIDE 25

25

External iC2C

Continuation of the Flow of Control

AbnormalActivity (...) (...)

Normal Activity The NormalActivity component of the green iC2C handles the request

slide-26
SLIDE 26

26

FaTC2 and C2.FW

(...) Original (C2.FW) Extension

FaTC2

AbstractC2DelegateBrick IC2CBottomConnector IC2CTopConnector IC2CInternalConnector INormalActivityComponent <<Interface>> IAbnormalActivityComponent <<Interface>> AbstractNormalActivityComponent IC2CBrick AbstractAbnormalActivityComponent DelegateBrick <<Interface>> IC2C Component <<Interface>> IC2CCompositeBrick

slide-27
SLIDE 27

27

Conclusions

Our contributions:

Definition of an architectural-level EHS for

component-based applications

Construction of a reusable implementation for this

EHS by means of the FaTC2 framework

Extension of the C2.FW framework with forward

error-recovery

Architectural-level exception handling is not a replacement for language-level exception handling

slide-28
SLIDE 28

28

Work in Progress

Asynchronous iC2C Some of the features defined by the EHS are still not supported by FaTC2

Hierarchical handler search Attachment of handlers to arbitrary

configurations

Evaluation of the EHS

slide-29
SLIDE 29

29

Contact Information

Fernando J. Castor de Lima Filho fernando@ic.unicamp.br Paulo Asterio de Castro Guerra asterio@ic.unicamp.br Cecília Mary Fischer Rubira cmrubira@ic.unicamp.br

slide-30
SLIDE 30

30

Related Work

[Issarny:2001:ABE] [Lee:1990:FTP] [Medvidovic:1997:ROS] [Rakic:2001:ICO] [Saridakis:1999:FTS] [Stavridou:1998:PDS] [Cook:1999:HRU] [Garcia:1999:EHM] [Garcia:2001:CSE] [Guerra:2002:IFT] [Guerra:2003:FTA] [Guerra:2003:ICS]