首页 /研究 /Semantically Enhanced Containers for Concurrent Real-Time Systems
OTHER

Semantically Enhanced Containers for Concurrent Real-Time Systems

Damian Dechev, Peter Pirkelbauer, Nicolas Rouquette, Bjarne Stroustrup

发表年份
2009
引用次数
2

摘要

Future space missions, such as Mars Science Laboratory, are built upon computing platforms providing a high degree of autonomy and diverse functionality. The increased sophistication of robotic spacecraft has skyrocketed the complexity and cost of its software development and validation. The engineering of autonomous spacecraft software relies on the availability and application of advanced methods and tools that deliver safe concurrent synchronization as well as enable the validation of domain-specific semantic invariants. The software design and certification methodologies applied at NASA do not reach the level of detail of providing guidelines for the development of reliable concurrent software. To achieve effective and safe concurrent interactions as well as guarantee critical domain-specific properties in code, we introduce the notion of a Semantically Enhanced Container (SEC). A SEC is a data structure engineered to deliver the flexibility and usability of the popular ISO C++ Standard Template Library containers, while at the same time it is hand-crafted to guarantee domain-specific policies. We demonstrate the SEC proof-of-concept by presenting a shared nonblocking SEC vector. To eliminate the hazards of the ABA problem (a fundamental problem in lock-free programming), we introduce an innovative library for querying C++ semantic information. Our SEC design aims at providing an effective model for shared data access within the JPL's Mission Data System. Our test results show that the SEC vector delivers significant performance gains (a factor of 3 or more) in contrast to the application of nonblocking synchronization amended with the traditional ABA avoidance scheme.

关键词

Computer scienceSynchronization (alternating current)Software engineeringDomain (mathematical analysis)SoftwareDistributed computingFlexibility (engineering)ConcurrencySpacecraftProgramming language

相关论文

查看 OTHER 分类全部论文