Метаграф как структура данных для представления семанти-
ки системы.
Основная работа по теории метаграфов — монография
А. Базу и Р. Блэннинга [9]. Единая теория метаграфов до сих пор не
сформирована, поэтому можно встретить различные определения ме-
таграфа, которые отличаются в деталях.
Используем определение, которое достаточно близко к определе-
нию, сформулированному Базу и Блэннингом:
MG
=
h
V , E
i
, v
i
2
V , e
j
E,
где
MG
— метаграф;
V
— множество вершин метаграфа;
E
— множе-
ство ребер метаграфа;
v
i
— вершина метаграфа;
e
j
— ребро метаграфа.
Определяемая вершина метаграфа
v
k
=
h{
v
i
}
,
{
e
j
}i
.
Вершина метаграфа может содержать множество других вершин
и ребер и фактически является подграфом. Поэтому в теории мета-
графов вершины принято называть метавершинами, или гиперверши-
нами. В одних определениях метаграфов атомарные вершины и ме-
тавершины полагаются различными объектами, в других — частным
случаем метавершин.
В работе [9] также вводится понятие атрибутивного метаграфа
MG
A
. В атрибутивном метаграфе каждой вершине (метавершине) и
ребру может быть приписано произвольное число атрибутов (число-
вых, строковых и др.):
MG
A
def
=
MG, v
i
=
{
atr
k
}
, e
j
=
{
atr
n
}
,
(1)
где
MG
A
— атрибутивный метаграф;
atr
k
, atr
n
— атрибуты.
Перечисленные особенности делают метаграф удобной структу-
рой для описания семантики системы. Очевидно, что метаверши-
ны с атрибутами позволяют моделировать внутренние зависимо-
сти практически для любых языков программирования (объектно-
ориентированных, логических, функциональных и др.). Детальные
описания таких моделей выходят за рамки настоящей статьи.
Формализованная модель системы.
Систему генерации исходно-
го кода программного обеспечения на основе многоуровневого набора
правил представим в виде кортежа
S
=
h
PR, SE, SY , R, TR
i
,
где
S
— система генерации исходного кода программного обеспече-
ния на основе многоуровневого набора правил;
PR
— прагматика
системы;
SE
— семантика системы;
SY
— синтаксис системы;
R
—
многоуровневый набор правил преобразования системы;
TR
— трек
системы.
80 ISSN 0236-3933. Вестник МГТУ им. Н.Э. Баумана. Сер. “Приборостроение”. 2014. № 5