Background Image
Previous Page  2 / 13 Next Page
Information
Show Menu
Previous Page 2 / 13 Next Page
Page Background

скрипты, представления данных и т.п.). С одной стороны, применение

такого подхода освобождает разработчиков от работы по написанию

шаблонов и заготовок кода [1]. С другой стороны, это порождает

ряд дополнительных задач, связанных с сопровождением созданных

моделей, которые зачастую так или иначе связаны друг с другом, по-

скольку описывают с разных сторон один и тот же объект (например,

схема реляционного хранилища данных и соответствующая ей струк-

тура классов, используемая приложением, которое работает с этим

хранилищем).

Одна из таких задач — синхронизация моделей, заключающаяся в

необходимости внесения адекватных изменений во все взаимосвязан-

ные модели при изменении хотя бы одной из них.

Вследствие большого разнообразия моделей задача синхрониза-

ции, как правило, ставится в терминах метамоделей, определяющих

структуру моделей, которые в свою очередь являются их экземпляра-

ми. Более строго этот факт будет рассмотрен ниже.

На практике синхронизация осуществляется путем последователь-

ных трансформаций, выполняющихся по определенным правилам над

частями моделей и переводящих эти модели к адекватному (конси-

стентному) с позиции метамоделей виду [2]. Актуальной, но все еще

полностью нерешенной задачей является создание для конкретных

классов метамоделей наборов правил трансформации, обладающих

полнотой (возможностью внесения всего необходимого перечня изме-

нений) и гарантирующих корректность трансформаций (адекватность

внесения изменений с позиции метамоделей).

В настоящее время вследствие того, что модели представляются

в виде графов (графовых моделей), широкое применение для их син-

хронизации получили подходы, основанные на графовых грамматиках

[3–5]. Правила вывода в графовых грамматиках в отличие от правил

вывода в текстовых грамматиках, в левой и правой частях которых фи-

гурируют символьные представления, используют правила, в левую и

правую части которых помещаются фрагменты графовых моделей. В

простейшем случае каждое правило графовой грамматики порождает

трансформацию графового фрагмента модели, находящегося в левой

части правила, в графовый фрагмент. Вид этого фрагмента зависит от

того, что находится в правой части правила. Именно поэтому правила

графовой грамматики также называются правилами трансформации.

Популярность таких подходов объясняется, прежде всего, удоб-

ством практического применения, которое выражается в наглядности,

возможности использования графических редакторов при проектиро-

вании правил трансформации, более прозрачных и эффективных мето-

дах контроля, верификации и отладки разработанных трансформаций.

Функциональные критерии корректности, характеризующие про-

цессы преобразования моделей, рассмотрены в работах [4, 6–9], где

80 ISSN 0236-3933. Вестник МГТУ им. Н.Э. Баумана. Сер. “Приборостроение”. 2015. № 3