Book contents
- Frontmatter
- Dedication
- Contents
- Preface
- Annotated Table of Contents
- Acknowledgments
- Part I Overview
- Part II Real-Time Software Design Method
- 4 Overview of Real-Time Software Design Method for Embedded Systems
- 5 Structural Modeling for Real-Time Embedded Systems with SysML and UML
- 6 Use Case Modeling for Real-Time Embedded Systems
- 7 State Machines for Real-Time Embedded Systems
- 8 Object and Class Structuring for Real-Time Embedded Software
- 9 Dynamic Interaction Modeling for Real-Time Embedded Software
- 10 Software Architectures for Real-Time Embedded Systems
- 11 Software Architectural Patterns for Real-Time Embedded Systems
- 12 Component-Based Software Architectures for Real-Time Embedded Systems
- 13 Concurrent Real-Time Software Task Design
- 14 Detailed Real-Time Software Design
- 15 Designing Real-Time Software Product Line Architectures
- Part III Analysis of 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
12 - Component-Based Software Architectures for Real-Time Embedded Systems
from Part II - Real-Time Software Design Method
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
- 4 Overview of Real-Time Software Design Method for Embedded Systems
- 5 Structural Modeling for Real-Time Embedded Systems with SysML and UML
- 6 Use Case Modeling for Real-Time Embedded Systems
- 7 State Machines for Real-Time Embedded Systems
- 8 Object and Class Structuring for Real-Time Embedded Software
- 9 Dynamic Interaction Modeling for Real-Time Embedded Software
- 10 Software Architectures for Real-Time Embedded Systems
- 11 Software Architectural Patterns for Real-Time Embedded Systems
- 12 Component-Based Software Architectures for Real-Time Embedded Systems
- 13 Concurrent Real-Time Software Task Design
- 14 Detailed Real-Time Software Design
- 15 Designing Real-Time Software Product Line Architectures
- Part III Analysis of 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
In earlier chapters, the term component has been used informally. This chapter describes the design of distributed component-based software architectures in which the architecture for a real-time embedded system is designed in terms of components that can be deployed to execute on different nodes in a distributed environment. It describes the component structuring criteria for designing components that can be deployed to execute in a distributed configuration. The design of component interfaces is described, with component ports that have provided and required interfaces and connectors that join compatible ports.
Components are initially designed using the subsystem structuring criteria described in Chapter 10. Additional component configuration criteria are used to ensure that components are configurable, in other words that they can be effectively deployed to distributed physical nodes in a distributed environment. Architectural structure and communication patterns described previously in Chapter 11 are also used in the design of component-based software architectures.
Components can be effectively modeled in UML with structured classes and depicted on composite structure diagrams. Structured classes have ports with provided and required interfaces. Structured classes can be interconnected through their ports via connectors that join the ports of communicating classes. Chapter 2, Section 2.10 and Chapter 10, Section 10.2.1 introduce the UML notation for composite structure diagrams. This chapter describes in detail how component-based software architectures are designed.
Section 12.1 describes concepts for distributed component-based software architectures. Section 12.2 describes the steps in designing distributed component-based software architectures. Section 12.3 describes how component interfaces are designed with provided and required interfaces. Section 12.4 describes the concepts and design of composite subsystems and components. Section 12.5 describes some examples of distributed component-based software architectures. Section 12.6 describes component structuring criteria for structuring a software architecture into configurable distributed components. Section 12.7 describes the design of sequential and concurrent service subsystems. Section 12.8 describes issues in the distribution of data in distributed systems. Section 12.9 describes component deployment to a distributed configuration. Finally, Section 12.10 describes the design of software connectors.
CONCEPTS FOR COMPONENT-BASED SOFTWARE ARCHITECTURES
A component integrates the concepts of encapsulation and concurrency. An important goal of a component-based software architecture is to provide a concurrent message-based design that is highly configurable.
- Type
- Chapter
- Information
- Real-Time Software Design for Embedded Systems , pp. 211 - 232Publisher: Cambridge University PressPrint publication year: 2016