Прикладная система программного комплекса сетевых служб для мобильной системы управления движением судов в районах с интенсивным судоходством
Л.Ф. Борисова
Судоводительский факультет МА МГТУ, кафедра радиотехники и телекоммуникационных систем
Аннотация. Разработана прикладная система программного комплекса взаимодействия сетевых служб, обеспечивающих диспетчерское управление в мобильной системе управления движением судов (МСУДС). Практическое применение программного комплекса МСУДС предполагает использование данных от стандартных навигационных приборов и систем (РЛС, САРП, АИС, ТВ, ГМССБ1) и других средств, имеющихся в составе информационно-навигационных комплексов современных судов, и не требует привлечения дополнительных ресурсов.
Abstract. The applied system of the program complex of net services' interaction supporting the dispatching control in the mobile vessel traffic services (MVTS) has been worked out. The practical application of the MVTS program complex is supposed to use the data of standard navigational equipment and other information and navigation appliances of modern ships and does not need any additional resources.
1. Введение
Национальная политика ведущих морских держав и большинства государств мирового сообщества направлена на освоение Мирового океана. В условиях роста интенсивности морского судоходства наблюдается тенденция увеличения числа смертельных случаев от морских аварий, среди которых одним из самых опасных видов являются столкновения судов. Столкновения судов в наибольшей степени свидетельствуют о проблемах, существующих в организации движения. Проблема обеспечения безопасности мореплавания особенно остра для районов с интенсивным судоходством. В последние годы для ее решения в береговых и прибрежных водах наибольшее развитие получили системы управления движением судов (СУДС / VTS - vessel traffic services). СУДС представляет собой сложный комплекс стационарных технических сооружений вблизи береговых служб. К основным недостаткам современных СУДС относятся "привязка" к береговым службам конкретного района, громоздкость, сложность применяемых процедур управления, которые требуют дорогостоящего специализированного оборудования.
Решением проблемы в части снятия территориальной ограниченности и стационарности является использование мобильных систем управления движением судов (МСУДС / MVTS - mobile vessel traffic services). Не имея "привязки" к конкретному району, эти системы способны обеспечить безопасное мореплавание в любом районе с интенсивным судоходством, включая морские акватории, на которые действие стационарных СУДС не распространяется (Борисова, 2004а,б).
2. Архитектура прикладной системы МСУДС
Программный комплекс взаимодействия служб управления безопасным движением судов в МСУДС (ПК) разработан с учетом особенностей реализации экспертных систем обеспечения безопасности мореплавания (Программный комплекс взаимодействия., 2004), при этом логическая архитектура МСУДС базируется на семиуровневой эталонной модели взаимодействия открытых систем (OSI) Международной организации по стандартизации (ISO). Благодаря этому МСУДС доступна для взаимодействия с другими системами в соответствии с действующими стандартами (Борисова, 2005).
Композиционно архитектура МСУДС включает два разнородных сетевых модуля - открытую клиент-серверную эфирную телекоммуникационную сеть (ЭТКС) и распределенную виртуальную сеть приоритетов движения судов (ВСПД), назначаемую программным путем, физической средой для реализации которой является вода. ЭТКС представляет собой клиент-серверную радиосеть на базе средств ГМССБ, клиентами которой являются ЭВМ в составе судовых информационно-навигационных
1 РЛС - радиолокационная станция; САРП - система автоматической радиолокационной прокладки; АИС - автоматическая информационная (идентификационная) система; ТВ - телевидение; ГМССБ -глобальная морская система связи при бедствии.
комплексов (ИНК). Сервер входит в состав судового ИНК флагманского судна или расположен в помещении береговой диспетчерской службы (Центр МСУДС). ЭТКС осуществляет связь сервера с клиентами в режиме диалога. ВСПД является транспортной сетью и служит для формализованного (кодового) определения траекторий движений судов, находящихся на обслуживании. Процедура определения кодовой последовательности, составляющей запись кодовых номеров поворотных точек в траектории движения обслуживаемого судна, сводится к выполнению вычислительных процедур над кодовыми номерами крайних поворотных точек в траектории движения этого судна. Крайние поворотные точки траектории определяют начало ("взятие на обслуживание") и окончание ("снятие с обслуживания") обслуживания судна в МСУДС. Указанная процедура определения траекторий движения позволяет обслуживать одновременно все суда, зарегистрированные в МСУДС, обеспечивая движение судов без их опасного сближения. Использование автоматизированной информационной (идентификационной) системы (АИС) в МСУДС обеспечивает реализуемость этой процедуры.
Прикладные программы, входящие в ПК, в соответствии с функциональными границами разделяются на три части: логику (алгоритмы) представления, бизнес-логику (расчетные алгоритмы и правила) и логику (алгоритмы) доступа к данным. Такое разделение минимизирует взаимодействие между составными элементами, уменьшая объем передаваемой информации и упрощая алгоритмы, отвечающие за связь между процессами, и потому служит основой для выделения компонентов, которые могут быть распределены на нескольких компьютерах.
Специфика реализации взаимодействия прикладных процессов в МСУДС определила выбор трехзвенной распределенной клиент-серверной системы. Этот выбор основывается на следующих обстоятельствах.
Двухзвенная архитектура хорошо работает в маленьких рабочих группах. На практике наиболее распространенной является двухзвенная конфигурация "толстый клиент". В ней, по крайней мере, теоретически, суммарная вычислительная мощность клиентов предполагается большей, чем мощность единственного сервера. Эффективное использование преимуществ данной конфигурации требует создания и размещения на клиенте достаточно сложных приложений и упрощения приложений, размещаемых на сервере. В некоторых приложениях даже логика доступа к данным размещается на клиенте, оставляя серверу только поддержание самой БД. Такая архитектура не может быть использована в МСУДС, в первую очередь из-за ограничений, вытекающих из вычислительных мощностей отдельных вычислительных машин клиентов, входящих в состав ИНК судов. Наконец, использование сложных клиентских приложений предъявляет к судоводителю повышенные квалификационные требования в несвойственной ему области профессиональных знаний.
Другим недостатком двухзвенной архитектуры является ограничение на число одновременных соединений с сервером. Сервер поддерживает открытое соединение со всеми активными клиентами, даже когда никакой работы нет. Такой режим необходим для того, чтобы сервер мог обмениваться с клиентами сигналами тактового импульса. Это не критично, когда клиентов менее 100; однако сверх этого числа производительность системы начинает быстро деградировать до недопустимо низкого уровня. Такая архитектура может стать проблемой в МСУДС, использующей разнородные следящие и идентификационные навигационные системы.
Реализация "тонкой" конфигурации клиента требует переместить алгоритмы бизнес-логики на серверную машину. В этом случае осуществляющие бизнес-правила процессы в системе управляются СУБД, поэтому число клиентов, которых может поддерживать такая система, аналогичным образом ограничено максимумом возможных активных соединений с СУБД.
Выделение бизнес-логики в отдельное звено позволяет преодолеть ограничения двухзвенной архитектуры. Клиенты не поддерживают постоянного соединения с БД, а обмениваются информацией со средним звеном только тогда, когда это необходимо. Процессы в среднем звене могут предоставлять обслуживание теоретически неограниченному числу клиентов.
Существуют четыре варианта распределенных систем, основанных на трехзвенной архитектуре: с сервером приложений, с монитором обработки транзакций, с сервером передачи сообщений и с брокером объектных запросов. Наиболее простой в реализации является архитектура с сервером приложений (рис. 1).
Рис. 1. Архитектура прикладной системы МСУДС
Клиенты содержат только слой логики представления прикладного ПО, а алгоритмы бизнес-логики и логики доступа к данным перемещены в среднее звено. Сервер приложений обеспечивает совместное использование общих для всего приложения бизнес-правил и процедур. Клиенты соединяются с сервером приложений и предоставляют ему данные для обработки. Помимо "утоньшения" клиента, эта стратегия ведет к созданию системы, в которой будущие обновления прикладного ПО будут производиться, главным образом, на сервере приложений, что упрощает процесс модификации.
Сервер приложений поддерживает пул ограниченного числа открытых подключений к базам данных от АИС, РЛС, САРП и других навигационных систем контроля обстановки на акватории. Подключения многократно используются для выполнения запросов различных клиентов.
Другие преимущества трехзвенной архитектуры с сервером приложений следующие:
- нет необходимости поддерживать сложные механизмы аутентификации на стороне клиентов, так как наиболее важная часть прикладной логики централизована в среднем звене;
- аппаратная платформа, на которой выполняется сервер приложений, может быть достаточно мощной; это дает дополнительную степень масштабируемости всей прикладной системы;
- централизованный доступ к данным в серверах приложений делает всю прикладную систему менее зависящей от конкретной СУБД;
- эта конфигурация допускает интеграцию приложений не только на уровне данных, но и на уровне правил бизнес-логики, устраняя возможные логические противоречия в базе данных при совместном использовании данных разными прикладными программами.
Функциональные возможности трехзвенной архитектуры с сервером приложений соответствуют реализационным требованиям МСУДС.
3. Взаимодействие модулей в программном комплексе МСУДС
Модульность и открытость системы МСУДС обеспечивает ее гибкое и экономичное комплексирование в зависимости от потребностей конкретных районов. В соответствии с архитектурной стратегией, композиция ПК МСУДС включает три основных логических блока: Серверный модуль, Клиентский модуль и Идентификационный модуль (рис. 2).
Рис. 2. Схема взаимодействия модулей в программном комплексе сетевых служб МСУДС
Процесс сопровождения судов в МСУДС формализован и заключается в передаче Серверным модулем координат приоритетов движения и другой навигационной информации в клиентский модуль. Особенность реализации управления в МСУДС состоит в существенном упрощении функций оператора Центра МСУДС по сравнению с функциями, выполняемыми операторами в Центре СУДС. Оператор ЦУ МСУДС полностью исключен из процедуры выработки и принятия решения о выборе траектории движения судов на подконтрольной акватории. На оператора ЦУ МСУДС возлагается задача оперативной коррекции управляющих решений в случае возникновения нештатных ситуаций или
непосредственной опасности для судна (динамическое управление). Эта функция отображена на рис. 2 в виде стрелки "Оператор". Такой подход позволяет высвободить время оператора для выполнения других задач, не связанных непосредственно с МСУДС. Это существенно при использовании МСУДС, например, в районах морского промысла, где простота выполнения административных функций является одним из решающих факторов для реализации мобильной системы.
Клиентский модуль располагается в составе ИНК судна, взятого на обслуживание. Особенностью реализации технологии МСУДС является активный характер Клиента, который определяется воздействием судоводителя на процедуру принятия решения в экспертной системе. Выработанные системой для судоводителя предложения о траекториях и навигационных параметрах движения имеют рекомендательный характер. Окончательное принятие решения о следовании по предложенному маршруту возлагается на судоводителя. Судоводитель имеет возможность по собственному желанию в любой момент движения изменять координаты пункта следования. Судоводитель волен вообще отказаться от услуг МСУДС и двигаться самостоятельно или в обход акватории с интенсивным судоходством. В этом случае МСУДС рассматривает данное судно, как мешающий фактор. Эта функция отображена на рис. 2 в виде стрелки "Судоводитель".
Клиентский модуль реализуется в соответствии со стратегией "тонкий клиент", что обуславливает его малый размер. Основная задача Клиентского модуля заключается в организации логики представления в понятном и удобном судоводителю виде. Клиентский модуль реализует следующие функции:
- обеспечивает серверную часть первичными данными, на основе которых сервер рассчитывает траекторию движения судна и вырабатывает навигационную информацию для судоводителя;
- производит интерпретацию данных, получаемых от сервера, визуально отображая на экране монитора информацию о траектории движения в удобном и понятном судоводителю виде;
- позволяет судоводителю выбирать наиболее приемлемую траекторию движения из предложенного списка;
- позволяет судоводителю отклонять предложенную (или уже выбранную) траекторию движения и делать запрос на альтернативную траекторию в случае необходимости в корректировке траектории движения;
- реализует функцию электронно-цифровой картографии, позволяя увидеть траекторию движения непосредственно на карте или на планшете;
- отражает расчетные характеристики (общее, пройденное и оставшееся расстояния, время и рекомендуемую скорость).
Серверный модуль располагается в составе ИНК флагманского судна или береговой станции, в зависимости от способа и места реализации. К управлению сервером и контролю его работы допущены сотрудники координационного центра (ЦУ МСУДС). В функции серверного модуля входят:
- создание ВСПД для обслуживаемой акватории;
- адаптация ВСПД к акватории (электронно-цифровая картография и масштабирование);
- регистрация судов, которые берутся на обслуживание;
- расчет траекторий движения обслуживаемых судов;
- сопровождение судна в пределах действия МСУДС по зарегистрированной траектории движения;
- расчет характеристик траекторий движения обслуживаемых судов;
- расчет альтернативных траекторий движения обслуживаемых судов в случае возникновения необходимости изменить траекторию движения;
- визуализация ВСПД и местонахождения всех судов, обслуживаемых и необслуживаемых, в пределах действия МСУДС.
Идентификационный модуль формирует базу данных (БД) на основании информации, поступающей от АИС, РЛС, САРП, ТВ и других средств контроля акватории. Этот программный модуль является источником данных для трехзвенной клиент-серверной архитектуры.
4. Моделирование прикладных процессов в МСУДС
Отладка взаимодействия прикладных процессов в Программном комплексе (ПК) сетевых служб взаимодействия в МСУДС, а также проверка адекватности разработанной аналитической модели МСУДС реальным условиям, принципов, алгоритмов, методов и технологий, лежащих в ее основе, справедливости аналитических выражений, определяющих характеристики системы, учитывая масштабность, сложность и дороговизну натурных испытаний, проведена методом имитационно-статистического моделирования. С этой целью был разработан имитационный модуль в составе ПК МСУДС.
В имитационном модуле отдельные программные реализации собраны в единый замкнутый комплекс, изолированный от сторонних средств. Такой подход позволил не заботиться о наличии Web-серверов и других компонентов для работы программных функций и использовать систему в имитационной модели "под ключ". Изоляция от сторонних средств гарантировала высокую степень надежности передачи данных между взаимодействующими процессами и позволила качественно отладить процедуры формирования запросов и ответов.
В перспективе, для облегчения внедрения программного комплекса в условиях реального судоходства, можно пересмотреть процедуру взаимодействия логики представления (клиентский модуль) с конечным пользователем (судоводителем). Internet технологии предоставляют возможность в целях экономии усилий использовать Web-ориентированные методы. В этом случае Клиентское приложение может исполняться на стороне Web-сервера, взаимодействуя с судоводителем посредством Internet-браузеров, что позволит избежать необходимости оснащения каждого судна клиентским модулем ПК и снизить до минимума требования к персональным компьютерам, установленным на судах.
В качестве основного средства разработки программного комплекса взаимодействия сетевых служб в МСУДС использована среда Inprise Borland C++ Builder 6.0. Эта классическая среда разработки предоставляет самые широкие и гибкие возможности в объектно-ориентированном подходе к проектированию программных продуктов любой сложности. Она позволяет проектировать классы и использовать все преимущества ООП. В сравнении с современными средами разработки типа Visual Studio .Net и другими .Net решениями, С++ Builder позволяет получать более мобильный код, что облегчает внедрение продуктов в эксплуатацию. Отсутствие необходимости в отдельном компоненте операционной системы, таком, как .Net Framework, снижает общие требования к системным ресурсам и позволяет сформулировать системные требования на более абстрактном уровне. ПК не предъявляет серьезных требований к базе данных. Для обработки данных использован Сервер баз данных Borland Interbase 6.5, сочетающий в себе мощь языка (SQL) уровня MS SQL SERVER, и легкость управления БД. В качестве основного средства написания визуализационных процедур в ПК использован графический стандарт OpenGL, который отличают высокая скорость работы, кроссплатформенность, низкоуровневый доступ к аппаратным возможностям, отсутствие необходимости в отдельном лицензионном компоненте Microsoft DirectX (Direct3D).
5. Заключение
Простота и экономичность процедур управления, реализованных в программном комплексе МСУДС, использование классических сред разработки программных продуктов предоставляют возможность для широкого распространения мобильных систем на практике. Разработанное для МСУДС программное обеспечение диспетчерского управления движением судов может найти практическое применение на судах морского флота при решении задач безопасного движения в районах с интенсивным судоходством. Не имея территориальных ограничений, МСУДС могут найти применение как в качестве самостоятельного средства обеспечения безопасности мореплавания там, где не существует стационарных СУДС или невозможно их использование, так и в качестве дополнительного средства, расширяющего функциональные возможности стационарных СУДС.
Литература
Борисова Л.Ф. Архитектура взаимодействия служб в мобильной системе управления движением судов.
ВестникМГТУ, т.8, № 1, с.174-176, 2005. Борисова Л.Ф. Безопасность движения в виртуальной сети полос движения судов. Вестник МГТУ, т.7, № 1, с.6-13, 2004а.
Борисова Л.Ф. Определение вероятностно-временных характеристик движения судов в районе
промысла при расхождении. Вестник МГТУ, т.7, № 1, с.14-20, 2004б. Программный комплекс взаимодействия сетевых служб управления безопасным движением судов в условиях ограниченной видимости: свидетельство об официальной регистр. программы для ЭВМ № 2004610853, Россия. Л.Ф. Борисова, К.А. Орлов; заявитель МГТУ; заявл. 12.02.04; зарег. 07.04.04.