автореферат диссертации по , 05.00.00, диссертация на тему:Архитектура программных агентов для проверки соответствия распределенных документов

кандидата технических наук
Смолко, Данила Станиславович
город
Б.м.
год
2001
специальность ВАК РФ
05.00.00
цена
450 рублей
Диссертация по  на тему «Архитектура программных агентов для проверки соответствия распределенных документов»

Оглавление автор диссертации — кандидата технических наук Смолко, Данила Станиславович

СОДЕРЖАНИЕ

ГЛАВА] ВВЕДЕНИЕ

1.1 Введение

1.2 мотивация сценария

1.3 Ссылки

1.4 Структура работы

ГЛАВА 2 АНАЛИЗ РАБОТ, СВЯЗАННЫХ С ПРОВЕРКОЙ СООТВЕТСТВИЯ

2.1 Происхождение Viewpoints

2.2 Viewpoints - ориентированная разработка программного обеспечения (VOSE)

2.2.1 Viewpoints

2.2.2 Непротиворечивость ViewPoints

2.2.3 Возможности управления соответствием

2.2.4 Политика

2.3 Программные среды разработки

2.4 Грамматики атрибутов

2.5 CENTAUR- язык спецификаций

2.6 ПРОГРЕСС-универсальный язык спецификаций

2.7 GOODSTEP - язык спецификаций инструментов

2.8 XLINKIT- язык отношений соответствия

2.8.1 Порождение Связей

2.8.2 XLinkit и дистрибутивная поддержка

2.9 резюме

ГЛАВА 3 ТРЕБОВАНИЯ ДЛЯ СИСТЕМЫ РАСПРЕДЕЛЕННОЙ ПРОВЕРКИ СООТВЕТСТВИЯ

3.1 Пользователи

3.2 Спецификация междокументных связей

3.3 Местоположение правил соответствия и их применимость

3.4 Мониторинг распределенных документов и идентификация изменений

3.5 Синхронизация проверок

3.6 Инкрементальные проверки

3.7 Уместность правил соответствия

3.8 Локальный доступ к документам

3.9 Представление результатов проверок

3.10 Обновление результатов проверок

3.11 Регистрация и обработка событий

3.12 Резюме

ГЛАВА 4 ПРОГРАММНЫЕ АГЕНТЫ И ПАРАДИГМА МОБИЛЬНОГО АГЕНТА

4.1 что такое - программный агент?

4.2 Характеристики программных агентов

4.2.1 Слабое агентство

4.2.2 Сильное агентство

4.3 мобильность агента

4.4 Структура распределенной системы с мобильными агентами

4.4.1 Традиционные распределенные системы

4.4.2 Мобильные агенты

4.4.3 Использование Мобильных Агентов: "за" и "против"

4.5 Меж-агентная связь

4.5.1 Примитивы связи

4.5.2 Язык Связей

4.5.3 Миогоагентное сотрудничество

4.5.4 Служба местоположения для распределенных агентов

4.6 Классификация систем мобильных агентов

4.6.1 Классификация систем

4.6.2 Комментарии

4.7 Система мобильных агентов Aglets

4.7.1 Агенты

4.7.2 Серверы

4.7.3 Связь

4.7.4 Функции защиты 74 4. 7.5 Модель событий Aglets - Пример клонирования агентов 74 4. 7. б Модель событий - Мобильность агента

4.8 выбор системы мобильных агентов для архитектуры распределенной проверки соответствия

4.8.1 Требования к системе мобильных программных агентов

4.8.2 Комментарии

4.9 резюме

ГЛАВА 5 ИНКРЕМЕНТНАЯ ПРОВЕРКА СООТВЕТСТВИЯ

5.1 правила соответствия

5.1.1 Пример правша

5.1.2 Проверка правша устойчивости

5.1.3 Результирующие связи соответствия

5.1.4 Хрупкость связей соответствия XLink локаторов

5.2 исчерпывающая проверка соответствия

5.2.1 Схема алгоритма

5.2.2 Прикладная область для исчерпывающих проверок

5.3 инкрементная проверка соответствия

5.3.1 Инициализация

5.3.2 Выбор уместных правш соответствия

5.3.3 Выполнение отобранных правил

5.4 Распределение проверок соответствия

5.4.1 Мобильные агенты

5.4.2 Распределенная инкрементная проверка соответствия

5.5 Инкрементная проверка: Выводы

5.6 Резюме

ГЛАВА 6 АРХИТЕКТУРА ПРОГРАММНЫХ АГЕНТОВ ДЛЯ РАСПРЕДЕЛЕННОЙ ПРОВЕРКИ

СООТВЕТСТВИЯ

6.1 Введение

6.2 Описание архитектуры

6.2.1 Агент ресурсного интерфейса

6.2.2 Доменный агент

6.2.3 Шлюзовой доменный агент

6.2.4 I!обильный агент проверки соответствия

6.2.5 Агент пользовательского интерфейса

6.3 Иерархическая информационная структура

6.3.1 Таблица имен и типов документов

6.3.2 Распределение правш соответствия

6.3.3 Подходы к распределению правил соответствий

6.3.4 Предложенные решения для распределения правил соответствия

6.3.5 Таблица поиска агента

6.3.6 Таблица списка событий

6.3.7 Политика системы

6.4 Развитие системы

6.5 Удовлетворение функциональных требований с помощью компонентов архитектуры

6.5.1 Ресурсный агент интерфейса

6.5.2 Агент домена

6.5.3 Шлюзовой агент домена

6.5.4 Мобильный агент проверки соответствия

6.5.5 Агент пользовательского интерфейса

6.6 Резюме

ГЛАВА 7 МОДЕЛИРОВАНИЕ АРХИТЕКТУРЫ И ОЦЕНКА БЫСТРОДЕЙСТВИЯ

7.1 введение

7.2 Приближения моделирования

7.2.1 Выбор моделирования состояний в качестве предмета оценки

7.2.2 Инструмент моделирования - Covers

7.3 модель архитектуры

7.3.1 Документ активного объекта

7.3.2 Активный объект Агента Интерфейса Ресурсов

7.3.3 Активный объект Мобильного Агента Проверки Соответствия

7.3.4 Активный объект Агента Домена

7.3.5 Активный объект Промежуточного Агента

7.4 результаты обследования

7.5 резюме

ГЛАВА 8 СЦЕНАРИИ: РАСПРЕДЕЛЕННАЯ РАЗРАБОТКА ПРИЛОЖЕНИЯ "ПЛАНИРОВЩИК

ПЕРЕМЕН"

8.1 Введение

8.2 Прикладная область

8.3 Краткий обзор Сценариев

8.4 Команда разработки Приложения

8.5 Начальный анализ и проект Приложения "Планировщик перемен".

8.6 Сценарий I: Местная проверка соответствия в хосте в пределах одиночного домена

8.6.1 Событие: Создание нового документа

8.6.2 Ответ: Проверка соответствия

8.6.3 Результат: Сгенерированная связь соответствия

8.6.4 Обработка События

8.7 Сценарий II: Распределенная проверка соответствия в пределах одиночного домена 170 ^ 8.7.1 Распределенная проверка: Порождение связей соответствия

8.7.2 Событие: Изменение документа

8.7.3 Обработка события архитектурой программных агентов

8.8 Сценарий III: Распределение Приложения "Планировщик перемен".

8.8.1 Распределение UML элементов

8.8.2 Междоменная политика перемещения агента

8.8.3 Распределенная междоменная проверка соответствия

8.8.4 Междоменное открытие местоположения документа

8.8.5 Мультиагентское сотрудничество

8.8.6 Межсетевые защиты и защита мобильного агента

8.8.7 Разъединенная операция

8.8.8 Дублирование

8.9 Резюме

ГЛАВА 9 ВЫПОЛНЕННЫЙ ПРОТОТИП

9.1 Введение

9.2 агент ресурсного интерфейса.

9.2.1 Запуск

9.2.2 Дескрипторы сообщений

9.3 Агенты домена

9.3.1 Запуск

9.3.2 Дескрипторы сообщений

9.4 Мобильный агент проверки соответствия

9.4.1 Запуск

9.4.2 Дескрипторы сообщений

9.4.3 Процедура клонирования

9.4.4 Перемещение

9.4.5 Проверка избыточности

9.5 межсетевой агент домена

9.5.1 Запуск

9.5.2 Дескрипторы сообщений

9.6 Агент интерфейса пользователя

9.6.1 Запуск

9.6.2 Дескрипторы сообщений

9.7 Защита 218 9. 7.1 Защита на уровне пользователя

9.7.2 Уровень безопасности работы мобилы/ых агентов внутри домена

9.7.3 Защита на уровне перемещения мобильного агента

9.7.4 Уровень защиты сообщений

9.8 Резюме

ГЛАВА 10 ОЦЕНКА

10.1 Качественные особенности

10.1.1 Элегантность

10.1.2 Управляемость

10.1.3 Политика применимости правил

10.1.4 Гибкость и динамическая реконфигурация

10.1.5 Объединение ресурсов в домены и поддержка иерархии доменов

10.1.6 Операции с отключенным пользователем

10.1.7 Поддержка транзакций

10.1.8 Баланс требований

10.2 Количественные оценки быстродействия 235 / 0.2.1 Сравнение полной проверки достоверности и инкрементной проверки

10.2.2 Сравнение распределенной проверки с централизованной проверкой

10.2.3 Сравнение централизованной исчерпывающей и распределенной инкрементной проверок

10.3 Резюме

Введение 2001 год, диссертация по , Смолко, Данила Станиславович

E.9 Теорема о многоагентной распределенной и локальной централизованной проверках соответствия 310

Щ ПРИЛОЖЕНИЕ F ИНКРЕМЕНТНАЯ ПРОВЕРКА: ТЕХНИЧЕСКИЕ ПРОБЛЕМЫ 313

F.1 Выбор релевантного правила соответствия 313 F.2 Метод выбора простого правила 314 F.3 Усовершенствованный метод: Выборочное выполнение ХРатн выражений 317 F.4 Слияние множества связей соответствия 318 F.5 Распределение в UML моделях 323

Это преднамеренно чистая страница

Заключение диссертация на тему "Архитектура программных агентов для проверки соответствия распределенных документов"

11.1 Заключение

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

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

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

11.1.1 Архитектура программных агентов для распределенной проверки соответствия

Впервые разработана Архитектура Программных Агентов для Проверки Соответствия Распределенных Документов, новизна которой отмечена Международным Патентом (Патентный Офис Великобритании, номер патента GB2351165, Университетский Колледж Лондона Университет Лондона, заявка номер GB9914232.5, 18/06/1999, «Метод и аппарат для мониторинга и поддержания соответствия распределенных документов», на англ. яз., в соавторстве).

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

Архитектура обеспечивает гибкость в конфигурации и интегрируется с существующими средами разработки.

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

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

11.1.2 Модель архитектуры

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

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

Представленная Модель обеспечила первоначальную оценку и утвердила архитектуру, создав предпосылки для реализации ее Прототипа.

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

11.1.3 Инкрементная проверка

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

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

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

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

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

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

Оценка предложенного подхода проверки выполнена в виде качественных и количественных характеристик архитектуры.

11.1.4 Проверка правильности архитектуры

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

Что касается такой важной характеристики Архитектуры, как быстродействие - показатель ее эффективности, то в работе выполнено эталонное тестирование. В зависимости от комбинации варьируемых параметров модели, время необходимое для обработки множества документов набором правил соответствия, лежит в пределах от 120 секунд (25 документов * 100 элементов) до 500 секунд (50 документов * 600 элементов), где каждая проверка инициирует конкурентное выполнение 10-20 правил соответствия. Автор рассматривает этот результат как вполне оптимистичный, так как проверки производятся методом независящим от местоположения документа.

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

Оценка на количественной модели архитектуры программных агентов определила оптимальные отношения между измеримыми параметрами конфигурации такими как, например, количество компьютеров, количество элементов документов, число правил, число параллельных мобильных агентов и т.д. Отклонения экспериментальных данных оценки быстродействия от данных теоретической модели, разработанной в Приложении Е, лежат в пределах 8-11%. Отклонение между экспериментальным временем для формальных правил ассоциации а1 и а4 было в пределах 3-5%.

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

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

Завершенная оценка показала, что предложенная Архитектура соответствует заданным функциональным требованиям, решает поставленные в диссертации задачи, выполнив цель работы.

11.2 Открытые вопросы и планы на будущее

11.2.1 Системы проверки соответствия

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

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

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

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

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

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

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

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

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

11.2.2 Протоколы

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

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

11.2.3 Интеграция архитектуры программных агентов

Одна из будущих областей для разработки архитектуры программных агентов - более полная интеграция архитектуры Прототипа с будущими программными средами разработки и текущими инструментальными средствами.

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

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

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

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

11.2.4 Распределение в архитектуре программных агентов

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

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

11.2.5 Инкрементная проверка

Правила соответствия в текущей итерации системы для порождения связей, предложенные в данной диссертации, основаны на выражениях, сформулированных на языке XPath.

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

Текущая реализация алгоритма проверки использует «легкий» алгоритм, который обеспечивает простоту «передвижения» XML парсера по дереву структуры документа DOM в процессе выбора релевантных правил. Когда используются сложные выражения XPath очевидно, что «легкий» алгоритм иногда выбирает правила, которые не обязательно применимы к специфическому изменению документа на рассмотрении.

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

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

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

Это преднамеренно чистая страница

Библиография Смолко, Данила Станиславович, диссертация по теме Технические науки

1. Armitage, et al. 1998. Armitage, S., Stevens, R., and Finkelstein, A., Implementing a Compliance Manager, In Requirements Engineering, 3(2): 98-106, 1998.

2. Asperti and Busi 1996. Asperti, A. and Busi, N., Mobile Petri Nets. Technical Report UBLCS-96-10, Department of Computer Science, University of Bologna, 1996.

3. Baldwin 1993. Baldwin, D., Applying Multiple Views To Information Systems: A Preliminary Framework, In. Database, 24(4): 15-30, 1993.

4. Balzer 1991. Balzer, R., Tolerating Inconsistency. In Proc. of 13th Int. Conference on Software Engineering, Austin, Texas, USA, pp. 158-165, IEEE Computer Society Press, 1991.

5. Bergner, et al. 1997. Bergner, K., Rausch, A., and Sihling, M., Using UML for Modeling a Distributed Java Application. TUM-I9735, Techniche Universität München, München, July 1997.

6. Booch 1991. Booch, G., Object-Oriented Design With Applications, The Benjamin/Cummings Publishing Company, Inc., 1991.

7. Booch 1994. Booch, G., Object-Oriented Analyis And Design With Applications, 2nd ed. The Benjamin Cummings Publishing Company, Inc., 1994.

8. Booch, et al. 1999. Booch, G., Jacobson, I., and Rumbaugh, J., The Unified Modelling Language User Guide: UML, Addison Wesley, 1999.

9. Bowman, et al. 1995. Bowman, H. A., Derrick, J., and Steen, M. W. A., Some Results On Cross Viewpoint Consistency Checking. In Open Distributed Processing 111, Raymond, K. and Armstrong, L., Eds., pp. 399-412. Chapman & Hall, 1995.

10. Box 1998. Box, D., Essential COM, Addison Wesley Longman, 1998.

11. Bray, et al. 1998. Bray, Т., Paoli, J., Sperberg-McQueen, С. M., and Maler, E., Extensible Markup Language. Recommendation. Wold Wide Web Consortium. http://www.w3.org/TR/2000/REC-xml-20001006, 1998.

12. Caribou 1997. Caribou, Lake Software, Remote Observer Classes. http://www.cariboulake.com/products/products.html, 1997.

13. Cerutti and Pierson 1993. Cerutti, D. and Pierson, D., Distributed computing environments, McGraw-Hill, 1993.

14. Chin 1991. Chin, D. N., Intelligent Interfaces As Agents. In Intelligent User Interfaces, Sullivan, J. W. and Tyler, S. W., Eds., pp. 177-206. ACM Press, 1991.

15. Clark and DeRose 1999. Clark, J. and DeRose, S., XML Path Language (XPath) Version 1.0. Recommendation. World Wide Web Consortium. http: //www. w3. org/TR/1999/REC-xpath-19991116, 1999.

16. Coloaris, et al. 2000. Colouris, G., Dollimore, J., and Kindberg, T., Distributed Systems: Concepts And Design, 3nd ed. Addison-Wesley, 2000.

17. Covers 1998. Covers, Covers Tool for Construction of State Transition Models. http://www.xjtek.com, 1998.

18. Cowen, et al. 1993. Cowen, G., Derrick, J., Gill, M., Girling, G., Herbert, A., Linington, P. F., Rayner, D., Schulz, F., and Soley, R., Prost Report Of the Study On Testing For Open Distributed Processing. Girling, G., Ed., APM Ltd., 1993.

19. DeRose, et al. 2000. DeRose, S., Maler, E., and Orchard, D., XML Linking Language (XLink). Version 1.0. Candidate Recommendation. World Wide Web Consortium, 20 December 2000. www.w3.org/TR/xlink/.

20. Despeyroux 1988. Despeyroux, T., TYPOL A Framework to Implement Natural Semantics. Technical Report 94, INRIA, Roquencourt, 1988.

21. Emmerich 2000. Emmerich, W., Engineering Distributed Objects, John Wiley & Sons, 2000.

22. Emmerich, et al. 1999. Emmerich, W., Finkelstein, A., Montangero, C., Antonelli, S., Armitage, S., and Stevens, R., Managing Standards Compliance, In Transactions on Software Engineering, 25(6) 1999.

23. Finkelstein, et al. 1994. Finkelstein, A., Kramer, J., and Nuseibeh, B., Inconsistency Handling in Multi-Perspective Specifications, In IEEE Transactions on Software Engineering, 20(8): 569-578, 1994.

24. Finkelstein, et al. 1996. Finkelstein, A., Spanoudakis, G., and Till, D., Managing Interference. In Proceedings of ACM SIGSOFT 96 Workshop, Viewpoints 96, pp. 172-174, ACM Press,

25. Frappier, et al. 1995. Frappier, M., Mili, A., and Desharnais, J., Program Construction By Parts. In Mathematics of Program Construction, B., Möller, Ed., Lecture Notes in Computer Science, vol. 947, pp. 257-281. Springer-Verlag, 1995.

26. Fuggetta, et al. 1998. Fuggetta, A., Picco, G. P., and Vigna, G., Understanding Code Mobility, In IEEE Transactions on Software Engineering, 24(5): 342-361, 1998.

27. Genesereth and Fikes 1992. Genesereth, M. R. and Fikes, R. E., Knowledge Interchange Format Version 3.0 Reference Manual. Interlingua Working Group of the DARPA Knowledge Sharing Initiative,available from http: // lo gic. Stanford, edu/kif/.

28. Genesereth and Ketchpel 1994. Genesereth, M. R. and Ketchpel, S. P., Software Agents, In Communications of the ACM, 37(7): 48-53, 1994.

29. Giladi and Shoval 1994. Giladi, R. and Shoval, P., An Architecture Of an Intelligent System for Routing User Requests In a Network Of Heterogeneous Databases, In Journal of Intelligent Information Systems, 3: 205-219, 1994.

30. Goose 1995. Goose, S., Distributed Open Hypermedia Systems. PhD Thesis, Department of Electronics and Computer Science, University of Southampton, 1995.

31. Gray 1996. Gray, R. S., Rus, D. and Kotz, D., Transportable Information Agents. Technical Report TR96-278, Department of Computer Science, Dartmouth College, USA, 1996.

32. Habermann and Notkin 1986. Habermann, A. N. and Notkin, D., Gandalf: Software Development Environments, In IEEE Transactions on Software Engineering, 12(12): 1117-1127, 1986.

33. Harel 1987. Harel, D., Statecharts: A Visual Formalism for Complex Systems, In Science of Computer Programming, 8(3): 231-274, 1987.

34. Haugeneder and Steiner 1998. Haugeneder, H. and Steiner, D., Co-operating Agents: Concepts and Applications. In Agent Technology: Foundation, Applications and Markets, Jennings, R. and Wooldridge, M., Eds., Springer, 1998.

35. M 1997. IBM, TabiCan. IBM Corporation, 1997. http://www.tabican.ne.jp.

36. M 1998. IBM, Aglets SDK. IBM Corporation, July 1998.http://www.trl.ibm.co.jp/aglets/.

37. Johnson and Fisher 1982. Johnson, G. F. and Fisher, C. N., Non-syntactic attribute ow in language based editors. In Proc. of the 9th Annual ACM Symposium on Principles of Programming Languages, pp. 185-195, ACM Press, 1982.

38. Karjoth, et al. 1997. Karjoth, G., Lange, D. B., and Oshima, M., A Security Model for Aglets, In IEEE Internet Computing, 1(4): 68-77, 1997.

39. Karnik and Tripathi 1998. Karnik, N. and Tripathi, A., Design Issues in MobileAgent Programming Systems, In IEEE Concurrency, 6(3): 52-61, 1998.

40. Kastens 1980. Kastens, U., Ordered Attributed Grammars, In Acta Informática,, 13(3): 229-256, 1980.

41. Kay 1984. Kay, A., Computer Software, In Scientific American, 251(3): 191207, 1984.

42. Kiniry and Zimmerman 1997. Kiniry, J. and Zimmerman, D., A Hands-On Look at Java Mobile Agents, In IEEE Internet Computing, 1(4) 1997.

43. Knuth 1968. Knuth, D. E., Semantics of Context-Free Languages, In Mathematical Systems Theory, 2(2): 127-145, 1968.

44. Papazoglou, M., and Schlageter, G., Eds., pp. 89-97, IEEE Computer Society Press, 1993.

45. Meyers 1991. Meyers, S., Difficulties in Integrating Multiview Development Systems, In IEEE Software, 8(1): 49-57, 1991.

46. Milojicic 1999. Milojicic, D., Trend Wars: Mobile Agent Applications, In IEEE Concurrency, 7(3): 80-90, 1999.

47. Mobility 2001. Mobility, The Mobility Mailing List for discussion of mobility. http://mobility.lboro.ac.uk, 2001.

48. Mullery 1979. Mullery, G. P., CORE a Method for Controlled Requirement Specification. In Proceedings of the 4th International Conference on Software Engineering, pp. 126-135, IEEE Computer Society, 1979.

49. Nagl 1985. Nagl, M., An Incremental and Integrated Software Development Environment, In Computer Physics Communications, 38: 245-276, 1985.

50. Navathe, et al. 1986. Navathe, S., Elmasri, R., and Larson, J., Integrating user views in database design, In IEEE Computer, 19(1): 50-62, 1986.

51. Nentwich, et al. 2000a. Nentwich, C., Capra, L., Emmerich, W., and Finkelstein, A., www.xlinkit.com. 2000a.

52. Nentwich, et al. 2000b. Nentwich, C., Capra, L., Emmerich, W., and Finkelstein, A., xlinkit: a Consistency Checking and Smart Link Generation Service. Research Note RN/00/66. Submitted for Publication., University College London, London, December 2000.

53. Nentwich, et al. 2001a. Nentwich, C., Emmerich, W., and Finkelstein, A., Checking Distributed Software Engineering Content. Department of Computer Science Research Note RN/01/11. Submitted for publication, University College London, UK, March 2001.

54. Nentwich, et al. 2001b. Nentwich, C., Emmerich, W., and Finkelstein, A., xlinkit: links that make sense. Department of Computer Science Research Note RN/01/6, University College London, UK, 2001.

55. Nuseibeh 1994. Nuseibeh, B. A., A Multi-Perspective Framework for Method Integration. PhD thesis, Imperial College, University of London, 1994.

56. Nwana and Wooldridge 1996. Nwana, H. S. and Wooldridge, M., Software Agent Technologies, In British Telecom Technology Journal, 14(4): 68-78, 1996.

57. ObjectSpace 1997. ObjectSpace, Voyager, General Magic Odyssey, IBM Aglets: A Comparison. Technical White Paper. ObjectSpace, Incorporated, June 1997.

58. OMG 1995. OMG, Object Management Group, The Common Object Request Broker: Architecture and Specification Revision 2.0. OMG, 492 Old Connecticut Path, Framingham, MA 01701, USA, 1994.

59. Oshima and Karjoth 1997. Oshima, M. and Karjoth, G., Aglets Specification (1.0). IBM Tokio Research Laboratory, May 1997.

60. Panurak 1998. Panurak, V. D. H., Practical and Industrial Applications of Agent-Based Systems. Available at http://www.erim.org/~van/apps98.pdf.

61. Papaioannou 2000. Papaioannou, T., On the Structuring of Distributed Systems: The Argument for Mobility. Ph.D. Thesis, Loughborough University, 2000.

62. Papaioannou and Edwards 1999. Papaioannou, T. and Edwards, J. M., Using Mobile Agents To Improve the Alignment Between Manufacturing and its IT Support Systems, In International Journal of Robotics and Autonomous Systems, 27: 45-57, 1999.

63. Picco 1998. Picco, G. P., Understanding, Evaluating, Formalizing, and Exploiting Code Mobility. Politécnico di Torino: 1998.

64. Prestegard, et al. 1999. Prestegard, G., Hanssen, A. A., Brandstadmoen, S., and Nymoen, B. S., DIAS Distributed Intelligent Agent System. Project report. NTNU, Trondheim, Norway, 1999.

65. Rational 1998. Rational, Insurance Network Fees and Claims System, Rational1.c.http://www.rational.com/support/downloadcenter/addins/media/rose/insurance.zip,1998.

66. Reeves, et al. 1995. Reeves, A., Marashi, M., and Budgen, D., A software design framework or how to support real designers, In IEE/BCS Software Engineering Journal, 10(4): 141-155, 1995.

67. Reps and Teitelbaum 1981. Reps, T. W. and Teitelbaum, T., The Cornell Program Synthesizer: A syntax-directed programming environment., In Communications of the ACM, 24(9): 449-477, 1981.

68. Reps and Teitelbaum 1988. Reps, T. W. and Teitelbaum, T., The Synthesizer Generator a system for constructing language based editors, Springer, 1988.

69. Revheim 2000. Revheim, T., Consistency Checking of Heterogeneous Distributed Documents. Master Thesis. University College London, 2000.

70. RMI 1998. RMI, Java Remote Method Invocation Specification. JavaSoft, Revision 1.50, JDK 1.20 Edition. 1998.

71. Seregeundo, et al. 1996. Seregeundo, G. D. M., Muhugusa, M., Tschudin, C., and Harms, J., Formalization of Agents and Multi-Agent Systems. The Special Case of Category Theory. Technical Report 109, Teleinformatics, University of Geneva, 1996.

72. Sibertin-Blanc 1994. Sibertin-Blanc, C., Cooperative nets. In LCNS, vol. 815, Valette, R., Ed., Springer-Verlag, 1994. pp. 471-490.

73. Simon 1996. Simon, E., Distributed Information Systems from client/server to distributed multimedia, McGraw-Hill, 1996.

74. Sloman and Kramer 1987. Sloman, M. and Kramer, J., Distributed Systems and Computer Networks, Prentice Hall, 1987.

75. Smolko 2001. Smolko D., Mobile Agent Arhitecture For Portfolio Management In Proceeding of Internation Conference SCM' 2001, S.Petersburg, Russia, 2001.V.1. pp 208-211.

76. Smolko 2001. Smolko, D., Design and Evaluation of the Mobile Agent Architecture for Distributed Consistency Management. In Proc. 23rd Int. Conference on Software Engineering, Toronto, Canada, Computer Society IEEE, 2001. pp. 799801.

77. Smolko 2002. Smolko D., A Novel approach to consistency checking of distributed documents and processing of measurement results in a control systems In Proceeding of Internation Conference S&S 2002, S.Petersburg, Russia, 2002.V.III. pp 154-158.

78. Smolko 2002. Smolko D., State Transition Model of a Distributed Mobile Agent Architecture. In Proceedings of International Conference SCM' 2002, St.Petersburg, Russia,2002. Vol.2, pp. 172-176.

79. Spanoudakis, et al. 1997. Spanoudakis, G., Finkelstein, A., and Emmerich, W., Viewpoints 96: International workshop on multiple perspectives in software development (SIGSOFT 96)., In ACM SIGSOFT Software Engineering Notes, 22(1): 39-41, 1997.

80. Steels 1990. Steels, L., Cooperation between distributed agents through self-organisation. In Decentralized AI, Demazeau, Y. and Muller, J. P., Eds., pp. 175-196. Amsterdam: Elsevier Science Publishers B.V. (North Holland), 1990.

81. Steen 1998. Steen, M., Consistency And Composition Of Process Specifications. Ph. D. Thesis, University of Kent at Canterbury. 1998.

82. Vigna 1997. Vigna, G., Mobile Code Technologies, Paradigms, and Applications. Ph.D. Thesis Politécnico di Milano, Italy, 1997.

83. Waldo, et al. 1994. Waldo, J., Wyant, G., Wollrath, A., and Kendall, S., A note on distributed computing. Sun Microsystems Technical Report SML 94-29, Sun Microsystems, 1994.

84. Westfechtel 1989. Westfechtel, B., Revision Control in an Integrated Software Development Environment, In ACM SIGSOFT Software Engineering Notes, 17(7): 96-105,1989.

85. Wooldridge and Jennings 1995. Wooldridge, M. and Jennings, N. R., Intelligent Agents: Theory and Practice, In Knowledge Engineering Review, 10(2): 115—152, 1995.

86. Zave and Jackson 1996. Zave, P. and Jackson, M., Where do operations come from : A multi-paradigm specification technique, In IEEE Transactions on Software Engineering, 22(7): 508-528, 1996.