This thesis presents a formal analysis framework for the development of real-time embedded software. In our framework, the application software and the real-time platform, i.e. real-time operating system, are formally and individually defined in thei...
This thesis presents a formal analysis framework for the development of real-time embedded software. In our framework, the application software and the real-time platform, i.e. real-time operating system, are formally and individually defined in their appropriate specification language. For the analysis, behavioral models for the embedded software components are analyzed independently in respect of their own characteristics, and then they are composed into one execution system to analyze their composite behavior in their interaction.
The real-time embedded software often consists of application software and platform software, i.e. real-time operating system. The two embedded software components continuously interact with one another to achieve the purpose of the system; the application software calls a real-time operating system for system services, and the real-time operating system manages each process of application software to fairly share a limit resource. Thus, they are heterogeneous in a sense that application software is oriented to data-flow for the user's functionalities, whereas the platform is oriented to control-flow for control of software's executions. Hence, it is not easy to represent those capabilities in one behavioral model to analyze their composite behaviors.
For the modeling of application software and platform, we propose here the use of Statecharts and its extension, named TRoS (Timed and Resource-oriented Statecharts), to formally specify respectively a functional behavior and a timed and resource-constrained behavior of application software, in particular, the use of ACSR (Algebra of Communicating and Shared Resources) to formally specify a controlling behavior of real-time operating system. TRoS we formally define here is an extension of Statecharts in terms of time and resource constraints for real-time embedded system. It has the capability to be extended from Statecharts only by annotation rules we define here. For analyzing the composite behavior of the two embedded software components, we present formal definition of composite behavior of application software and platform simulating their interactive behaviors. In particular, only the interaction behavior of TRoS is extracted from TRoS and abstracted into application software behavior model of ACSR, and the ACSR model is composed with ACSR model of platform, to prove the correctness and consistency of their interactive behaviors.
Using our analysis framework, 1) the standard platform, such as ARINC 653 and OSEK, can be formalized into a formal specification in terms of a controlling behavior for application software, 2) application software behavior in Statecharts can be transformed into TRoS to represent a timed and resource-constrained functional behavior of the software, and 3) the timed and resource-constrained behavior of application software and the controlling behavior of platform software, i.e, real-time operating system, can be incorporated into a behavior system to analyze the correctness and consistency of their parallel behavior in their interaction.
In this thesis, we apply our framework to the development of avionics embedded application software to run on a standard real-time platform, ARINC 653, to illustrate our approach to the analysis of real-time embedded software. Moreover, our approach using TRoS and ACSR is shown to be feasible, being applied to MDA (Model-Driven Architecture) which emphasizes model transformation and analysis from high-level abstraction and low-level abstraction of embedded software.