Integrated Timing Analysis and Verification of Component-based Distributed Real-time Systems
Kumar, Pranav Srinivas
Distributed real-time embedded systems that address safety and mission-critical system requirements are applied in a variety of heterogeneous domains today e.g. avionics, automotive systems, locomotives, and industrial control systems. The volume and complexity of such software grows everyday depending on an assortment of factors, including challenging system requirements e.g. resilience to hardware and software faults, remote deployment and repair. To mitigate the software complexity in such systems, model-driven component-based software engineering and development has become an accepted practice. Integrating appropriate modeling and analysis techniques into the design of such systems helps ensure predictable, dependable and safe operation upon deployment. The research presented in this dissertation has lead to the development of a methodology to model and analyze the temporal behavior of such distributed component-based applications in order to verify system-level timing properties such as worst-case response times, lack of deadline violations etc. Our approach relies on formalizing the structure and behavior of component-based applications using Colored Petri Nets (CPN) i.e. modeling the component assembly, operation scheduling, thread execution etc. and analyzing the temporal behavior of the overall system using simulation, state space analysis and model checking techniques. To bridge the gap between the system model and the analysis model, we have developed a modeling language to describe the business logic of component operations. Using the overall system model and the per-operation business logic models, a CPN timing analysis model is fully generated for analysis. The generality of the modeling principles used show the applicability of this method to a wide range of similar systems. We have also developed methods to structurally reduce our CPN and improve the scalability and performance of analysis to work for medium-to-large scale systems. Lastly, the results obtained from CPN analysis have been validated by executing experimental component assemblies on a cyber-physical systems testbed, a 32 Beaglebone Black cluster. Results show that the worst-case response times of component operations calculated by the CPN analysis are close, conservative estimates of the real-world execution.