Фёдоров М.Б., студ.; рук. А.Л. Конин, к. т. н., доц. (МЭИ (ТУ))
РАЗРАБОТКА МЕХАНИЗМА ВЫЧИСЛЕНИЯ МАКРОВЫРАЖЕНИЙ
Одним из главных достоинств КИС, построенной на основе Технологии Универсальной Оболочки (ТУО), является возможность гибкого конфигурирования системы после сборки приложения. Возможность гибкого конфигурирования подразумевает определение связей между отдельными подсистемами приложения на этапе настройки.
Основной задачей, возникающей при проектировании гибко настраиваемой КИС, является создание отдельных независимых компонентов, которые должны работать вместе на этапе выполнения приложения.
Для обеспечения низкой связанности объектов была разработана технологическая подсистема (ТПС) вычисления макровыражений – Анализатор Макровыражений. Макровыражение – это текстовая строка, содержащая макроподстановки. Макроподстановка – это часть исходной строки, которая заменяется на объект или на другой текст в процессе обработки. Синтаксис макроподстановки строго формализован и определяет объект-обработчик и передаваемые ему параметры. Количество передаваемых параметров не ограничено, тип параметров может быть любой. Для передачи обработчику параметра не строкового типа следует использовать результат, возвращаемый другой макроподстановкой.
При разборе макроподстановки анализатор макровыражений определяет объект, отвечающего за обработку макроподстановки, и вызывает у него функцию обработки. Объекты обработки макроподстановок регистрируются в анализаторе макровыражений до первого анализа макровыражения либо создаются автоматически (анализатор макровыражений ищет класс, соответствующий макроподстановке).
Обработчиками макроподстановок могут быть классы, наследующие базовому обработчику.
Используя анализатор макровыражений, можно описать правило вычисления некоторого объекта, используя разнородные и несвязанные между собой классы. В качестве примеров можно привести обработчики, возвращающие:
· значение переменной оболочки (в терминах ТУО);
· результат выполнения некоторого сценария (Сценария Операции);
· результат вычисления произвольного математического выражения.
Таким образом, разработанный механизм позволяет строить гибко настраиваемые компоненты, слабо связанные между собой, а значит, обладающие большими возможностями повторного использования.
ТПС применяется в ИРИС ООП для конфигурирования подсистемы управления приказами.
ТПС реализована в среде SybasePowerBuilder 6.5.1.
1. Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на C++, 2-е изд. М.: «Издательство Бином», 1999. - 560с.
2. Larman C. Applying UML and Patterns, изд. «Prentice Hall», 1998. – 507с.