The design of real-time embedded systems is a complex task because these systems include hardware and software components that must be normally highly optimized for the application.
In the past, hardware configuration dominated the implementa- tion of these systems. Nowadays, a large part of embedded real- time systems are implemented as mixed configurations (hardware + software), where the software components have become key for a successful system.
The dominance of software in real-time embedded systems design has created more interest in methodologies, such as the Unified Modeling Language (UML). Nevertheless, there are still gaps that should be tackled by new methodologies.
This paper introduces the Object-Oriented Platform-Based Design Process for Embedded Real-Time Systems, or simply SEEP (project acronym in Portuguese), which proposes a new method to design real-time embedded systems. This project deals with all development phases, including modeling, analysis, validation, and synthesis tools to support the development of optimized real-time embedded systems.
The approach is based on the reuse of hardware and software components and on the configuration of FPGA-based architectural platforms. The SEEP approach aims at a smooth transition from object- oriented models specified with RT-UML to implementation.
The transition from higher to lower abstraction levels is facilitated by the use of a real-time Java API whose underlying facilities are customizable and optimized according to the appli- cation requirements and available platforms. This API includes high-level real-time constructs and therefore avoids the use of low-level system calls to implement the specified temporal behavior. Furthermore, using the provided API it is possible to design concurrent real-time Java applications and synthesize them into a dedicated Java processor.
The proposed approach promotes a smooth transition from high-level UML specification to implementation, which is composed by hardware and software components. The transition from higher to lower abstraction levels is facilitated by the use of an OO real- time API, whose underlying facilities can be optimized according to the application needs and selected platform. An integrated toolset is used to support the intermediate steps of the design process.
In order to more clearly express the timing and other con straints in the source code of the real-time embedded application, an API based on the Real-Time Specification for Java (RTSJ) was developed. This specification introduces the concept of schedulable objects, which are instances of classes that implement the Schedulable interface, such as the RealtimeThread. It also specifies a set of classes to store parameters that represent a particular resource demand from one or more schedulable objects. Moreover, it supports the expression of the following elements: absolute and relative time values, timers, periodic and aperiodic tasks, and scheduling policies.
The design process starts with the construction of a high-level object modeling using RT-UML. Diagrams used in the model are: Use Cases, Collaboration, and Class Diagrams. When applied to classes, the RT-UML stereotypes correspond to Java classes that may extend classes from a RTSJ-based API, can be mapped to RealtimeThread.
To read this external content in full, download the complete paper from the authors on line archive.