Software architecture: perspectives on an emerging discipline
Software architecture: perspectives on an emerging discipline
Maintenance of COTS-intensive software systems
Journal of Software Maintenance: Research and Practice
Software architecture in practice
Software architecture in practice
Self-adaptive software for signal processing
Communications of the ACM
The Unified Modeling Language user guide
The Unified Modeling Language user guide
Testable embedded system firmware development: the out-in methodology
Computer Standards & Interfaces
Types of software evolution and software maintenance
Journal of Software Maintenance: Research and Practice
Wireless Technician's Handbook
Wireless Technician's Handbook
Real-Time Systems Design and Analysis: An Engineer's Handbook
Real-Time Systems Design and Analysis: An Engineer's Handbook
Software architecture adaptability: an NFR approach
IWPSE '01 Proceedings of the 4th International Workshop on Principles of Software Evolution
What's Ahead for Embedded Software?
Computer
Exploring Alternatives During Requirements Analysis
IEEE Software
An Architecture-Based Approach to Self-Adaptive Software
IEEE Intelligent Systems
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
Managing Evolution in Telecommunication Systems
Proceedings of the IFIP TC6 / WG6.1 Third International Working Conference on New Developments in Distributed Applications and Interoperable Systems
Architecture-Based Semantic Evolution: A Study of Remotely Controlled Embedded Systems
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Trends in Preserving and Enhancing the Value of Software
ICSM '00 Proceedings of the International Conference on Software Maintenance (ICSM'00)
Introduction to ALGOL (Prentice-Hall series in automatic computation)
Introduction to ALGOL (Prentice-Hall series in automatic computation)
Approach to a Theory of Software Evolution
IWPSE '05 Proceedings of the Eighth International Workshop on Principles of Software Evolution
Architecture-Based Semantic Evolution: A Study of Remotely Controlled Embedded Systems
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Hi-index | 0.00 |
Evolution of a software system is a natural process. In most systems, evolution takes place during the maintenance phase of their life cycles. Those systems that have reached their limit in evolution have usually reached their end of useful life and may have to be replaced. However, there are systems in which evolution occurs during the operational phase of their life cycles. Such systems are designed to evolve while in use or, in other words, be adaptable. Semantically adaptable systems are of particular interest to industry as such systems often times adapt themselves to environment change with little or no intervention from their developing or maintaining organization. Since embedded systems usually have a restricted hardware configuration, it is difficult to apply the techniques developed for non-embedded systems directly to embedded systems. This paper focuses on evolution through adaptation and develops the concepts and techniques for semantic evolution in embedded systems. As the first step in the development of a software solution, architectures of software systems themselves have to be made semantically evolvable. In this paper we explore various architectural alternatives for the semantic evolution of embedded systems-- these architectures are based on four different techniques that we have identified for semantic evolution in embedded systems. The development of these architectures follows the systematic, process provided by the non-functional requirement (NFR) framework, which also permits the architectures to be rated in terms of their evolvability. As the field of embedded systems is vast, this paper concentrates on those embedded systems that can be remotely controlled. In this application domain the embedded system is connected to an external controller by a communication link such as ethernet, serial, radio frequency, etc., and receives commands from and sends responses to the external controller via the communication link. The architectures developed in this paper have been partly validated by applying them in a real embedded system--a test instrument used for testing cell phones. These architectures and techniques for semantic evolution in this application domain give a glimpse of what can be done in achieving semantic evolution in software-implemented systems.