Составители:
Рубрика:
%*#$A&,& +($*,#&($"!)&P !"#$%!#&'&($"!))KH :&:#*%5@!"! 6
За писи вида array[2:8] или list[1:?] в Express-G преобразую тся в
форму A[2:8] или L[1:?], ук азыв аемую около линии атриб ута агрегативного
типа после имени этого атриб ута. Так, первый из вышеприве денных приме-
ров представлен на рис. 6.24.
$38.5.D>./12, 0.A+,D4942, 915.D>./12 -+31. U0"$-$49$/.; &'0 обычно вводится пользователем
для улучшения читаемости модели. G$1'+4#(#; &'0 — тип данных, экземплярами которого являются нечисловые (пред-
метные) переменные. I.-$49$/.; &'0 соответствует поименованной совокупности других типов. Описание этих типов
данных начинается со служебного слова type, за которым следует идентификатор типа и его определение. Пример описа-
ния определяемого типа:
type volume = real;
end_type;
entity manual;
name: string;
v1,v2,v3: volume;
end_entity;
Определение нечислового типа начинается со служебных слов enumeration of, после которых в скобках перечисля-
ются элементы множества. Например:
type cоlоr = enumeration of (red, green, blue);
end_type;
Ссылка на значение red теперь возможна в виде red или color.red.
Выделяемый тип соответствует одному из некоторого списка уже введенных типов. Этот список записывается по-
сле служебного слова select. Ссылка на имя выделяемого типа означает, что выбирается один из типов совокупности:
type a_c = select (one, two, three);
end_type;
. . .
proc: a_c; (* proc может быть объектом одного из типов one, two, three*)
Графические изображения определяемых, нечисловых и выделяемых типов данных показаны на рис. 6.25. Внутри
прямоугольников, ограничиваемых пунктирными линиями, записывается имя типа.
*
<3.8-+31 + 345-+31.
Отношения типа целое-часть или функция-вариант реализации, характерные для
представления структур объектов в виде альтернативных (И-ИЛИ) деревьев, в языке EXPRESS выражаются в форме от-
ношений между типами данных. Для этого введены понятия +70$"&'0) (supertype), как более общего типа, и 0#-&'0#(
(subtypes), как подчиненных типов. На рис. 6.26 верхняя сущность относится к супертипу, а три нижних прямоугольника
изображают подтипы, линии связи прямоугольников должны быть утолщенными.
Рассмотрим пример фрагмента И-ИЛИ-дерева, в котором имеется ИЛИ вершина а1 и две подчиненные ей альтер-
нативные вершины b1 и b2. Общим атрибутом для b1 и b2 является size типа real, специфичный для b1 атрибут — vol ти-
па real, а специфичный для b2 атрибут met типа string. Этот фрагмент может быть описан следующим образом:
entity a1
supertype of (oneof (b1,b2));
size: real;
end_entity;
entity b1
subtype of (a1);
vol: real;
end_entity;
entity b2
subtype of (a1);
met: string;
end_entity;
Используются также следующие правила записи супертипов и подтипов:
— в случае, если а1 е сть И вершина, вместо oneof используется зарезервиро-
ванное слово and (в более общем случае andor), т.е. вторая строчка примера будет
выглядеть так:
supertype of (b1 and b2);
&.+.)$(*),$". !"#$%!#&'&($"!))$* +($*,#&($"!)&*
175
%+,. 6.24. Обозначение атрибута агрегативного
типа в Express-G
%+,. 6.25. Изображения типов
данных в Express-G
%+,. 6.26. Изображение иерархии
типов в Express-G
5@!"! 6 %*#$A&,& +($*,#&($"!)&P !"#$%!#&'&($"!))KH :&:#*% Записи вида array[2:8] или list[1:?] в Express-G преобразуются в форму A[2:8] или L[1:?], указываемую около линии атрибута агрегативного типа после имени этого атрибута. Так, первый из вышеприведенных приме- %+,. 6.24. Обозначение атрибута агрегативного ров представлен на рис. 6.24. типа в Express-G $38.5.D>./12, 0.A+,D4942, 915.D>./12 -+31. U0"$-$49$/.; &'0 обычно вводится пользователем для улучшения читаемости модели. G$1'+4#(#; &'0 — тип данных, экземплярами которого являются нечисловые (пред- метные) переменные. I.-$49$/.; &'0 соответствует поименованной совокупности других типов. Описание этих типов данных начинается со служебного слова type, за которым следует идентификатор типа и его определение. Пример описа- ния определяемого типа: type volume = real; end_type; entity manual; name: string; v1,v2,v3: volume; end_entity; Определение нечислового типа начинается со служебных слов enumeration of, после которых в скобках перечисля- ются элементы множества. Например: type cоlоr = enumeration of (red, green, blue); end_type; Ссылка на значение red теперь возможна в виде red или color.red. Выделяемый тип соответствует одному из некоторого списка уже введенных типов. Этот список записывается по- сле служебного слова select. Ссылка на имя выделяемого типа означает, что выбирается один из типов совокупности: type a_c = select (one, two, three); end_type; ... proc: a_c; (* proc может быть объектом одного из типов one, two, three*) Графические изображения определяемых, нечисловых и выделяемых типов данных показаны на рис. 6.25. Внутри прямоугольников, ограничиваемых пунктирными линиями, записывается имя типа. *<3.8-+31 + 345-+31. Отношения типа целое-часть или функция-вариант реализации, характерные для представления структур объектов в виде альтернативных (И-ИЛИ) деревьев, в языке EXPRESS выражаются в форме от- ношений между типами данных. Для этого введены понятия +70$"&'0) (supertype), как более общего типа, и 0#-&'0#( (subtypes), как подчиненных типов. На рис. 6.26 верхняя сущность относится к супертипу, а три нижних прямоугольника изображают подтипы, линии связи прямоугольников должны быть утолщенными. Рассмотрим пример фрагмента И-ИЛИ-дерева, в котором имеется ИЛИ вершина а1 и две подчиненные ей альтер- нативные вершины b1 и b2. Общим атрибутом для b1 и b2 является size типа real, специфичный для b1 атрибут — vol ти- па real, а специфичный для b2 атрибут met типа string. Этот фрагмент может быть описан следующим образом: entity a1 supertype of (oneof (b1,b2)); size: real; end_entity; entity b1 subtype of (a1); vol: real; %+,. 6.25. Изображения типов end_entity; данных в Express-G entity b2 subtype of (a1); met: string; end_entity; Используются также следующие правила записи супертипов и подтипов: — в случае, если а1 есть И вершина, вместо oneof используется зарезервиро- ванное слово and (в более общем случае andor), т.е. вторая строчка примера будет выглядеть так: %+,. 6.26. Изображение иерархии supertype of (b1 and b2); типов в Express-G &.+.)$(*),$" . !"#$%!#&'&($"!))$* +($*,#&($"!)&* 175
Страницы
- « первая
- ‹ предыдущая
- …
- 173
- 174
- 175
- 176
- 177
- …
- следующая ›
- последняя »