JCSE, vol. 2, no. 4, pp.375-393, December, 2008
DOI:
Practical and Verifiable C++ Dynamic Cast for Hard Real-Time Systems
Damian Dechev, Rabi Mahapatra, Bjarne Stroustrup Texas A&M University, College Station, Texas 77843, USA
Abstract: The dynamic cast operation allows flexibility in the design and use of data managementfacilities in object-oriented programs. Dynamic cast has an important role in the implementa-tion of the Data Management Services (DMS) of the Mission Data System Project (MDS), theJet Propulsion Laboratory’s experimental work for providing a state-based and goal-orientedunified architecture for testing and development of mission software. DMS is responsible for thestorage and transport of control and scientific data in a remote autonomous spacecraft. Likesimilar operators in other languages, the C++ dynamic cast operator does not provide thetiming guarantees needed for hard real-time embedded systems. In a recent study, Gibbs andStroustrup (G&S) devised a dynamic cast implementation strategy that guarantees fastconstant-time performance. This paper presents the definition and application of a co-simulation framework to formally verify and evaluate the G&S fast dynamic casting schemeand its applicability in the Mission Data System DMS application. We describe the systematicprocess of model-based simulation and analysis that has led to performance improvement of theG&S algorithm’s heuristics by about a factor of 2. In this work we introduce and apply a libraryfor extracting semantic information from C++ source code that helps us deliver a practical and
Keyword:
No keyword
Full Paper: 209 Downloads, 4047 View
|