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

         

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


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

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

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

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

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

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

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

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

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



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