Окончен труд, завещанный мне богом! (А.С.Пушкин)
(Окончание)
Самоорганизация в компьютерных сетях будущего
Перевод диссертации (с некоторыми сокращениями):
Ein MDA-basierter Ansatz zur
Entwicklung von Organic
Computing Systemen
Holger Kasinger
TR 2005-08
(basierend auf der Diplomarbeit von Holger Kasinger)
Institut für Informatik
Universität Augsburg
April 2005
защищенной в университете города Аугсбурга в 2005 году.
5.Создание свойств высшей самосинхронизации в информационных системах.
Указанные в гл.4 требования к архитектуре самоорганизующихся информационных систем на базе стигмергии еще недостаточны для развития осмысленных Органических Компьютерных Систем. РКС есть самоорганизующиеся системы, однако они обладают, как указано в гл.1, определенными высшими свойствами, которые возникают не одни при использовании механизма самоорганизации, как возникает стигмергия. Для возникновения процессов развития для ОКС нехватает еще информации о технике создания таких свойств в информационных системах.
В данной главе будет исследован возможный вариант создания таких высших свойств. Исследование будет проводиться на основе рекомендованной архитектуры для Автономных Компьютерных Систем (IBM: An architectural blueprint for autonomic computing, 2004 (
http://www-306.ibm.
com/autonomic/pdfs/ACBP2 2004-10-04.pdf). ) Этот образ действия возможен, так как высшие свойства Автономных Систем отличаются от высших свойств Органических систем только в отдельных пунктах при применении, а не в принципах техники их создания. Преимущество исследования того, как эти свойства создаются в Автономных системах заключается в том, что эти исследования проводились большой группой исследователей по сравнению с Органическими системами и поэтому уже существует детальная информация, например представленные выше в пункте 2.1 подходы, где для ОКС применен метод вспомогательных нитей – блок - схем (Helper Threads) или наблюдательно – контролирующие архитектуры. Из этих исследований будут установлены концептуальные требования к информационным системам, чтобы получить возможность создания высших свойств.
5.1.Концепции Автономных Компьютерных систем.
Автономные компьютерные системы, аналогично ОКС, ощупывают окружающее пространство, анализируют свое собственное поведение и выполняют действия к тому, тобы либо изменить окружающее пространство, либо изменить свое поведение. Для технического производства высших свойств для этой системы используются такие архитектурные концепции, как (Managed Resource, Touchpoint, Touchpoint Autonomic Manager, Orchestrating Autonomic Manager und Integrated Solution Console ). Для реализации этих концепций используются различные технологии ((Common Information Model, Simple Network Management Protocol (SNMP), Web Services (WS), Java Management Extensions (JMX), Open Grid Service Architecture (OGSA), . . . ). Рекомендуемая архитектура содержит на самом нижнем слое так называемые управляемые ресурсы, которые задаются как компоненты систем информационных инфраструктур и которые способны к самоуправлению. Следующий слой содержит консистентный, стандартизированный управляемый интерфейс, чтобы контролировать управляемые ресурсы и допускать пользование ими. Эти интерфейсы будут всегда работать через так называемые точки прикосновения. Конкретный ресурс может содержать одну или несколько точек прикосновения у автономного управления, каждая из которых содержит контрольную петлю и так создает с помощью управляемых ресурсов высшее качество самоорганизации. Четвертый слой содержит автономных манагеров, которые оркеструют точки прикосновения автономных манагеров. Рни следят за способностями всей системы, в которой имеются контрольные петли, которые дают широчайшие возможности для обзора общей инфраструктуры. Самый верхний слой следит за единством системы управления программиста с помощью так называемых «консолей для интегрированных решений».
5.1.1. Управляемые ресурсы.
Управляемые ресурсы есть, по существу, эквивалент некоторой компоненты, которая находит применение в обычных, неавтономных системах. Она, однако, может следить за мониторингом и контролем с помощью автономного менагера. Управляемые ресурсы могут быть таким же ресурсом, как память компьютера или его принтер, любо отдельные программы, любо банки данных, перечни, собрание ресурсов вплоть до целых предприятий. Дополнительно уже на этом слое могут располагаться контрольные петли для самоуправления. Детали контрольной петли зависят от поставщика и снаружи не видны.
5.1.2. Точка прикосновения
Точка прикосновения реализует отношение сенсора и исполнительного механизма в управляемом интерфейсе для наиболее частых извне предложенных методов для управляемых ресурсов. Сенсор обеспечивает сбор информации о состоянии управляемых ресурсов и изменяет состояние управляемых ресурсов. Управляемость интерфейса используется установки механизмов этих методов, таких как команды, конфигурации и т.п. Эти механизмы поддерживают различные пути и детали, такие как индификаторы, состояния, метрики, конфигурации, отношения к другим управляемым ресурсам и их изменениям.
5.1.3. Точка прикосновения автономного менагера.
Автономные менагеры реализуют думающие контрольные петли, которые автоматизируют различные комбинации задач и позволяют создать высшие свойства самоорганизации. Точка прикосновения автономного менагера здесь такова, что она напрямую работает совместно с одним или многими управляемыми ресурсами. Конструкция из одного автономного менагера и его управляемого ресурса обозначим тоже как автономный элемент. Автономные менагеры используют полисы, которые помимо прочего подтверждают контрольные петли. Автономные менагеры могут контролировать любые нарушения в управляемых ресурсах, например, только один отдельный ресурс, однородную или неоднородную группу ресурсов либо, в конце концов, собрание неоднородных групп как общие бизнес – системы. Автономные менагеры любого вида обладают, подобно управляемым ресурсам, датчиком (сенсором) и эффектором, так что оркестрирующий автономный менагер может с ним взаимодействовать.
5.1.4. Оркестрирование автономного менагера
Единственная точка касания автономного менагера, который работает изолированно, может иметь к ресурсам только автономное отношение к тем ресурсам, которые он контролирует. Оркестрирующие автономные менагеры, напротив, координируют отношения отдельных точек касания автономных манагеров и достигают путем взаимодействия с теми или другими оркестрирующими автономными менагерами систематических высших отношений.
5.2. Способ функционирования автономного менагера.
Так как автономный менагер является центральной составной частью технического производства высших свойств, обсудим детальнее содержимое автономного менагера.
Как уже упоминалось, автономный менагер выполняет контрольную петлю. Чтобы сделать возможным самоуправление, эта контрольная петля должна быть автоматизирована, это означает, что автономный менагер нуждается в автоматических механизмах, которые соберут необходимые детали, те детали, которые необходимы, чтобы анализировать изменения, создавать планы или выводы из этих изменений и проводить соответствующие действия. Поэтому автономный менагер имеет четыре ипостаси: наблюдение (мониторинг), анализ, планирование и исполнение. У них имеется общее «Знание» и они путем совместной работы создают контрольную петлю. Причем представление может иметь более сложную структуру, чем только влияние контроля. С помощью предложения сенсора и эффектора, подобно использованию точки прикосновения для управляемого ресурса, автономный менагер может быть добавлен в распределенную инфраструктуру, что позволяет оркестрированному автономному менагеру выполнять свои управляющие функции.
Хотя автономный менагер может автоматизировать четыре компоненты контрольной петли, программист может создать такую конфигурацию для автономного менагера, что он будет выполнять только отдельные участки контрольной петли. Например, его можно ограничить только наблюдением, так что он будет передавать следующей инстанции только данные своих наблюдений, не выполняя других шагов по контрольной петле. При другой конфигурации будут выполняться другие участки контрольной петли. Каждая из пяти компонентов автономного менагера имеет при этом свои функции и задачи:
-мониторинг
-анализ
-планирование
-исполнение
-использование знания.
5.3. Концептуальные требования к информационным системам, которые позволяют создать отношения высших свойств
Описанная архитектура автономного компьютинга и функций автономного менагера позволяют идентифицировать концептуальные требования к информационным системам, чтобы обеспечить отношения высших свойств системы в целом. Эти требования сложно распределить по различным областям:
- архитектура системы
- обмен информацией
- взаимодействие
- мониторинг
- анализ
- планирование
6. Подход к развитию самоорганизующихся («органических») компьютерных систем
Исследования в главах 3,4 и 5 показали, как следует конструировать стигмергические информационные системы, чтобы получить необходимые характеристики самоорганизации. С другой стороны, какие концептуальные требования к информационным системам нужно ставить, чтобы получить отношения высших свойств. На основе этих результатов, в этой главе будет описана метамодель самоорганизующихся («органических») компьютерных систем, которая выполняет требования к архитектуре указанных систем. Эта метамодель послужит основой основанного на моделях процесса развития.
Процесс развития позволяет проектировать стигмергические самоорганизующиеся компьютерные системы. Это будет показано на простом примере.
6.1. Метамодель
С целью демонстрации возможности выполнения требований предыдущей главы, в метамодели будут использованы различные концепции, причем основное внимание будет обращаться на комбинации концепций для одной метамодели.
Для идентификации принятых концепций из технологии агентов сравнивались разные подходы из 2.2. В
Bernon C., M. Cossentino, M. Gleizes, P. Turci und F.Zambonelli: A study of some multi-agent meta-models, in: Proceedings of AOSE 2004, New York, USA, July 2004 такое сравнение выполнено. Из-за больших размеров получившихся метамоделей там пришли к выводу, что методология развития для таких моделей либо вообще невозможна, либо возможна только для отдельных их частей. Поэтому данная метамодель использует только действительно необходимые концепции, так чтобы были выполнены все поставленные требования.
В этой метамодели, как и во многих методологиях агентов центральным элементом является ролик (?). Все ролики вместе создают общее окружение системы. Ролики могут взаимодействовать один с другим, и для этого обмениваются новостями с помощью специального протокола. Инициирующие ролики названы инициаторами, а участвующие – участниками. Взаимодействие может тогда происходить по протоколу путем прямых контактов между двумя роликами, а опосредствовано – через контакт с окружением (стигмергия).
Ролики будут разделены на ролики управляемых ресурсов и ролики автономных менагеров, которые потом перейдут в управляемые ресурсы и управляемые менагеры соответственно. Причем один автономный менагер может перенять много роликов автономных менагеров и контролировать других автономных менагеров или, соответственно, управляемые ресурсы. Управляемые ресурсы могут тоже перенимать много соответствующих роликов и многие управляемые ресурсы контролировать. Последние делятся на ресурсы хардвера и ресурсы софтвера. То есть один управляемый ресурс может контролироваться не обязательно одним автономным менагером. Эта концепция соответствует рекомендованной архитектуре автономного компьютинга и создает, таким образом, основу для высших свойств.
Так как управляемые ресурсы совместно с автономными менагерами обладают «знанием», то это знание в случае «знания управляемого ресурса» содержит представление о себе самом, о своем окружении и о других роликах управляемых ресурсов. «Знание автономного менагера» содержит дополнительно знание о контролируемых ресурсах (само-конфигурация). Концепция «знания» соответствует как концепции «веры» в агентов, так и автономному компьютингу.
Поведение ролика определяется нормами. Эта концепция взята из нормальной архитектуры агентов , которая была создана, чтобы поддержать развитие агентских сообществ, которые развивались исходя не от целей, а от норм. Нормы суть либо «обязанности», либо «разрешения», либо «запреты». «Обязанности» мотивируют агента либо принять определенное состояние, либо выполнить какое-то действие. «Разрешения» ограничивают поведение агента, так как разрешения позволяют ему выполнить какое-то действие. Применение этой концепции может уточнить управление роликом в противоположность просто направленности на цель.
Жизненный цикл ролика соответствует классическому жизненному циклу агента, несмотря на концепции норм. Ролик узнает ситуации, принимает решения и выполняет действия. Распознавание ситуаций происходит в этой метамодели на основе событий. Эта концепция в применении к метамодели является новой по сравнению с методологией агентов, вдобавок она принимает так называемой «некооперативной ситуации» из статьи
Bernon C., M. Gleizes, S. Peyruqueou und G. Picard: ADELFE: A Methodology for Adaptive Multi-agent Systems Engineering, in: Proceedings of ESAW 2002, S. 156– 169, Madrid, Spanien, September 2002
для функционирования связей управляемого ресурса и автономного менагера в автономном компьютинге. События могут быть обычными (регулярными) и необычными (нерегулярными). Обычные события – это такие, которые с самого начала присущи ролику либо становятся ему свойственными в результате обучения (адаптации). Они могут передаваться от одного ролика к другому. На основании этого могут активироваться или деактивироваться нормы. События могут сигнализировать о получении какого-то сообщения, либо сигнализировать об изменении состояния ролика, которое может наступить в результате необычной ситуации или в результате ошибки. В последнем случае выполняются исключения, и случай интерпретируется как необычный. Необычные случаи могут быть распределены в различные другие категории. Сюда относятся Incomprehension (ролик не понимает полученного сообщения), Ambiguity (ролик имеет много различных возможностей интерпретировать сообщение), Incompetence (ролик нее может выполнить запрос другого ролика), Unproductiveness (ролик получает информацию, которая у него уже есть, или которая ему не нужна), Concurrence (многие ролики желают перейти на один и тот же критический район, который уже занял другой ролик), Uselessness (ролик выполняет операции, ведущие в никуда).
Более того, возможны нежелательные случаи Internal Exceptions, если в ролике находится ошибочная функция (самолечение), либо Detentions, если происходит нападение извне (самозащита). Кроме указанных, могут существовать и многие другие случаи. Во всех случаях ролик вынужден дать категорию случаю (аналогично симптомам в автономном компьютинге) и по существующим нормам и планам этот случай обработать или, при необходимости, генерировать новые планы, чтобы разрешить противоречие (адаптация).
Планы состоят из действий (Actions) – внутренних действий ролика – и взаимодействий – внешних действий ролика. Точное моделирование целей и планов учтено программами MASSAGE, Tropos. Для адаптации моделирование планов все равно неизбежно (само-оптимизация). Планы помогают при достижении целей в нормальных случаях. Действия и противодействия достигаются использованием Services автономного менагера или управляемого ресурса. Благодаря метамодели удается выполнить идентификацию требований. Концепция роликов поддерживает также высшие свойства системы. Если бы окружение создавалось без ролтков непосредственно управляемыми ресурсами и автономными менагерами, то невозможно было бы во время процесса передавать ролик одного автономного менагера другому автономному менагеру. При выпадении одного автономного менагера ил управляемого ресурса система становилась бы неработоспособной. И самолечение здесь тоже не поможет.
6.2.Процесс развития
Процесс развития программирования определяется как процесс, т.е. как последовательность шагов, благодаря чему требования пользователя превращаются в программу. Нижеследующий процесс развития самоорганизующихся компьютерных систем, основанных на метамоделировании, нужно будет привести. В скобках мы указываем, какие модели возникают после выполнения определенных действий. Фазы анализа и фаза разработки определяются нижеуказанными действиями, соответственно 1-5 и 6-19. Фаза реализации в данной работе не рассматривается, но в дальнейшем не представит большого труда и может быть построена на основе тех же действий. Последовательность шагов не зависит от модели и может, например, быть реализована на основе «модели водопада» или с помощью процесса Rational Unified Process.
Перечень действий процесса развития:
1.Определение бизнес- окружения (business context model)
2. Поддержка бизнес- процесса (business process model).
3.Характеристика окружения (environment model).
4.Формирование рассматриваемых случаев (use case model).
5.Перечень основных терминов (ontology model).
6.Идентификация роликов управляемых ресурсов (role model),
7.Перечень норм для роликов управляемых ресурсов (norm model).
8.Создание планов для роликов управляемых ресурсов (plan model).
9.Идентификация образцов взаимодействия между роликами управляемых ресурсов (interaction model).
10.Идентификация услуг, выполняемых роликов управляемых ресурсов (service model).
11. Идентификация автономных менагеров для роликов (autonomic manager role model).
12.Перечень норм для роликов автономных менагеров (autonomic manager norm model).
13.Развитие анализа для роликов автономных менагеров (autonomic manager analyze model).
14.Развитие планов для роликов автономных менагеров (autonomic manager plan model).
15.Идентификация образцов взаимодействия между роликами автономных менагеров и другими роликами (autonomic manager interaction model).
16.Идентификация услуг, выполняемых роликами автономных менагеров (autonomic manager service model).
17.Разработка протоколов взаимодействия (interaction protocol model).
18.Идентификация автономных элементов (autonomic element model).
19.Распределение автономных элементов (autonomic elements instance model).
Из методов для систем агентов только ADELFE содержит непротиворечивый процесс развития, все остальные подходы моделируют только фрагменты системы. Наличие определенных моделей в агентских методологиях зависит от того, какие концепции модели использует методология. Но если методология не содержит пунктов 11-19, то нет методологии для создания высших свойств. Чтобы это установить, нужно, чтобы каждому аспекту метамодели соответствовал по меньшей мере один из 19 пунктов.
6.3. Модели и запись.
Модели, возникшие на основе процесса развития базируются максимально возможно на стандарте UML 2.0.Для некоторых аспектов моделирования этого стандарта недостаточно. Вследствие чего в этих случаях будет определена собственная запись, которая уже была частично использована, ног частично является совершенно новой. Разделение моделей по уровням MDA и их взаимосвязь представлены на рис.6.2.
Прим. переводчика: ввиду важности этого рисунка и невозможности привести здесь картинку, отмечу, что вся таблица рисунка разделена на две части: слева - системная архитектура и справа - высшее качество. К системной архитектуре отнесены (раздел CIM): business context model and business process model, а к разделу высшего качества: environment model and use case model.
Кроме того ниже (раздел PIM), слева расположены:
norm model, plan model, interaction model, service model and role model. Справа (ниже): autonomic manager norm model, autonomic manager analyse model, autonomic manager plan model, autonomic manager interaction model, autonomic manager service model and autonomic manager role model. Общие: interaction protocol model, autonomic protocol model, autonomic element instance model.
Отдельным столбцом идет: ontology model. Слово «role» переведено в тексте как «ролик». Элементы архитектуры, перечисленной в правой части, автор относит к себе в заслугу(?) и считает, что именно они обеспечивают высшее качество! Конец примечания.
Дав определение первых пяти действий процесса развития, т.е. его модели в CIM, определено максимально возможное количество информации для дальнейшего использования в глубоких слоях, не вдаваясь в подробности системы. Предложенное разделение моделей возникло на основе возможности повторного применения. Модели в PIM используют информацию из CIM, чтобы сделать систему независимой от технологии и от моделей до 16 включительно, а также от способа коммуникаций между отдельными компонентами системы. Коммуникации устанавливаются только в пункте 17.
На вышеупомянутом рисунке 6.2 показаны линии передачи информации между моделями.
6.3.1. Определение бизнес - окружения (business context model)
Определение бизнес – окружения происходит в пункте1. При этом будет описано вложение будущей системы в контекст общего предприятия. Модель абстрагируется от конкретного производственного процесса и рассматривает только грубо приближенно взаимозависимость подчиненных процессов, главным образом, с точки зрения функциональных подразделений предприятия. Эта модель служит, по крайней мере, лучшему пониманию программистом и имеет только небольшое значение для последующих моделей.
Мы уже упоминали, что параллельно описанию модели, создается система планирования производства и контроля продукции. Так как из анализируемой системы имеется информация только об архитектуре системы и механизмах коммуникаций внутри нее, должны быть созданы модели, относящиеся к CIM. Рассмотрим отдельные участки такой business context model, а именно отдел продаж и производственный отдел. Получив заказ, отдел продаж проверяет его и передает в производственный отдел. Производственный отдел проверяет его, изготавливает продукцию и передает в отдел сбыта.
6.3.2. Поддержка бизнес - процесса (business process model).
Эта модель описывает взаимосвязь производственного процесса, который должен поддерживаться программой OSC, которую предстоит создать, где она уточняет предыдущий раздел. Производственный процесс при этом подчиняется участникам производства. Нетрудно видеть, что моделирование имеет целью поддержку информационной системы, хотя детали этой системы пока неизвестны. Моделирование производится по определенной схеме. При этом производственный отдел разделяется на звенья: служащие, пересечения, ресурсы и информация о продукции, в последнем звене сосредоточены планы производства всей продукции данного предприятия. Производство определенного продукта начинается с обсчета плана его производства, сведения об этом служащие направляют в банк данных продуктов производства. На основе этого плана производства, производится следующий шаг и определяются необходимые ресурсы для него. Проводится наилучший выбор ресурсов по определенному критерию и этот ресурс резервируется. Происходит транспортировка ресурса и/или незавершенного продукта и обработка ресурса. Управление транспортными линиями перенимается «перекрестками». Когда производство продукта завершено, производственный процесс закончен. Либо начинается следующий шаг, опять же с обсчета плана.
6.3.3. Характеристика окружения (environment model).
Эта модель точнее характеризует те объекты, которые важны для системы. Эти объекты могут быть разнообразной природы (человек, машина, информация,…) и выводятся из предыдущего параграфа.
Эта модель включает служащих с определенным производственным заданием, которое они должны своевременно и качественно исполнить. Имеются ресурсы для выполнения этого задания и есть возможности для его выполнения. Ресурсы связаны с транспортером с помощью перекрестка, а также с другими ресурсами с помощью других транспортеров.
6.3.4. Формирование рассматриваемых случаев (use case model).
Эта модель описывает абстрактно использование системы окружающей средой и определяет различные случаи ее применения. Определяются участники всех этих действий. Эта модель в передает через служащих задание на производство продукции. В этой операции задействованы так называемые «вторичные актеры» - ресурсы, перекрестки, и сведения о продуктах. Эта модель может быть уточнена путем описания способа обмена информацией между участниками. Для этого вновь используется поддержка бизнес - процесса (business process model). А обмен информацией описан в хронологическом порядке.
В соответствии с формированием рассматриваемых случаев (use case model) служащий передает заказ на желаемый продукт в PPCS, откуда он отсылается запрос в банк данных о продуктах, который составляет план производственного процесса и возвращает его назад. Поскольку выполнены еще не все шаги, обсчитывается каждый последующий шаг и делается запрос на все имеющиеся ресурсы, которые необходимы для выполнения этого очередного шага. Ресурсы составляют справку о наличии и отправляют ее в PPCS. После этого выбирается наилучший вариант и направляется запрос на резервирование ресурсов для этого варианта. Если за это время происходят изменение, происходит согласование ресурсов. После этого на «перекрестки» поступает запрос о пути транспортирования, которые выполняют его транспортирование. После этого передается требование на выполнение работы по данному шагу. После выполнения всех шагов, информация об этом передается служащим.
6.3.5. Перечень основных терминов (ontology model).
Эта модель служит для определения ценности основных терминов. Здесь будут моделироваться все научные понятия, которые потребуются в дальнейшем. К ним, например, относятся планы производственных процессов, возможности машин и механизмов, виды заданий и т.д. Здесь моделирование может быть выполнено в виде диаграммы классов. Заметим, что эта модель на CIM-плоскости определяет понятия, которые служат только для понимания процессов и требований. На более глубоких плоскостях этой модели могут появиться новые понятия, хотя не все они заслуживают внимания.
6.3.6. Идентификация роликов управляемых ресурсов (role model).
Эта модель является первой моделью PIM-области т определяет ролики управляемых ресурсов, которая может быть выведена из 6.3.4. вывод можно выполнить построением объектов из диаграммы в 6.3.4. тогда каждый объект сводится к ролику, за исключением развивающихся систем. Так как последние создают только некие рамки, в этом случае сообщение о применении касается только ролика.
В UML 2.0 опять предусмотрены модель и запись для ролика. Поэтому здесь применяются символы для записи для ролика, которые были применены в
http://www.eurescom.de/public/projects/P900-series/P907. На рисунке показано, что возможны две формы записей для ролика и роликовой модели. Первая возможность функционирует подобно диаграмме композиционной структуры стандарта UML. Вторая возможность функционирует как диаграмма классов того же стандарта, в которой дальнейшие свойства и атрибуты границ приведены во взаимосвязь с роликами. В обоих случаях ролик представлен как символ наподобие вывески, чтобы облегчить узнавание модели.
В противоположность большинству методологий агентов, при таком подходе происходит графическая запись для всех моделей. Поэтому нужно найти путь для моделирования взаимосвязи между многими моделями, причем нельзя потерять ни возможность обзора, ни семантическую информацию. Для этого определены ссылки между моделями, которые приемлемы для UML 2.0, но до сих пор в таком качестве не применялись.
Пустой ролик (заказ на производство продукции) отражает описанный случай , когда применение его является инициированием сообщения для ролика. Роликовая модель со всеми идентифицированными роликами, это и есть объекты из диаграммы последовательностей.
6.3.7.Перечень норм для роликов управляемых ресурсов (norm model).
Перечень норм для роликов появляется в этой модели. Нормы выбирают, в первую очередь, из сообщений из диаграммы последствий в 6.3.4. Они еще не могут автоматически превратиться в нормы, но их нужно вручную усовершенствовать. Каждый внутренний или внешний обмен информацией должен превратиться в норму для того ролика, который соответствующий объект в диаграмме последствий инициирует такой обмен. Программист должен, с точки зрения логики, создать эту норму, наполнив ее содержанием. Для этого нужно задать цели, соответствующие действия, активирующие события и деактивирующие события. Все это нужно взять из 6.3.2 и учесть 6.3.4, чтобы гарантировать функционирование системы. Так как для записи норм не предусмотрены инструкции в UML 2.0, нужно дать определение собственной форме записи.
После того, как какая-либо норма будет приписана ролику, модель ролика изменяется соответственно. Как только появляется норма для ролика, заглавие нормы вводится в состав ролика. Сама норма описывается в модели нормы. Преимущества таких ссылок очевидны: если другой ролик обладает той же нормой, то будет достаточно только ссылки на норму, не переписывая ее вновь для следующего ролика.
Все нормы вместе полностью выполняют требования 6.3.4. События, вызывающие активацию и дезактивацию, выбираются так, чтобы не допустить взаимного пересечения норм, и требования к 6.3.4 могли быть планомерно выполнены.
6.3.8. Создание планов для роликов управляемых ресурсов (plan model).
Чтобы смочь выполнить записанные нормы, роликам нужны начальные планы, в которых содержатся действия и взаимодействия с другими роликами. Ролики могут также в течение своей работы самостоятельно создавать новые планы или модернизировать существующие, к началу процедуры развития им нужны начальные планы в качестве основы. Моделирование планов происходит как раз в рассматриваемой модели, которая потребуется в моделях 6.3.9. и 6.3.10. Для составления планов используются различная информация из предыдущих моделей. Моделирование планов нужно выполнить так, чтобы и цель нормы выполнить, и в конце создать одно или несколько событий, которые соответствуют событиям активизации и деактивизации. Только на основе этих событий может быть деактивирована какая-либо активная норма или активированы другие нормы.
Развитие планов влияет и на модель ролика 6.3.6, которой подчинен каждый план ролика.
6.3.9. Идентификация образцов взаимодействия между роликами управляемых ресурсов (interaction model).
Эта модель моделирует образец взаимодействия между двумя роликами. При этом речь еще не идет об обмене информацией по какому-то определенному протоколу, а только устанавливается, какие сообщения с какой информацией используются для обмена между двумя роликами. Вывод образца для этого следует из 6.3.8. При этом всегда происходят две передачи и два приема между элементами упомянутой плановой модели, что рассматривается как взаимодействие. Моделирование выполняется в виде диаграммы. Обмениваемая информация представляет собой запрос о возможных предложениях для определения последующих шагов процесса.
Образец взаимодействия показывает направление движения информации от инициирующего ролика в роликовой модели.
6.3.10. Идентификация услуг, выполняемых роликов управляемых ресурсов (service model).
Эта модель составляет спецификацию услуг, которые ролик должен представлять как вне, так и внутри системы. Они вытекают из плановой модели и из модели взаимодействия. При этом не расписывается подробно ее действие, а только подпись, она же декларация, название и параметры входа и выхода.
Действия в плановой модели декларируются как приватные, так как они используются прежде всего для внутренних вызовов другого ролика. Внешние услуги выводятся из модели взаимодействия. При этом одна из услуг будет предназначена для обмена сообщениями.
6.3.11. Идентификация автономных менагеров для роликов (autonomic manager role model).
Она моделирует в противоположность к 6.3.6 тех роликов, которые , которые позже будут переняты автономными менагерами и будут использованы для создания высших свойств. Автономные менагеры роликов не могут, как , скажем, ролики управляемых ресурсов, выведены из других моделей, потому что эти высшие свойства не зависят от софтвера и поэтому не могут быть определены на плоскости CIM. Поэтому нормы будут почти параллельно развиты для этих роликов, так что ролики можно будет идентифицированы.
6.3.12. Перечень норм для роликов автономных менагеров (autonomic manager norm model).
Нормы для автономных манагеров роликов обладают теми же функциями, что и нормы для роликов управляемых ресурсов. Отсюда выводятся высшие свойства системы. Здесь будут сформулированы цели, способы активизации и деактивации, что они будут годиться для выполнения высших свойств. Эти нормы поддерживают само-оптимизацию системы и будут впоследствии переданы одному из автономных менагеров, потому что активизация норм зависит от измерений, которые не могли быть выполнены управляемыми ресурсами. Таким же способом могут быть специфицированы и любые другие нормы.
Оба ролика автономных менагеров будут именоваться по имени ролика управляемых ресурсов, которые эти нормы используют. Это свидетельствует о подчинении роликов автономных менагеров одноименным роликам управляемых ресурсов. Если для достижения какой-либо цели необходимы несколько роликов, т.е. будут задеты другие ролики автономных менагеров, то придется роликам автономных менагеров дать другие названия.
6.3.13. Развитие анализа для роликов автономных менагеров (autonomic manager analyze model).
Эта модель моделирует позднейший мониторинг и анализ в пределах автономного менагера. Так как функции анализа будут решать, какие нормы автономного менагера должны быть активированы, то в этой модели моделируется центральная часть знаний автономного менагера. Активация происходит по диаграмме. О мониторинге будет сообщать не только один ролик автономного менагера, хотя именно в нем мониторинг будет преобразован и подчинен по частям диаграмме активизации. О результатах анализа, наоборот, будет сообщаться, потому что он может отличаться от результатов мониторинга.
6.3.14. Развитие планов для роликов автономных менагеров (autonomic manager plan model).
Эта модель подобна плановой модели и моделирует планы для производственной функции в ролике автономного менагера, чтобы выполнить цели норм.
6.3. 15.Идентификация образцов взаимодействия между роликами автономных менагеров и другими роликами (autonomic manager interaction model).
Эта модель построена также как модель взаимодействия (Interaction Model) и моделирует образец взаимодействия и необходимый обмен сообщениями для роликов автономных менагеров как между собой, так и между роликами автономных менагеров и роликами автономных ресурсов.
16.Идентификация услуг, выполняемых роликами автономных менагеров (autonomic manager service model).
Эта модель выводится из 6.3.14 и использует те же записи, как и 6.3.10. Здесь будут определены те услуги, которые будет выполнять ролик автономного менагера, чтобы подготовить функционирование высших свойств.
17.Разработка протоколов взаимодействия (interaction protocol model).
Здесь будут определены конкретные протоколы взаимодействий для всех видов роликов. И именно в этом пункте должно быть решено, происходит ли взаимодействие между роликами напрямую или иначе. Причем эти протоколы должны соответствовать образцам взаимодействия и моделям взаимодействия, а также 6.3.15. Причем отношение образцов взаимодействия к протоколам взаимодействия такое же, как интерфейс к реализации. Моделирование протоколов взаимодействия происходит в виде диаграмм. Они должны исходить тоже от ролика в 6.3.6.
18.Идентификация автономных элементов (autonomic element model).
Она моделирует будущие автономные элементы, которые впоследствии будут использованы. Причем будет установлено, какие ролики каким элементам подчиняются, и какие ролики автономных менагеров какими роликами управляемых ресурсов управляют. Эту процедуру можно автоматизировать, нужно только обращать внимание, что из них облегчает появление высших свойств. Так как это сильно зависит от будущих исследований, поэтому здесь мы будем пользоваться интуитивным правилом.
19.Распределение автономных элементов (autonomic elements instance model).
Эта модель используется для связи с окружением системы. Происходит увязка узлов системы. Для этого могут потребоваться правила, которые выходят за пределы данной работы.
6.4. Преобразования моделей.
Здесь эти преобразования описаны неформально. Потребуется установить стандартные преобразования «источник --> цель». Возможны три различных вида преобразований:
-типизированные,
-поэлементное,
-основанное на образце.
6.4.1. Правила преобразований в CIM.
6.4.2. Преобразования из CIM в PIM.
6.4.2. Преобразования в PIM.
7.Оценка различных подходов
8. Заключение и перспективы.
В рассматриваемой работе была создана модель процесса развития для «Органической Компьютерной Системы» (думающей системы) и рассмотрены основы методологии развития программирования для такой системы.
Мы исследовали механизмы самоорганизации в природе (в частности, колонии муравьев), перенесли их на информационные системы, выяснили их свойства и способы идентификации их архитектуры.
Все это было выполнено как метамодель (т.е. гигантская модель) думающей системы. При этом были использованы концепции и методы многоагентной системы. Было введено определение «Преобразования модели», причем была предусмотрена поддержка известной структуры (Framework) «Приводной архитектуры» (Model Driven Architecture). Были рассмотрены примеры использования процесса развития и выяснены свойства самоорганизующейся модели. Причем оказалось, что предложенные методы годятся не только для отдельных моделей, но и для набора взаимодействующих моделей, причем их взаимодействие может быть как прямым, так и опосредствованным. Предложенные подходы основаны на стандарте UML 2.0, который допускает ограниченное расширение. Рассмотренная архитектура может работать не только с заранее известными, ни и с незнакомыми и незапланированными ситуациями. Более того, предложенные походы можно комбинировать с полученными в других исследованиях. Этим заложены основы для многослойной Архитектуры в части наблюдения и контроля. В дальнейшем для реализации и обеспечения необходимыми инструментами возможно будет воспользоваться ограничениями по кодам PSM и MDA (Framework of Model Driven Architecture). Здесь же будут решаться проблемы с неверно воспринятой информацией.
Далее потребуется взаимодействие между отдельными компонентами системы, преимущественно между автономными менагерами и их ресурсами. Мы показали, что само по себе коммуницирование не ведет к самоорганизации. Для них требуются другие механизмы, и мы их нашли; они обеспечивают развитие при одновременном соблюдении норм. Но там объем потребных исследований велик. Так как теория самоорганизации – очень молодая наука, требуется поиск дополнительных взаимосвязей. Пока непонятно, как от общей самонастраивающейся системы перейти к ее отдельным компонентам, хотя обратный ход понятен. Поэтому пока приходится довольствоваться самым низким уровнем использования норм. Такая же ситуация с адаптацией и с самооптимизацией – нужны новые исследования и новые результаты!
И еще вопросы: Какие технологии связаны с агентами? Приводят ли идентифицированные требования к новым механизмам самоорганизации? Ответы на них позволят сделать следующий шаг в процессе развития. После чего необходимо показать практическую применимость, что пока неочевидно. По результатам чего можно будет дополнять и совершенствовать модели и концепции, а это связано с трансформацией моделей. Чем больше возможных трансформаций может быть доказано, тем больше автоматизированных инструментов получает процедура развития и тем меньше затраты времени у программиста! Здесь полная аналогия с языками программирования: сначала имелся машиноподобный Ассемблер, далее с использованием все более абстрактных конструкций возникали высокоразвитые языки.
Кроме технических вопросов, потребуют внимания вопросы этики и морали. И вообще, не станет ли разрабатываемая программистом система умнее самого программиста? И не получится ли так, что система далее сама будет развиваться, а затем выступит не только против своего создателя, но и против человечества в целом? Многие философы и исследователи поднимали эти вопросы применительно к искусственному интеллекту, но выводы, к которым они пришли, противоречат один другому (см. Russel S., P. Norvig: Künstliche Intelligenz – Искусственный интеллект -, Pearson Studium, August 2004). Если все рассматривать с пессимистических позиций, то у любого изобретения могут быть отрицательные последствия. Да послужит все изложенное в данной работе ко всеобщему благополучию!
Список литературы
[1]
http://www.cs.rmit.edu.au/agents/SAC/methodology.shtml
[2]
http://www.eurescom.de/public/projects/P900-series/P907
[3]
http://www.daimlerchrysler.com
[4]
http://www.ibm.com
[5]
http://www-106.ibm.com/developerworks/a ... rview.html
[6]
http://www-306.ibm.com/software/awdtools/rup/
[7]
http://www.isscc.org/isscc/
[8]
http://java.sun.com
[9]
http://www.organic-computing.org
[10]
http://www.omg.org/mda
[11]
http://www.omg.org
[12]
http://www.troposproject.org/
[13] Banatre J.P., D. Le M’etayer: The Gamma model and its discipline of programming,
Science of Computer Programming, Band 15, S. 55–77, 1990.
[14] Bauer B., J.P. M¨ uller: Methodologies and Modelling Languages, in: Luck M., R.
Ashri und M. d’Inverno (Hrsg.): Agent-Based Software Development, S. 77–131, Artech
House, 2004.
[15] Bauer B., J.P. M¨ uller und J. Odell: Agent UML: A formalism for specifying
multiagent software systems, in: Ciancarini P., M. Wooldridge (Hrsg.): Agent-Oriented
Software Engineering – Proceedings of the First International Workshop (AOSE 2000).
Springer-Verlag, Berlin, Deutschland, 2000.
[16] Beck K.: Extreme Programming Explained: Embrace Change, Boston, Addison-Wesley,
2000.
[17] Bernon C., M. Cossentino, M. Gleizes, P. Turci und F. Zambonelli: A study
of some multi-agent meta-models, in: Proceedings of AOSE 2004, New York, USA, Juli
2004. [18] Bernon C., M. Gleizes, S. Peyruqueou und G. Picard: ADELFE: A Methodology
for Adaptive Multi-agent Systems Engineering, in: Proceedings of ESAW 2002, S. 156–
169, Madrid, Spanien, September 2002.
[19] Bernon C., M. Gleizes, G. Picard und P. Glize: The Adelfe Methodology For an
Intranet System Design, in: Proceedings of AOIS 2002, Toronto, Kanada, Mai 2002.
[20] Berry G., G. Boudol: How to write Parallel Programs, The Chemical Abstract Ma-chine,
Theoretical Computer Science, Band 96, S. 217–248, 1992.
[21] Born M., E. Holz und O. Kath: Softwareentwicklung mit UML 2, Addison-Wesley,
M¨ unchen, 2004.
[22] Brinkschulte U., J. Becker und T. Ungerer: CARUSO - An Approach Towards
a Network of Low Power Autonomic Systems on Chips for Embedded Real-time Applica-tion,
IPDPS, 2004.
[23] Bullnheimer B., R.F. Hartl und C. Strauss: An Improved Ant System Algorithm
for the Vehicle Routing Problem, in: Dawid, Feichtinger und Hartl (Hrsg.): Annals of
Operations Research, Nonlinear Economic Dynamics and Control, 1999.
[24] Bullnheimer B., R.F. Hartl und C. Strauss: Applying the Ant System to the
Vehicle Routing Problem, In: Voss S., Martello S., Osman I.H. und Roucairol C. (Hrsg.):
Meta-Heuristics: Advances and Trends in Local Search Paradigms for Optimization,
Kluwer: Boston, 1999.
[25] Buschmann F., R. Meunier, H. Rohnert und M. Stal: Pattern-orientierte
Software-Architektur, M¨ unchen, Addison-Wesley, 1998.
[26] Bussmann S., D. McFarlane: Rationales for holonic manufacturing control, in: Van
Brussel H., P. Valckenaers (Hrsg.): Proceedings of the 2nd Int. Workshop on Intelligent
Manufacturing Systems, S. 177–184, 1999.
[27] Bussmann S., K. Schild: Self-Organizing Manufacturing Control: An Industrial App-lication
of Agent Technology, in: Proceedings of the Fourth International Conference on
Multi-Agent Systems, S. 87-94, Boston, MA, USA, 2000.
[28] Caire G., F. Leal, P. Chainho, R. Evans, F. Garijo, J. Gomez, J. Pavon,
P. Kearney, J. Stark und P. Massonet: Agent Oriented Analysis using MESSA-GE/
UML, in: Proceedings AOSE 2001, S. 101–108, April 2001.
[29] Carriero N., D. Gelernter: How to write Parallel Programs, MIT Press, 1990.
[30] Cockburn A.: Agile Software Development, Boston, Addison-Wesley, 2002.
[31] Colorni A., M. Dorigo, V. Maniezzo und M. Trubian: Ant System for Job-shop
Scheduling, JORBEL - Belgian Journal of Operations Research, Statistics and Computer
Science, band 34(1), S. 39–53, 1994.
[32] Cossentino M., C. Potts: A CASE tool supported methodology for the design of
multi-agent system, in: Proceedings of SERP 2002, Las Vegas, USA, 2002. [33] Costa D., A. Hertz: Ants Can Colour Graphs, Journal of the Operational Research
Society, Band 48, S. 295–305, 1997.
[34] Crutchfield J.P.: Is Anything Ever New? Considering Emergence, SFI Series in the
Science of Complexity XIX, Addison-Wesley, 1994.
[35] DeLoach S.A., Wood M.F.: Multiagent Systems Engineering: The Analysis Phase,
Technical Report, Air Force Institute of Technology, AFIT/EN-TR-00-02, Juni 2000.
[36] Deneubourg J.-L., S. Aron, S. Goss, J.-M. Pasteels: The self-organizing explo-ratory
pattern of the argentine ant, in: Journal of Insect Behaviour, 3. Jg., S. 159–168,
1990.
[37] Department of Energy, Office of Defense Energy Projects and Special
Applications: Strategic Defense Initiative Multimegawatt Space Nuclear Power Pro-gram
– Summary, April 1986.
[38] Di Caro G., M. Dorigo: AntNet: A Mobile Agents Approach to Adaptive Routing,
Tech. Rep. IRIDIA/97-12, Universit´e Libre de Bruxelles, Belgien, 1997.
[39] Di Caro G., M. Dorigo: AntNet: Distributed Stigmergetic Control for Communica-tions
Networks, Journal of Artificial Intelligence Research (JAIR), Band 9, S. 317–365,
1998.
[40] Di Marzo Serugendo G., N. Foukia, S. Hassas, A. Karageorgos, S.K.
Most´ efaoui, O.F. Rana, M. Ulieru, P. Valckenaers und C. Van Aart (Hrsg.):
Self-Organisation: Paradigms and Applications, Engineering Self-Organising Systems
2003, S. 1–19, 2004.
[41] Dorigo M., L.M. Gambardella: Ant Colonies for the Traveling Salesman Problem,
in: BioSystems, Band 43, S. 73–81, 1997. (Auch als Technical Report TR/IRIDIA/1996-
3, IRIDIA, Universit´e Libre de Bruxelles.)
[42] Dorigo M., V. Maniezzo und A. Colorni: Ant System: An autocatalytic optimizing
process, Working Paper No. 91-016 Revised, Politecnico di Milano, Italien 1991.
[43] Eigen M., P. Schuster: The Hypercycle: a principle of natural self-organization, Ber-lin,
Heidelberg, New York, Springer, 1979.
[44] Gambardella L.M, M. Dorigo: An Ant Colony System Hybridized with a New Local
Search for the Sequential Ordering Problem, INFORMS Journal on Computing, Band
12(3), S. 237–255, 2000.
[45] Gambardella L.M., M. Dorigo: Ant-Q: A Reinforcement Learning Approach to the
Traveling Salesman Problem, in: Prieditis A., S. Russell und M. Kaufmann (Hrsg.): Pro-ceedings
of ML-95, Twelfth International Conference on Machine Learning, Tahoe City,
CA, S. 252–260, 1995.
[46] Gambardella L.M, M. Dorigo: Solving Symmetric and Asymmetric TSPs by Ant
Colonies, ICEC96, Proceedings of the IEEE Conference on Evolutionary Computation,
Nagoya, Japan, 20.-22. Mai, 1996. [47] Gesellschaft f¨ ur Informatik: VDE/ITG/GI-Positionspapier zum Or-ganic
Computing, 2003 (
http://www.gi-ev.de/download/VDE-ITG-GI-Positionspapier%
20Organic%20Computing.pdf).
[48] Glansdorff P., I. Prigogine: Thermodynamic study of structure, stability and uc-tuations,
Wiley, New York, 1978.
[49] Goss S., S. Aron, J.-L. Deneubourg, J.-M. Pasteels: Self-organized shortcuts in
the argentine ant, in: Naturwissenschaften, 76. Jg., S. 579–581, 1989.
[50] Glaser N.: Contribution to Knowledge Modelling in a Multi-Agent-Framework (the Co-MoMAS
approach), PhD thesis, L’Universtit’ e Henri Poincar’e, Nancy I, Frankreich,
November 1996.
[51] Grasse P.P.: La reconstruction du nid et les coordinations interindividuelles chez belli-cositermes
natalensis et cubitermes sp., La theorie de la stigmergie: essai d’ interpretation
du comportement des termites constructeurs, Insectes Sociaux 6, S. 41–81, 1959.
[52] Giunchiglia F., J. Mylopoulos und A. Perini: The Tropos Software Development
Methodology: Processes, Models and Diagrams, in: Proceedings AOSE 2002, S. 162–173,
2001.
[53] Hadeli K., P. Valckenaers, C. Zamfirescu, H. Van Brussel, B. Saint Ger-main,
T. Holvoet und E. Steegmans: Self-Organising in Multi-agent Coordination
and Control Using Stigmergy, Engineering Self-Organising Systems 2003, S. 105–123,
2003.
[54] Heylighen F.: The Science of Self-organization and Adaptivity, in: The Encyclopedia
of Life Support Systems, (EOLSS Publishers Co. Ltd), 2001.
[55] Horn P.: Autonomic computing: IBM perspective on the state of information technology,
IBM T.J. Watson Labs, NY, 15th October 2001. Presented at AGENDA 2001, Scotsdale,
AR (
http://www.research.ibm.com/autonomic/).
[56] IBM: An architectural blueprint for autonomic computing, 2004 (
http://www-306.ibm.
com/autonomic/pdfs/ACBP2 2004-10-04.pdf).
[57] IEEE: Standard Glossary of Software Engineering Terminology, 610.12-1990, 2002.
[58] Iglesias C.A., M. Garijo, J.C. Gonz´ alez und J.R. Velasco: A Methodological
Proposal for Multiagent Systems Development extending CommonKADS, in: Proceedings
of 10th KAW, Banoe, Canada, 1996.
[59] Jeckle M., C. Rupp, J. Hahn, B. Zengler und S. Queins: UML 2 glasklar, Hanser
Fachbuchverlag, November 2003.
[60] Juan T., A. Pearce und L. Sterling: ROADMAP: Extending the Gaia Methodology
for Complex Open Systems, in: Proceedings of the First International Joint Conference
on Autonomous Agents and Multi-Agent Systems (AAMAS), S. 310 ff., Bologna, Italien,
Juli 2002. [61] Kephart J.O., D.M. Chess: The Vision of Autonomic Computing, IEEE Computer,
S. 41-50, Januar 2003.
[62] Kohonen T.: Self-Organizing Maps, Springer Series in Information Sciences, Band 30,
Springer, 3. Au age, 2001.
[63] Kollingbaum M., T. Heikkil¨ a, P. Peeters, J. Matson, P. Valckenaers, D.
McFarlane und G.-J. Bluemink: Rationales for holonic manufacturing control,
Emergent Flow Shop Control based on MASCADA Agents, MIM 2000, Patras, Grie-chenland,
2000.
[64] Kollingbaum, M.J., T.J. Norman: NoA - A Normative Agent Architecture, IJCAI
2003.
[65] Kreuzinger J., A. Schulz, M. Pfeffer, T. Ungerer, U. Brinkschulte und C.
Krakowski: Real-time Scheduling on Multithreaded Processors, Real-Time Computing
Systems and Applications (RTCSA), Cheju Island, South Korea, S. 155–159, Dezember
2000.
[66] Lawler E.L., J.K. Lenstra, A.H.G. RinnooyKan, D.B. Shmoys (Hrsg.): The
Travelling Salesman Problem, New York: Wiley, 1985.
[67] Maniezzo V., A. Colorni und M. Dorigo: The Ant System Applied to the Quadratic
Assignment Problem, Tech. Rep. IRIDIA/94-28, Universit´e Libre de Bruxelles, Belgien,
1994.
[68] Meyer B.: Object-oriented software construction, Prentice Hall, 2. Au age, 2000.
[69] Moore G.E.: Cramming More Components onto Integrated Circuits, Electronics Maga-zine,
Band 38, S. 114–117, April 1965.
[70] M¨ uller-Schloer C., C. von der Malsburg und R.P. W¨ urtz: Organic Computing,
in: Informatik Spektrum, Band 27, Heft 4, S. 332–336, 2004.
[71] Mylopoulos J., M. Kolp und J. Castro: UML for Agent-Oriented Software De-velopment:
The Tropos Proposal, in: Proceedings of UML 2001, Toronto, Canada, S.
422–441, Oktober 2001.
[72] Newton I.: Philosophiae Naturalis Principia Mathematica, I.B. Cohen, A. Koyre
(Hrsg.), Harvard University Press, 3. Au age, 1990.
[73] Object Management Group: Common Warehouse Metamodel (CWM) Version 1.1,
OMG Document: formal/03-03-02, M¨ arz 2003.
[74] Object Management Group: Meta Object Facility (MOF) Version 1.4, OMG Docu-ment:
formal/02-04-03, April 2002.
[75] Object Management Group: MDA Guide Version 1.0.1, OMG Document omg/03-
06-01, Juni 2003.
[76] Object Management Group: Model Driven Architecture: A Technical Perspective,
ormsc/01-07-01, Juli 2001. [77] Object Management Group: Unified Modeling Language (UML) Version 1.5, OMG
Document: formal/03-03-01, M¨ arz 2003.
[78] Object Management Group: UML Profile for Schedulability, Performance, and Time
Version 1.0, OMG Document formal/03-09-01, September 2003.
[79] Object Management Group: UML Profile for enter-prise
distributed Object Computing (EDOC) Version 1.0,
http://www.omg.org/technology/documents/formal/edoc.htm.
[80] Object Management Group: XML Metadata Interchange (XMI) Version 2.0, OMG
Document: formal/03-05-02, Mai 2003.
[81] Omicini A.: Societies and Infrastructures in the Analysis and Design of Agent-based
Systems, in: Proceeding of AOSE 2000, Springer, 2000.
[82] Oodes T., C. M¨ uller-Schloer: A New Approach to the Design of Safety-Critical Sys-tems
based on Virtual Prototyping, Assertions and Simulation, VR@P Leira/Portugal,
1.-4. Oktober 2003, ISBN 972-99023-05, S. 321–328, 2003.
[83] Oodes T., C. M¨ uller-Schloer: Entwurf sicherheitskritischer, eingebetteter Systeme
- ¨ Ubersicht und neue Ans¨ atze, in: Embedded Intelligence 2002, Band 2, S. 523–532,
N¨ urnberg, 2002.
[84] Oodes T., H. Krisp H. und C. M¨ uller-Schloer: On the combination of assertions
and virtual prototyping for the design of safety-critical systems, ARCS 2002/Trends in
Network and Pervasive Computing, Karlsruhe. Berlin, Heidelberg, New York, Tokio,
Springer, 2002.
[85] Oodes T., C. M¨ uller-Schloer: UML-basierter Systementwurf sicherheitskritischer,
heterogener Systeme, in: ASIM 2002, Rostock, 2002.
[86] Padgham L., M. Winikoff: Prometheus: a methodology for developing intelligent
agents, in: Proceeding of AOSE 2002, S. 174–185, November 2002.
[87] Pasteels J.-M., J.-L. Deneubourg, S. Goss: Self-organisation mechanisms in ant
societies: Trail recruitment to newly discovered food sources, in: Experimentica Sup-plmentum,
54. Jg., S. 155–175, 1987.
[88] Prigogine I., D. Kondepudi: Modern thermodynamics: From heat engines to dissipa-tive
structures, Chichester: John Wiley & Sons, 1998
[89] Roman G.C., H.C. Cunningham: Mixed Programming Metaphors in a Shared Datas-pace
Model of Concurrency, IEEE Transactions on Software Engineering, Band 16, Nr.
12, S. 1361–1373, 1990.
[90] Russel S., P. Norvig: K¨ unstliche Intelligenz, Pearson Studium, August 2004.
[91] Smith R.G.: he contract net protocol: High-level communication and control in dis-tributed
problem solving, in: IEEE Transactions on Computers, Band C-29, Nr. 12, S.
1104–1113, 1980. [92] Schreiber A.Th., B.J. Wielinga, J.M. Akkermans und W. Van de Velde: Com-monKADS:
A comprehensive methdodology for KBS development, Deliverable DM1.2a
KADS-II/M1/RR/UvA/70/1.1, Universit¨ at Amsterdam, Niederlande, Energy Research
Foundation ECN and Free University of Brussels, 1994.
[93] St¨ utzle T., M. Dorigo: ACO Algorithms for the Quadratic Assignment Problem, in:
Corne D., M. Dorigo und F. Glover (Hrsg.): New Ideas in Optimization, McGraw-Hill,
1999. (Auch Tech.Rep.IRIDIA/99-2, Universit´e Libre de Bruxelles, Belgien)
[94] Ungerer T., J. Silc und B. Robic: A Survey of Processors with Explicit Multithrea-ding,
IEEE Computing Surveys, Band 35, Heft 1, S. 29-63, M¨ arz 2003.
[95] Valckenaers P., H. Van Brussel, M. Kollingbaum und O. Bochmann: Multi-agent
coordination and control using stigmergy applied to manufacturing control, In: Lec-ture
Notes in Artivicial Intelligence, Nr. 2086, S. 317–334, Springer-Verlag, 2001.
[96] Valckenaers P., M. Kollingbaum, H. Van Brussel und O. Bochmann: Short-term
forecasting based on intentions in Multi-agent Control, Proceedings of the 2001
IEEE Systems, Man and Cybernetics Conference, 2001.
[97] Valckenaers P., M. Kollingbaum, H. van Brussel, O. Bochmann und C. Zam-firescu:
The Design of Multi-Agent Coordination and Control Systems Using Stigmergy,
Proceedings of the IWES’01 Conference, 12.-13. M¨ arz, Bled, Slowenien, 2001.
[98] Van Brussel H., J. Wyns, P. Valckenaers, L. Bongaerts und P. Peeters:
Reference architecture for holonic manufacturing systems: PROSA, in: Computers In
Industry 37, 1998.
[99] Voigt B.Fr.: Der Handlungsreisende, wie er sein soll und was er zu thun hat, um
Auftr¨ age zu erhalten um eines gl¨ ucklichen Erfolgs in seinen Gesch¨ aften gewiss zu sein,
Ilmenau, 1832.
[100] Waldo J.: The Jini Architecture for Networkcentric Computing, Communications of
the ACM, S. 76–82, Juli 1999.
[101] Warmer J., A. Kleppe und W. Bast: MDA explained. The Model Driven Architec-ture:
Practice and promise, Addison-Wesley, 2003.
[102] Warmer J., A. Kleppe: The Object Constraint Language: Precise modeling with UML,
Addison-Wesley, 1999.
[103] Watkins C.J.C.H.: Learning with delayed rewards, Ph. D. dissertation, Psychology
Department, University of Cambridge, England, 1989.
[104] Whitestein Technologies: Agent Modeling Specification, Version 0.9, 2004,
http://www.whitestein.com/resources/aml/wt AMLSpecification v0.9.pdf.
[105] Wood M.F.: Multiagent Systems Engineering: A Methodology for Analysis and Design
of Multiagent Systems, MS thesis, AFIT/GCS/ENG/00M-26.
[106] Wood M.F., S.A. DeLoach: An Overview of the Multiagent Systems Engineering
Methodology, in: Proceedings of AOSE 2000, S. 207–222, 2000. [107] Wooldridge M., P. Ciancarini: Agent-Oriented Software Engineering: The State of
the Art, in: Ciancarini, P., M. Wooldridge (Hrsg.): Agent-Oriented Software Engineering,
Lecture Notes in AI, Nr. 1957, Springer-Verlag, 2001.
[108] Wooldridge M., N. Jennings und D. Kinny: The Gaia Methodology for Agent-Oriented
Analysis and Design, Journal of Autonomous Agents and Multi-Agent Systems,
Band 3, Heft 3, S. 285–312, 2000.