self-healing components in robust software architecture for concurrent and distributed systems
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 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 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.