Построение абстрактной тестовой модели
Тестовая модель строится на основе абстрактного описания правил оптимизирующих трансформаций.
Алгоритм оптимизации формулируется с использованием формализма правил преобразования графов. Оптимизатор для осуществления своих трансформаций ищет шаблонную конструкцию - такое сочетание элементов графической модели, которое присутствует в левой части какого-нибудь правила преобразования графов. Поэтому для построения тестовой модели будем рассматривать только те элементы графических моделей, которые задействованные хотя бы в одном шаблоне.
Итак, на основании информации о шаблонных конструкциях из всех правил преобразования графов для данной оптимизации составляется список элементов графической модели, задействованных в этих шаблонах. После этого описывается множество тестовых модельных строительных блоков со следующими свойствами:
- каждому элементу графической модели из полученного списка соответствует свой вид тестового модельного строительного блока;
- строительные блоки могут связываться между собой, чтобы иметь возможность образовывать структуры, соответствующие шаблонам.
Будем называть тестовой модельной структурой граф, вершины которого - строительные блоки, а ребра - связи между строительными блоками.