Научная статья на тему 'Автоматизация преобразования моделей при осуществлении интеграции систем управления телекоммуникациями'

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

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

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Наганов М. В.

Описывается подход к автоматизированной генерации кода для осуществления преобразования информационных моделей управления телекоммуникационными системами. Задача выполнения такого преобразования возникает при интеграции системы управления телекоммуникациями в единую сеть управления, организованную в соответствии с концепцией МСЭ-Т TMN. Предлагаемый подход сравнивается с подходами к преобразованию моделей, разрабатываемых для архитектуры OMG MDA.

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

Model transformation automation for the telecommunications management systems integration

An approach to automated code generation for the transformation of telecommunications systems management information models is described. This challenge arises while integrating a telecommunications management system into an existing management network built in accordance with ITU-T TMN concept. The proposed approach is compared to model transformation techniques developed for the OMG MDA architecture.

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

УДК 004.4'22+004.415.2+519.687.4+004.434

Вестник СПбГУ. Сер. 10, 2007, вып. 1

М. В. Наганов

АВТОМАТИЗАЦИЯ ПРЕОБРАЗОВАНИЯ МОДЕЛЕЙ ПРИ ОСУЩЕСТВЛЕНИИ ИНТЕГРАЦИИ СИСТЕМ УПРАВЛЕНИЯ ТЕЛЕКОММУНИКАЦИЯМИ

1. Введение. Сети связи, представляющие собой совокупность узлов и линий между ними, предназначены для переноса (транспортировки) сообщений в виде электрических сигналов от источника сообщений к получателю. Для обеспечения устойчивого функционирования сети связи и предоставления пользователям сети услуг связи с требуемым уровнем качества необходимо наличие дополнительных систем поддержки, объединяемых под общим понятием системы управления. Система управления неразрывно, в замкнутом контуре с обратной связью, взаимодействует с сетью связи через обусловленные интерфейсы [1].

Ввиду наличия на реальных телекоммуникационных сетях множества совместно существующих технологий и оборудования различных производителей, для обеспечения управления крупными сетями связи необходимо производить интеграцию разрозненных систем управления в единую сеть управления. Предлагаемая Международным союзом электросвязи (МСЭ-Т) концепция сети управления электросвязью (Telecommunications Management Network, TMN) предполагает организацию управления разнородным телекоммуникационным оборудованием на основе единых интерфейсов и протоколов [2].

Обеспечение поддержки системой управления стандартизованного протокола управления, с целью ее интеграции в единую сеть управления, производится посредством специального программного модуля, называемого в терминологии TMN модулем Q-adanmepa [3]. При создании Q-адаптера необходимо решить задачи преобразования протоколов информационного взаимодействия и преобразования моделей управления. Обычно разработка Q-адаптера ведется вручную, с использованием ad hoc подходов. Однако в работе [4] нами были предложены подход к разработке и архитектура Q-адаптера, позволяющие в перспективе автоматизировать процесс его создания. Для этого необходимо решить задачу автоматизированной генерации кода преобразования информационных моделей управления.

В настоящей статье описывается предлагаемый подход к автоматизированной генерации кода для осуществления пошагового преобразования объектно-ориентированных моделей управления телекоммуникационными системами. Он применяет некоторые идеи подходов к автоматическому преобразованию моделей, предложенные в работах, посвященных преобразованию моделей в архитектуре OMG MDA (Model Driven Architecture) [5, 6], однако не является их повторением и обладает, с точки зрения решаемой нами задачи интеграции систем управления телекоммуникациями, некоторыми преимуществами по сравнению с существующими. С помощью предлагаемого подхода были разработаны генератор кода преобразования моделей управления и каркасная библиотека, которую использует создаваемый генератором код. Подход и созданные программные средства были применены при решении промышленной задачи создания Q-адаптера для системы управления ЭАТС «Квант-Е-Сокол».

2. Модели управления и их преобразования. Ниже охарактеризованы инфор-

© М. В. Наганов, 2007

мационные модели управления, применяемые в телекоммуникациях, а также приведены результаты анализа существующих подходов к преобразованию моделей. Сначала описывается использование моделей в области управления телекоммуникациями и формулируется задача преобразования моделей, возникающая при интеграции систем управления. Затем даются определения понятий, применяемых при описании преобразования моделей. Используя их, приводятся результаты анализа существующих подходов к преобразованию моделей, разработанных для архитектуры OMG MDA, с точки зрения их применимости к решению задачи интеграции систем управления.

2.1. Модели управления в телекоммуникациях. Концепция TMN основана на семиуровневой модели взаимодействия открытых систем (ВОС), которая была стандартизована Международной организацией по стандартизации МСО (International Standard Organization, ISO) [7, 8]. Информационная архитектура ВОС использует концепцию объектно-ориентированного проектирования (Object oriented design, OOD) для определения управляющей информации [9].

Реализация интерфейсов управления производится с помощью технологий распределенного взаимодействия. В последних рекомендациях МСЭ-Т [10-12] выбор сделан в пользу технологии OMG CORBA [13]. При интеграции двух систем управления одна из них выступает как сервер, предоставляя доступ к экземплярам классов модели управления, а вторая - как клиент, манипулирующий экземплярами классов предоставленного ему интерфейса для достижения целей управления.

Для того чтобы указанным образом можно было соединить системы управления от различных производителей, интерфейс управления должен быть стандартным. Стандартные информационные модели управления приведены в рекомендациях МСЭ-Т, МСО, Европейского института телекоммуникационных стандартов (ETSI), форумов TeleManagement Forum, ATM Forum и др. [14]. Однако эти модели не могут использоваться «внутри» самой системы управления, поскольку по определению не содержат информации, специфичной для оборудования конкретного производителя. Кроме того, в некоторых областях управления существуют «параллельные» информационные модели управления от различных комитетов по стандартизации [15, 16]. Таким образом, при интеграции систем управления телекоммуникациями неизбежно возникает задача преобразования информационных моделей управления для обеспечения поддержки требуемого стандартизованного интерфейса управления интегрируемой системой управле-

На практике реализация преобразования между моделями управления, как правило, сопряжена с объективными трудностями и продолжается непосредственно до сдачи работы заказчику. Трудности, по нашему мнению, обусловлены следующими факторами:

• Изначальная сложность информационных моделей управления. Количество классов объектов управления, применяемых для описания различных областей управления, варьируется от десятков до сотен.

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

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

• В используемой реализации стандартной модели управления, даже если она находится в системе управления от известной фирмы-производителя, всегда найдутся отклонения от стандарта в силу наличия возможности неоднозначной трактовки отдельных положений последнего.

2.2. Представление отображения и осуществление преобразования между моделями. Межмоделъным отображением (mapping specification) называется указание соответствия между элементами сопоставляемых моделей. В данной работе рассматриваются отображения между парой сопоставляемых моделей.

Межмодельпым преобразованием (model transformation) называется процесс создания целевой модели по исходной модели. Преобразование осуществляется путем явного указания действий, необходимых для создания целевой модели по исходной. Они могут быть выведены на основании заданного межмодельного отображения. Действия по преобразованию целевой модели задаются с помощью правил преобразования (transformation rules) [17].

Межмодельное отображение называется однонаправленным (unidirectional), если содержит информацию для осуществления преобразования только в одну сторону, или двунаправленным (bidirectional), если в обе [18].

Преобразование между моделями называется пошаговым (incremental transformation), если отдельные изменения в исходной модели приводят к выполнению действий по преобразованию целевой модели, связанных только с измененными элементами исходной модели [18].

Процесс применения правил преобразования называется событийно-управляемым (event-driven), если очередное применяемое правило преобразования выбирается на основе внешнего события [19].

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

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

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

1) задать формальную нотацию представления межмодельных отображений;

2) разработать алгоритм генерации кода межмодельных преобразований по задан-ному отображению.

Системой объектов назовем совокупность экземпляров объектов времени выполнения (моделей уровня МО в классификации OMG MOF [20]) и связей между ними. Термин «система» используется, во-первых, для того чтобы отличать это понятие от модели объектов - «снимка» (snapshot) модели классов в определенный момент времени, принадлежащей уровню Ml, а во-вторых, потому, что совокупность взаимодействующих объектов времени выполнения действительно образует нечто большее по сравнению просто с их суммой, т. е. является системой.

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

2.3. Преобразование моделей в архитектуре OMG MDA. Наиболее близкими к рассматриваемой нами теме оказались работы, затрагивающие вопросы преобразования моделей в архитектуре OMG MDA. Основной целью создания MDA является предоставление кросс-платформенной совместимости прикладного программного обеспечения, не зависящей от изменений как в средствах разработки программного обеспечения, так и программно-аппаратных платформах. Преобразования моделей являются одним из важнейших механизмов, применяемых в MDA для достижения этой цели [6], как следствие, существует большое количество работ, посвященных данной тематике (например, [17, 18, 21-25].

Согласно проведенному анализу [26], предъявляемым в настоящей работе требованиям наиболее близко отвечает реляционный подход (relational approach) [27]. Он является декларативным, задает двустороннее межмодельное отображение и имеет реализацию пошагового преобразования [21]. Для задания межмодельного отображения используются языки UML и ОСЬ [20]. Однако в исходном виде подход не может быть применен к решению нашей задачи по двум причинам. Во-первых, изначально предлагавшаяся в подходе нотация, использовавшая стандартный UML, получилась достаточно громоздкой [22], а последующие попытки ее упростить привели к введению новых элементов в метамодель языка UML [23], что делает затруднительным применение CASE-пакетов, поскольку метамодель в них обычно не является расширяемой. Во-вторых, в работе не определен метод осуществления преобразования по межмодельному отображению, вследствие чего эта реализация далека от полноты - код приведения моделей в соответствие необходимо писать вручную [21].

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

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

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

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

3. Автоматизированная генерация кода преобразования моделей. Ниже излагается суть предлагаемого подхода к осуществлению автоматизированного преобразования между моделями, который был использован при решении задачи интеграции систем управления телекоммуникациями. Сначала описан способ задания высокоуровневого соответствия между моделями посредством языков UML и OCL. Затем предложен метод перехода от задания отображения к осуществлению преобразования между моделями и рассмотрены его основные отличия от других существующих методов. Программной реализацией предлагаемого метода является генератор кода преобразования моделей.

3.1. Задание межмоделъного отображения. Элементы моделей, между которыми устанавливается соответствие, можно разделить на структурные (к ним относятся классы и ассоциации между ними) и элементы данных (атрибуты классов). Само межмодельное отображение также является моделью, состоящей из элементов, которые можно классифицировать следующим образом:

• элементы структурного соответствия - это те элементы модели отображения, которые устанавливают соответствие между структурными элементами отображаемых моделей;

• элементы соответствия данных - устанавливают соответствие между элементами данных отображаемых моделей.

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

В реляционном подходе в качестве элементов структурного соответствия используются классы пар (pairs) и отношений (relations), а также ассоциации между ними и классами отображаемых моделей. В дополнение к этим структурным элементам UML также применяются ограничения, заданные на языке OCL [22] - текстовом языке, свободном от сторонних эффектов (side effects), применяемым в UML для задания дополнительных ограничений на элементы моделей [20].

В предлагаемом подходе сделана попытка использовать для задания структурных соответствий только элементы UML, применяя язык OCL исключительно для указания элементов соответствия данных. Кроме того, как уже говорилось в п. 2.3, упрощена исходная нотация межмодельного отображения без введения новых конструкций в метамодель языка UML, что позволяет применять для работы с межмодельными отображениями CASE-пакеты.

Пример нотации для задания межмодельного отображения приведен на рис. 1. Представленная на нем нотация формализована с помощью профиля языка UML [20].

Рис. 1. Пример задания межмодельного отображения.

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

Для обозначения атрибутов, значения которых могут быть изменены только «изнутри» системы, введен стереотип атрибута readonly. Такие атрибуты отражают динамическое состояние управляемого объекта, на которое клиент системы управления не в состоянии повлиять (например, температура элемента). Кроме того, используется стандартный признак frozen для обозначения неизменяемых свойств. В примере полю Линия.Тип нет соответствия в информационной модели управления производителя, поэтому его значение задается константой Аналоговая.

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

данных, не затрагивая вопросов функциональных преобразований, т. е. адаптации поведения классов.

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

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

В результате соединения реплицирующего и структурного преобразований, при выполнении операций по изменению исходной системы объектов времени выполнения, эти изменения «прогоняются» через цепочку структурных преобразований между моделями классов. При этом исходная операция по изменению системы объектов и ее контекст преобразуются из структуры исходной модели классов в структуру целевой модели классов. Если такое преобразование прошло успешно, то полученный результат применяется к целевой системе объектов, производя в ней изменения, соответствующие изменениям в исходной системе и преобразованные согласно отображению, заданному для модели классов.

Схема формирования суперпозиции преобразований приведена на рис. 2. Описать схему формирования можно следующим образом. Элементарная операция реплицирующего преобразования Я и пары отношения для ее операндов сформированы для исходной системы объектов Мц и предназначены для переноса в систему М\2 в соответствии с правилами преобразования операций в реплицирующем преобразовании (на рисунке последняя система изображена серым цветом, поскольку она является промежуточным результатом преобразований). Элементарную операцию и пары отношения можно считать системой объектов Мщ, являющуюся экземпляром исходной модели классов структурного преобразования 5. Поэтому для нее можно попытаться найти соответствующую систему объектов Мчи, принадлежащую множеству экземпляров целевой модели классов (Мг) структурного преобразования. Если соответствующая система объектов найдена, то она, так же как и исходная модель, будет задавать элементарную операцию и пары отображения, но уже для системы объектов М21, которая является экземпляром целевой модели классов структурного преобразования. Если продолжить использование реплицирующего преобразования, то будут внесены изменения в систему объектов М-22, которая и будет являться результатом применения суперпозиции преобразований 5(Д) к системе объектов Мц.

Рис. 2. Схема формирования суперпозиции преобразований.

Как следует из описания структурного преобразования, еще одной задачей является задание алгоритма восстановления цепочки элементарных структурных преобразований моделей классов на основе формально заданного межмодельного отображения. Соответствующий алгоритм осуществляет выборку цепочек преобразований отдельных ассоциаций из заранее подготовленной таблицы (в связи с этим в подходе наложены ограничения на используемые в моделях типы ассоциаций), а также находит «разделенные» и «слитые» классы моделей. К сожалению, ограничения на объем работы не позволяют представить здесь этот алгоритм.

Наиболее близким к представленному в настоящей работе подходу, используемому для задания межмодельных отображений, является реляционный подход [21-23].В качестве основных отличий предлагаемого в работе подхода можно указать:

• применение более простой по сравнению с [21, 22] нотации для задания межмодельного отображения, не требующей, в отличие от [23], введения новых элементов в метамодель языка UML, что позволяет использовать для задания модели отображения большинство CASE-пакетов, поддерживающих язык UML;

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

• нацеленность на преобразование моделей уровня МО в иерархии метамоделей OMG MOF [20], т. е. моделей времени выполнения.

В качестве возможных направлений дальнейших работ можно назвать:

1) ослабление ограничений, налагаемых на отображаемые модели, т. е. дальнейшее развитие алгоритма восстановления цепочек элементарных преобразований;

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

3.3. Инструментальные средства генерации кода преобразования моделей. Для выполнения задач проекта созданы расширения среды Eclipse Modeling Framework (EMF), входящей в состав популярной платформы разработки IBM Eclipse [28]. Этими расширениями являются:

• расширение метам одели Есоге посредством создания аннотации, предназначенных для представления дополнительной информации о модели отображения;

• модуль генерации кода классов-сервантов CORBA, являющихся одновременно объектами EMF;

• модуль генерации кода преобразования структуры и данных систем объектов, основанный на формальной модели преобразований, описанной в п. 3.2;

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

Расширения метамодели Есоге предназначены, во-первых, для указания связи между классами CORBA Value type, содержащими данные, и интерфейсами доступа к этим данным - эта информация используется модулем генерации кода классов-сервантов, а во-вторых, для хранения информации, заданной в модели отображения.

Модуль генерации кода классов-сервантов CORBA является специализированной версией стандартного генератора информационных классов EMF, отличающейся тем, что в соответствии с рекомендациями МСЭ-Т Q.816 и Х.780 [11, 12], данные хранятся в классах CORBA Value type, являющихся частью серверного объекта. Кроме того, генерируемые классы должны вдобавок к реализации интерфейсов каркасной библиотеки EMF реализовывать интерфейс операций соответствующего CORBA-иитерфейса.

Модуль генерации кода преобразования систем объектов производит вывод последовательности структурных преобразований. На основании результатов вывода генерируется код, осуществляющий преобразования элементарных операций. Код преобразования атрибутов, содержащих данные, генерируется на основании выражений на языке ОСЬ.

Элементарные операции реплицирующего преобразования формируются на основе событий об изменении данных информационных объектов. Источником событий об изменении объектов информационной модели управления адаптируемой системы является она сама. События об изменении серверных объектов со стороны сетевой системы управления генерируются средствами каркасной библиотеки EMF.

Для выполнения соответствующих элементарным операциям действий по преобразованию целевой модели используется код, предоставляемый пользователем системы. Этот код «подключается» к сгенерированному коду с использованием шаблона проектирования «Generation Gap» [29]. Применение этого шаблона позволяет обеспечить итеративную (round-trip) генерацию кода.

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

3-4■ Выводы. В рамках предлагаемого подхода предложена нотация, определяющая профиль (набор стереотипов) языка UML для описания структурного соответствия между объектно-ориентированными моделями управления и основанная на принципах реляционного подхода. Однако в отличие от последнего возможно использование CASE-пакетов для задания межмодельпого отображения.

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

является исполняемым), а правила манипуляции над объектами и связями моделей, являющихся ее экземплярами, определяются автоматически на основании состава и структуры отображаемых моделей классов.

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

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

Современные подходы, используемые при создании программного обеспечения, такие как OMG MDA [6] и МСЭ-Т UTRAD/MISM [31] (последний специфичен для сферы телекоммуникаций), предписывают использование высокоуровневого языка моделирования для описания структуры, внешних интерфейсов и даже логики работы программного обеспечения, что делает возможным дальнейшую автоматическую генерацию кода. Таким образом, предлагаемый в данной работе подход отвечает современным требованиям к методам разработки и применяемым инструментальным программным средствам.

В рамках описываемого подхода предложены:

• нотация для задания отображения между моделями, основанная на реляционном подходе к преобразованию моделей (п. 3.1);

• метод перехода от задания отображения к осуществлению преобразования между моделями (п. 3.2);

• архитектура построения генерируемого кода, поддерживающая итеративную разработку модуля преобразования моделей (п. 3.3).

Согласно предлагаемому подходу реализованы:

• генератор кода преобразования моделей по заданному отображению между моделями;

• каркасная библиотека поддержки кода преобразования моделей.

Эти инструменты применены при решении промышленной задачи создания Q-адаптера для системы управления ЭАТС «Квант-Е-Сокол».

Дальнейшие исследования и разработки могут вестись в следующих направлениях:

1) ослабление ограничений, налагаемых на отображаемые модели за счет обработки дополнительных ситуаций в алгоритмах межмодельных преобразований (см. п. 3.2);

2) поддержка параллельного выполнения преобразования моделей (см. п. 3.3).

Summary

Naganov М. V. Model transformation automation for the telecommunications management sys-tems integration.

An approach to automated code generation for the transformation of telecommunications sys-tems management information models is described. This challenge arises while integrating a telecommunications management system into an existing management network built in accordance with ITU-T TMN concept. The proposed approach is compared to model transformation techniques developed for the OMG MDA architecture.

Литература

1. Гребешков А. Ю. Стандарты и технологии управления сетями связи. М.: Эко-Трендз, 2003. 288 с.

2. ITU-T Recommendation M.3000: Overview of TMN recommendations. 2000. 32 p.

3. ITU-T Recommendation M.3010: Principles for a Telecommunications management network.

2000. 40 p.

4. Naganov M. Towards automatic generation of Q adaptors // Proc. of the IASTED conference on Software Engineering (SE'2005). Innsbruck, Austria, 2005. P. 214-219.

5. OMG Model Driven Architecture (MDA). OMG Document ormsc/2001-07-01. 2001. 31 p.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

6. Kleppe A., Warmer J., Bast W. MDA Explained: The Model Driven Architecture: practice and promise. Reading, Mass.: Addison Wesley Longman, Inc., 2003. 192 p.

7. ITU-T Recommendation X.200: Information technology - Open systems interconnection -Basic reference model: The basic model. 1994. 59 p.

8. Блэк Ю. Сети ЭВМ: протоколы, стандарты, интерфейсы / Пер. с англ.; Под ред. В. В. Василькова. М.: Мир, 1990. 506 с.

9. ITU-T Recommendation Х.720: Information technology - Open systems interconnection -Structure of management information: Management information model. 1992. 31 p.

10. ITU-T Recommendation M.3120: CORBA generic network and network element level information model. 2001. 24 p.

11. ITU-T Recommendation Q.816: CORBA-based TMN services. 2001. 80 p.

12. ITU-T Recommendation X.780: TMN guidelines for defining CORBA managed objects.

2001. 86 p.

13. OMG Common Object Request Broker Architecture: Core specification. Version 3.0.3. OMG Document formal/04-03-12. 2004. 1152 p.

14. Наганов M. В. Практический опыт промышленной реализации системы управления гетерогенной транспортной сетью // Системное программирование. Вып. 1: Сб. ст. / Под ред. А. Н. Терехова, Д. Ю. Булычева. СПб.: Изд-во С.-Петерб. ун-та, 2005. С. 115-130.

15. EURESCOM Р609 Project: Catalogue of standards and relevant documents on network and service management information models // http://www.eurescom.de/~public-web-deliverables / p600-series/P609/eurescom / emol97/catalog.

16. Petermueller W. J. Q3 Object Models for the management of exchanges // IEEE Communications. 1996. Vol. 34, N 3. P. 48-60.

17. Lopes D., Hammoudi S., Bèzivin J., Jouault F. Mapping specification in MDA: From theory to practice // Proc. of the First Intern, conference on interoperability of Enterprise Software and Applications (INTEROP-ESA'2005). 2005. P. 253-264.

18. Gardner T., Griffin C., Koehler J., Hauser R. A review of OMG MOF 2.0 Query / Views / Transformations submissions and recommendations towards the final standard. OMG Document ad/03-08-02. 2003. 21 p.

19. Blostein D., Fahmy H., Grbavec A. Issues in the practical use of graph rewriting // Lecture Notes in Comput. Sei. (LNCS). Berlin: Springer Verlag, 1996. Vol. 1073. P. 38-55.

20. OMG Unified Modeling Language specification. Version 1.5. OMG Document formal/03-03-01. 2003. 736 p.

21. Akehurst D. Model Translation: A UML-based specification technique and active implementation approach: Ph.D thesis. Canterbury: The University of Kent, 2000. 206 p.

22. Akehurst D., Kent S. A relational approach to defining transformations in a metamodel // Proc. of the 5th Intern. Conference on UML. 2002. Vol. 2460. P. 243-258.

23. Hausmann J. Metamodeling Relations - Relating metamodels // Metamodelling for MDA workshop. York, UK, 2003. P. 147-161.

24. Кузнецов M. Б. Трансформация UML-моделей и ее применение в технологии MDA: Препринт Ин-та системного программирования РАН № 5. М.: Изд-во РАН, 2005. 26 с.

25. Varro D., Pataricza A. UML action semantics for model tranformation systems // Periodica Politechnica. 2003. Vol. 47, N 3. P. 167-186.

26. Naganov M. Bridging academia and the private sector in legacy telecommunications management systems integration // Proc. of the IASTED conference on Communication Systems and Networks (CSN'2005). Benidorm, Spain, 2005. P. 117-122.

27. Czarnecki K., Helsen S. Classification of model transformation approaches // Proc. of OOP-SLA'03 Workshop on Generative Techniques in the Context of Model-Driven Architecture. Anaheim, California, USA, 2003. P. 17-33.

28. Moore В., Dean D., Gerber A. et al. Eclipse development using the graphical editing framework and the eclipse modeling framework. Reading, Mass.: Addison Wesley Longman, Inc., 2005. 256 p.

29. Влиссидес Д. Применение шаблонов проектирования. Дополнительные штрихи / Пер. с англ.; Под ред. Н. А. Ореховой. М.: Вильяме, 2002. 144 с.

30. De Lara J., Ermel С., Taentzer G., Ehrig K. Parallel graph transformation for model simulation applied to timed transition Petri nets // Electr. Notes Theor. Comput. Sci. 2004. Vol. 109. P. 17-29.

31. ITU-T Recommendation M.3020: TMN Interface Specification Methodology. 2000. 36 p.

Статья представлена к публикации членом редколлегии А. Н. Тереховым.

Статья принята к печати 18 сентября 2006 г.

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