Book contents
- Frontmatter
- Dedication
- Contents
- Preface
- Annotated Table of Contents
- Acknowledgments
- Part I Overview
- Part II Real-Time Software Design Method
- Part III Analysis of Real-Time Software Designs
- 16 System and Software Quality Attributes for Real-Time Embedded Systems
- 17 Performance Analysis of Real-Time Software Designs
- 18 Applying Performance Analysis to Real-Time Software Designs
- Part IV Real-Time Software Design Case Studies for Embedded Systems
- Appendix A Conventions Used in This Textbook
- Appendix B Catalog of Software Architectural Patterns
- Appendix C Pseudocode Templates for Concurrent Tasks
- Appendix D Teaching Considerations
- Glossary
- Bibliography
- Index
16 - System and Software Quality Attributes for Real-Time Embedded Systems
from Part III - Analysis of Real-Time Software Designs
Published online by Cambridge University Press: 05 March 2016
- Frontmatter
- Dedication
- Contents
- Preface
- Annotated Table of Contents
- Acknowledgments
- Part I Overview
- Part II Real-Time Software Design Method
- Part III Analysis of Real-Time Software Designs
- 16 System and Software Quality Attributes for Real-Time Embedded Systems
- 17 Performance Analysis of Real-Time Software Designs
- 18 Applying Performance Analysis to Real-Time Software Designs
- Part IV Real-Time Software Design Case Studies for Embedded Systems
- Appendix A Conventions Used in This Textbook
- Appendix B Catalog of Software Architectural Patterns
- Appendix C Pseudocode Templates for Concurrent Tasks
- Appendix D Teaching Considerations
- Glossary
- Bibliography
- Index
Summary
Software quality attributes (Bass et al. 2013) refer to nonfunctional requirements of software, which can have a profound effect on the quality of a real-time embedded system. During requirements specification, software quality requirements are specified as nonfunctional requirements. Many software quality attributes can be addressed and evaluated at the time the software architecture is developed.
Some quality attributes are actually system quality attributes because both hardware and software considerations are needed to achieve high quality. These system quality attributes include scalability, performance, availability, safety, and security. Other quality attributes are purely software in nature because they rely entirely on the quality of the software. These software quality attributes include maintainability, modifiability, testability, traceability, and reusability. This chapter provides an overview of system and software quality attributes, and discusses how they are supported by the COMET/RTE software design method.
SCALABILITY
Scalability is the extent to which the system is capable of growing after its initial deployment. There are system and software factors to consider in scalability. From a system perspective, there are issues of adding further hardware to increase the capacity of the system. In a centralized system, the scope for scalability is limited, such as adding more memory, more disk capacity, or an additional CPU. A distributed system offers much more scope for scalability by adding more nodes to the configuration.
From a software perspective, the system needs to be designed in such a way that it is capable of growth. A distributed component-based software architecture is much more capable of scaling upward than a centralized design. Components are designed such that multiple instances of each component can be deployed to different nodes in a distributed configuration. A light rail control system that supports multiple trains and multiple stations can have a component-based software design, such that there is one instance of a train component for each train and one instance of a station component for each station. Such a software architecture can be deployed to execute in a small town, in a large city, or in a wide geographical region. A service-oriented architecture can be scaled up by adding more services or additional instances of existing services. New clients can be added to the system as needed. Clients can discover new services and take advantage of their offerings.
- Type
- Chapter
- Information
- Real-Time Software Design for Embedded Systems , pp. 313 - 323Publisher: Cambridge University PressPrint publication year: 2016