self-healing components in robust software architecture for concurrent and distributed systems

17
Self-healing Components in Robust Software Architecture for Concurrent and Distributed Systems Michael E. Shin, Elsevier, 2004 Presented By Md. Shafiuzzaman

Upload: md-shafiuzzaman-hira

Post on 06-Aug-2015

57 views

Category:

Software


0 download

TRANSCRIPT

Self-healing Components in Robust Software Architecturefor Concurrent and Distributed Systems

Michael E. Shin, Elsevier, 2004

Presented By

Md. Shafiuzzaman

04/15/2023 2

Objective of the Paper

Design self-healing components for robust, concurrent and distributed software architecture

04/15/2023 3

Research Question

What are the issues associated with designing self-healing components in software

architecture for robust, concurrent and distributed software systems?

04/15/2023 4

What is a component in concurrent and distributed system?

Decomposed into

Active objects (initiates actions)

Connectors

Passive objects (invoked by active objects)

04/15/2023 5

What is self-healing component?

Detect sick objects inside of the component

Reconfigure inter-component and intra-components before and after repairing

the sick object

Repair sick objects

Test the healed object

04/15/2023 6

Structure of self-healing components

Two layers:

1. Service layer: Provides functional services to other components

2. Healing layer: Encapsulates self-healing mechanism

04/15/2023 7

Functionality of Service Layer

Accept service requests from other components

Notify the status of message passing between objects

04/15/2023 8

Functionality of Healing Layer

Composed of

1. Component Reconfiguration Plan Generator (generates reconfiguration plan)

2. Component Repair Plan Generator (generates repair plan)

3. Component Monitor (supervises the behaviour of tasks)

4. Component Reconfiguration Executor (reorganize objects)

5. Component Repair Executor (restart abnormal objects and test)

6. Component Self-Healing Controller (coordinates among 1-5)

04/15/2023 9

Structure of self-healing components

04/15/2023 10

Self-healing mechanism

04/15/2023 11

Self-healing mechanism

04/15/2023 12

Related Works

[1] characterized self-healing mechanism with fault models, system responses, system completeness, and design context

[2] presented two part structure combining normal execution and fault recovery

[3] presented tools and methods for implementing architecture-based self-healing systems.

[4] used architectural models as the basis for monitoring, problem detection, and repair for self-healing systems.

[5] described an approach to devising a reconfiguration mechanism

04/15/2023 13

Contribution of the Paper

Previous approaches focused on either service layer or healing layer but this paper proposed a model that focus on both layers

04/15/2023 14

Illustration of the approach

Elevator system

04/15/2023 15

Limitation of the Paper

No detail about the plans for reconfiguration and repair (considered as black boxes)

Decision mechanisms only considers status of a single object (total status can be considered)

No comparison with other approaches are provided

04/15/2023 16

References

[1] P. Koopman, Elements of the self-healing system problem space, in: Workshop on Software Architectures for Dependable Systems, WADS2003, ICSE’03 International Conference on Software Engineering, May 3–11, Portland, Oregon, 2003.

[2] P.A. de C. Guerra, R. de Lemos, An idealized fault-tolerant architectural component, in: Workshop on Architecting Dependable Systems, ICSE’02 International Conference on Software Engineering, May 25, Orlando, FL, 2002.

[3] E.M.Dashofy, A. van der Hoek, R.N. Taylor, Towards architecture-based self-healing systems, in:Workshop on Self-Healing Systems, Proceedings of the First Workshop on Self-Healing Systems, November 18–19, Charleston, SC, 2002.

[4] D. Garlan, B. Schmerl, Model-based adaptation for self-healing systems, in: Workshop on Self-Healing Systems, Proceedings of the First Workshop on Self-Healing Systems, November 18–19, Charleston, SC, 2002.

[5] M.J. Rutherford, K. Anderson, A. Carzaniga, D. Heimbigner, A.L. Wolf, Reconfiguration in the enterprise JavaBean component model, in: Proceedings of the IFIP/ACM Working Conference on Component Deployment, Berlin, 2002, pp. 67–81.

04/15/2023 17

Any Questions?

Thank you