ИНФРАСТРУКТУРА ДЛЯ МОДЕЛИРОВАНИЯ ПРОДОЛЖЕНИЙ В РАБОЧИХ ПРОЦЕССАХ

1. Способ предоставления возможности создания шаблонов потока управления в рабочем процессе, при этом способ содержит этапы, на которых:
генерируют множество продолжений для одного или более фрагментов программы во время выполнения фрагментов программы с помощью обработчика метасреды выполнения, при этом упомянутый обработчик метасреды выполнения виртуализирует контролируемую среду выполнения, которая имеет фиксированные функциональные возможности, каждое из сгенерированного множества продолжений представляет контекст выполнения операции;
сохраняют сгенерированное множество продолжений для создания журнала выполнения для фрагментов программы;
выбирают одно из сохраненных продолжений из журнала выполнения и извлекают выбранное продолжение в ответ на запрос от пользователя;
повторно создают контекст выполнения операции, связанный с извлеченным продолжением; и
выполняют в пределах повторно созданного контекста выполнения операции фрагменты программы, связанные с извлеченным продолжением.
2. Способ по п.1, в котором этап генерирования множества продолжений заключается в том, что фиксируют состояние среды выполнения, связанного с обработчиком метасреды выполнения, и фиксируют состояние приложения, связанного с фрагментами программы.
3. Способ по п.1, дополнительно содержащий этапы, на которых:
предоставляют пользователю возможность просматривать журнал выполнения и
принимают от пользователя выбор одного из сохраненных продолжений из журнала выполнения.
4. Способ по п.1, дополнительно содержащий этап, на котором предоставляют пользователю возможность просмотра журнала выполнения через прикладной программный интерфейс, представленный автором операции.
5. Способ по п.1, в котором этап сохранения сгенерированного множества продолжений заключается в том, что сохраняют сгенерированное множество продолжений согласно порядку выполнения операций, связанных с фрагментами программы.
6. Способ по п.1, дополнительно содержащий этап, на котором предоставляют пользователю возможность искать в журнале выполнения продолжения, которые выполняются.
7. Способ по п.1, дополнительно содержащий этап, на котором предоставляют возможность пользователю искать в журнале выполнения продолжения, которые не выполняются.
8. Способ по п.1, дополнительно содержащий этап, на котором предоставляют возможность пользователю сортировать журнал выполнения.
9. Способ по п.1, дополнительно содержащий этап, на котором продолжают выбранное продолжение через пассивацию.
10. Способ по п.1, дополнительно содержащий этап, на котором определяют границы данных для продолжений.
11. Способ по п.10, в котором этап определения границы данных заключается в том, что определяют размер, привязку и видимость переменных.
12. Способ по п.1, в котором этап генерирования множества продолжений заключается в том, что генерируют множество продолжений в ответ на запрос от операции, связанной с одним или более фрагментами программы.
13. Способ по п.1, в котором на одном или более машиночитаемых носителей находятся выполняемые компьютером команды для выполнения способа по п.1.
14. Система для моделирования продолжений в рабочих процессах, при этом система содержит:
область памяти для хранения журнала выполнения, который представляет множество продолжений, связанных с фрагментами программы, выполняемыми машиной выполнения, каждый из множества продолжений представляет контекст выполнения операции; и
процессор, выполненный с возможностью осуществления выполняемых компьютером команд для:
генерирования множества продолжений для фрагментов программы во время выполнения фрагментов программы;
сохранения множества сгенерированных продолжений в области памяти;
обеспечения интерфейса к журналу выполнения в области памяти;
извлечения конкретного продолжения из журнала выполнения в области памяти в ответ на запрос конкретного продолжения, принятый через обеспеченный интерфейс;
повторного создания контекста выполнения операции, связанного с извлеченным продолжением; и
выполнения в пределах повторно созданного контекста выполнения операции фрагментов программы, связанных с извлеченным продолжением.
15. Система по п.14, в которой каждое из множеств продолжений представляет состояние выполнения одного из фрагментов программы.
16. Система по п.14, в которой пользователь заключается в одном или более из следующего:
человек, прикладная программа и операционная система.
17. Система по п.14, дополнительно содержащая средство для управления сгенерированным множеством продолжений.
18. Один или более машиночитаемых носителей, имеющих выполняемые компьютером компоненты, при этом компоненты содержат:
компонент машины выполнения для выполнения множества фрагментов программы, связанных с рабочим процессом, указанный компонент машины выполнения виртуализирует контролируемую среду выполнения, которая имеет фиксированные функциональные возможности;
компонент состояний для генерации множества продолжений для фрагментов программы, выполняемых компонентом машины выполнения, каждое из указанного множества продолжений включает в себя состояние среды выполнения и состояние приложения, указанное состояние среды выполнения указывает состояние очереди планировщика, указанное состояние приложения указывает состояние операции;
компонент памяти для упорядочивания продолжений и
компонент повторного выполнения для повторного создания в ответ на запрос от пользователя состояния среды выполнения и состояния приложения, связанных с одним или более продолжений, упорядоченных с помощью компонента памяти, и для выполнения в пределах повторно созданного состояния среды выполнения и состояния приложения фрагментов программы, связанных с одним или более продолжениями.
19. Машиночитаемый носитель по п.18, в котором каждое из сгенерированного множества продолжений представляет контекст выполнения операции.
20. Машиночитаемый носитель по п.18, в котором продолжения, упорядоченные с помощью компонента памяти, моделируют одно или более из следующего: шаблон потока управления, итерацию, копию для каждого оператора, конечный автомат, контроллер потока страниц, генератор последовательности и продолжение.