Представление вычислимых моделей иерархическими автоматами в сетевой библиотеке

Бесплатный доступ

Описываются графы работ и иерархические автоматы для представления вычислимых моделей в сетевой библиотеке.

Управляемые событиями системы, графы работ, иерархические автоматы

Короткий адрес: https://sciup.org/148180543

IDR: 148180543

Текст научной статьи Представление вычислимых моделей иерархическими автоматами в сетевой библиотеке

Актуальна задача создания в Интернете сетевых библиотек для хранения множества проверенных численных методов, прикладных вычислимых моделей использования прикладными специалистами и другими пользователями.

В [1] изложена концепция сетевой библиотеки Нива вычислимых моделей (например, сложных имитационных моделей), результаты которых получают вычислениями. Нива реализована двумя программами – программой, размещенной на компьютере пользователя, и программой, размещенной на удаленном компьютере-сервере. Пользователь создает сценарий расчета нужной модели, визуально конструируя граф вычислительных работ в окне своей программы. После ввода пользователем данных и проверки графа вычисление сценария выполняется сервером; результаты пересылаются на компьютер пользователя по мере их расчета.

Представление моделей графами работ

Узлы графа работ представляют компоненты M ={F, D} гипермодели (ГМ), реализующие функци- ональность F над набором данных-слотов D. Компонентой может быть как фрагмент расчетной модели, так и фрагмент системной поддержки вычислений, например графопостроитель. Код компоненты хранится на сервере. При вычислениях компоненты могут обмениваться данными через свои слоты. Если слот M1.X компоненты M1 связан со слотом M2.Y (обозначается M1.X = @M2.Y), тогда изменение значения одного слота вызывает такое же изменение значения другого слота. Связь слотов может указываться на графе пунктирной стрелкой. Связи слотов устанавливаются при сборке ГМ до вычислений.

Рис. 1. Преобразование дерева выражения в граф работ

Рис. 1 (1.1, 1.2) показывает, как дерево выражения F = f (x) * h (z) + g (y) приводится к графу вычис- лительных работ, выполняемых узлами последовательно по стрелкам ребер графа [1] для вычисления значения своих слотов. Так, на рис. 1.1 узлы с треугольником выполняют операции «*» и «+» над своими слотами, связанными со слотами узлов f, h, g, вычисляющими функции f (x), h (z), g (y), и помещают результат в свой третий слот. Рис. 1 (1.3, 1.4) показывает агрегирование объемного дерева выражения и образование графа – дерева кольцевых подграфов работ. Агрегированным графом можно представить решение dy/dt = H (t, y) (рис. 1.5). Здесь S - решатель (например, Рунге-Кутта), итерирующий компоненту H, вычисляющую H (t, y). На рис. 1.5, 1.6 показано объединение задач H и G, решаемых S, конструированием общего графа работ. Конструирование существенно обогащается процедурой уточнения узлов. Поясним ее (рис. 1.6) на системе

С.М. Анцыз, Н.А. Орозбеков. Об одном процессе оптимизации банковских продуктов dY/dt = H , H = H (t, Y,@ A,@ B); dZ/dt = G, G = G (t, Z,@ C,@ D);

уравнений для Y (t), Z (t), где @ A, @ B, @ C , @ D - слоты в H и G, рассчитывающих правые части уравнений (1). Если пользователь присвоит слотам постоянные A0 , B0 , C0 , D0 , тогда (1) окажется системой 2-х независимых уравнений. Если же пользователь включит в граф работ узлы A, B, C, D, уточняющие H и G функциями A (Y), B (Y, Z), C (Y, Z), D (Z), то (1) превратится в систему зависимых уравнений с @ A = A (Y), @ B = B (Y, Z), @ C = C (Y, Z), @ D = D (Z).

Представление моделей иерархическими автоматами

Рис. 2. Сетевая библиотека – иерархический автомат

Дерево кольцевых подграфов иерархично. Каждая компонента выполняет несколько работ: инициализирует слоты данными, проверяет параметры, выполняет вычисления и т.д. Поэтому компоненты реализованы конечными автоматами, выполняющими работы так, чтобы ГМ представлялась иерархическим автоматом [2]. На рис. 2 Нива представлена взаимодействующими через TCP/IP сеть автоматами User и Server. Server содержит автомат System системной поддержки вычислений и автомат HModel расчетной модели.

Автоматами управляют события, исходящие от меню пользователя (в User), генератора Event Generator (EG), а также от самих автоматов. В System и HModel события поступают по стрелкам графа. Так, начинающее цикл итераций событие evDoCalc, возбужденное EG, поступает в System и после обхода компонент 1-6 передается в init, решатель S, H.init, IH, …, G.init, S. При этом компонента System.5 пересылает пользователю результаты расчетов предыдущего цикла. Если точность решения на данном интервале не достигнута, S повторяет итерацию; иначе S направляет evDoCalc в IHG и «Next?». Если номер цикла итераций меньше заданного N, генерируется evDoCalc и выполняется следующий цикл; иначе генерируется событие evStopCalc, которое приостанавливает вычисления и запрашивает указание от User. Теперь щелчок пользователя в меню «Продолжить» возбуждает событие evContinue. Оно пересылается Server, активизирует его генератор EG и начинает новую серию из N циклов итераций.

Заключение

Описаны графы работ и иерархических автоматов, визуально конструируемых пользователем для расчета вычислимых моделей в сетевой библиотеки Нива. В отличие от [3], пользователь, конструируя граф HModel, не указывает событий.

Статья научная