В результате исследования было установлено, что на начальном этапе проектирования имитационный метод позволяет:
1. Определить поведение системы при различных ее параметрах и параметрах объектов, а также определить оптимальные их значения.
2. Определить наиболее эффективное поведение системы при различных параметрах внешней среды. А отсюда - области наиболее эффективного применения исследуемой системы управления или определенного метода. К примеру, в ходе исследования было выявлено, что данная система управления более эффективна в динамически изменяемых средах, нежели в статических.
3. Спроектировать либо скорректировать алгоритм управления роботом, непосредственно наблюдая, к чему приводят изменения.
4. Определить актуальность введения определенных методов и функционала. К примеру, в ходе исследования было выявлено, что метод маркировки обратного пути снижает эффективность в данной реализации, а, следовательно, необходимо отказаться от данного метода, либо доработать его.
5. Образно представить функционирование системы, что позволяет задействовать правое полушарие мозга проектировщика, отвечающее за творческую деятельность и образное мышление[6].
6. Определить цели следующих этапов проектирования, области исследования.
Литература
1. Никляев И.Ю. Инструментарий исследования команд интеллектуальных агентов // Известия
Волгоградского государственного технического университета. — 2009. — Том 12. — № 7. — С. 86-88.
2. Каляев И. А., Капустин С. Г., Усачев Л. Ж. Основы построения распределенных систем управления коллективами роботов // Электронное научно-техническое издание “Наука и образование”. — 2005. Эл№ ФС 77 - 30569. — №1. [Электронный ресурс]. Режим доступа: http://technomag.edu.ru/mdocs/nio/red.html
3. Брайен М. В. Общественные насекомые: Экология и поведение Social Insects: Ecology and
Behavioural Biology / Под ред. Г. М. Длусского. — М.: Мир, 1986. — 400 с. — 5 800 экз.
4. Захаров А. А. Муравей, семья, колония / Под ред. К. В. Арнольди. — М.: Наука, 1978. — 144 с.
— (Человек и окружающая среда).
5. Иванов Д.Я. Информационный обмен в больших группах роботов // Научно-теоретический
журнал “Искусственный интеллект”, 2010. № 4. C. 513—521.
6. Ильясов Ф. Н. Информационная специализация и функциональная асимметрия мозга // Психологический журнал. — 1987. — Том 8. — № 6. — С. 44-47.
УДК 681.3.06
объектный дизайн web-порталов
Неудачин Илья Георгиевич, к.ф.-м.н., доцент, Уральский федеральный университет имени первого Президента России Б.Н.Ельцина, Россия, Екатеринбург, [email protected]
Введение
В данной статье исследуется курсовая работа студентов специальности "Информатика и вычислительная техника" по разработке Web-порталов в инфраструктуре Zope [1, 2]. Zope - это среда формирования и Web-публикации объектов, поставляемая бесплатно, с открытыми исходными кодами [3]. Объектно-ориентированная технология позволяет конструировать сложные порталы из готовых элементов. Найдены решения некоторых проблем, связанных с локализацией такой технологии в России. Предлагаемая разработка представляет интерес для обучения студентов, разработчиков, дизайнеров порталов и сайтов.
63
1. План работы
Этапы работы определяются стандартами [4]: выбор темы портала, согласование технического задания, эскизный проект, технический проект, рабочий проект, оформление пояснительной записки, сопровождение и защита проекта.
Пояснительная записка играет роль необходимой программной документации. Содержание документа: аннотация, техническое задание, спецификация, страничная
структура проекта портала, тесты и результаты теста, протокол отладки, интерфейсы разработчика, интерфейсы посетителя, руководство разработчика, руководство
администратора, ролевой доступ и безопасность, сопровождение, заключение.
Реализован шаблон портала "Школа ZooPython", который предоставляет набор объектов - сервисов для разработчиков. Этот пример в дальнейшем иллюстрирует наше исследование.
2. Структура проекта портала
Строя Web-приложение в Zope, мы конструируем Web-приложение из объектов. Объекты Zope играют одну из трех ролей: контент, презентация, логика:
1. Контент. Объекты Zope, например, документы, изображения и файлы, содержат различные виды текстовых и двоичных данных. В дополнение к внутренним объектам, Zope может работать с контентом, хранящимся вне нее, к примеру, в реляционной базе данных. Папки являются стандартными блоками Zope. Единственная цель папки проста: содержать другие объекты. Папки могут содержать любой вид объектов Zope, включая другие папки. Можно вложить папки друг в друга, чтобы сформировать дерево папок. Этот вид "папки в папке" задаёт структуру портала. Хорошая структура очень важна, поскольку безопасность и презентация зависят от структуры папок сайта. Кроме того, структура из папок знакома студентам, которые постоянно работают с файлами и папками на своём компьютере, используя файловые менеджеры.
2. Презентация. Можно управлять видом и стилем портала через объекты Zope, которые действуют как "шаблоны" Web-страниц. Zope поставляется с двумя средствами обслуживания презентаций: язык разметки шаблона документа (Document Template Markup Language - DTML) и шаблоны страниц Zope (Zope Page Templates -ZPT). Различие между DTML и ZPT заключается в том, что DTML позволяет смешивать презентацию и логику, а ZPT не позволяет. Шаблон index_html по умолчанию задает внешнее представление папки при ее просмотре в окне браузера.
3. Логика. Zope имеет средства обработки деловой логики. Эта среда позволяет описывать поведение объектов, используя три средства: язык разметки шаблона документа (DTML), скриптовые языки Python и Perl (Perl доступен только как дополнение). "Логика" - это любой вид программирования, которое не включают презентацию, а скорее включают выполнение таких задач как изменение объектов, посылка сообщений, проверка условий и отклики объектов на события.
В портале "Школа ZooPython" разместим следующие папки - сервисы (рисунок 1):
1. Книга посетителей ZooPython.
2. Магазин ZooPython.
3. Библиотека Файлов ZooPython.
4. План автоматической навигации.
5. Карта портала ZooPython.
6. Форум ZooPython.
7. Школьный буфет ZooPython.
3. Реинжиниринг и рефакторинг портала
Хорошо организованное рабочее место дизайнера содержит все необходимые операции редактирования структуры: Rename, Cut, Copy, Paste, Delete, Import/Export, Select All.
64
Управление и разработка выполняются дистанционно, в окне браузера. Доступны три варианта реинжиниринга: разработка внутри системы, импорт объектов сторонних
производителей, установка новых типов объектов-продуктов. Портал в Zope является динамическим Web-приложением, и все изменения структуры автоматически отображаются во внешних представлениях View его папок.
Рис. 1 - Интерфейс разработки портала ZooPython
Портал школы ZooPython
Добро пожаловать В Zope. Мы собрали некоторые примеры прикладных программ. Они показывают простые свойства Zope. Вы можете исследовать, как эти прикладные программы работают, рассматривая их в management interface. Если захотите добавить дополнительные примеры приложений к этой совокупности, пишите нам. Наслаждайтесь!
{--------------------------------"S
• Книга посетителей ZooPython
• Магазин ZooPython
• Библиотека Файлов ZooPython
• План автоматической навигации
• Карта портала ZooPython
• Форум ZooPython
• Школьный буфет ZooPython
\________________________________I
Вы можете удалить папку ZooPythonSite, если пожелаете. Вы Может также перезагрузить примеры, импортируя файл import/ZooPythonSite.zexp или ZooPythonSiteN.zexp.
Рис. 2 - Интерфейс посетителя портала ZooPython
65
Система изменений отдельных объектов (рефакторинг) заключена в их представлениях, набор которых меняется в зависимости от типа объекта. В папке доступны представления:
1. Contents - содержание.
2. View - внешнее представление.
3. Properties -свойства объекта.
4. Security - безопасность объекта.
5. Undo - отмена изменений возможна благодаря наличию аппарата транзакций.
6. Ownership - владение объектом расширяет возможности его редактирования.
7. Find - поиск.
Если объект содержит текст или код, дополнительно появляется представление с закладкой Edit для редактирования. Тестирование возможно в представлениях View (рисунок 2) или Test.
Эксплуатировалась версия Zope 2.9.6, которая дает удобную организационную возможность иметь одно ядро и несколько экземпляров на одном компьютере. Каждый разработчик получает свой экземпляр, не зависящий от других рабочих мест студентов.
4. Русские буквы в Zope
Вот меры по настройке нужной кодировки страниц портала. Кодировка экземпляра задается в файле конфигурации ...etc\zope.conf. Откроем файл конфигурации в текстовом редакторе для редактирования. Директива кодировки издателя zpublisher по умолчанию закрыта комментарием
# default-zpublisher-encoding utf-8
Уберем комментарий '#', для того, чтобы кодировка по умолчанию для Web-браузера была utf-8. Перезапустим Zope. Сейчас браузер запомнит кодировку, и разработчику не потребуется ее устанавливать при переключении страниц повторно.
В корневом фолдере Root Folder экземпляра Zope в представлении свойств Properties заполняются три окна ввода внизу страницы. В поле Name вводится имя свойства management_page_charset, в поле Value указывается значение свойства, равное utf-8 (или другой кодировки, например, koi8-r, CP1251). В поле Type остается тип string. Нажимается кнопка Add - добавить. Убедитесь, что свойство management_page_charset с заданными параметрами появилось в представлении Properties. Кнопка Save Changes возвращает нас к представлению Contents. Если вместо русских букв появляются непонятные символы, проверим кодировку страницы Web-браузера в меню Вид/Кодировка. Она должна соответствовать значению поля Value в свойстве management_page_charset папки корня Zope, т. е. кириллица юникод (utf-8) или Windows (CP1251). К сожалению, после этого шаблоны страниц нельзя сохранить с кириллицей. Для их редактирования нужно удалить свойство management_page_charset, а затем восстановить.
Остается позаботиться о настройке кодировки для посетителей портала. Здесь пригодится тег HTML с атрибутом charset
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
Будет утомительно вписывать его в каждый публикуемый документ. Пригодится полезное дополнение заимствования свойств и методов объектов по принципу вложения. Дополним стандартный заголовок standard_html_header корневой папки этим тегом и будем вызывать его на всех уровнях вложений тегом <dtml-var standard_html_header>.
5. Информационное сообщество портала
Пользователи и безопасность являются ключевыми понятиями организации сообщества пользователей портала. Zope - это многопользовательская система. Однако, вместо учётных записей пользователей операционной системы, в которой всё это выполняется, Zope поддерживает одну или больше её собственных баз данных пользователей. Предоставлены управление пользователями, формирование ролей, отображение ролей на права и организация режима безопасности портала Zope.
66
Безопасность в широком смысле подразумевает выполнение двух функций: аутентификацию и авторизацию. Аутентификация означает выяснение того, кто вы, а авторизация означает определение того, что вы имеете право делать. Zope предоставляет отдельное средство для управления процессом идентификации пользователей и предоставления им доступа к контролируемым операциям. Для определения учетных имен пользователей Zope использует фолдеры acl_users (User Folder).
Когда вы впервые обращаетесь к защищенному ресурсу, Zope просит вас зарегистрироваться и отыскивает ваше учетное имя в пользовательском фолдере. Zope пытается аутентифицировать вас лишь при попытке обращения к защищенному ресурсу. Если вы работаете с публичными ресурсами, Zope будет продолжать считать вас анонимом.
После того, как вы идентифицировали себя, Zope определяет, имеете ли вы доступ к защищенному ресурсу. В этот процесс вовлекаются два промежуточных слоя, расположенных между вами и защищенным ресурсом: роли и права. Пользователи имеют роли, которые описывают, что они могут делать в системе, а объекты Zope имеют права, которые описывают, что можно делать с этими объектами. Режимы безопасности сопоставляют роли с правами. Иными словами, они определяют, кто и что может делать. Таким способом Zope авторизует пользователя для доступа к защищенному ресурсу.
Новая роль вводится на вкладке Security объекта. Роль может использоваться в сайте на том уровне, где она определена, и ниже. Поэтому, если нужна роль, имеющая значение для всего сайта, она определяется в корневом фолдере сайта.
Выводы
Предложенная технология Zope позволила конструировать из объектов сложные порталы, посвященные многообразным темам. Можно легко модернизировать содержание и структуру полученной конструкции. Изменения будут динамически публиковаться во внешних представлениях страниц сайта. Обеспечены разные уровни безопасного доступа к объектам членам сообщества пользователей. Студенты, выполняя курсовую работу, приобретают компетенции разработчика, дизайнера, администратора, посетителя портала.
Литература
1. Неудачин И.Г. Среда Web-публикации объектов для студентов // Объектные системы - 2011:
материалы III Международной научно-практической конференции. / Под общ. ред. П.П.
Олейника. - Ростов-на-Дону, 2011. - с. 62-65.
2. Неудачин И.Г. Инфраструктура программирования в открытых кодах для студентов. //Теория
и практика применения свободного программного обеспечения: сборник трудов участников
Всероссийской молодёжной конференции с элементами научной школы. - Магнитогорск:
МаГУ, 2011. -с. 57-64.
3. Спикльмайр С. и др. Zope. Разработка Web-приложений и управление контентом: Пер. с англ. -
М.: ДМК Пресс, 2003. - 464 с.
4. Единая система программной документации. - М.: Издательство стандартов, 1982. - 128 с.
УДК 004.04
СИНЕРГЕТИЧЕСКОЕ ИНФОРМАЦИОННОЕ ПРОСТРАНСТВО МУОРБД1
Микляев Иван Александрович, к.ф.-м. н., доцент, Филиал «СЕВМАШВТУЗ», Санкт-Петербургский государственный морской технический университет, Россия, Северодвинск,
Черткова Ольга Владимировна, старший преподаватель, Филиал «СЕВМАШВТУЗ», Санкт-Петербургский государственный морской технический университет, Россия, Северодвинск,
chertkova-o@,mail.ru
1 Статья рекомендована к опубликованию в журнале "Информационные технологии"
67