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
8 - Object and Class Structuring for Real-Time Embedded Software
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
After structural modeling and defining the use case and state machine models, the next step is to determine the software classes and objects in the real-time embedded system. Using a model-based approach, the emphasis is on software objects that model real-world objects in the problem domain. Furthermore, since concurrency is so fundamental to real-time software design, an important issue that is addressed at this stage is whether the objects are concurrent or not. Another key issue described in this chapter is the behavior pattern of each category of object.
This chapter provides guidelines, in particular structuring criteria, on how to determine the classes and objects in the system. As with system structural modeling (see Chapter 5), software classes and objects are categorized by using stereotypes. Section 8.1 gives an overview of object and class structuring while Section 8.2 describes object and class structuring categories. Section 8.3 describes object behavior and patterns. Section 8.4 describes the different kinds of boundary classes and objects. Section 8.5 describes entity classes and objects, which were first introduced in Chapter 5. Section 8.6 describes the different kinds of control classes and objects. Section 8.7 describes application logic classes and objects.
OBJECT AND CLASS STRUCTURING CRITERIA
In software applications, a class is categorized by the role it plays in the application. Object and class structuring criteria are provided to assist the designer in structuring a system into its constituent classes and objects. The approach used for identifying objects is to look for real-world objects in the problem domain and then design corresponding software objects that model the real world. After the objects have been identified, the interactions among objects are depicted in the dynamic model on sequence diagrams or communication diagrams, as described in Chapter 9.
Classes are categorized in order to group together classes with similar characteristics. Figure 8.1 shows the categorization of application classes using inheritance. As described in Chapter 5, stereotypes (See Sections 5.2 and 5.6) are used to distinguish among the various kinds of classes. Application classes are categorized according to their role in the application, in particular «boundary» class, «entity» class, «control» class, or «application logic» class. Because an object is an instance of a class, an object has the same stereotype as the class from which it is instantiated.
- Type
- Chapter
- Information
- Real-Time Software Design for Embedded Systems , pp. 126 - 142Publisher: Cambridge University PressPrint publication year: 2016