ПОИСК Статьи Чертежи Таблицы Современная методология математического моделирования из "Управление и наведение беспилотных маневренных летательных аппаратов на основе современных информационных технологий " Использование вышеупомянутой библиотеки дает возможность формировать облик интегрированных систем навигации и наведения на основе целевых критериев функционирования системы в целом. Кроме того, в связи с наметившейся в настоящее время унификацией промышленных и бортовых ЦВМ возможно непосредственное использование фрагментов разработанного ПМО в бортовом интегрированном комплексе, что позволяет снизить стоимость его производства и эксплуатации. [c.191] С учетом сказанного содержание данной главы включает сравнительный анализ наиболее распространенных в настоящий момент подходов к математическому моделированию сложных динамических систем с учетом неконтролируемых факторов. [c.191] Кроме того в главе излагаются основы развитой авторами технологии создания ПМО, предназначенного для имитационного математического моделирования процессов функционирования интегрированных систем навигации и наведения высокоманевренных ЛА, а также примеры этой технологии для формирования облика интегрированных систем УАСП. [c.191] Новое качество технологии математического моделирования возникло с появлением идеологии объектно-ориентированного программирования [6.3]. Теоретическая суть данного подхода заключается в создании информационных структур — объектов, обладающих двумя принципиальными свойствами во-первых объекты содержат данные, характеризующие свойства данного объекта и методы (процедуры) работы с ними, и во-вторых объекты обладают свойством наследования, т. е. от объекта может быть порождено сколь угодно много объектов-наследников, расширяющих возможности и свойства объекта-предка. [c.192] Такой подход позволил локализовать данные и методы работы с ними в логически законченные структуры, допускающие сколь угодно сложную логику управления и обеспечивающие одновременно с этим корректное хранение и обработку данных. Кроме того, принцип наследования позволил реализовать библиотеки численных алгоритмов и математических моделей на качественно новом иерархическом уровне, обеспечив тем самым возможность масштабирования и повторного использования программного кода. [c.192] Линейное моделирование применялось при использовании самых простейших языков программирования [6.1], в которых отсутствовала возможность работы с библиотеками и модулями. В этом случае типичная организационная структура программы, предназначенной для математического моделирования, имела так называемый линейный вид, т. е. выглядела так, как это показано на рис. 6.1. [c.193] Таким образом, как правило, вся программа находилась в одном файле, содержащем как набор готовых процедур и функций, так и основной исполняемый код, выступавший в качестве своеобразного менеджера программы, обеспечивая строго определенный порядок вызова функций и логику выполнения основного кода. [c.193] Очевидно, что такая технология не позволяла создавать большие и мощные с алгоритмической точки зрения программные продукты вследствие разрастания линейной структуры в результате глубокой детализации моделей и учета различного рода возмущений. [c.193] Кроме того, при необходимости изменения кода или при создании новых программных продуктов в рамках такой структуры крайне сложно или вообще невозможно использовать существовавший код вследствие того, что программа представляет собой практически не расчленяемый, единый фрагмент. [c.193] После этого в вызывающем коде можно вызывать любую из данных процедур, подставляя в них соответствующие фактические параметры. [c.196] В соответствии с изложенным, организационная схема программы, использующей принцип структурного программирования, выглядит так, как показано на рис. 6.2. [c.196] Еще одной важной особенностью структурного программирования является возможность использования так называемых процедурных типов, позволяющих в качестве фактического параметра передавать в процедуру или функцию другую процедуру, удовлетворяющую описанию процедурного типа. [c.196] Поясним сказанное на примере приведенного ниже фрагмента кода, реализующего модуль методов интегрирования систем обыкновенных дифференциальных уравнений на языке Borland Pas al. [c.197] Описанный механизм позволяет создавать унифицированные программные модули, реализующие алгоритмы различных численных методов, инвариантные к физической сути задачи, или, иными словами, к используемым моделям. Это обстоятельство позволяет создавать, с одной стороны, универсальные библиотеки алгоритмов, а с другой — библиотеки моделей, объединяя их в рамках вызывающей программы следующим образом в качестве фактического процедурного параметра в процедуру численного метода подставляется одна из процедур модуля моделей, реализующих конкретную математическую модель технической задачи. [c.197] Таким образом структурное программирование обеспечивает возможность быстрой разработки и доработки проекта на основе использования библиотек алгоритмов и моделей и оперативной замены моделей и алгоритмов как на этапе разработки ПМО, так и на этапе непосредственно математического моделирования. [c.198] Вернуться к основной статье