2. Варфоломеев В.И. Алгоритмическое моделирование элементов экономических систем. - М.: Финансы и статистика. 2000. -208 с.
УДК 004.78
ОБЪКТНО-ОРИЕТИРОВАННЫЙ ПОДХОД К ИСПОЛЬЗОВАНИЮ БИОНИЧЕСКИХ МЕТОДОВ ПРИ ПРОЕКТИРОВАНИИ ТОПОЛОГИЙ ЛВС
Черкесова Эльвира Юрьевна, д.э.н., проф., Заведующая кафедрой "Информационные технологии и управление", Шахтинский институт (филиал), Южно-Российский государственный технический университет (Новочеркасский политехнический институт), Россия, Шахты Спеваков Евгений Анатольевич, аспирант, Шахтинский институт Южно-Российского государственного технического университета (Новочеркасского политехнического института),
Россия, Шахты
В настоящее время практически в любой отрасли производства, в бизнесе, в обучении и для выполнения множества других различных операций используются компьютеры. Но в обеспечении эффективной работы компьютеров основную роль играет не технические характеристики компьютера, и не их количество на предприятии. Отдача от капиталовложений в информационные технологии (ИТ) в первую очередь определяется эффективностью всей системы применения компьютеров. А такая система не будет эффективно работать, если не будет осуществляться обмена информацией между компьютерами. Для оперативного обмена информацией между ними используются вычислительные сети и их частный случай - локальные вычислительные сети (ЛВС).
В настоящее время наибольшее влияние на эффективность работы IP-сети в среде Ethernet может оказать топология проложенной сети, физическое расположение и емкость кабелей, способ и логика соединения различных сетевых устройств, такие как повторители, мосты и разветвители. Следует также отметить, что сегодня происходит слияние сетевых технологий в области компьютеров с технологиями телефонии, например использование, с одной стороны для сетей Ethernet телефонной проводки (витая пара), и появление, с другой стороны IP-телефонии, которая в настоящий момент уже весьма активно используется всеми крупными международными провайдерами телефонной связи, удешевляя ее в разы. Так же происходит поглощение не только телефонных, но и других технологий, например -радиовещание, телевидение.
Очевидно, что при таком бурном развитии сетевых технологий предъявляется повышенные требования к пропускной способности сети и, как следствие, повышаются требования к физической и логической структуре сети. Следовательно, весьма актуальным будет применить для разработки сети какие-либо математические методы, что позволило бы снизить влияние человеческих ошибок, как на стадии проектирования, так и в последствии при работе сети.
В данной работе сделана попытка применить бионические методы (теорию графов и теорию генетических алгоритмов) для осуществления трассировки топологии сетей, построенных по технологии Ethernet. Проводится объектно-ориетированная модель топологии сети для использования ее в подсистеме автоматизированного проектирования ЛВС.
В процессе анализа предметной среды локальных сетей рассматривались следующие понятия, связанные с коммуникационным оборудованием [1].
В качестве среды передачи данных можно использовать: витую пару, коаксиальный кабель, волоконно-оптический кабель, многожильный кабель, радиоканал.
При выборе физической среды передачи данных следует учитывать следующие показатели:
• скорость передачи информации;
47
• пропускную способность канала связи;
• достоверность передачи информации;
• надежность канала связи;
• безопасность передачи данных;
• стоимость монтажа и обслуживания;
• ограничения на величину расстояния передачи информации (без дополнительных усилителей - повторителей (репитеров)).
При выборе активного оборудования, а в частности, сетевых адаптеров и модемов, следует учесть такие параметры:
• скорость передачи;
• объем буфера для пакетов;
• тип шины;
• быстродействие шины;
• совместимость с различными микропроцессорами;
• использование прямого доступа к памяти (DMA);
• адресация портов ввода/вывода и запросов прерывания;
• интеллектуальность (некоторые адаптеры имеют процессор);
• конструкция разъема (совместимость с различными несущими средами). Конфигурацию персональных компьютеров, на основе которых организуется данная
локальная вычислительная сеть, а также пакет программного обеспечения необходимо выбирать из расчета задач, которые будут решаться разрабатываемым информационным вычислительным комплексом.
В работе рассматриваются различные абстрактные уровни представления сети, базовым классом объектов которых являются комната (помещение) и здание. Рассмотрим их подробнее.
Для представления здания используется теория графов. Здание представлено в виде взвешенного, неориентированного, односвязного графа без петель. Как следует из теории графов, основные элементы представления - это узел и ребро. Для описания здания используются следующие объекты:
1. Узел (node) - точка на координатной плоскости, характеризующаяся двумя параметрами - координатами Х и У, является вершиной графа;
2. Стена (wall) - соединение двух узлов, образующее ребро графа, описывает реальную стену здания, описывается двумя параметрами - номерами начального и конечного узлов;
3. Дверь (door) - объект, описывающий дверной проем в комнате. Характеризуется двумя параметрами: номером узла, из которого начинается стена, содержащая дверь, и шириной проема;
4. Комната (room) - Объект, характеризующийся следующими характеристиками:
• четыре узла и четыре стены, соединенных в четырехугольник;
• одна из стен комнаты должна выходить в коридор и содержать объект «Дверь», который используется для соединения между ними;
• номер коридора, в который выходит дверь, и который используется для прокладки коммуникаций;
• так же содержит в себе характеристику «Имя» (name) для словесного описания и мнемонической идентификации именно этого объекта, например «Аудитория 123»;
5. Коридор (hall) - объект, содержащий различное число узлов, в зависимости от числа поворотов в нем, и такое же число стен, соединяющее эти узлы;
6. Компьютер - объект, содержащий следующие характеристики:
• координаты;
• номер комнаты, в которой находится компьютер;
48
• имя компьютера (name);
• имя рабочей группы (WorkgroupName).
Все объекты, представляющие собой компоненты ЛВС, представлены в виде дерева объектов С++. Все дерево объектов представлено на рисунке.
Такое представление объектов не случайно. Представление группы разных, но схожих по своим характеристикам объектов в виде дерева, где в качестве основы используется объект, инкапсулирующий все похожие свойства семейства объектов гораздо выгоднее, чем реализация всех похожих объектов по отдельности. Это позволяет, во-первых, унифицировать типы данных, а во-вторых, сэкономить на времени кодирования аналогичных операций.
Основным объектом, от которого наследуются все объекты, является объект CObject -базовый объект библиотеки MFC [2]. Этот объект сразу инкапсулирует в себе практически полный набор необходимых функций, таких как обработка потоков (serialization), обработка исключений, обработка информации о классе времени исполнения (RTTI - run time type information), средства диагностики.
Рис. 1. Иерархия объектов представления сетевых средств
Объект CNetDevice представляет собой обобщение всех устройств, встречающихся в сети. В его состав входит:
1. DECLARE_SERIAL(CNetDevice) макрос для работы с потоками (serialization);
2. конструктор;
3. name - символьное имя объекта;
4. group - символьное имя группы, в которую может входить объект;
5. type - некоторое число, которое описывает тип устройства;
6. x, y, z - координаты устройства, причем координаты x и у представлены в миллиметрах, а координата z описывает номер этажа;
7. Operator= описывает процедуру применения оператора ‘=’ для двух объектов CNetDevice (например: device1=device2).
Из объекта CNetDevice наследуются объекты CHub, CRepeater, CNetCard. Рассмотрим их подробнее.
Объект CHub представляет собой реализацию хаба (активного разветвителя), и включает в себя:
1. DECLARE_SERIAL(CHub) макрос для работы с потоками;
2. Serialize - метод для сохранения/восстановления объекта на диск/с диска;
49
3. TraceToDev - перегруженный метод реализации алгоритма прокладки кабеля. В зависимости от аргумента может быть вызвана та или иная модификация алгоритма;
4. CalcWireLen - метод подсчета длин всех отрезков сегментов, присоединенных к данному устройству;
5. DrawWire - прорисовка сегмента на экране;
6. link - список номеров присоединенных устройств.
Объект CRepeater представляет собой реализацию репитера (повторителя), и имеет следующее объявление:
1. DECLARE_SERIAL(CRepeater) макрос для работы с потоками;
2. Serialize - метод для сохранения/восстановления объекта на диск/с диска;
3. TraceToDev -метод реализации алгоритма прокладки кабеля. Кабель от репитера может быть проложен только к другому репитеру;
Объект CNetCard представляет собой реализацию всех остальных устройств, подключенных к сети, как правило, это компьютеры, но могут быть и аппаратные роутеры, либо какие-либо еще устройства, например сетевые принтеры или сканеры. В этом случае, с точки зрения объектной модели эти устройства ничем не отличаются от компьютеров, т.к. физически подключаются к сегменту по общим правилам и имеют внутри себя устройство, по всем параметрам аналогичное сетевой плате. Объект включает в себя:
1. DECLARE_SERIAL(CNetCard) макрос для работы с потоками;
2. Serialize - метод для сохранения/восстановления объекта на диск/с диска;
3. ipaddr - IP адрес устройства в сети;
4. ipmask - маска подсети для сети IP;
5. iprouter - роутер для данного устройства.
Следует сказать, что для полноценной работы в современной IP-сети недостаточно знать только адрес, маску и адрес роутера. Однако, этих данных достаточно для запуска и последующей конфигурации протокола стандартными средствами группового администрирования.
Объект CNetObject включает в себя:
1. DECLARE_SERIAL(CNetObject) макрос для работы с потоками;
2. x, y, z - координаты устройства, причем координаты x и у представлены в миллиметрах, а координата z описывает номер этажа;
3. name - символьное имя объекта;
4. type - некоторое число, которое описывает тип устройства;
5. ipaddr - широковещательный IP-адрес данной сети. Далее, по ходу алгоритма из этого адреса можно будет вычислить как IP - адрес отдельного устройства, так и номер подсети данного сегмента;
6. ipmask - маска данной подсети. При помощи маски подсети из адреса сети высчитывается ее номер;
7. topology - параметр, определяющий, какая топология используется для прокладки кабеля и присоединения кабеля;
8. конструктор.
В этом объекте представлено собой обобщение для объектов, которые не представляют собой отдельное физическое устройство в сети, но логически вполне отделимы друг от друга и в иерархии задач для алгоритма декомпозиции с откладыванием задач могут стоять выше, чем конкретные, отдельно взятые сетевые устройства. Такими объектами являются: сетевой сегмент, подсеть в отдельной комнате и магистральная сеть, которым соответственно сопоставлены указанные выше на рисунке следующие объекты языка C++ : CNetSegment, CRoomNet, CMagistralNet.
Рассмотренная обобщенно объектно-ориентированная модель ЛВС может быть использована при автоматизации топологического синтеза сети. Синтез топологической структуры крупномасштабных ЛВС наталкивается на ряд трудностей, связанных с ограниченными возможностями используемой вычислительной техники, большой
50
размерностью и многоэкстремальностью решаемой задачи синтеза, несовершенством используемых методов оптимизации. Перечисленные трудности вызывают необходимость использования декомпозиционного подхода, позволяющего свести решение сложной задачи к ряду более простых. В практике проектирования общая задача синтеза топологической структуры сети разбивается на ряд подзадач:
• определения числа и местоположения узлов коммутации;
• синтез низовых сетей;
• синтез магистральной сети.
Решение перечисленных задач, в совокупности представляющих собой задачу синтеза осуществляется, как правило, с использованием приближенных эвристических методов.
Предложенная объектная модель позволяет, с учетом декомпозиции задач проектирования, использовать бионические методы, в том числе - на этапе описания объектной модели методы теории графов, а на этапе реализации алгоритмов трассировки -методы генетических алгоритмов. Развитие такого подхода к автоматизации проектирования топологий ЛВС представляется авторам перспективным как с научной, так и с практической точек зрения.
Литература
1. Мешков В.Е., Решение задачи распознавания изоморфизма графов нейросетевыми методами в процессе структурного синтеза схем РЭА // Мешков В.Е., Пономарев Д.П. Изв. Вузов. Северо-Кавказский регион. Сер. Технические науки.- 1999.- № 3.- С. 79-83.
2. Мешков В.Е., Применение генетических алгоритмов при создании локальных вычислительных сетей // Мешков В.Е., Карпенко С.С. Теория, методы и средства измерений, контроля и диагностики: Материалы II Международной научно-практической конференции, ЮРГТУ (НПИ).- Новочеркасск: ООО «Темп», 2001. Ч.4. - 76 с.
3. Мешков В.Е., Решение задачи синтеза топологии ЛВС на основе эволюционных методов проектирования // Мешков В.Е., Береза А.Н. Труды Международных научно-технических конференций «Интеллектуальные системы» (AIS”05) и «Интеллектуальные САПР» (CAD-2005). Научное издание в 4-х томах.- М. ФИЗМАТЛИТ. 2005. Т4.- 256с.- ISBN 5-9221-0621-х.-с.120-126.
4. Мешков В.Е., Информатика. Часть 3. Локальные сети в информационных системах// Мешков В.Е., Лантратов О.И. Шахты: Издательство Южно-Российского отделения Академии горных наук РФ «Недра», 2000.
УДК 004.021
РЕАЛИЗАЦИЯ НЕПОСРЕДСТВЕННОЙ ИНТЕРПРЕТАЦИИ ПРОИЗВОЛЬНЫХ
ДИАГРАММ БИЗНЕС-ПРОЦЕССОВ
Иртегов Дмитрий Валентинович, доцент, заведующий лабораторией, Новосибирский Государственный Университет, Россия, Новосибирск, [email protected] Попов Игорь Васильевич, студент, Сибирский Государственный Университет Телекоммуникаций и Информатики, Россия, Новосибирск, [email protected]
Системы управления потоками работ (workflow engines) являются важной составляющей информационной поддержки бизнеса.
Поток работ представляет собой формализованный бизнес-процесс, в ходе которого пользователи (сотрудники организаций) выполняют определенные действия в соответствии с отведенными им ролями. [1] За прошедшее время было предпринято множество попыток формализовать описание бизнес-процессов, а именно были разработаны такие стандарты как: Business Process Modeling Notation (BPMN) [2], Web Services Business Process Execution Language (WS-BPEL или сокращенно BPEL) [2, 3], XML Process Definition Language (XPDL) [2] и другие. Рассмотрим указанные стандарты подробнее.
51