Среда визуального программирования для разработки параллельного программного обеспечения обработки изображений и сигналов

МАС - просмотр состояний ВМАС и возможность просмотра допустимых переходов из любого состояния.

ГИП - отображение графа истинных траекторий, получаемого после верификации в режимах GTP или CY+GTP.

Параметры - отображение всевозможных значений параметров на всех состояниях цепи Маркова в виде списка.

Пример верификации. Рассмотрим верификацию определенной ранее ВМАС RES. Цепь Маркова, построенная по ней, имеет следующие характеристики: количество состояний - 124 841, количество переменных - 16, количество начальных состояний - 1, количество имен сообщений -10, количество переходов - 1 483 620, минимальное число переходов из состояния - 2, максимальное число переходов из состояния - 64.

В таблице 2 приведены результаты верификации некоторых формул на полученной цепи Маркова. Верификация производилась на процессоре Intel(R) Core(TM) i7-2700K CPU @ 3.50GHz.

Как видно из таблицы 2, на скорость работы алгоритма CY существенно влияет число темпоральных операторов (например, формула F(res2 л X(res2)) с двумя темпоральными операторами верифицируется значительно дольше, чем формулы с одним). Последняя формула в таблице 2 (7(30, 1, res2 && res3 && res4) содержит 30 темпоральных операторов, что дает еще большее время верификации, но, благодаря использованию полиномиального алгоритма GTP, это время гораздо меньше, чем время верификации эквивалентной формулы алгоритмом CY.

Автор благодарит М.И. Дехтяря за постановку задач и постоянную поддержку и М.К. Валиева за полезное обсуждение работы.

Литература

1. Валиев М.К., Дехтярь М.И. О сложности верификации недетерминированных вероятностных мультиагентных систем // Моделирование и анализ информационных систем. 2010. Т. 17. № 4. С. 41-50.

2. Dekhtyar M., Dikovsky A., Valiev M., LNCS, 2008, Vol. 4800, pp. 256-265.

3. Subrahmanian V.S., Bonatti P., Dix J., Eiter T., Kraus S., Ozcan F. and Ross R., Heterogeneous Agent Systems, MIT Press, 2000.

4. Kwiatkowska M., Proc. 18th IEEE Symp. «LICS'03», IEEE Computer Society Press, 2003, pp. 351-360.

5. Лебедев П.В. Программа верификации вероятностных многоагентных систем // 12-я национальн. конф. по искусств. интел. с междунар. участ. 2010. Т. 4. С. 81-88.

6. Baier C., Katoen J.-P., Principles of model checking, MIT Press, 2008.

7. Clarke E.M., Grumberg O., Peled D.A., Model checking, MIT Press, 1999.

8. Courcoubetis C., Yannakakis M., Jorn. ACM, 1995, Vol. 42, no. 4, pp. 857-907.

9. Hansson H., Jonsson B., A logic for reasoning about time and reliability. Formal Aspects of Computing, 1994, no. 6(5), pp. 512-535.

References

1. Valiev M.K., Dekhtyar M.I., Modelirovanie i analiz in-formatsionnykh system [Modeling and Analysis of Inform. Systems], 2010, Vol. 17, no. 4, pp. 41-50.

2. Dekhtyar M., Dikovsky A., Valiev M., LNCS, 2008, no. 4800, pp. 256-265.

3. Subrahmanian V.S., Bonatti P., Dix J., Eiter T., Kraus S., Ozcan F., Ross R., Heterogeneous Agent Systems, MIT Press, 2000.

4. Kwiatkowska M., Proc. 18th IEEE LICS'03, IEEE Computer Society Press, 2003, pp. 351-360.

5. Lebedev P.V., XII natsionalnaya konf. po iskusstvennomu intellectu s mezhdunar. uchast. [12th National Conf. on artificial intelligence with int. participation], 2010, Vol. 4, pp. 81-88.

6. Baier C., Katoen J.-P., Principles of model checking, MIT Press, 2008.

7. Clarke E.M., Grumberg O., Peled D.A., Model checking, MIT Press, 1999.

8. Courcoubetis C., Yannakakis M., JACM, 1995, Vol. 42, no. 4, pp. 857-907.

9. Hansson H., Jonsson B., Formal Aspects of Computing, 1994, no. 6(5), pp. 512-535.

УДК 004.434+004.75

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

К.В. Герценбергер, мл. научный сотрудник

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

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

Ключевые слова: среда визуального программирования, параллельное ПО, распределенные вычисления, методика автоматизированной разработки.

VISUAL PROGRAMMING ENVIRONMENT FOR PARALLEL SOFTWARE DEVELOPMENT OF IMAGE AND SIGNAL PROCESSING Gertsenberger K. V., junior researcher (Joint Institute for Nuclear Research, Joliot-Curie St., 6, Dubna, 141980, Russia, gertsen@jinr.ru);

Dyumin A.A., senior lecturer; Sorokoumov P.S., assistant

Аbstract. The article describes the problems of present programming environment for parallel software development.

The methodology of automated parallel software development is formalized in short. According to suggested methodology visual programming environment is developed to create parallel software of image and signal processing. Its advantages and disadvantages are noted. Core modules of visual environment and their relationships are described, the main steps of software development for multiprocessing architecture are considered in detail. The article gives a detail account of the key subsystems automating parallel programming in visual development environment.

Created visual programming environment has been used on a number of large projects, the implementation certificate was obtained. This article shows the practical use of visual programming environment on developing parallel hardwaresoftware system for verification of circuit boards' images.

Keywords: visual programming environment, parallel software, distributed computing, method of computer-aided programming.

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

Разработанная авторами методика [1] использует иной подход к созданию параллельного ПО. Разработчик параллельного программно-аппаратного комплекса уходит от наукоемкой разработки параллельного алгоритма, проблемы выбора метода распараллеливания, от написания параллельного исходного кода и сложной последующей отладки. Согласно данной методике разработка параллельного ПО включает следующие этапы.

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

2. Выбор параллельных алгоритмических структур (ПАС) из набора для распараллеливаемых функций в соответствии с логикой их работы и зависимостью по данным.

3. Аналитическое и/или имитационное моделирование планируемой системы. В случае неудовлетворительных значений или поиска оптимального решения необходимо скорректировать схему системы или параллельного алгоритма и вновь провести моделирование.

4. Сопоставление последовательного исходного кода функций с блоками выбранных параллельных ПАС.

5. Автоматическая генерация параллельного кода функций.

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

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

Реализация интерфейса среды разработки,

подсистема совместного проектирования программной и аппаратной схем

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

ботка среды проводилась на языке C# с использованием библиотеки отображения WPF в MS Visual Studio. Основные модули системы и их взаимосвязь представлены на рисунке 1.

Модуль блоков функций и ПАС

Объекты представления визуальной среды

Система имитационного моделирования

i

Модуль моделирования заданной системы t

Модель и характеристики

Модуль блоков аппаратной части

Визуальная интегрированная среда разработки

"1

Метаданные

XML-файл с исходными данными

Модуль сопряжения исходного кода с ПАС

Анализатор кода Модуль генерации параллельного ПО Связанные метаданные

1 1

Исходный параллельный код

Исполняемый файл

XML-описание работы

Конечное пользовательское приложение

Планировщик

Рис. 1

Список команд среды разработки (сохранение и загрузка конфигурации из XML-файла, работа с компонентами, аналитическое и имитационное моделирование комплекса, генерация параллельного кода и запуск полученного ПО системой планирования) вынесен в верхнее поле главного окна. Слева расположены аппаратные компоненты для дизайнера многопроцессорной системы и функциональные блоки для формирования алгоритмической части. Схема аппаратной платформы и функциональной части задается блоками, выбираемыми из расширяемого набора элементов. На рисунке 2 представлен пример заданной схемы многопроцессорной платформы в реализованной среде визуального программирования. Конфигурация состоит из трех вычислительных узлов, соединенных через маршрутизатор между собой и с хранилищем данных.

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

О

Рис. 2

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

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

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

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

Реализация подсистемы моделирования параллельных алгоритмов на заданной аппаратной платформе

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

Аналитическое моделирование проводится по полученным авторами формулам коэффициента

ускорения, эффективности и масштабируемости в соответствии со схемой аппаратной платформы и типом ПАС, выбранных для функций обработки изображений или сигналов [2]. Имитационное моделирование программно-аппаратного комплекса параллельной обработки реализовано в соответствии с разработанной моделью при помощи системы сетевого моделирования ОМЫЕТ++ [3]. Модель планируемого программно-аппаратного комплекса формируется из набора моделей отдельных компонент. Компонентам аппаратной схемы сопоставляются разработанные модели соответствующих устройств: вычислительного узла, концентратора, коммутатора, маршрутизатора, хранилища данных и сетевого соединения. Для имитации обработки и передачи данных в соответствии с выбранной алгоритмической структурой используются модели клиентского и серверного сетевого приложения. Модель, состоящая из компонент, сопоставленных аппаратной и функциональной схемам, генерируется автоматически. После генерации файлов среды ОМЫЕТ++ запускается моделирование с получением статистических данных, в результате которого определяются следующие характеристики для оценки производительности программно-аппаратной связки: время параллельной обработки данных, использующееся для расчета коэффициентов ускорения и эффективности, и загрузка вычислительных узлов многопроцессорной системы.

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

Реализация подсистемы автоматической генерации параллельного кода

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

После декомпозиции разработчик производит генерацию параллельного ПО, выполняющего обработку данных по заданной цепочке функций. Инкрементальное распараллеливание последовательного кода функций реализовано следующим образом: на первом шаге проводятся верификация модели, лексический и синтаксический анализ исходного кода при помощи нисходящего LL(k) анализатора ANTLR. Далее проблемно-ориенти-

рованная среда визуального программирования генерирует код в соответствии с ПАС согласно следующим принципам:

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

- в системах с распределенной памятью последовательные функции дополняются служебными инструкциями библиотеки межпроцессорного обмена MPI; для визуальной среды разработки выбрана бесплатно распространяющаяся библиотека MPI - MPICH2;

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

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

Реализация подсистемы планирования выполнения цепочки операций на многопроцессорной системе

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

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

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

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

Практическое использование

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

Реализованная среда визуального программирования позволила ускорить и повысить эффективность разработки параллельного ПО для обработки изображений и сигналов [4] в ряде крупных проектов. В проекте для Концерна «Системпром» представленная среда разработки использовалась при создании комплекса верификации изображений печатных плат на многоядерных процессорах. Узким местом верификации являлось большое время сравнения рентгенограмм с изображением закладочных устройств. Для проверки изображений был выбран метод SIFT, алгоритм компьютерного зрения, предназначенный для нахождения и описания локальных характеристик изображения. Поскольку основной этап метода можно проводить для его отдельных фрагментов, которые должны быть перекрывающимися на область, необходимую для нахождения дескрипторов, алгоритму SIFT была сопоставлена ПАС - локальный алгоритм.

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

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

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

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

Литература

1. Герценбергер К.В., Чепин Е.В. Использование параллельных алгоритмических структур для автоматизации процесса разработки параллельного программного обеспечения // Современные проблемы фундаментальных и прикладных наук: тр. 53-й науч. конф. МФТИ. М.: МФТИ, 2010. Ч. XI. С. 54-55.

2. Герценбергер К.В., Чепин Е.В. Аналитическая модель оценки производительности многопроцессорной обработки данных для набора параллельных алгоритмических структур // Бизнес-информатика. 2011. № 4 (18). С. 24-30.

3. Герценбергер К.В., Чепин Е.В. Имитационная модель оценки эффективности многопроцессорной обработки данных для параллельных алгоритмических структур // Программные продукты и системы. 2012. № 2. С. 117-120.

4. Gertsenberger K.V., Chepin E.V., Implementation parallel processing of digital signals on cluster system, Proc. Intern. Workshop on Computer Science and Inform. Technologies (CSIT'2007), Bashkortostan, 2007, Vol. 1, Ufa State Aviation Technic. Univ., 2007, pp. 152-155.

5. Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. СПб: БХВ-Петербург, 2002. 608 с.

6. Гладцын В.А., Яновский В.В. Средства моделирования вычислительных сетей. СПб: Изд-во СПбГЭТУ «ЛЭТИ», 2001. 1 28 с.

7. Эндрюс Г.Р. Основы многопоточного, параллельного и распределенного программирования. М.: Вильямс, 2003. 512 с.

8. Varga A., OMNeT++ Discrete Event Simulation System Version 4.0, User Manual, 2004, 342 p.

References

1. Gertsenberger K.V., Chepin E.V., Trudy 53 nauch. konf. MFTI «Sovremennye problemy fundamentalnykh i prikladnykh na-uk» [Proc. 53 Sc. Conf. MFTY «Modern problems of fundamental and applied sciences»], Moscow, MFTI, 2010, Iss. XI, pp. 54-55.

2. Gertsenberger K.V., Chepin E.V., The Business Informatics, 2011, no. 4, pp. 24-30.

3. Gertsenberger K.V., Chepin E.V., Programmye produkty i sistemy [Software and Systems], 2012, no. 2, pp. 117-120.

4. Gertsenberger K.V., Chepin E.V., Proc. of CSIT'2007, Bashkortostan, 2007, Vol. 1, Ufa State Aviation Technic. Univ., 2007, pp. 152-155.

5. Voevodin V.V., Voevodin Vl.V., Parallelnye vychisleniya

(Parallel computing), St. Petersburg, BHV-Peterburg, 2002, 608 p.

6. Gladtsyn V.A., Yanovsky V.V., Sredstva modelirovaniya vychislitelnykh setey (Modeling aids of computing nets), St. Petersburg, SPbGETU «LETI», 2001, 128 p.

7. Andrews G.R., Foundations of Multithreaded, Parallel, and Distributed Programming, Addison Wesley, 2000.

8. Varga A., OMNeT++ Discrete Event Simulation System Version 4.0, User Manual, 2004, 342 p.

УДК 004.42

ИСКУССТВЕННЫЕ МИРЫ: ТЕМПОРАЛЬНАЯ ОРГАНИЗАЦИЯ

Е.А. Кольчугина, к.т.н., доцент

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

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

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

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

Ключевые слова: искусственная жизнь, мультиагентные системы, темпоральные БД, временные шкалы.

ARTIFICIAL WORLDS: TEMPORAL ORGANIZATION PRINCIPLES Kolchugina E.A., Ph.D., associate professor

Аbstract. The issues of time category representation in artificial worlds models including methods based on the concepts of linear, cyclic and branching time are considered. The problem of time representation in informational models is still actual. Basically it is connected with the unsolved problem of time nature in the modern physics and philosophy.

One of the fields of the computer science is related to temporal databases. Its purpose is to conceptualize time category and reflect the dynamics of data domain changes. The temporal databases have following characteristic features: the absence of the necessity of irrelevant data removing, the support of the concept of current time and the temporal logic operations. I n the context of the artificial worlds models, temporal databases can be used to store the information about the artificial world evolution.

This paper offers to use the notion of temporal scales in artificial world's models for conceptualization of the time cat e-gory. The temporal scale is a function which allows normalizing informational snapshots of events in time. Event is formation act of qualitative or quantitative value of parameter belonging to the real or artificial world object. It is a result of measurement which can be kept in a database. Temporal scales allow setting and reflecting properties of time in a model: discreteness and continuity, limitation or limitlessness, uniformity and non-uniformity, linearity, recurrence, presence or absence of branching. The modeling of temporal A- and B-rows is also possible.

It is established that the choice of the time representation concept influence on results of the artificial world evolution modeling.

Keywords: artificial life, multiagent software systems, temporal databases, temporal scales.

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

ментов данных на основе цифровой ДНК, как это было определено в [1]. Цифровая ДНК имеет первичное значение при задании свойств цифрового организма, однозначно определяя их. Она представляется последовательностью целых неотрицательных чисел, которая кодирует конкретные про-