Writing Effective Use Cases
The Vision of Autonomic Computing
Computer
A survey of self-management in dynamic software architecture specifications
WOSS '04 Proceedings of the 1st ACM SIGSOFT workshop on Self-managed systems
Verifying the adaptation behavior of embedded systems
Proceedings of the 2006 international workshop on Self-adaptation and self-managing systems
Self-Managed Systems: an Architectural Challenge
FOSE '07 2007 Future of Software Engineering
Self-adaptive software: Landscape and research challenges
ACM Transactions on Autonomous and Adaptive Systems (TAAS)
Modeling Dimensions of Self-Adaptive Software Systems
Software Engineering for Self-Adaptive Systems
MODELS '09 Proceedings of the 12th International Conference on Model Driven Engineering Languages and Systems
MODELS '09 Proceedings of the 12th International Conference on Model Driven Engineering Languages and Systems
Making control loops explicit when architecting self-adaptive systems
Proceedings of the second international workshop on Self-organizing architectures
FORMS: a formal reference model for self-adaptation
Proceedings of the 7th international conference on Autonomic computing
Component-based modeling and verification of dynamic adaptation in safety-critical embedded systems
ACM Transactions on Embedded Computing Systems (TECS)
Adapt cases: extending use cases for adaptive systems
Proceedings of the 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems
A CSP-based framework for the specification, verification, and implementation of adaptive systems
Proceedings of the 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Hi-index | 0.00 |
Today's software systems have to cope with changing environments while at the same time facing high non-functional requirements such as flexibility and dependability. Recently, these non-functional requirements are addressed using self-adaptivity features, that is, the system monitors its environment and adjusts its structure or behavior in reaction to changes. In classical model-driven software engineering approaches, self-adaptivity introduces additional complexity since self-adaptation features are distributed in a cross-cutting manner at various different locations in the models, resulting in a tightly interwoven model landscape that is hard to understand and maintain. A particular solution to cope with this problem is the separation of concerns (SoC) to focus on the specific concern of self-adaptivity and allow in-depth analyses. Applying SoC requires suitable development processes, languages, and techniques, e.g., for quality assurance, to be available. In this paper, we present a method for the specification of self-adaptive software systems using a UML based concern-specific modeling language called Adapt Case Modeling Language (ACML) that allows the separated and explicit specification of self-adaptivity concerns. Based on formal semantics we show how to apply quality assurance techniques to the modeled self-adaptive system, which enable the provisioning of hard guarantees concerning self-adaptivity characteristics such as adaptation rule set stability and deadlock freedom. Further, we show how the language and techniques integrate with existing software development processes.