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