177,927 research outputs found
Runtime Verification of Self-Adaptive Systems with Changing Requirements
To accurately make adaptation decisions, a self-adaptive system needs precise
means to analyze itself at runtime. To this end, runtime verification can be
used in the feedback loop to check that the managed system satisfies its
requirements formalized as temporal-logic properties. These requirements,
however, may change due to system evolution or uncertainty in the environment,
managed system, and requirements themselves. Thus, the properties under
investigation by the runtime verification have to be dynamically adapted to
represent the changing requirements while preserving the knowledge about
requirements satisfaction gathered thus far, all with minimal latency. To
address this need, we present a runtime verification approach for self-adaptive
systems with changing requirements. Our approach uses property specification
patterns to automatically obtain automata with precise semantics that are the
basis for runtime verification. The automata can be safely adapted during
runtime verification while preserving intermediate verification results to
seamlessly reflect requirement changes and enable continuous verification. We
evaluate our approach on an Arduino prototype of the Body Sensor Network and
the Timescales benchmark. Results show that our approach is over five times
faster than the typical approach of redeploying and restarting runtime monitors
to reflect requirements changes, while improving the system's trustworthiness
by avoiding interruptions of verification.Comment: 18th Symposium on Software Engineering for Adaptive and Self-Managing
Systems (SEAMS 2023
ACon: A learning-based approach to deal with uncertainty in contextual requirements at runtime
Context: Runtime uncertainty such as unpredictable operational environment and failure of sensors that gather environmental data is a well-known challenge for adaptive systems.
Objective: To execute requirements that depend on context correctly, the system needs up-to-date knowledge about the context relevant to such requirements. Techniques to cope with uncertainty in contextual requirements are currently underrepresented. In this paper we present ACon (Adaptation of Contextual requirements), a data-mining approach to deal with runtime uncertainty affecting contextual requirements.
Method: ACon uses feedback loops to maintain up-to-date knowledge about contextual requirements based on current context information in which contextual requirements are valid at runtime. Upon detecting that contextual requirements are affected by runtime uncertainty, ACon analyses and mines contextual data, to (re-)operationalize context and therefore update the information about contextual requirements.
Results: We evaluate ACon in an empirical study of an activity scheduling system used by a crew of 4 rowers in a wild and unpredictable environment using a complex monitoring infrastructure. Our study focused on evaluating the data mining part of ACon and analysed the sensor data collected onboard from 46 sensors and 90,748 measurements per sensor.
Conclusion: ACon is an important step in dealing with uncertainty affecting contextual requirements at runtime while considering end-user interaction. ACon supports systems in analysing the environment to adapt contextual requirements and complements existing requirements monitoring approaches by keeping the requirements monitoring specification up-to-date. Consequently, it avoids manual analysis that is usually costly in today’s complex system environments.Peer ReviewedPostprint (author's final draft
Towards a Framework for Managing Inconsistencies in Systems of Systems
The growth in the complexity of software systems has led to a proliferation of systems that have been created independently to provide specific functions, such as activity tracking, household energy management or personal nutrition assistance. The runtime composition of these individual systems into Systems of Systems (SoSs) enables support for more sophisticated functionality that cannot be provided by individual constituent systems on their own. However, in order to realize the benefits of these functionalities it is necessary to address a number of challenges associated with SoSs, including, but not limited to, operational and managerial independence, geographic distribution of participating systems, evolutionary development, and emergent conflicting behavior that can occur due interactions between the requirements of the participating systems. In this paper, we present a framework for conflict management in SoSs. The management of conflicting requirements involves four steps, namely (a) overlap detection, (b) conflict identification, (c) conflict diagnosis, and (d) conflict resolution based on the use of a utility function. The framework uses a Monitor-Analyze-Plan- Execute- Knowledge (MAPE-K) architectural pattern. In order to illustrate the work, we use an example SoS ecosystem designed to support food security at different levels of granularity
Requirements Problem and Solution Concepts for Adaptive Systems Engineering, and their Relationship to Mathematical Optimisation, Decision Analysis, and Expected Utility Theory
Requirements Engineering (RE) focuses on eliciting, modelling, and analyzing
the requirements and environment of a system-to-be in order to design its
specification. The design of the specification, usually called the Requirements
Problem (RP), is a complex problem solving task, as it involves, for each new
system-to-be, the discovery and exploration of, and decision making in, new and
ill-defined problem and solution spaces. The default RP in RE is to design a
specification of the system-to-be which (i) is consistent with given
requirements and conditions of its environment, and (ii) together with
environment conditions satisfies requirements. This paper (i) shows that the
Requirements Problem for Adaptive Systems (RPAS) is different from, and is not
a subclass of the default RP, (ii) gives a formal definition of RPAS, and (iii)
discusses implications for future research
Recommended from our members
Using problem descriptions to represent variabilities for context-aware applications
This paper investigates the potential use of problem descriptions to represent and analyse variability in context-aware software products. By context-aware, we refer to recognition of changes in properties of external domains, which are recognised as affecting the behaviour of products. There are many reasons for changes in the operating environment, from fluctuating resources upon which the product relies, to different operating locations or the presence of objects. There is an increasing expectation for software intensivedevices to be context-aware which, in turn, adds further variability to problem description and analysis. However, we argue in this paper that the capture of contextual variability on current variability representations and analyses has yet to be explored. We illustrate the representation of this type of variability in a pilot study, and conclude with lessons learnt and an agenda for further work
- …