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

1. Способ автономного планирования процессов, образующих задачу, соответствующую гибкой модели для многозадачной системы реального времени, причем способ содержит следующие этапы, выполняемые цепочкой инструментов для компиляции исходного кода, определяющего задачу, на которых:
a) присваивают каждому процессу потребность в аппаратном ресурсе и временное ограничение;
b) выделяют для каждого процесса временной интервал, имеющий продолжительность, соответствующую временному ограничению процесса;
c) идентифицируют точку ветвления, в которой принимается решение о выполнении одного или другого из двух альтернативных процессов;
d) выделяют для двух альтернативных процессов общий временной интервал;
e) присваивают общему временному интервалу потребность в ресурсе, соответствующую большей из потребностей в ресурсах двух альтернативных процессов;
f) повторяют этапы с этапа с) для каждой точки ветвления;
g) организуют получающиеся временные интервалы в шаблоне выполнения, связанном с задачей; и
h) получают параметры статического планирования для многозадачной системы из шаблона выполнения.
2. Способ по п. 1, в котором исходный код представляет собой задачу в виде графа, определяющего набор процессов, соединенных переходными узлами, причем каждый переходной узел определяет точку синхронизации согласно временному базису во время выполнения задачи на многозадачной системе, причем способ содержит этапы, на которых:
определяют пределы временного интервала, выделенного для каждого процесса, из исходного переходного узла и переходного узла назначения процесса;
для двух альтернативных процессов, которые имеют общий исходный узел и два соответственных целевых узла, объединяют два целевых узла в объединенный целевой узел; и
определяют временной интервал, общий для обоих альтернативных процессов, из общего исходного узла и объединенного целевого узла.
3. Способ по п. 2, содержащий для двух альтернативных процессов, имеющих на этапе с) различные временные ограничения, следующие этапы, на которых:
создают промежуточный переходной узел в первом из двух альтернативных процессов, имеющем самое длительное временное ограничение, приводящий к первому частичному альтернативному процессу между исходным узлом и промежуточным узлом и ко второму частичному процессу между промежуточным узлом и целевым узлом первого альтернативного процесса;
присваивают первому частичному альтернативному процессу первую потребность в ресурсе и временное ограничение, соответствующее временному ограничению второго альтернативного процесса;
присваивают второму частичному процессу вторую потребность в ресурсе так, что сумма первой и второй потребностей в ресурсах соответствует потребности в ресурсе первого альтернативного процесса, и временное ограничение, соответствующее разнице временных ограничений двух альтернативных процессов; и
приступают к первому частичному альтернативному процессу и второму альтернативному процессу согласно этапу d).
4. Способ выполнения планируемой задачи по п. 3, содержащий следующие этапы, выполняемые в многозадачной системе, на которых:
в каждом временном интервале проверяют с помощью сторожевого процесса, что выполнение текущего процесса соответствует потребности в ресурсе, присвоенной для временного интервала; и
исключают сигнализирование об ошибке сторожевым процессом, если выполнение текущего процесса превышает потребность в ресурсе, и текущий процесс представляет собой первый частичный альтернативный процесс.
5. Способ по п. 4, содержащий этапы, на которых:
устанавливают переменную состояния при выполнении первого частичного альтернативного процесса;
исключают сигнализирование об ошибке сторожевым процессом, если выполнение текущего процесса превышает потребность в ресурсе, и переменная состояния установлена; и
очищают переменную состояния в точке синхронизации, соответствующей объединенному целевому узлу.
6. Способ по п. 3, содержащий следующие этапы для циклического участка графа, на которых:
разделяют каждый процесс, имеющий более длительное временное ограничение в наборе частичных процессов, имеющих более короткое временное ограничение, которое является наибольшим общим делителем временных ограничений в циклическом участке, посредством чего циклический участок графа преобразуется в нормализованный подграф, определяющий последовательность полных или частичных процессов, все из которых имеют одинаковое нормализованное временное ограничение; и
распределяют потребность в ресурсе каждого процесса, имеющего более длительное временное ограничение, между соответствующими частичными процессами, посредством чего сумма потребностей в ресурсах частичных процессов соответствует потребности в ресурсе процесса, имеющего более длительное временное ограничение.
7. Способ по п. 6, содержащий этапы, на которых:
накладывают конец первого участка подграфа на начало участка подграфа так, что переходные узлы конца первого участка подграфа совпадают с соответственными узлами начала второго участка подграфа, посредством чего две последовательные пары совпадающих узлов определяют временной интервал, общий для процессов, имеющих в качестве соответственных начальных адресов два узла первой пары; и
присваивают общему временному интервалу таким образом определенную потребность в ресурсе, соответствующую наибольшим потребностям в ресурсах процессов, связанных с первой парой узлов, и временное ограничение, соответствующее нормализованному временному ограничению.