6.6.1. Понятие алгоритмического и программного обеспечения
6.6.3. Этапы проектирования ПО ЦСК
6.6.1. Понятие алгоритмического и программного обеспечения
Управляющая система ЦСК выполняет возложенные на нее функции по обслуживанию вызовов, а также функции, связанные с технической эксплуатацией в соответствии с заданными алгоритмами функционирования. Под алгоритмом функционирования УС понимают точное предписание о порядке выполнения действий по реализации той или иной функции. Алгоритмы функционирования УС могут быть описаны разными способами с различной степенью детализации: на естественном языке с необходимыми дополнениями графической и цифровой информацией, либо на некотором формализованном языке. Совокупность описаний алгоритмов функционирования УС образует алгоритмическое обеспечение (АО). АО УС может быть полностью или частично реализовано аппаратными (схемными) или программными средствами. Программой называют алгоритм, представленный в форме, воспринимаемой реализующей его УС. Программное обеспечение (ПО) – это организованная совокупность взаимосвязанных и взаимодействующих программ и соответствующих им данных, предназначенная для целенаправленной работы УС.
6.6.2. Состав ПО ЦСК
В зависимости от целевой установки ПО подразделяется на три типа: инструментальное, системное и прикладное (рисунок 6.22) [4].
Рисунок 6.22 – Состав ПО ЦСК
Инструментальное ПО (ИПО) используется программистами как инструмент для написания и отладки программ. В составе ПО ЦСК инструментальное ПО предназначено для автоматизации проектирования программ на различных уровнях – от уровня алгоритмов до уровня машинных команд. Автоматизация обеспечивается специальными системами автоматизации проектирования (САПР). Применяемые САПР соответствуют различным уровням проектирования:
1) На этапе разработки алгоритмов функционирования используются САПР на основе языка SDL (Specification and Description Language). Алгоритм, представленный в терминах языка SDL, автоматически преобразуется в программу на одном из языков программирования.
2) На этапах программирования используются САПР на языке CHILL, на машинно-зависимом языке высокого уровня, на языке ассемблера.
Язык CHILL (CHILL – High Level Language – язык высокого уровня) предназначен для поддержки систем реального времени, т.е. он является проблемно-ориентированным.
Если в ПО УС используется машинно-ориентированный язык высокого уровня, то САПР на машинно-зависимом языке дает возможность программисту учитывать архитектурные возможности конкретных УУ, входящий в состав УС.
САПР на языке ассемблера позволяет разрабатывать программы с нормированным временем выполнения.
Системное ПО (СПО) включает в себя инструментальную и исполнительную операционную систему (ОС). Различия инструментальной и исполнительной ОС обусловлены степенью участия человека в управлении работой УС (степенью интерактивности). В инструментальной ОС управление осуществляется, главным образом, посредством команд (директив) оператора. В исполнительной ОС вмешательство оператора минимально и является вспомогательным, например, при возникновении аварийных ситуаций и проведении профилактических работ. Для интерактивного общения используется язык диалога «человек-машина» (MML – Man Machine Language).
Прикладное ПО (ППО) делится на основное и вспомогательное. Основное ПО содержит программы и данные, предназначенные для обеспечения технологического процесса установления соединений (коммутационные программы), удовлетворения запросов абонентов и администрации сети связи (административные программы), поддержания работоспособности аппаратно-программных средств ЦСК (программы технического обслуживания).
Вспомогательное прикладное ПО (СВПО) используется на этапе разработки основного прикладного ПО и подготовки ЦСК к эксплуатации.
6.6.3. Этапы проектирования ПО ЦСК
Процесс проектирования (разработки) АО и ПО является многоэтапным, иерархическим, итеративным и в соответствии с рекомендациями ITU-Т (МСЭ-Т) ведется методом «сверху вниз». Это способ поэтапной абстракции с возрастающей последовательной детализацией. Этапы проектирования АО и ПО иерархически упорядочены так, что результаты выполнения данного слоя (уровня) детализируют проектные решения предшествующего уровня и являются исходными данными для следующего, более низкого уровня. Этапы проектирования связаны не только в прямом (от более высокого уровня к более низкому), но и в обратном направлении. Обратные связи используются для уточнений и улучшений проектных решений, что позволяет найти окончательное решение методом последовательных приближений. Последовательность этапов проектирования ПО показана на рисунке 6.23.
Рисунок 6.23 – Последовательность этапов проектирования ПО
6.6.4. Основные принципы построения ПО ЦСК
К основным принципам построения ПО относятся:
1) Модульность – при модульном построении ПО разбивается на относительно небольшие по размеру (по количеству занимаемых ячеек памяти) физически и логически независимые “куски”, называемые модулями.
Различают:
· программные модули – обеспечивают обработку данных;
· информационные модули - содержат обрабатываемые данные.
2) Иерархичность – взаимоотношения между программными модулями устанавливаются иерархическими и приоритетными уровнями этих модулей.
Принцип иерархичности устанавливает такие отношения подчиненности по управлению, при которых программный модуль иерархического уровня i может вызываться только одним модулем уровня (i-1) и вызывать любой связанный с ним модуль уровня (i+1) (рисунок 6.24).
Рисунок 6.24 – Принцип иерархичности ПО
3) Приоритетность - устанавливает такие отношения очередности вызова программных модулей во времени, что при наличии в некоторый момент времени запроса на выполнение программ приоритетных уровней (k -1) и k в первую очередь будут вызваны модули уровня (k – 1). Очередностью вызова программных модулей разных приоритетных уровней управляет диспетчер прерываний или главный диспетчер (рисунок 6.24). Он находится на нулевом иерархическом уровне и не относится ни к одному из приоритетных уровней.
Очередностью вызова программ, относящихся к одному приоритетному уровню, управляет диспетчер приоритетного уровня. Приоритетный уровень программ, относящихся к иерархическому уровню 2 (рисунок 6.24), определяется приоритетом вызывающего диспетчера.
Количество приоритетных уровней зависит от принципа организации системы прерываний УС.
6.6.5. Структура данных ПО
Входящие в состав ПО данные независимо от типа и структурной организации предназначены для отображения состояния объекта управления в памяти управляющей системы.
Данные в памяти представлены в виде последовательности битов, разделенных на адресуемые слова. Структурой данных называют логическую организацию элементов данных.
Например: массив двумерный. Представление в памяти – линейная последовательность ячеек памяти, содержащих целые числа. Логическая организация (структура) – прямоугольная сетка целых чисел, лежащая на плоскости. Каждая структура данных имеет в ПО свой описатель (дескриптор), в котором содержится индикатор типа данных и дополнительная информация, необходимая для декодирования цепочки битов, в виде которых данные представлены.
Типы данных подразделяются на простые и составные.
Простыми называются элементы данных, операции доступа и изменения для которых выполняются над всем элементом (например, целые числа, логические и символьные данные).
Основной структурой составных данных является массив.
Массивом называют структуру данных для представления упорядоченного множества элементов одного типа.
Массивы по структуре подразделяются на однородные и неоднородные. Однородные массивы имеют один описатель (дескриптор), неоднородные – разные описатели для разных элементов, представленных в массиве.
По размеру массивы подразделяются на массивы фиксированной и переменной длины. В последних размер динамически изменяется путем включения или исключения элементов (стеки, очереди, списки, деревья, графы).
Данные по времени жизни подразделяются на:
1) Постоянные данные, которые не изменяются в нормальном режиме работы ПО. Несанкционированный доступ к этому виду данных предотвращают специальные средства защиты памяти.
2) Полупостоянные данные, которые могут быть изменены по командам оператора. К ним относятся абонентские, станционные и внестанционные характеристики.
3) Оперативные данные, изменяются программами прикладного ПО и исполнительной операционной системы (данные о состоянии оборудования, вызовов, буферы заявок).
Формирование первоначальных значений постоянных и полупостоянных данных осуществляется с помощью программ инициализации (первоначального запуска) и восстановления.