ДЕКЛАРАТИВНАЯ МОДЕЛЬ ДЛЯ УПРАВЛЕНИЯ ПАРАЛЛЕЛЬНЫМ ВЫПОЛНЕНИЕМ ЛЕГКОВЕСНЫХ ПОТОКОВ ИСПОЛНЕНИЯ

1. Система (400) для осуществления синхронизации потоков исполнения в поточной схеме, причем указанная система (400) содержит:
область (404) памяти для сохранения множества рабочих пунктов (422) в очереди (410) планировщика, причем указанный один или несколько из множества рабочих пунктов (422) организованы в виде иерархии (500) в активности (406) и ассоциированы с активностью (406) в поточной схеме, при этом каждый из рабочих пунктов (422) ассоциирован с потоком исполнения;
процессор (402), выполненный с возможностью исполнения исполняемых компьютером инструкций для:
назначения обработки (718) синхронизации каждому из рабочих пунктов (422) в очереди (410) планировщика, причем указанная обработка (718) синхронизации указывает на конкретный разделенный ресурс, к которому получает доступ рабочий пункт (422), причем указанный конкретный разделенный ресурс делится между одним или несколькими рабочими пунктами (422);
для каждого из рабочих пунктов (422) вычисляют значение маркера, исходя из назначенной обработки (718) синхронизации, и положение рабочего пункта в иерархии (500) в активности (406);
сортируют рабочие пункты в очереди (712) синхронизации, исходя из вычисленного значения маркера, ассоциированного с каждым из рабочих пунктов (422); и
последовательно исполняют каждый из отсортированных рабочих пунктов (422) в очереди (712) синхронизации для организации доступа к конкретному разделенному ресурсу и осуществления синхронного исполнения потоков исполнения, ассоциированных с рабочими пунктами (422).
2. Система (400) по п.1, в которой процессор (402) дополнительно выполнен с возможностью декларативного определения назначенной обработки (718) синхронизации для каждого из рабочих пунктов (422) путем обозначения свойств обработки (718) синхронизации для каждого из рабочих пунктов (422).
3. Система (400) по п.1, в которой назначенная обработка (718) синхронизации каждого из рабочих пунктов (422) определяет область потока исполнения, ассоциированного с каждым из рабочих пунктов (422).
4. Система (400) по п.1, в которой иерархия (500) в активности (406) представляет собой структуру дерева, в которой процессор (402) выполнен с возможностью исполнения исполняемых компьютером инструкций для сортировки рабочих пунктов (422), исходя из их положения в структуре дерева.
5. Система (400) по п.1, в которой процессор (402) дополнительно выполнен с возможностью пассивирования очереди (712) синхронизации, сохраняя рабочие пункты (422) и ассоциированные значения маркера в устройстве (420) хранения данных.
6. Система (400) по п.1, в которой процессор (402) выполнен с возможностью исполнения рабочих пунктов (422) путем перевода рабочих пунктов (422) в состояние исполнения (604) согласно конечному автомату (600), ассоциированному с обработкой поточной схемы.
7. Способ синхронизированного исполнения активностей в поточной схеме, получающих доступ к конкретному разделенному ресурсу, причем указанный способ содержит:
создание очереди из множества рабочих пунктов (422) для исполнения, причем указанный один или несколько из множества рабочих пунктов организованы в последовательность в активности (406) и ассоциированы с активностью (406) в поточной схеме, при этом каждый из указанных рабочих пунктов (422) представляет собой поток исполнения;
назначение обработки (718) синхронизации каждому из множества рабочих пунктов (422), причем указанная обработка (718) синхронизации указывает на конкретный разделенный ресурс, к которому получает доступ множество рабочих пунктов (422), при этом указанный конкретный разделенный ресурс разделен между одним или несколькими рабочими пунктами (422);
для каждого из рабочих пунктов (422) вычисляют значение маркера, исходя из назначенной обработки (718) синхронизации, и положение рабочих пунктов в последовательности в активности (406);
сортируют рабочие пункты (422) в очереди (712) синхронизации, исходя из вычисленного значения маркера, ассоциированного с каждым из рабочих пунктов (422); и
последовательно исполняют каждый из отсортированных рабочих пунктов (422) в очереди (712) синхронизации для организации доступа к конкретному разделенному ресурсу и осуществления синхронного исполнения потоков исполнения, ассоциированных с рабочими пунктами (422).
8. Способ по п.7, дополнительно содержащий декларативное определение назначенной обработки (718) синхронизации для каждого из рабочих пунктов путем обозначения свойств обработки (718) синхронизации для каждого из рабочих пунктов (422).
9. Способ по п.7, в котором назначение обработки (718) синхронизации содержит назначение маркера последовательности.
10. Способ по п.7, в котором назначение обработки (718) синхронизации содержит определение области потока исполнения, ассоциированного с каждым из рабочих пунктов (422).
11. Способ по п.7, в котором последовательность в активности (406) соответствует последовательности для прохождения по структуре (500) дерева, и в котором сортировка содержит расположение рабочих пунктов (422), исходя из их положения в структуре дерева.
12. Способ по п.7, дополнительно содержащий пассивирование очереди (712) синхронизации с рабочими пунктами (422) и ассоциированными значениями маркера в устройстве хранения данных (420).
13. Способ по п.7, в котором исполнение содержит исполнение рабочих пунктов путем перевода их в состояние исполнения согласно конечному автомату, ассоциированному с обработкой поточной схемы.
14. Способ по п.7, в котором одна или несколько читаемых компьютером сред имеют исполняемые компьютером инструкции для выполнения способа по п.1.
15. Одна или несколько читаемых компьютером сред (900), имеющих исполняемые компьютером компоненты для синхронного исполнения активности, причем указанные исполняемые компьютером компоненты содержат:
компонент (902) хранения для хранения множества рабочих пунктов (422) в очереди (410), причем один или несколько из указанного множества рабочих пунктов (422) ассоциированы с активностью (406) в поточной схеме, при этом один или несколько из указанного множества рабочих пунктов (422) организованы в структуру (500) дерева в активности (406), причем каждый из указанных рабочих пунктов (422) ассоциирован с потоком исполнения;
компонент (904) синхронизации для назначения обработки (718) синхронизации для каждого из множества рабочих пунктов (422) в очереди (410), причем указанная обработка (718) синхронизации указывает на конкретный разделенный ресурс, к которому получает доступ множество рабочих пунктов (422), причем указанный конкретный разделенный ресурс разделен между одним или несколькими рабочими пунктами (422);
компонент (906) маркера для вычисления значения маркера для каждого из рабочих пунктов (422), исходя из назначенной обработки (718) синхронизации и положения рабочих пунктов (422) в структуре дерева (500) в активности (406);
компонент (908) сортировки для сортировки рабочих пунктов (422) в очереди (712) синхронизации, исходя из значения маркера, ассоциированного с каждым из рабочих пунктов (422); и
компонент исполнения (910) для исполнения каждого из отсортированных рабочих пунктов (422) в очереди (712) синхронизации для организации доступа к конкретному разделенному ресурсу и осуществления синхронного исполнения потока исполнения, ассоциированного с поточной схемой.
16. Читаемая компьютером среда (900) по п.15, дополнительно содержащая компонент (914) определения для декларативного определения назначенной обработки (718) синхронизации для каждого из рабочих пунктов (422) путем обозначения свойств обработки синхронизации для каждого из рабочих пунктов (422).
17. Читаемая компьютером среда (900) по п.15, в которой компонент (904) синхронизации содержит определение области потока исполнения, ассоциированного с каждым из рабочих пунктов (422).
18. Читаемая компьютером среда (900) по п.15, дополнительно содержащая компонент (912) пассивирования для пассивирования очереди (712) синхронизации с рабочими пунктами (422) и ассоциированными значениями маркера в устройстве хранения данных (420).
19. Читаемая компьютером среда (900) по п.18, в которой компонент (912) пассивирования хранит очередь синхронизации (712) с рабочими пунктами (422), ассоциированным маркером и состоянием исполнения в устройстве хранения данных (420).
20. Читаемая компьютером среда (900) по п.15, в которой компонент (910) исполнения содержит исполнение рабочих пунктов (422) путем перевода их в состояние исполнения (604) согласно конечному автомату (600), ассоциированному с обработкой поточной схемы.