1,968 research outputs found
Supporting adaptiveness of cyber-physical processes through action-based formalisms
Cyber Physical Processes (CPPs) refer to a new generation of business processes enacted in many application environments (e.g., emergency management, smart manufacturing, etc.), in which the presence of Internet-of-Things devices and embedded ICT systems (e.g., smartphones, sensors, actuators) strongly influences the coordination of the real-world entities (e.g., humans, robots, etc.) inhabitating such environments. A Process Management System (PMS) employed for executing CPPs is required to automatically adapt its running processes to anomalous situations and exogenous events by minimising any human intervention. In this paper, we tackle this issue by introducing an approach and an adaptive Cognitive PMS, called SmartPM, which combines process execution monitoring, unanticipated exception detection and automated resolution strategies leveraging on three well-established action-based formalisms developed for reasoning about actions in Artificial Intelligence (AI), including the situation calculus, IndiGolog and automated planning. Interestingly, the use of SmartPM does not require any expertise of the internal working of the AI tools involved in the system
Context constraint integration and validation in dynamic web service compositions
System architectures that cross organisational boundaries are usually implemented based on Web service technologies due to their inherent interoperability benets. With increasing exibility requirements, such as on-demand service provision, a dynamic approach to service architecture focussing on composition at runtime is needed. The possibility of technical faults, but also violations of functional and semantic constraints require a comprehensive notion of context that captures composition-relevant aspects. Context-aware techniques are consequently required to support constraint validation for dynamic service composition. We present techniques to respond to problems occurring during the execution of dynamically composed Web
services implemented in WS-BPEL. A notion of context { covering physical and contractual
faults and violations { is used to safeguard composed service executions dynamically. Our aim is to present an architectural framework from an application-oriented perspective, addressing practical considerations of a technical framework
Achieving Cost-Effective Software Reliability Through Self-Healing
Heterogeneity, mobility, complexity and new application domains raise new software reliability issues that cannot be met cost-effectively only with classic software engineering approaches. Self-healing systems can successfully address these problems, thus increasing software reliability while reducing maintenance costs. Self-healing systems must be able to automatically identify runtime failures, locate faults, and find a way to bring the system back to an acceptable behavior. This paper discusses the challenges underlying the construction of self-healing systems with particular focus on functional failures, and presents a set of techniques to build software systems that can automatically heal such failures. It introduces techniques to automatically derive assertions to effectively detect functional failures, locate the faults underlying the failures, and identify sequences of actions alternative to the failing sequence to bring the system back to an acceptable behavior
Fault Tolerance Framework using Model-Based Diagnosis: Towards Dependable Business Processes
Several reports indicate that one of the most
important business priorities is the improvement of business
and IT management. Management and automation of business
processes have become essential tasks within IT organizations.
Nowadays, business processes of a organization use external
services which are not under our its jurisdiction, and any
fault within these processes remain uncontrolled, thereby
introducing unexpected faults in execution. Organizations must
ensure that their business processes are as dependable as
possible before they are automated. Fault tolerance techniques
provide certain mechanisms to decrease the risk of possible
faults in systems. In this paper, a framework for developing
business processes with fault tolerance capabilities is provided.
Our framework presents various solutions within the scope
of fault tolerance, whereby a practical example has been
developed and the results obtained have been compared and
discussed. The implemented framework presents innovative
mechanisms, based on model-based diagnosis and constraint
programming which automate the isolation and identification
of faulty components, but it also includes business rules to
check the correctness of various parameters obtained in the
business process.Junta de Andalucía P08-TIC-04095Ministerio de Educación y Ciencia TIN2009-1371
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
An Automated Approach for Software Fault Detection and Recovery
Abstract Autonomic software recovery enables software to automatically detect and recover software faults. This feature makes the software to run more efficiently, actively, and reduces the maintenance time and cost. This paper proposes an automated approach for Software Fault Detection and Recovery (SFDR). The SFDR detects the cases if a fault occurs with software components such as component deletion, replacement or modification, and recovers the component to enable the software to continue its intended operation. The SFDR is analyzed and implemented in parallel as a standalone software at the design phase of the target software. The practical applicability of the proposed approach has been tested by implementing an application demonstrating the performance and effectiveness of the SFDR. The experimental results and the comparisons with other works show the effectiveness of the proposed approach
MORPH: A Reference Architecture for Configuration and Behaviour Self-Adaptation
An architectural approach to self-adaptive systems involves runtime change of
system configuration (i.e., the system's components, their bindings and
operational parameters) and behaviour update (i.e., component orchestration).
Thus, dynamic reconfiguration and discrete event control theory are at the
heart of architectural adaptation. Although controlling configuration and
behaviour at runtime has been discussed and applied to architectural
adaptation, architectures for self-adaptive systems often compound these two
aspects reducing the potential for adaptability. In this paper we propose a
reference architecture that allows for coordinated yet transparent and
independent adaptation of system configuration and behaviour
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
Dynamic architectural constraints monitoring and reconfiguration in service architectures
Service-oriented architecture is an architectural approach
that can be applied for building autonomous service systems dynamically to satisfy on-demand business requests. During the execution of service compositions, architectural constraint violations relating to functional and non-fucntional system properties need to be handled intelligently and autonomously, possibly requiring architectural reconfigurations. We propose integrated architectural constraint violation handling to deal with architectural quality problems through dynamic reconfiguration. We concentrate on service replacement selection as a remedial strategy for a possible quality violation requiring architectural remedies
- …