Modeling and Analyzing Real-Time Embedded Software
for a Data Collection System
Synara Rosa Gomes dos Santos, Melis Mendes Silva, Juliana Cristina Ribeiro da Silva
Luiz Alberto Vieira Dias, Adilson Marques da Cunha
Brazilian Aeronautics Institute of Technology
Abstract
This paper tackles real time embedded software model
and analysis. It is applied in the hydrometeorological
area of data collection systems. It was developed using
the Unified Modeling Language for Real Time, by
applying Rational Rose Real Time tools. At the end of this
process, source-codes in C++ were produced to be
embedded in a microprocessor, using QNX real-time
operating system.
Key Words: Modeling Real-Time Embedded
Systems, RUP, UML, Rational Rose Real Time tools,
Data Collection System.
1. Introduction
The main difficulties in developing quality software
are requirements specification and conceptual design [1].
Within this context system modeling has an important
role, mainly because it makes possible project analysis
and validation before implementation.
Within real-time embedded systems, software
modeling may be considered an important part of a
solution dealing with complexity in system’s developing
processes. It provides flexibility in the development,
better product quality, ease of maintenance, upgrading
possibility, project expansion, and reuse of program
components [2].
This paper tackles software development for
embedded real-time hydrometeorological applications.
Unified Modeling Language (UML) diagrams are used in
a Data Collection System case study. This system
provides the primary functions for: hydrometeorological
and operational data acquisition; logging; and task
management.
2. Software Methods and Tools
Methods for developing embedded systems include a
methodology for soft real-time systems integrated with a
real-time operating system. It follows the Rational
Unified Process (RUP) [4] for software engineering
development.
The system was developed using the Unified
Modeling Language for Real Time (UML-RT), by
applying Rational Rose Real Time (RRRT) tools. At the
end of this process, source-codes in C++ were produced
to be embedded in a microprocessor, using QNX real-
time operating system [3].
2.1 UML extensions for modeling Real Time
Systems
The UML is a modeling language-oriented paradigm
of object-oriented programming [5]. Its use provides a
visual language for modeling, design, and documentation
of common artifacts in complex systems software [6], to
better understand systems and to simplify the reuse of
models and source-codes.
While it has not been specifically developed to model
real-time systems, some traditional concepts of object
orientation, as classes and packages have been improved
from the traditional UML for Real Time in UML-RT to
reflect specific techniques for implementing encryption.
Within this context, three main structures to help real-
time modeling can be cited: capsules, ports, and
connectors.
• Capsules or active classes - represents modules of
the architecture, whose only points of interaction
with other modules are called ports.
• Ports – represents interaction points of a class or
interface that specifies operations and signals,
called protocols, offered by a class, allowing
communication with the external environment.
• Connectors - specifies a link that enables
communication between two or more entities.
Rational Rose Real Time (RRRT) is a CASE
(Computer Aided Software Engineering) tool used to
model software systems based upon UML. CASE is a set
of integrated tools designed to assist in the development
life cycle of software products.
Schulmeyer [7] lists some advantages in using CASE
tools among which are: cost benefits, reduced reworks,
automatic support for users, tailored processes, better
management, and improved product performance.
The RRRT allows the modeling of software systems
by using UML as a modeling language and provides
2011 Eighth International Conference on Information Technology: New Generations
978-0-7695-4367-3/11 $26.00 © 2011 IEEE
DOI 10.1109/ITNG.2011.129
731