57,353 research outputs found
Biologically Inspired Self-Healing Software System Architecture
Self-healing capabilities have begun to emerge as an interesting and potentially valuable
property of software systems. Self-healing characteristic enables software systems to
continuously and dynamically monitor, diagnose, and adapt itself after a failures has
occur in their components. Adding such characteristic into existing software systems is
immensely useful and valuable for allowing them to recover from failures. However,
developing such self-healing software systems is a significant challenge.
The nature introduces to us unforeseen concepts in terms of presenting biological
systems that have the ability to handle its abnormal conditions. Based on this observation,
this thesis presents self healing architecture for software system based on one of the
biological processes that have the ability to heal by itself (the wound-healing process).
The self-healing architecture provides software systems the ability to handle anomalous
conditions that appear among its components. The presented architecture is divided into
to layers, functional and healing layer. In the functional layer, the components of the
system provide its services without any disruptions. The component is considered as
faulty component if it fails to provide its services. The healing layer aims to heal the
faulty component and return it to the running system without the awareness of the user.
The presented self-healing software system is formally described to prove its
functionality. Set-theoretic and Finite State Machine (FSM) is introduced. A prototype
for the presented architecture has been implemented using Java language. Java objects
are considered as the system components. The modules of the healing layer in the selfhealing
architecture have been implemented into Java classes. An object from the module
class will be created to perform its task for the healing process. The thesis concludes with
recommendations for future works in this area and enhancement of the presented
architecture
Biologically Inspired Self-Healing Software System Architecture
Self-healing capabilities have begun to emerge as an interesting and potentially valuable
property of software systems. Self-healing characteristic enables software systems to
continuously and dynamically monitor, diagnose, and adapt itself after a failures has
occur in their components. Adding such characteristic into existing software systems is
immensely useful and valuable for allowing them to recover from failures. However,
developing such self-healing software systems is a significant challenge.
The nature introduces to us unforeseen concepts in terms of presenting biological
systems that have the ability to handle its abnormal conditions. Based on this observation,
this thesis presents self-healing architecture for software system based on one of the
biological processes that have the ability to heal by itself (the wound-healing process).
The self-healing architecture provides software systems the ability to handle anomalous
conditions that appear among its components. The presented architecture is divided into
to layers, functional and healing layer. In the functional layer, the components of the
system provide its services without any disruptions. The component is considered as
faulty component if it fails to provide its services. The healing layer aims to heal the
faulty component and return it to the running system without the awareness of the user.
The presented self-healing software system is formally described to prove its
functionality. Set-theoretic and Finite State Machine (FSM) is introduced. A prototype
for the presented architecture has been implemented using Java language. Java objects
are considered as the system components. The modules of the healing layer in the selfhealing
architecture have been implemented into Java classes. An object from the module
class will be created to perform its task for the healing process. The thesis concludes with
recommendations for future works in this area and enhancement of the presented
architecture.
Biologically Inspired Self-Healing Software System Architecture
Self-healing capabilities have begun to emerge as an interesting and potentially valuable
property of software systems. Self-healing characteristic enables software systems to
continuously and dynamically monitor, diagnose, and adapt itself after a failures has
occur in their components. Adding such characteristic into existing software systems is
immensely useful and valuable for allowing them to recover from failures. However,
developing such self-healing software systems is a significant challenge.
The nature introduces to us unforeseen concepts in terms of presenting biological
systems that have the ability to handle its abnormal conditions. Based on this observation,
this thesis presents self healing architecture for software system based on one of the
biological processes that have the ability to heal by itself (the wound-healing process).
The self-healing architecture provides software systems the ability to handle anomalous
conditions that appear among its components. The presented architecture is divided into
to layers, functional and healing layer. In the functional layer, the components of the
system provide its services without any disruptions. The component is considered as
faulty component if it fails to provide its services. The healing layer aims to heal the
faulty component and return it to the running system without the awareness of the user.
The presented self-healing software system is formally described to prove its
functionality. Set-theoretic and Finite State Machine (FSM) is introduced. A prototype
for the presented architecture has been implemented using Java language. Java objects
are considered as the system components. The modules of the healing layer in the selfhealing
architecture have been implemented into Java classes. An object from the module
class will be created to perform its task for the healing process. The thesis concludes with
recommendations for future works in this area and enhancement of the presented
architecture
Prototype of Fault Adaptive Embedded Software for Large-Scale Real-Time Systems
This paper describes a comprehensive prototype of large-scale fault adaptive
embedded software developed for the proposed Fermilab BTeV high energy physics
experiment. Lightweight self-optimizing agents embedded within Level 1 of the
prototype are responsible for proactive and reactive monitoring and mitigation
based on specified layers of competence. The agents are self-protecting,
detecting cascading failures using a distributed approach. Adaptive,
reconfigurable, and mobile objects for reliablility are designed to be
self-configuring to adapt automatically to dynamically changing environments.
These objects provide a self-healing layer with the ability to discover,
diagnose, and react to discontinuities in real-time processing. A generic
modeling environment was developed to facilitate design and implementation of
hardware resource specifications, application data flow, and failure mitigation
strategies. Level 1 of the planned BTeV trigger system alone will consist of
2500 DSPs, so the number of components and intractable fault scenarios involved
make it impossible to design an `expert system' that applies traditional
centralized mitigative strategies based on rules capturing every possible
system state. Instead, a distributed reactive approach is implemented using the
tools and methodologies developed by the Real-Time Embedded Systems group.Comment: 2nd Workshop on Engineering of Autonomic Systems (EASe), in the 12th
Annual IEEE International Conference and Workshop on the Engineering of
Computer Based Systems (ECBS), Washington, DC, April, 200
Intrusion Detection Systems in SDN-based Self-Healing PMU Networks
Nowadays, Power grids are critical infrastructures on which everything else relies, and their correct behavior is of the highest priority. New smart devices are being deployed to be able to manage and control power grids more efficiently and avoid instability. However, the deployment of such smart devices like Phasor Measurement Units (PMU) and Phasor Data Concentrators (PDC), open new opportunities for cyber attackers to exploit network vulnerabilities. If a PDC is compromised, all data coming from PMUs to that PDC is lost, reducing network observability.
Our approach to solve this problem is to develop an Intrusion detection System (IDS) in a Software-defined network (SDN). allowing the IDS system to detect compromised devices and use that information as an input for a self-healing SDN controller, which redirects the data of the PMUs to a new, uncompromised PDC, maintaining the maximum possible network observability at every moment.
During this research, we have successfully implemented Self-healing in an example network with an SDN controller based on Ryu controller. We have also assessed intrinsic vulnerabilities of Wide Area Management Systems (WAMS) and SCADA networks, and developed some rules for the Intrusion Detection system which specifically protect vulnerabilities of these networks.
The integration of the IDS and the SDN controller was also successful.
\\To achieve this goal, the first steps will be to implement an existing Self-healing SDN controller and assess intrinsic vulnerabilities of Wide Area Measurement Systems (WAMS) and SCADA networks. After that, we will integrate the Ryu controller with Snort, and create the Snort rules that are specific for SCADA or WAMS systems and protocols
Policy Enforcement with Proactive Libraries
Software libraries implement APIs that deliver reusable functionalities. To
correctly use these functionalities, software applications must satisfy certain
correctness policies, for instance policies about the order some API methods
can be invoked and about the values that can be used for the parameters. If
these policies are violated, applications may produce misbehaviors and failures
at runtime. Although this problem is general, applications that incorrectly use
API methods are more frequent in certain contexts. For instance, Android
provides a rich and rapidly evolving set of APIs that might be used incorrectly
by app developers who often implement and publish faulty apps in the
marketplaces. To mitigate this problem, we introduce the novel notion of
proactive library, which augments classic libraries with the capability of
proactively detecting and healing misuses at run- time. Proactive libraries
blend libraries with multiple proactive modules that collect data, check the
correctness policies of the libraries, and heal executions as soon as the
violation of a correctness policy is detected. The proactive modules can be
activated or deactivated at runtime by the users and can be implemented without
requiring any change to the original library and any knowledge about the
applications that may use the library. We evaluated proactive libraries in the
context of the Android ecosystem. Results show that proactive libraries can
automati- cally overcome several problems related to bad resource usage at the
cost of a small overhead.Comment: O. Riganelli, D. Micucci and L. Mariani, "Policy Enforcement with
Proactive Libraries" 2017 IEEE/ACM 12th International Symposium on Software
Engineering for Adaptive and Self-Managing Systems (SEAMS), Buenos Aires,
Argentina, 2017, pp. 182-19
Prototype of Fault Adaptive Embedded Software for Large-Scale Real-Time Systems
This paper describes a comprehensive prototype of large-scale fault adaptive embedded software developed for the proposed Fermilab BTeV high energy physics experiment. Lightweight self-optimizing agents embedded within Level 1 of the prototype are responsible for proactive and reactive monitoring and mitigation based on specified layers of competence. The agents are self-protecting, detecting cascading failures using a distributed approach. Adaptive, reconfigurable, and mobile objects for reliability are designed to be self-configuring to adapt automatically to dynamically changing environments. These objects provide a self-healing layer with the ability to discover, diagnose, and react to discontinuities in real-time processing. A generic modeling environment was developed to facilitate design and implementation of hardware resource specifications, application data flow, and failure mitigation strategies. Level 1 of the planned BTeV trigger system alone will consist of 2500 DSPs, so the number of components and intractable fault scenarios involved make it impossible to design an “expert system” that applies traditional centralized mitigative strategies based on rules capturing every possible system state. Instead, a distributed reactive approach is implemented using the tools and methodologies developed by the RealTime Embedded Systems group
- …