Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 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; просмотров: 221; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.141.12.202 (0.012 с.) |