Skip to main content Accessibility help
×
Hostname: page-component-586b7cd67f-dlnhk Total loading time: 0 Render date: 2024-12-01T04:28:41.058Z Has data issue: false hasContentIssue false

3 - Real-Time Software Design and Architecture Concepts

from Part I - Overview

Published online by Cambridge University Press:  05 March 2016

Hassan Gomaa
Affiliation:
George Mason University, Virginia
Get access

Summary

This chapter describes key concepts in the software design of concurrent object-oriented real-time embedded systems as well as important concepts for developing the architecture of these systems. First, object-oriented concepts are introduced, with the description of objects and classes, as well as a discussion of the role of information hiding in object-oriented design and an introduction to the concept of inheritance. Next, the concurrent processing concept is introduced and the issues of communication and synchronization between concurrent tasks are described. These design concepts are building blocks in designing the software architecture of a real-time embedded system: the overall structure of the system, its decomposition into components, and the interfaces between these components.

Section 3.1 provides an overview of object-oriented concepts. Section 3.2 describes information hiding and how it is used in software design. Section 3.3 describes inheritance and generalization/specialization relationships. Section 3.4 describes active and passive objects, while Section 3.5 provides an overview of concurrent processing. Section 3.6 describes cooperation between concurrent tasks, including mutual exclusion, task synchronization, and the producer/consumer problem. Section 3.7 describes how information hiding is applied to access synchronization. Section 3.8 provides an overview of runtime support for concurrent processing, while Section 3.9 describes task scheduling. Finally, Section 3.10 provides an overview of software architecture and the concepts of components and connectors.

OBJECT-ORIENTED CONCEPTS

An object is a real-world physical or conceptual entity that provides an understanding of the real world and hence forms the basis for a software solution. A real-world object can have physical properties (they can be seen or touched); examples are a door, motor, or lamp. A conceptual object is a more abstract concept, such as an account or transaction.

From a design perspective, an object packages both data and procedures that operate on the data. The procedures are usually called operations or methods. Some approaches, including the UML notation, refer to the operation as the specification of a function performed by an object and the method as the implementation of the function (Rumbaugh, Booch, and Jacobson 2005). In this book, we will use the term operation to refer to both the specification and the implementation, in common with Gamma et. al. (1995), Meyer (2000), and others.

Type
Chapter
Information
Publisher: Cambridge University Press
Print publication year: 2016

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

Save book to Kindle

To save this book to your Kindle, first ensure [email protected] is added to your Approved Personal Document E-mail List under your Personal Document Settings on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part of your Kindle email address below. Find out more about saving to your Kindle.

Note you can select to save to either the @free.kindle.com or @kindle.com variations. ‘@free.kindle.com’ emails are free but can only be saved to your device when it is connected to wi-fi. ‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.

Find out more about the Kindle Personal Document Service.

Available formats
×

Save book to Dropbox

To save content items to your account, please confirm that you agree to abide by our usage policies. If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account. Find out more about saving content to Dropbox.

Available formats
×

Save book to Google Drive

To save content items to your account, please confirm that you agree to abide by our usage policies. If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account. Find out more about saving content to Google Drive.

Available formats
×