Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Объектно-ориентированное моделирование на 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; просмотров: 308; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.196 (0.006 с.) |