Московский университет им. С.Ю. Витте
МОДЕЛЬНО-ОРИЕНТИРОВАННОЕ ПРОЕКТИРОВАНИЕ ИНТЕЛЛЕКТУАЛЬНЫХ ТЕХНИЧЕСКИХ СИСТЕМ В СРЕДЕ MATLAB
Маликов Сергей Николаевич,
канд. техн. наук, ст. науч. сотр.,
зам. генерального директора по научно-
конструкторской работе, ОАО «НИИ супер ЭВМ»
г. Москва
Аннотация
интеллектуальный система модельный проектирование
В работе рассматривается научно-практическая задача по расширению класса решаемых задач в области модельно-ориентированного проектирования с применением современных инструментальных средств. Рассматриваются функциональные особенности интеллектуальных технических систем с точки зрения модельно-ориентированного проектирования. Проводится анализ возможности всесторонней проверки выполнения требований технического задания для результатов проектирования сложной технической системы инструментальными средствами разработки MatLab. Необходимость указанной проверки обусловлена современной концепцией оценки качества информационных систем и регламентирована отечественными и международными стандартами. Особенность интеллектуальных технических систем заключается в разнородности и нечеткости алгоритмов построения логических выводов, формирования управляющих воздействий и их реализации, что затрудняет проверку выполнения требований технического задания на этапе проектирования. Рассматривается возможность комплексного применения инструментария MatLab для решения нетиповых проектных задач.
Ключевые слова: модельно-ориентированное проектирование, верификация программного кода, трассируемость результатов разработки исходным требованиям
Annotation
MODEL-BASED DESIGN OF INTELLIGENT TECHNICAL SYSTEMS IN MATLAB
Malikov S.N., candidate of technical sciences, senior researcher, deputy director general for research and design work, JSC Scientific Research Institute of the Supercomputer, Moscow Witte University
The paper deals with the scientific and practical task of expanding the class of tasks in the field of model-oriented design using modern tools. The functional features of intelligent technical systems are considered from the point of view of model-oriented design. The analysis of the possibility of comprehensive verification of the technical requirements for the results of the design of a complex technical system with MatLab development tools is carried out. The needfor this test is due to the modern concept ofquality assessment of information systems and regulated by domestic and international standards. Feature of intelligent technical systems is the heterogeneity and lack of clarity of the algorithms, making inferences, generating the control actions and their implementation, which complicates the verification ofcompliance with the requirements of the technical specifications at the design stage. The possibility of complex application of MatLab tools for solving non-typical project problems is considered. Keywords: model-oriented design, verification of program code, traceability of the results of the development of the initial requirements
Основная часть
Ускоряющиеся темпы технического прогресса требуют систематического использования все более интеллектуальных технических систем. Требования к функциональным возможностям подобных систем все больше возрастают, а массогабаритные ограничения становятся все жестче. Проблемы расширения функциональных возможностей и в то же время уменьшения массы и габаритов традиционно решаются за счет оптимизации локальных средств контроля и управления.
Под интеллектуальными техническими системами (ИТС) рассматриваются вычислительные системы с интеллектуальной поддержкой при решении задач без участия оператора или с участием оператора - ЛПР (лица, принимающего решение), а также системы, способные формировать управляющие воздействия или самостоятельно принимать решения и реализовывать их. То есть ИТС рассматривается как искусственный носитель естественного интеллекта - физическая модель, способная к самообучению. В общем случае ИТС можно подразделить на решающие задачи анализа и на решающие задачи синтеза, а также комбинированные задачи. Примерами задач анализа являются задачи интерпретации данных и диагностики, задач синтеза - задачи проектирования и планирования, к комбинированным задачам относятся задачи обучения, мониторинга, управления.
Наиболее заметен прогресс от использования подхода оптимизации локальных средств контроля и управления, реализуемый в инструментальной среде Ма1ЬаЬ, в первую очередь в авиастроении и автостроении [11].
Требования по ускорению и удешевлению разработки компьютеризированных систем разных классов породили парадигму модельно-ориентированного проектирования: идеологию и инструментарий, позволяющие реализовать все этапы жизненного цикла создания сложных технических систем, от теоретического обоснования реализуемости поставленной задачи до записи управляющих программ в контроллеры, сигнальные процессоры и программируемые логические интегральные схемы. Все перечисленные возможности может предоставить вычислительная среда Ма^аЬ компании MathWorks.
Указанная парадигма отвечает принципам системного подхода о необходимости альтернативных проверок, стратификации представлений об исследуемом объекте или явлении и подчеркивает роль имитационного моделирования проектируемой системы как наиболее точного инструмента исследования. Можно предположить, что модельно-ориентированное проектирование может стать ведущим подходом при проектировании инновационных изделий в долговременной перспективе.
Классическую ^образную модель разработки, представленную на рисунке, в среде модельноориентированного проектирования можно рассматривать как образец компактности. Всю рутинную работу система Ма1ЬаЬ берет на себя, что не только облегчает процесс проектирования, но и ускоряет его, а также позволяет повысить надежность системы в целом за счет исключения человеческого фактора и использования многократно апробированных решений. На рисунке широкие стрелки отражают последовательность разработки, пунктирные - сопоставление элементов проекта.
Рисунок Модельно-ориентированная разработка информационно-управляющей системы
Прежде чем перейти к разработке модели, сформулированная совокупность требований к системе должна в какой-либо форме получить одобрение заказчика: подтверждение адекватности формулировок потребностям заказчика. Естественное представление требований - системная модель, разработанная с помощью пакета имитационного моделирования Simulink, являющегося одним из важнейших компонентов MatLab. Также, предусмотрен обмен данными со специализированными системами управления требованиями. Системная модель имеет набор характеристик и методов - набор умений, т.е. наделена поведением. Модель способна ответить на любой стандартный запрос внутренней и внешней среды (имеется некоторое стандартное сочетание значений ее внутренних и внешних переменных). В модели могут рассматриваться несколько параллельных процессов. Каждый из этих процессов состоит из чередования методов-элементов - элементарных действий процесса, реализуемых функциональной зависимостью. Чередование методов-элементов определяется состоянием внутренних и внешних переменных модели.
Сочетание возможностей компонента Simulink и его пакета расширения Stateflow инструментальной среды MatLab позволяет описать и в дальнейшем промоделировать варианты переходов системы по заданным внешними условиями цепочкам состояний. В процедуре построения цепочки состояний производится перебор всех допустимых последовательностей выполнения вычислительных операций и имитационное моделирование поведения системы, находящейся под воздействием нечеткого множества отклонений. Данное множество имеет функцию принадлежности, имитирующую пуассоновский поток событий. Для нечеткого множества входных параметров с энтропией w(t), переводящих ИТС из одного состояния в другое состояние, можно составить систему обыкновенных дифференциальных уравнений с переменными коэффициентами в виде [10]:
Для любого момента времени t выполняется нормировочное условие . Это следует из того, что в любой момент t события образуют полную группу несовместных событий. Дифференциальные уравнения для вероятностей состояний P1(t) и P2(t) имеют вид:
После преобразований получается линейное дифференциальное уравнение с переменными коэффициентами:
Приняви при начальном условии P1(0) = 1 дифференциальное уравнение можно представить в виде:
Решением последнего уравнения будет энтропия нечеткого множества состояний системы в соответствии с эталонными показателями в момент времени t:
Формализованное описание модели поведения представляется принципиально важным при разработке ИТС с точки зрения выявления первопричины принятия неочевидных решений.
В среде Matlab имеется возможность «привязать» конкретные требования к конкретным блокам результирующей модели. Встроенный в Simulink генератор отчетов демонстрирует, какие сформулированные требования отражены в модели. Сопоставление различных элементов проекта с формализованным представлением требований составляют процедуру трассируемости. Совокупность специализированных программ, входящих в Simulink, позволяет сертифицировать степень соответствия модели системы заданным требованиям к ее реализации.
Автоматически сгенерированный по результатам моделирования текст программы на языках С и C++ хорошо структурирован и доступен для анализа разработчиком. Также предусмотрена возможность генерации вариантов кода, как облегчающих стыковку с аппаратурой, так и вариантов максимального быстродействия, реализующего опциональные особенности используемых вычислительных средств.
Среда разработки модельно-ориентированного проектирования предоставляет комплекс дополнительных альтернативных средств контроля, позволяющий провести всестороннюю проверку алгоритмов управления, выявить ошибки вычислений, проконтролировать степень тестового покрытия модели [9, 11]. Результатом этой работы станет набор отчетов подтверждающих функциональную пригодность алгоритмов и работоспособность вычислительных процедур в заданных границах изменения входных данных.
Трассируемость сгенерированного текста программы и модели системы обеспечивается возможностью сопоставления отдельных компонентов модели и участков программного кода. Имеется возможность построения «матрицы трассируемости» - сертификат результатов указанного сопоставления.
Независимо от используемого компилятора, заключение о соответствии исполняемого кода модели системы может быть сделано только по результатам тестирования в реальном масштабе времени. Причем тестовые данные должны быть подготовлены и апробированы на предыдущих этапах. Имея доказательства 100 % тестового покрытия, результаты тестирования исполняемого кода можно «по цепочке» поставить в соответствие исходным требованиям к системе.
Всесторонние проверки по соблюдению требований стандартов и использование сертифицированных интерфейсов взаимодействия компонентов позволяет до двух раз сократить цикл разработки изделий, удовлетворяющих современным требованиям к качеству. Пример успешной разработки БПЛА [1] является яркой демонстрацией перспективности данного подхода.
Одной из демонстраций заинтересованности разработчиков в проблематике модельно-ориентированного проектирования с применением инструментальной среды MatLab явилась ежегодная конференция Центра Инженерных Технологий и Моделирования «Экспонента» и МГТУ им. Баумана на тему «Технологии разработки и отладки сложных технических систем», проведенная 27-28 марта 2018 года. Участниками конференции были представлены подробные рекомендации по повышению эффективности НИОКР с учетом требований импортозамещения. Также была продемонстрирована возможность портирования разработанных алгоритмов на процессоры производства АО «ПКК Миландр» и ЗАО НТЦ «Модуль».
Аналитикам ещё предстоит разъяснить разработчикам сходства и различия между модельно-ориентированным проектированием и разработкой управляющей информационной системы на основе современных CASE средств. Очевидно другое - разработана методология, позволяющая разработчикам совместно использовать инструментальные средства лидеров различных ниш рынка на всех этапах разработки: от разработки концепции до реализации технического проекта. В частности, подобная возможность реализована для продуктов компаний MathWorks и Mentor Graphics [2].
Не вызывает сомнений необходимость расширения кругозора студентов и аспирантов всех направлений обучения в области математики [3], приобретение навыков использования современных математических инструментов для решения прикладных задач в своей предметной области. Указанное обстоятельство порождает радикальные подходы - использовать MatLab как первый\базовый язык при обучении программированию [4]. В тоже время существуют объективные препятствия для повсеместного использования MatLab. Первое препятствие - MatLab не локализован: получить справку или описание можно только на английском языке. Второе препятствие - стоимость: бесплатная лицензия для студентов и ограниченная скидка для университетов. И наконец, ограниченные возможности базового пакета MatLab и около 80 специализированных библиотек по различным областям знаний, которые приобретаются по мере необходимости.
Тем не менее, имеются и оптимистичные примеры: