Опубликован: 31.07.2008 | Доступ: свободный | Студентов: 3282 / 1099 | Оценка: 4.10 / 4.00 | Длительность: 14:55:00
ISBN: 978-5-94774-896-3
Лекция 4:

Программное обеспечение. Свойства программного обеспечения устройств в сетях телекоммуникации

< Лекция 3 || Лекция 4: 12345 || Лекция 5 >
Аннотация: В этой лекции рассматривается программное обеспечение станций, работающих в сети телекоммуникации [31]

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

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

  1. "Большое программное обеспечение". Основные его признаки:
    • оно создается большим коллективом специалистов (свыше 100 человек);
    • имеет большой объем (более 100 000 строк программного текста);
    • обновляется и дополняется в течение всего "жизненного цикла" системы.
  2. Программное обеспечение системы, работающей в реальном масштабе времени.

Это означает, что:

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

Кроме того, для таких программ характерен промышленный подход, основными признаками которого являются:

  1. Массовость изделия и его долгий срок службы при эксплуатации в непрофессиональной (в смысле программирования) среде.
  2. Отчуждаемость и устойчивость к будущему.

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

  3. Простота обслуживания.

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

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

Системы программирования

В задачу этого раздела не входит рассмотрение или тем более критика различных систем программирования. Как заметил один из создателей теоретического подхода к программированию Э. Дейкстра [25]: "Растет Вавилонская башня языков, и каждый последующий претендует на роль ее венца". В задачу этого раздела также не входит оценка тех или иных программных решений. Сегодня ясно одно, что "нет лучше того языка, который знаешь".

Предлагаемый в этом разделе подход был создан для разработки отечественных систем телекоммуникаций с программным управлением. Он отображен в книгах и многих статьях (например, [9, 13, 44, 45]). Это подход был развит в 1970-х годах, и в настоящее он может быть отнесен к классу объектно-ориентированных систем программирования.

Не претендуя на обзор систем, принадлежащих классу объектноориентированных, приведем основные определения объектно-ориентированного подхода. Заметим, что потом он не раз встретится в этом курсе, например при рассмотрении вопросов эксплуатации и управления сетями связи [29, 52].

После рассмотрения общих вопросов перейдем к отечественному методу.

Объектно-ориентированный подход

Основу этого подхода составляют следующие понятия.

  1. Объект, который представляет устройство или информацию о нем, подлежащую обработке в программе.
  2. Атрибут. Каждый объект описывается списком атрибутов, которые, с одной стороны, дают определение всем характеристикам объекта, с другой — указывают на параметры, которые могут быть использованы внешним окружением. Соотношение объект-атрибут аналогично отношению функция-параметр в математике. Это иногда позволяет записывать объект в виде функции.
  3. Сообщение (метод.) Запросы на работу объекта называются сообщениями или методами. Объекты могут поддерживать более чем один метод. Методы состоят из двух частей: описание (signature) и реализация (implementation). Описание состоит из имени метода, имен и типов параметров (в том числе возвращаемое значение) и исключения (exceptions).
  4. Интерфейс объекта представляет собой часть объекта, предназначенную для взаимодействия с внешним окружением. Совокупность интерфейсов определяет поведение объекта. Интерфейс объекта состоит из имени объекта и набора методов.
  5. Часто с инетерфейсом связано понятие класса. Класс имеет внутреннюю часть, определяющую структурное качество, и внешнюю часть, содержащую группировку всех объектов класса и конструктор для каждого класса.
  6. Поведение объекта — это контракт, описание поведения объекта при управлении его программой, которое предлагается потребителю. Контракт состоит из описания и необходимых предусловий (Preconditions), инвариантов (invariants) и постусловий (post-conditions). Инварианты — предусловия — условия, правильность которых должна быть обеспечена перед вызовом метода. Постусловия — условия, правильность которых проверяется после вызова метода и подтверждает правильность выполнения контракта.

Архитектура CORBA для распределенных вычислительных систем

Для построения программного обеспечения, его разработки и эксплуатации во многих приложениях применяется CORBA (Common Object Request Broker Architecture) — Общая архитектура с передачей запросов к объекту через посредника. Основные сведения об этой архитектуре можно узнать в [18, 29, 52, 68]. Часто она классифицируется как система работы с распределенными вычислительными ресурсами. Ее свойства во многом соответствуют перечисленным в начале этого раздела требованиям к разработке и эксплуатации программного обеспечения станций в сетях телекоммуникаций.

Часть архитектуры CORBA, необходимая для дальнейшего рассмотрения, показана на рис. 4.1.

Согласно современной классификации указанная архитектура принадлежит классу архитектуры "клиент-сервер". Как можно видеть на рис. 4.1, имеется два типа сетевых устройств:

  • клиенты (при объектно-ориентированном подходе это объекты);
  • серверы (обслуживающие узлы сети).

Работа осуществляется сервером по запросу клиента на услугу.

Основной особенностью архитектуры CORBA является наличие программной шины ORB (Object Request Broker). ORB "отвечает" за распределение запросов клиента по соответствующими серверам, а также является транспортной средой для взаимодействия в процессе выполнения задачи. Детали этого взаимодействия скрыты от пользователя и существуют как часть реализации "программной шины".

Обычно скрытыми являются следующие элементы взаимодействия [18].

  • Местоположение объекта. Клиент не знает, где располагается целевой объект — в отдельном процессе в другом компьютере сети или в другом процессе того же самого компьютера сети.
  • Реализация объекта. Клиент не знает, каким образом реализован объект, какой язык программирования или язык сценариев использован для реализации, какая операционная система или какое оборудование работает в объекте.
  • Состояние объекта. При передаче запроса к целевому объекту клиент не должен знать, активизирован ли объект (то есть запущен ли соответствующий процесс) и готов ли он принять запрос. В случае необходимости, перед тем как передать к объекту запрос услуги, компонент ORB невидимо для клиента запускает процесс на объекте.
  • Механизм связи с объектом. Клиенту неизвестен механизм (например, протокол, разделяемая память, вызов локального метода и т. д.).

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

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

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

Этот подход отражен во многих статьях и книгах. Для начального изучения можно рекомендовать [7, 12, 13, 40, 44, 45].

Фрагмент архитектуры CORBA

Рис. 4.1. Фрагмент архитектуры CORBA
< Лекция 3 || Лекция 4: 12345 || Лекция 5 >
Гульсим Калакова
Гульсим Калакова
Олег Сергеев
Олег Сергеев