Call for Papers
About the Journal
Editorial Board
Publication Ethics
Instructions for Authors
Current Issue
Back Issues
Search for Articles

JCSE, vol. 2, no. 4, pp.375-393, December, 2008


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:   175 Downloads, 3423 View

ⓒ Copyright 2010 KIISE – All Rights Reserved.    
Korean Institute of Information Scientists and Engineers (KIISE)   #401 Meorijae Bldg., 984-1 Bangbae 3-dong, Seo-cho-gu, Seoul 137-849, Korea
Phone: +82-2-588-9240    Fax: +82-2-521-1352    Homepage:    Email: