Требование поддержки разнообразных тарифных планов и отчетов в автоматизированной системе оператора связи определили для разработчиков компании «КРАФТ-С» важное направление развития проекта «ABACS» - создание средств организации открытой системы.
Общее описание открытой системы
Открытая система подразумевает наличие инструментов и способов для выполнения модификации программы с целью изменения ее функциональности без участия разработчиков. В этом смысле, как правило, ориентируются на два способа:
- Передача пользователям исходных текстов.
- Включение в состав программного обеспечения специальных средств управления функциональностью, в том числе - для добавления новых возможностей.
Разработчики АСР «ABACS» пошли вторым путем и в качестве варианта обеспечения открытости биллинга разработали встроенный язык программирования (ЯП). Основное применение этого средства - построение гибких тарифных планов, расчетов и различных отчетов. Виртуальная машина, среда редактирования, встроенный отладчик, компилятор, редактор связей и вызовов, интерфейс и библиотеки, в том числе для обработки биллинговой информации - все это компоненты встроенного языка, доступные пользователям «ABACS».
Назначение встроенного языка программирования
- Создание и редактирование собственных программных модулей расчета абонентов.
- Реализация уникальных услуг и тарифиных планов любой сложности.
- Генерация собственных отчетов различного вида и типа.
- Дополнительная или специализированная обработка биллинговой информации.
Краткая характеристика
- Синтаксис исходного текста, сходный с синтаксисом языка программирования «С».
- Встроенный универсальный тип переменной 'Object'.
- Открытая библиотека поддержки переменных объектного типа.
- Поддержка структур, классов, библиотек процедур и функций.
- Высокая скорость исполнения кода.
Компоненты и реализация
«ABACS» - автоматизированная система расчетов, выполненная в архитектуре «клиент-сервер». Почти все компоненты встроенного ЯП входят в состав «клиента». Исключение допускается для данных: исходные тексты или готовые к исполнению модули, информация о связях, библиотеки, конфигурации, шаблоны и настройки.
Среда редактирования. Представляет собой традиционный многостраничный редактор исходного кода, включает: функции редактирования, поиска информации, загрузки и сохранения алгоритмов, расстановки точек прерывания для отладки.
Отладчик. Этот компонент встроенного языка выполняет все традиционные операции языка высокого уровня: пошаговое исполнение, точки останова, инспектор объектов и простых данных, поддержка списков значений переменных.
Компилятор. Встроенный транслятор оригинального языка программирования «Q». Транслятор в действительности является компилятором, что обеспечивает высокое быстродействие исполнения модулей в P-коде.
Виртуальная машина (VM). По сути, это операционная среда в составе клиента «ABACS», которая обеспечивает исполнение собственного программного кода модулей, подготовленных компилятором. Основные задачи VM: загрузка и исполнение P-кода программ пользователя; управление ресурсами; останов и удаление программ. VM имеет программный интерфейс для управления и, фактически, это миникомпьютер в «ABACS».
Библиотеки. Сотни встроенных процедур для управления системой расчета и доступом к данным биллинга сгруппированы в десятки независимых библиотек. Подключение и использование готовых наборов функций упрощено, логично построено и, как правило, не вызывает затруднение у пользователей. Библиотеки составлялись в процессе эксплуатации системы, их содержание отражает реальные потребности оператора связи и обеспечивает выполнение необходимых запросов к биллинговой информации.
|