{'fraction_non_alphanumeric': 0.015916575192096598, 'fraction_numerical': 0.0, 'mean_word_length': 5.557553956834532, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A component based, event driven framework for rapid prototyping real-time avionics systems

Rapid prototyping facilities are called upon to design and implement prototype systems for research and development projects with very short schedules and with very tight budgets. These prototype systems involve the development of real-time embedded software that integrates a variety of COTS hardware modules with aircraft avionics subsystems. It is desirable to leverage software developed from previous systems as often as possible to shorten the development cycle and to reduce cost. In the past, new software components as well as software components from previous projects were pieced together, perhaps with vendor supplied software to meet project requirements. Mixing these components called for the software developer to make substantial modifications in order to interface the pieces correctly. Employing an object-oriented design approach helps encapsulate component functionality; however, it does not solve the problem entirely. Components developed for one particular platform are often hard-coded to operating system services such as thread control and shared-memory primitives. As the process of re-hosting is repeated, slightly different variants of these software components often emerge. The result is a collection of components that have been fine-tuned for a specific application. To avoid this problem, it is desirable to impose a certain measure of structure on software developers to facilitate rapid software development and software reuse without sacrificing real-time performance. To achieve this goal, an application framework that addresses the issues of hardware migration, operating system migration and software component reuse has been designed. This paper discusses the details of this framework.