Program evolution: processes of software change
Program evolution: processes of software change
Software evolution: the software maintenance challenge
Software evolution: the software maintenance challenge
Extension and software development
ICSE '88 Proceedings of the 10th international conference on Software engineering
Dynamic adaptation of real-time software
ACM Transactions on Computer Systems (TOCS)
Software engineering (3rd ed.): a practitioner's approach
Software engineering (3rd ed.): a practitioner's approach
Software quality: a framework for success in software development and support
Software quality: a framework for success in software development and support
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
SSR '95 Proceedings of the 1995 Symposium on Software reusability
Dealing with non-functional requirements: three experimental studies of a process-oriented approach
Proceedings of the 17th international conference on Software engineering
Aspects of software adaptability
Communications of the ACM
A statistical approach to adaptive problem solving
Artificial Intelligence
Workshop on adaptable and adaptive software
Addendum to the proceedings of the 10th annual conference on Object-oriented programming systems, languages, and applications (Addendum)
Self-adaptive software for signal processing
Communications of the ACM
Towards a design methodology for adaptive applications
MobiCom '98 Proceedings of the 4th annual ACM/IEEE international conference on Mobile computing and networking
Adaptation and software architecture
ISAW '98 Proceedings of the third international workshop on Software architecture
Architecture-based runtime software evolution
Proceedings of the 20th international conference on Software engineering
Design components: toward software composition at the design level
Proceedings of the 20th international conference on Software engineering
WSC '91 Proceedings of the 23rd conference on Winter simulation
Energy-aware adaptation for mobile applications
Proceedings of the seventeenth ACM symposium on Operating systems principles
Adaptive software development: a collaborative approach to managing complex systems
Adaptive software development: a collaborative approach to managing complex systems
A calculus of program adaptation and its applications
Science of Computer Programming
Standards, Guidelines and Examples: System and Software Requirements Engineering
Standards, Guidelines and Examples: System and Software Requirements Engineering
Exploring Alternatives During Requirements Analysis
IEEE Software
An Architecture-Based Approach to Self-Adaptive Software
IEEE Intelligent Systems
Representing and Using Nonfunctional Requirements: A Process-Oriented Approach
IEEE Transactions on Software Engineering - Special issue on knowledge representation and reasoning in software development
An Overview of Evolutionary Computation
ECML '93 Proceedings of the European Conference on Machine Learning
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
Business-Oriented Component-Based Software Development and Evolution
DEXA '98 Proceedings of the 9th International Workshop on Database and Expert Systems Applications
Architecture-Based Semantic Evolution: A Study of Remotely Controlled Embedded Systems
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Evolution: A More Practical Approach than Refinement for Software Development
ICECCS '97 Proceedings of the Third IEEE International Conference on Engineering of Complex Computer Systems
Component Customization for Object-Oriented Distributed Real-Time Software Development
ISORC '00 Proceedings of the Third IEEE International Symposium on Object-Oriented Real-Time Distributed Computing
Process-Oriented Metrics for Software Architecture Adaptability
RE '01 Proceedings of the Fifth IEEE International Symposium on Requirements Engineering
Tool support for engineering adaptability into software architecture
Proceedings of the International Workshop on Principles of Software Evolution
Developing adaptable software architectures using design patterns: an NFR approach
Computer Standards & Interfaces - Special issue: Adaptable software architectures
Hobbes framework: an adaptable solution to web-driven applications
Computer Standards & Interfaces - Special issue: Adaptable software architectures
SA3: a tool for supporting adaptable software architecture generation for embedded systems
Computer Standards & Interfaces - Special issue: Adaptable software architectures
Architecture-based semantic evolution of embedded remotely controlled systems
Journal of Software Maintenance: Research and Practice
Adaptable architecture generation for embedded systems
Journal of Systems and Software - Special issue: Computer systems
Framework for evolving systems
SEPADS'06 Proceedings of the 5th WSEAS International Conference on Software Engineering, Parallel and Distributed Systems
Self-adaptive software: Landscape and research challenges
ACM Transactions on Autonomous and Adaptive Systems (TAAS)
Requirements and challenges for building service-oriented pervasive middleware
Proceedings of the 2009 international conference on Pervasive services
Towards a goal-driven approach to action selection in self-adaptive software
Software—Practice & Experience
Hi-index | 0.00 |
Adaptation of software systems is almost an inevitable process, due to the change in customer requirements, needs for faster development of new, or maintenance of existing, software systems, etc. No doubt numerous techniques have been developed to deal with adaptation of software systems. In this paper we present an overview of some of these techniques. As the first step in the development of software solution it is our opinion that software architecture should itself be adaptable for the final software system to be adaptable. In order to systematically support adaptation at the architectural level, this paper adapts the NFR (Non-Functional Requirements) Framework and treats software adaptability requirement as a goal to be achieved during development. Through this adaptation, then, consideration of design alternatives, analysis of tradeoffs and rationalization of design decisions are all carried out in relation to the stated goals, and captured in historical records. This NFR approach can also be adapted to a knowledge-based approach for (semi-)automatically generating architectures for adaptable software systems and we also discuss how this can be achieved.