ГЕНЕРАТОР ИСХОДНОГО КОДА ДЛЯ РАЗРАБОТКИ И ТЕСТИРОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ МНОГОПРОЦЕССОРНЫХ СРЕД

1. Машинно-реализованный способ для программирования неоднородной многопроцессорной вычислительной системы для выполнения множества программных модулей, при этом каждый программный модуль должен быть выполнен на одном из процессоров, система содержит множество процессоров из двух или более различных типов процессоров, причем способ содержит:
(a) выполнение машинно-реализованной офлайновой обработки с использованием множества инструментальных средств SBT из набора инструментальных средств построения плана (SBT), причем:
множество инструментальных средств SBT содержит:
(i) средство построения плана, которое выбирает поднабор из одного или более различных решений плана на основании первого набора сценариев использования; и
(ii) генератор исходного кода (SCG), который генерирует программное обеспечение планирования для выбранного решения плана, при этом программное обеспечение планирования должно быть выполнено на одном или нескольких процессорах; и
(b) выполнение машинно-реализованной онлайновой обработки с использованием данных реального времени для тестирования программного обеспечения планирования и выбранного решения плана, при этом:
SCG встраивает информацию планирования для выбранного решения плана в программное обеспечение планирования для первого процессора так, что информация планирования компилируется с программным обеспечением планирования.
2. Изобретение по п.1, в котором программное обеспечение планирования дает возможность онлайновой обработке изменять временную привязку исполнения задачи и передачи данных одним или более процессорами.
3. Изобретение по п.1, в котором информация планирования содержит идентификацию набора зависимых задач для первой задачи, осуществляемой первым процессором так, что программное обеспечение планирования компилируется на основании набора зависимых задач для первой задачи.
4. Изобретение по п.1, в котором информация планирования содержит идентификацию максимального набора задач, которые могут быть отсрочены в первом процессоре, так что программное обеспечение планирования компилируется на основании максимального набора задач.
5. Изобретение по п.4, в котором информация планирования дополнительно содержит идентификацию набора зависимых задач для первой задачи, осуществляемой первым процессором, так что программное обеспечение планирования компилируется на основании набора зависимых задач для первой задачи.
6. Изобретение по п.1, в котором информация планирования содержит идентификацию максимального набора передач данных, которые могут быть задержаны в первом процессоре, так что программное обеспечение планирования компилируется на основании максимального набора передач данных.
7. Изобретение по п.6, в котором информация планирования дополнительно содержит идентификацию набора зависимых задач для первой задачи, выполняемой первым процессором, так что программное обеспечение планирования компилируется на основании набора зависимых задач для первой задачи.
8. Изобретение по п.6, в котором информация планирования дополнительно содержит идентификацию максимального набора задач, которые могут быть отсрочены в первом процессоре, так что программное обеспечение планирования компилируется на основании максимального набора задач.
9. Изобретение по п.8, в котором информация планирования дополнительно содержит идентификацию набора зависимых задач для первой задачи, осуществляемой первым процессором, так что программное обеспечение планирования компилируется на основании набора зависимых задач для первой задачи.
10. Изобретение по п.1, дополнительно содержащее, после этапа (a) и перед этапом (b), этап осуществления моделирования методом «черного ящика», чтобы тестировать программное обеспечение планирования и выбранное решение плана на втором наборе сценариев использования, более большом, чем первый набор, причем множество инструментальных средств SBT дополнительно содержит генератор кода профилирования и моделирования, который генерирует программное обеспечение для моделирования методом «черного ящика».
1
2
1
2
11. Изобретение по п.1, в котором множество процессоров содержит, по меньшей мере, N процессоров первого типа процессора и N процессоров второго типа процессора, отличающегося от первого типа процессора, при этом по меньшей мере одно из N и N больше 1.
1
2
12. Изобретение по п.11, в котором и N, и N больше 1.
13. Изобретение по п.1, в котором, по меньшей мере, часть офлайновой обработки по этапу (a) повторяется после осуществления онлайновой обработки по этапу (b), чтобы модифицировать одно или оба из программного обеспечения планирования и выбранного решения плана.
14. Изобретение по п.1, в котором этап (a) дополнительно включает в себя использование по меньшей мере одного инструментального средства SIET из набора инструментальных средств извлечения информации планирования (SIET), при этом инструментальное средство SIET содержит одно из:
(i) анализатора применимости программного модуля, который определяет, какие типы процессоров какие программные модули способны выполнять;
(ii) анализатор циклов, который определяет требования к временной привязке для каждого программного модуля, выполняющегося на каждом допустимом типе процессора;
(iii) анализатор зависимостей, который определяет зависимости по вводу и выводу данных между различными программными модулями, выполняющимися на допустимых типах процессоров; и
(iv) анализатор обмена данными, который определяет требования передачи данных между различными программными модулями, выполняющимися на допустимых типах процессоров.
15. Изобретение по п.1, в котором этап (a) дополнительно включает в себя использование по меньшей мере одного дополнительного инструментального средства SBT, при этом дополнительное инструментальное средство SBT содержит одно из:
(i) оптимизатора соединений, который сравнивает различные решения плана, соответствующие различным возможным назначениям программных модулей на процессоры; и
(ii) оптимизатора синхронизации, который разрабатывает схему синхронизации для поднабора решений плана.