УДК 681.3.06(075.8)
Ю.Б. Сениченков, Цзычэнь Чжан
КОНВЕРТИРОВАНИЕ МОДЕЛЕЙ
Математические модели сложных динамических систем могут реализовываться в различных системах программирования (Fortran, C) или моделирования (Matlab, Modelica, Ptolemy). Смена инструмента моделирования подразумевает перевод описания уже созданных математических моделей с одного языка моделирования на другой. Сделать это рядовому пользователю трудно из-за больших объемов текстов и сложности используемых языков и систем программирования. Приходится использовать системы автоматического перевода.
К недостаткам автоматического перевода можно отнести возможное появление дополнительных ошибок и ухудшение эффективности нового кода. В то же время перевод с незнакомого пользователю языка на хорошо ему знакомый язык дает возможность разобраться с внутренним устройством компонента и модифицировать его в случае необходимости. Если возможен прямой и обратный перевод, то появляется дополнительное преимущество: часть компонентов можно разрабатывать в одной системе, а часть - в другой, в зависимости от их особенностей, и сравнивать различные реализации.
Необходимость перевода (конвертирования моделей) осознана многими разработчиками [3-10].
В этой статье речь пойдет о конвертировании моделей сложных динамических систем с языка пакета Simulink на язык пакета Rand Model Designer (RMD) [1].
Конвертирование моделей SIMULINK в модели RMD
Пакет Simulink долгие годы оставался для многих отечественных пользователей единственным средством компонентного моделирования сложных динамических систем: непрерывных, дискретных и непрерывно-дискретных, событийно-управляемых или гибридных, иерархических.
С появлением отечественных пакетов ИСМА, МВТУ, MvStudium, AnyLogic, RMD возникла необходимость перевода описаний
созданных в Simulink моделей на языки отечественных пакетов.
В пакете Simulink [11] с каждым блоком связаны три вида переменных - входы и, выходы у и переменные состояния х. Каждая из указанных переменных может быть как вектором, так и скалярной переменной. Каждому блоку соответствуют уравнения:
х =
y = fout(t, х u);
Xd = /update (t, Х,U);
dxc
~Г = Aenvate (t, X,U Л dt
(1)
где х
вектор переменных состояния,
включающий в себя непрерывные и дискретные xc и дискретные xd переменные; y = fout(t, x, u) -вектор выходных переменных, вычисляемый на основании входов и переменных состояния; xd = fpdate(t, x, u) - дискретные переменные состояния, вычисляемые в заданных точках дискрет-dx
ного времени; —c = f^^t, x, u) - дифференци-dt
альные уравнения для непрерывных переменных состояния.
В последних версиях библиотеки компонентов (блоков) пакета Simulink отдельно представлен в виде мини-библиотеки набор наиболее часто используемых блоков (рис. 1). Аналогичная библиотека блоков пакета Simulink, реализованная на языке моделирования MVL (язык моделирования пакета RMD [2]), существует в пакете RMD. Последняя библиотека - пример «ручного» перевода компонентов.
Рассмотрим автоматический перевод описаний моделей, составленных из блоков мини-библиотеки, с языка Simulink на язык MVL. Состав мини-библиотеки позволяет исключить из рассмотрения на первых порах уравнения с запаздыванием (различные варианты блока Delay) и поиск точки переключения в гибридных системах (блок Hit Crossing). В мини-библиотеке
Terminator
Рис. 1. Наиболее употребительные блоки пакета Simulink
также отсутствуют «триггерные системы» (см. подраздел библиотеки «Порты и подсистемы»). Однако их реализация на языке моделирования MVL с теоретической точки зрения ничем не отличается от реализации блока Saturation, присутствующего в минимальном наборе. С учетом этих отличий можно утверждать, что блоки пакета Simulink могут описываться гибридной системой (системами кусочно-непре-
рывных алгебро-дифференциальных уравнений). Также очевидно, что и итоговая система уравнений для всей компонентной модели будет системой кусочно-непрерывных алгебро-диф-ференциальных уравнений.
Графическая форма языка MVL позволяет использовать компоненты с входами и выходами и картами поведения для описания кусочно-непрерывных систем (рис. 2).
Рис. 2. Компоненты с входами-выходами и картами поведения
При работе с моделями в пакете Simulink существует возможность получить текстовое представление графического описания модели, а в пакете RMD есть возможность по текстовому представлению модели на языке MVL восстановить графическое. Таким образом, на вход разрабатываемого конвертора поступает текстовая форма описания модели Simulink и преобразуется в текстовую форму языка MVL. Возможны два пути реализации конвертора:
в пакете MVL создаются аналоги всех блоков библиотеки Simulink и в RMD воспроизводится структурная схема исходной модели (рис. 3 б);
второй путь предусматривает восстановление итоговой системы модели Simulink и построения для нее однокомпонентной системы с гибридным автоматом, описывающим итоговую кусочно-непрерывную систему алгебро-дифференциальных уравнений (рис. 3 в, г).
Использование UML в качестве стандартного описания компонентов систем моделирования
Систем моделирования много и они используют различные языки моделирования. Такое разнообразие оправданно и будет еще долго сохраняться, так идет поиск выразительных и интуитивно понятных пользователю описаний, для
a)
которых могут создаваться эффективные алгоритмы построения и преобразования итоговых систем уравнений. Таким образом, задача разработки конверторов еще долго будет актуальной. Учитывая большое количество языков моделирования, хотелось бы использовать единую методику конвертирования. Для конвертирования компонентных моделей с «ориентированными блоками» и «гибридным поведением» (компоненты с «входами-выходами» и различными формами представления компонентных уравнений) можно рекомендовать следующую методику:
каждому блоку (библиотечному или пользовательскому) любой системы моделирования ставим в соответствие класс и машину состояний языка UML (UML-описание);
UML-описание используем для прямого и обратного перевода.
Использование UML в качестве промежуточного описания с первого взгляда кажется лишним, во многих случаях без него можно обойтись, однако такой подход обладает следующими преимуществами:
UML-описанием можно воспользоваться для создания конверторов для различных языков моделирования;
машина состояния с описанием активностей
б)
г)
■ Iri Local_dass_l
■ Parameters
ii> Variables
■Q Constants
Q Functions and procedures
■|S| Comments
Continuous behavior u = sin(tirne); y" - -y'-a *y +b "tj; Ф Unknown variables V, -J
□■■■ üi Initial values for derivatives
г у =o
Рис. 3. От структурной схемы пакета Simulink к структурной схеме и картам поведения пакета КМЭ: а - структурная схема пакета 8ти1шк; б - структурная схема пакета ИМЭ; в - описание модели с помощью одного класса
пакета ИМЭ; г - локальное поведение гибридного автомата
4
when a<=lowerlimit
do Локальный_Класс_1_2 entry actions {Y:=lowe
do Локальный_класс_1_2 entry actions {Y:=lowerlimit;}
when a>=upperlimit
do Локальный_класс_1_2 entry actions {Y:=upperlimit;}
when a>lowerlimit actions {Y:=a;}
when a>=upperlimit
do Локальный класс 1
when a<upperlimit actions {Y:=a;}
do Локальный_класс_1_2 entry actions {Y:=upperlimit;}
Рис. 4. Гибридный автомат для блока «Интегратор» из мини-библиотеки пакета БштИпк
на математическом языке позволяет свести вопрос об эквивалентности компонентов к вопросу об эквивалентности используемых систем уравнений. При этом, к сожалению, необходимо тестировать блоки, т. к. из эквивалентности решаемых уравнений не следует совпадение численных решений. Более того, многие системы моделирования не предоставляют пользователю итоговую систему уравнений, и тогда сравнительный вычислительный эксперимент на представительном множестве примеров остается единственным способом проверки.
Описанная методика реализована для конвертации моделей, построенных из модулей мини-моделей из пакета БтиНпк в пакет ЯМИ.
Созданы ЦМЪ-описания блоков мини-библиотеки (рис. 4).
Создан конвертор моделей. Конвертор анализирует входной т.файл модели пакета Simulink, выявляет в нем описания блоков и помещает описания этих блоков на языке MVL в выходной mvl. файл. Затем анализируются связи между компонентами и создается их описание на языке MVL. Завершается построение выходного файла созданием описания класса Model.
Разработан тестовый набор и для него проведено сравнение численных решений.
Рассмотрена новая методика конвертации моделей, написанных на языке пакета Simulink в модели пакета RMD. Конвертация основана на UML-описаниях библиотечных блоков. Разработан макет конвертора; его работоспособность проверена на тестовом наборе.
СПИСОК ЛИТЕРАТУРЫ
1. Rand Model Designer [Электронный ресурс] / Режим доступа: http://www.rand-service.com
2. Колесов, Ю.Б. Моделирование систем. Объектно-ориентированный подход [Текст] / Ю.Б. Колесов, Ю.Б. Сениченков. -СПб.: БХВ, 2006. -236 с.
3. Чернухин, Ю.В. Средства трансляции и импорта внешних моделей для систем виртуального моделирования [Текст] / Ю.В. Чернухин, В.Ф. Гузик, М.Ю. Поленов // Тр. V Междунар. науч.-техн. конф. Компьютерное моделирование - 2004. -СПб.: Изд-во «Нестор». - 2004. - Ч. 1. -С. 243-248.
4. Чернухин, Ю.В. Инструментальные средства
импорта моделей виртуальных моделирующих сред [Текст] / Ю.В. Чернухин, В.Ф. Гузик, М.Ю. Поленов // Искусственный интеллект. -2006. -№ 4. -С. 59-65.
5. Чернухин, Ю.В. Организация поддержки импорта внешних программных моделей виртуальной среды VTB [Текст] / Ю.В. Чернухин, В.Ф. Гузик, М.Ю. Поленов // Искусственный интеллект. -2007. -№ 4. -С. 497-502.
6. Chernukhin, Y. Deploying Modelica Models into Multiple Simulation Environments [Text] / Y. Chernukhin, M. Polenov, C. Vemulapally [et al.] // Proc. of IEEE International Behavioral Modelling and Simulation Conf.
(BMAS 2005). -San Jose, CA. -2005. -P. 134-139.
7. Rajarshi, Ray. Automated Translation of MATLAB Simulink/Stateflow Models to an intermediate format in HyVisual [Text] / Ray Rajarshi. -Chennai Mathematical Institute, 2007.
8. Schiffelers, R.R.H. Foundations of a compositional interchange format for hybrid systems. SE Report: Nr. 2006-05 [Электронный ресурс] / R.R.H. Schiffelers, J.E. Rooda // Режим доступа: http://se.wtb.tue.nl
9. Sfyrla, V. Compositional Translation of Simulink
Models into Synchronous BIP [Электронный ресурс] / V. Sfyrla, G. Tsiligiannis, Ir. Safaka [et al.]. -Verimag Research Report n TR-2010-16, 2010/
10. Solodovnik, E. Automatic Model Generation in VTB: Phasedomain Modeling of an Induction Machine [Text] / E. Solodovnik, W. Gao, R. Dougal // 34th Annual North American Power Symp. - Tempe, Arizona. -2002.
11. [Электронный ресурс] / Режим доступа: http:// www.mathworks.com
УДК 004.9; 620.9
А.Н. Беляев, Р.И. Ивановский, Ю.Г. Карпов, К.А. Сотников SMART GRID. РАзРАБоТКА ПРИЛожЕНИй
Инициатива создания и внедрения Smart Grid получает все более широкое распространение во всем мире: давно назрела необходимость кардинального решения проблем, связанных с крупномасштабными авариями электросетей, огромными потерями в линиях электропередач, архаичными технологиями диспетчирования и управления энергосетями, трудностями включения в энергосистему новых потребителей и альтернативных источников энергии. Среди основных целей внедрения технологий Smart Grid - существенное повышение эффективности и надежности электроэнергетических систем. В России такие системы называются «интеллектуальными энергосистемами», «умными сетями», «активно-адаптивными энергосистемами» и т. п. Предпосылками развития электрических сетей подобного рода являются развитие распределенной генерации, появление «гибких» элементов, новые возможности аккумулирования энергии, появление новых технологий измерений, развитие информационных технологий.
Пилотные проекты по развитию интеллектуальных сетей уже появились в США, в Китае, в нескольких странах Европы. В России в феврале 2010 г. премьер-министр В.В. Путин поставил перед председателем правления ОАО «ФСК ЕЭС» О. Бударгиным задачу создания новой технологической платформы Единой энергосистемы России на базе интеллектуальных сетей. ФСК была разработана пятилетняя программа внедрения
«умных» сетей [1, 2] на период 2010-2014 гг., на реализацию первого этапа которой предусмотрены инвестиции в размере 519 млрд руб. В настоящее время разработаны реальные концепции реализаций пилотных проектов «интеллектуальной» сети на территории ОЭС Востока (Амурская область, Якутия, Приморский и Хабаровский край) [1]. Внедрение пилотных проектов Smart Grid ведется и в рамках проектов ОАО «Холдинг МРСК».
Разработка технологий Smart Grid в России -одна из немногих технологических революций, где Россия имеет шанс идти в ногу с наиболее передовыми развитыми странами.
Что такое Smart Grid?
В настоящее время в печати и электронных ресурсах встречается множество определений понятия Smart Grid. Так, международный Институт инженеров электротехники и электроники (IEEE) дает следующее определение: «полностью интегрированная, саморегулирующаяся и самовосстанавливающаяся электроэнергетическая система, имеющая сетевую топологию и включающая в себя все генерирующие источники, магистральные и распределительные сети и все виды потребителей электрической энергии, управляемые единой сетью автоматизированных устройств в режиме реального времени» [3]. В материалах Европейского Союза (EU) Smart Grid - это «... электрические сети, удовлетворяющие требованиям