Управление проектами - статьи

         

Типы данных и виды ограничений


Объектно-ориентированные языки моделирования, такие как EXPRESS, UML/OCL, ODL/OQL, предоставляют широкий спектр декларативных и императивных конструкций для описания структур данных и накладываемых на них семантических ограничений.

В частности, в языке EXPRESS определяются простые типы данных с общепринятой семантикой: вещественный, целый, числовой, булевский, логический, строковый, двоичный строковый. Сложные типы охватывают четыре вида коллекций: списки, множества, массивы, мультимножества, а также перечисления, выборки и переопределяемые типы, уточняющие семантику основных типов. Для объектных типов предоставляются развитые механизмы множественного наследования, специализации атрибутов, полиморфного определения производных методов, декларации ограничений, позволяющие пользователям определять сложные модели данных.

На Рис. 2 представлена общая классификация типов, поддерживаемых языком EXPRESS. Полужирным курсивом отмечены исходные типы. Стрелки показывают отношения наследования между ними. Конструкции для определения типов пользователем отмечены обычным шрифтом.

Типы данных и виды ограничений

Рис. 2.Классификация исходных типов языка EXPRESS

В зависимости от контекста определения различаются три основных вида ограничений: правила для простых пользовательских типов данных, локальные правила для объектных типов и глобальные правила для наборов объектных типов (Рис. 3).

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

  • ограничение длины символьных и двоичных строк;
  • мощность коллекций (множеств, мультимножеств, списков, массивов);
  • кардинальность прямых и обратных ассоциаций в объектах;
  • уникальность элементов в коллекциях-множествах;
  • уникальность значений атрибутов (и групп атрибутов) на объектных популяциях;
  • атрибуты с обязательно установленными значениями;
  • массивы с установленными элементами;
  • область значений для отдельных атрибутов, объектов и целых объектных популяций; область значений задается предикатом, алгебраически выра-женным декларативными и императивными конструкциями языка (в том числе управляющими конструкциями, функциями, процедурами и т.д.).

Типы данных и виды ограничений

Рис. 3. Классификация видов ограничений EXPRESS

Для получения более подробного описания можно обратиться к упомянутым выше стандартам, регламентирующим языки.



Содержание раздела