Practical and Verifiable C++ Dynamic Cast for Hard Real-Time Systems
Author(s) -
Damian Dechev,
Rabi Mahapatra,
Bjarne Stroustrup
Publication year - 2008
Publication title -
journal of computing science and engineering
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.172
H-Index - 16
eISSN - 2093-8020
pISSN - 1976-4677
DOI - 10.5626/jcse.2008.2.4.375
Subject(s) - computer science , heuristics , flexibility (engineering) , reachability , process (computing) , distributed computing , software engineering , operating system , algorithm , statistics , mathematics
The dynamic cast operation allows flexibility in the design and use of data management facilities in object-oriented programs. Dynamic cast has an important role in the implementation of the Data Management Services (DMS) of the Mission Data System Project (MDS), the Jet Propulsion Laboratory’s experimental work for providing a state-based and goal-oriented unified architecture for testing and development of mission software. DMS is responsible for the storage and transport of control and scientific data in a remote autonomous spacecraft. Like similar operators in other languages, the C++ dynamic cast operator does not provide the timing guarantees needed for hard real-time embedded systems. In a recent study, Gibbs and Stroustrup (G&S) devised a dynamic cast implementation strategy that guarantees fast constant-time performance. This paper presents the definition and application of a cosimulation framework to formally verify and evaluate the G&S fast dynamic casting scheme and its applicability in the Mission Data System DMS application. We describe the systematic process of model-based simulation and analysis that has led to performance improvement of the G&S algorithm’s heuristics by about a factor of 2. In this work we introduce and apply a library for extracting semantic information from C++ source code that helps us deliver a practical and verifiable implementation of the fast dynamic casting algorithm.
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom