Научная статья на тему 'Управляемое тестами имитационное моделирование'

Управляемое тестами имитационное моделирование Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
102
51
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Управляемое тестами имитационное моделирование»

Следует отметить, что выходные данные одного модуля должны соответствовать по типу и количеству входным данным другого модуля, принимающего от первого результаты его вычислений. При функционировании мультиверсионного ПО отказоустойчивой системы управления модули исполняются последовательно. Поэтому очередность модулей системы является важным моментом. Для проверки соответствия выходов предшествующих модулей входам последующих в системе поддержки принятия решений предусмотрен механизм проверки этих данных. В случае несоответствия открывается диалоговое окно, содержащее информацию о модулях и несоответствующих данных.

Выбор оптимального состава версий программных модулей, используемых в системе управления, выполняется с помощью методов многокритериального принятия решений. В системе поддержки принятия решений реализованы следующие методы: линейный метод назначения, метод простого суммарного взвешивания, ELECTRE, TOPSIS.

Применение ряда методов обеспечивает многовариантность решений. Данные методы позволяют провести ранжирование возможных вариантов формирования системы управления. При ранжировании используются значения характеристик модулей. При этом, как правило, указанные методы неоднозначны в оценке различных вариантов состава. В частности, данная система поддержки принятия решений была использована при модернизации информационно-управляющей системы оделения Фдерального казначейства по г. Красноярску.

При сужении всего множества возможных вариантов формирования были получены одиннадцать недоминируемых альтернатив. Отдать предпочтение какой-ибо из них ЛПР без средств автоматизации было бы сложно. Применение методов дало следующие результаты: лнейный метод назначения: 2, 7, 1, 4, 3, 5, 6, 8, 9, 11, 10; метод простого суммарного

взвешивания: 2, 7, 3, 1, 4, 5, 8, 6, 9, 10, 11; ELECTRE:

7, 2, 1, 3, 4, 8, 6, 5, 9, 10, 11; TOPSIS: 2, 7, 1, 3, 4, 5, 6,

8, 9, 10, 11.

Альтернативы здесь представлены в порядке уменьшения предпочтительности.

На основе полученных результатов ЛПР заключило, что вторая альтернатива наиболее предпочтительна, поскольку большинство методов определило ее ранг наивысшим.

Из примера видно, что многовариантность решений позволяет принять объективное решение при выборе лучшей альтернативы. Так, если бы оценка производилась исключительно при помощи метода ELECTRE, то предпочтение было бы отдано седьмой альтернативе, чему противоречит выбор, проведенный согласно остальным трем методам принятия решений, входящим в систему поддержки принятия решений. Применение предлагаемой системы при модернизации информационно-управляющей системы отделения Федерального казначейства по Красноярску привело к тому, что показатель надежности составил 99,8163%, что на 0,72% выше существующего значения в организации; время простоя в случае отказа сократилось с 4,58 часов в год до 36,66 минут в год. Кроме того, оценка экономического эффекта от модификации данной информационно-управляющей системы показывает, что в случае отказа общие расходы будут снижены на 279861,35 руб.

Благодаря применению методологии избыточности не только значительно повышается надежность ПО, но и вся система управления, в которой оно используется, приобретает свойство отказоустойчивости. В случае формирования мультиверсионого ПО системы управления даже из ненадежных версий сама система обладает устойчивостью к сбоям и отказам. Таким образом, системы данного типа могут применяться в различных областях науки и производства, где их функционирование происходит в критических условиях.

УПРАВЛЯЕМОЕ ТЕСТАМИ ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ

Д.В. Щетинин (Тверь)

Представленная около пяти лет назад методология управляемой тестами разработки сейчас достаточно широко и успешно применяется на практике при создании программного обеспечения в различных предметных областях (см.: К. Бек. Экстремальное программирование. Разработка через тестирование. СПб. 2003). Однако существует ряд приложений, где эффективность, да и сама возможность ее использования неочевидны и требуют отдельных исследований, например, в задачах разработки пользовательского интерфейса, визуализации данных, хранения и обработки больших объемов информации, компьютерного имитационного моделирования. Источниками проблем, потенциально ограничивающими возможности применения методологии управляемой тестами разработки, здесь могут стать:

• стохастическое поведение моделируемой системы (результаты выполнения тестов должны быть детерминированными);

• моделирование динамических систем (тесты должны отражать не только конечный результат, но и ожидаемые изменения состояния системы);

• большие объемы данных, значительно повышающие трудоемкость создания тестов.

Таким образом, можно говорить о необходимости разработки метода управляемого тестами имитационного моделирования, обеспечивающего требуемую степень гибкости при создании моделей сложных систем. Метод обоснован методологически и прошел практическую апробацию. На основе полученного опыта были выработаны рекомендации по

применению метода управляемого тестами имитационного моделирования.

Случайности. Наличие случайных величин не оказывает серьезного влияния на процесс управляемой тестами разработки. Представление определенных факторов как случайных является отказом от их детального моделирования, поэтому структура соответствующего программного модуля обычно проста и представляет собой генерацию случайной величины по заданному закону. Создание направляющих тестов и их реализация в этом случае не представляют особых трудностей. Тем не менее, этим тестам следует уделить достаточное внимание, поскольку в ходе развития модели может возникнуть необходимость перехода к более детальному моделированию процессов, стоящих за случайными факторами.

Динамика. Тесты, отражающие изменения в системе, могут быть построены на базе одного из следующих подходов.

• Проверка факта возникновения события. Подход реализуется на базе механизмов оповещения (например, Announcements в современных средах Smalltalk) и удобен для описания отдельных событий в системе.

• Анализ протокола. Подход более удобен для описания сложных процессов, включающих в себя множество событий. Задействованные объекты должны протоколировать (сами или с помощью специального компонента) интересующие разработчика события. Проверка осуществляется путем сравнения протоколов, представленных в виде набора объектов, характеризующих отдельные события.

• С помощью техники фиктивных (mock-) объектов, когда рассматриваемый процесс оказывается слишком сложным для описания в рамках одного

теста. В этом случае выделяется подсистема, чье поведение будет тестироваться. Остальные объекты (контекст) заменяются фиктивными объектами, моделирующими поведение реальных. За счет этого удается более точно выделить тот аспект системы, поведение которого описывается данным тестом.

Большие объемы тестовых данных. Эта проблема в первую очередь связана с динамикой, так как при создании тестов требуется описать состояние системы для значительного количества моментов модельного времени. Ограничить рост объемов данных, требующихся при создании модульных тестов, можно за счет правильного применения методов управляемой тестами разработки в сочетании с принципом объектно-ориентированного дизайна. Существенное внимание необходимо уделять процессу рефакторинга системы. Если удается поддерживать разбиение системы на множество несложных компонент с небольшим количеством связей между ними, модульные тесты обычно не требуют подготовки и описания слишком больших объемов данных. Важную роль здесь также играет использование техники mock-объектов.

Однако при создании приемочных тестов, описывающих поведение достаточно больших подсистем в модели, избежать проблемы часто не удается. Одним из возможных путей решения здесь является разработка средств визуального описания тестовых случаев.

Метод управляемого тестами имитационного моделирования и представленные рекомендации по его применению были успешно апробированы на практике при разработке имитационной модели наземного движения воздушных судов, а также на примере ряда более простых имитационных моделей.

ОПТИМИЗАЦИОННО-ИМИТАЦИОННЫЙ ПОДХОД К СИНТЕЗУ АВТОМАТИЗИРОВАННЫХ СИСТЕМ УПРАВЛЕНИЯ

И.В. Ковалев, д.т.н., М.В. Тюпкин, Р.Ю. Царев, к.т.н., Ю.Д. Цветков (Красноярск)

Одной из характерных особенностей современного развития автоматизированных систем управления (АСУ) является усложнение структуры различных подсистем, что в первую очередь обусловлено ростом размеров и сложности процессов обработки и передачи информации, а также процессов управления самими подсистемами. Это выдвигает ряд проблем, связанных с научно-обоснованным построением структуры таких систем, эффективным формированием состава подсистем передачи и обработки информации. Актуальными являются вопросы постановки и формализации задач синтеза структур, разработки оптимизационных и имитационных моделей, а также построения на их основе процедур синтеза структуры систем, позволяющих учитывать динамику функционирования элементов системы.

В связи со сложностью постановки и решения задач синтеза структуры сложных систем наибольший эффект от их использования может быть достигнут при создании крупномасштабных и типовых систем, в частности АСУ. Существенное влияние на структуру систем управления оказывает развитие средств вычислительной техники: появление многопроцессорных и многомашинных вычислительных комплексов и сетей ЭВМ, а также усложнение процессов обработки и обмена информацией - все это увеличивает число анализируемых вариантов построения системы, повышает требования к эффективности и качеству принимаемых проектных решений по выбору и дальнейшему развитию структуры системы.

Базируясь на оптимизационно-имитационном подходе применительно к синтезу структур слож-

i Надоели баннеры? Вы всегда можете отключить рекламу.