Объектно-ориентированное моделирование на express 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Объектно-ориентированное моделирование на express



 

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

Язык EXPRESS поддерживает набор стандартных, встроенных в него элементарных типов данных INTEGER, REAL, NUMBER, LOGICAL, BOOLEAN, BINARY и STRING для представления, соответственно, целых, вещественных и произвольных числовых данных, логических и булевых значений, последовательностей двоичных данных и строк. Для перечислимых типов предусмотрена специальная конструкция ENUMERATION. Агрегатные типы ARRAY, SET, BAG и LIST предоставляют возможность определения различного рода контейнеров, таких как массивы, множества, мультимножества и списки. Опционально могут быть заданы их размеры, способы индексации элементов, условие множественности эквивалентных элементов для массивов и списков, а также допустимость разреженности элементов в массивах. Селективные типы, вводимые оператором SELECT, позволяют использовать переменные и константы, принимающие значения одного из альтернативных типов, объявленных в списке оператора. Новые производные типы данных создаются на основе стандартных и предопределенных типов с помощью конструкции TYPE. Допускается произвольная вложенность определений пользовательских типов, которая, в частности, обеспечивает создание многомерных массивов, вложенных селективных и агрегатных конструкций.

Типы GENERIC, AGGREGATE, а также ARRAY, SET, BAG и LIST OF GENERIC обеспечивают обобщенную реализацию функций и процедур с использованием абстракций простых и агрегатных данных.

Для объектных типов используется конструкция ENTITY, предусматривающая разнообразные модели простого и множественного наследования с помощью квалификаторов AND, ANDOR, ONEOF. При специфицировании объектного типа задаются атрибуты и ассоциации различной кратности (EXPLICIT), обратные ассоциации (INVERSE), а также производные вычисляемые свойства объектов (DERIVED). Последние определяются типами и выражениями, которые могут включать в себя значения явных атрибутов, константы, исполняемые операторы, включая вызов функций и процедур, как стандартных, так и пользовательских.

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

Определения глобальных констант, простых и объектных типов данных, глобальных ограничений объединяются в разделе информационной схемы модели (SCHEMA). Посредством конструкций импорта USE и REFERENCE достигается возможность использования в одной схеме определений из других схем, что обеспечивает разработку сложных информационных моделей путем иерархической композиции отдельных схем. Таким образом, охватываются разнообразные практически содержательные случаи объектно-ориентированного моделирования прикладных данных.

Ниже представлен пример информационной модели на языке EXPRESS — схема ActorResource, специфицирующая информацию о персонах и организациях, участвующих в совместном проекте, их ролях в нем и отношениях между ними.

 

SCHEMA ActorResource;

 

TYPE ActorSelect = SELECT (Organization, Person);

END_TYPE;

 

TYPE AddressTypeEnum = ENUMERATION OF (

END_TYPE;

 

TYPE Label = STRING(255);

END_TYPE;

 

TYPE ActorRole = Label;

END_TYPE;

 

ENTITY Address

 ABSTRACT SUPERTYPE OF (ONEOF(PostalAddress, TelecomAddress));

 Purpose: AddressTypeEnum;

 UserDefinedPurpose: OPTIONAL STRING;

 INVERSE

 OfPerson: SET OF Person FOR Addresses;

 OfOrganization: SET OF Organization FOR Addresses;

 WHERE

 WR1: (Purpose <> AddressTypeEnum.USERDEFINED) OR

  ((Purpose = AddressTypeEnum.USERDEFINED) AND

EXISTS(UserDefinedPurpose));

END_ENTITY;

 

ENTITY PostalAddress

 SUBTYPE OF(Address);

 AddressLines: LIST [1:?] OF Label;

END_ENTITY;

 

ENTITY TelecomAddress

 SUBTYPE OF(Address);

 TelephoneNumbers: OPTIONAL LIST [1:?] OF Label;

 FacsimileNumbers: OPTIONAL LIST [1:?] OF Label;

 ElectronicMailAddresses: OPTIONAL LIST [1:?] OF Label;

 WWWUrls  : OPTIONAL LIST [1:?] OF Label;

 WHERE

 WR1: EXISTS (TelephoneNumbers) OR EXISTS (FacsimileNumbers) OR

 EXISTS (ElectronicMailAddresses) OR EXISTS (WWWUrls);

END_ENTITY;

 

ENTITY Organization;

 Id: INTEGER;

 Name: Label;

 Description: OPTIONAL STRING;

 Roles: LIST [0:?] OF UNIQUE ActorRole;

 Addresses: LIST [1:?] OF UNIQUE Address;

INVERSE

 IsRelatedBy: SET OF OrganizationRelationship FOR RelatedOrganizations;

 Relates: SET OF OrganizationRelationship FOR RelatingOrganization;

 Engages: SET OF Person FOR EngagedIn;

 UNIQUE

 UR1: Id;

END_ENTITY;

 

ENTITY OrganizationRelationship;

 Name  : Label;

 Description: OPTIONAL STRING;

 RelatingOrganization: Organization;

 RelatedOrganizations: SET [1:?] OF Organization;

END_ENTITY;

 

ENTITY Person;

 Id: INTEGER;

 FamilyName: OPTIONAL Label;

 GivenName: OPTIONAL Label;

 MiddleNames: OPTIONAL LIST [1:?] OF Label;

 PrefixTitles: OPTIONAL LIST [1:?] OF Label;

 SuffixTitles: OPTIONAL LIST [1:?] OF Label;

 Roles: LIST [0:?] OF UNIQUE ActorRole;

 Addresses: OPTIONAL LIST [1:?] OF UNIQUE Address;

 EngagedIn: SET OF Organization;

UNIQUE

 UR1: Id;

WHERE

 WR1: EXISTS(FamilyName) OR EXISTS(GivenName);

END_ENTITY;

END_SCHEMA;

 

К настоящему времени в рамках международных программ по стандартизации прикладных информационных моделей и интероперабельности программных приложений накоплен значительный ресурс многопрофильных междисциплинарных моделей. Ресурс охватывает такие научные и промышленные области, как машиностроение, авиационную и космическую промышленность, судостроение, нефтегазовый комплекс, архитектуру и строительство, электронную промышленность, фармацевтику, геоинформатику. Значительная часть разработанных на языке EXPRESS спецификаций принята в качестве документов ISO-10303. Другая часть разрабатывается непосредственно промышленными альянсами для последующего представления в международную организацию по стандартам.

К существенным особенностям прикладных информационных моделей следует отнести:

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

· необходимость поддержки запросов к данным в декларативном предикативном и навигационном стилях, а также эффективную реализацию базовых операций манипулирования ими;

· широкий контекст использования моделей в приложениях, оперирующих как с данными одной многопрофильной информационной схемы, так и с данными нескольких независимых схем.

Данные особенности обуславливают поиск эффективных решений для объектно-реляционного отображения и их систематизацию для комплексного использования в конкретных прикладных контекстах.

 



Поделиться:


Последнее изменение этой страницы: 2020-03-02; просмотров: 215; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.128.199.130 (0.011 с.)