атом
Выражение atom( X ) значит, что X это, либо не пустой список, либо элемент, названный функцией присваивания.
точка зрения
В независимой интерпретации, view( X ) значит, что X – это представление. Для TcCo например, view( production ).
сущность
В независимой интерпретации, entity( X ) значит, что X – это сущность. Для TcCo например, entity( part ).
специфичная сущность
Выражение viewEntity( X ) значит, что X – это сущность-представление. Для TcCo, например, viewEntity( production: part ).
домен
Выражение domain( X ) значит, что X - домен. Для TcCo, например, domain( qty_on_hand ).
псевдоним
Выражение alias( A, R ) значит, что A – это псевдоним для R. Для TcCo нет псевдонимов.
isa
Выражение X isa Y значит, что сущность или домен X – это подкласс сущности или домена Y. Для TcCo, например, production: made_part isa production: part означает, что с в представлении production, made_part подкласс part.
ссылки
Выражение X → Y значит, что X ссылается на Y.
Предикат ссылка используется, чтобы согласовать типы, например qty_on_hand: 17 не может быть интерпретировано равным standard_cost: 17, но значение атрибута внешнего ключа, например backup_vendor_no: 101 должно ссылаться на первичный ключ vendor_no: 101. Для выполнения всех этих условий было введено утверждение, которое показывает, что backup_vendor_no: 101 → vendor_no: 101 верно.
Базисный тип данных
Унарный предикаты character, numeric и boolean связывают выражения с типом. Выражение character( X ) верно, если X - символьная строка, numeric( X ) верно, если X - число, и boolean( X ) верно, если X true или false.
Эти предикаты не описываются утверждениями. Они неопределённые примитивы. В случае TcCo, например, character( X ) истина для всех цифернобуквенных констант, таких как top.
существование
Унарный предикат exist записывается как префикс, например exists Term. Отметим, что exists не только квантор существования.
Выражение exist C: I значит, что класс-сущность (или класс-домен) C: I существует, если С – класс сущность, а I – идентификатор сущности. Если С – класс домена, то I – значение. Отметим, что выражение С:I называет нечто, что может быть экземпляром класса. C:I – экземпляр класса, если только указано, что exist C:I.
Предикат exist определен для определенной IDEF1X модели набором правил. В таком случае, exist C:I верно только в случае определенных значений С и I – только таких, который входят в модель.
Например, для TcCo, выражение exists ( production: part ): i1 будет истинно, если production – это представление, part – сущность, production: part это специфичная сущность production part и i1 – экземпляр production part. В отличие от этого, ( production: part ): i101 ложное утверждение.
Предикат существования используется по двум причинам. Первая, что экземпляр специфичной сущности, например production_part( I ), не позволяет налагать условия на part. Второе, экземпляр instance( production, part, I ) не использует специфичную сущность.
viewEntityAttribute
Выражение viewEntityAttribute( X ) означает, что X – атрибут сущности-представления. Пример для TcCo - viewEntityAttribute( ( production: part ): qty_on_hand ).
viewEntityParticipant
Выражение viewEntityParticipant( X ) означает, что X используется в сущности-представлении. Для TcCo, например, viewEntityParticipant( ( production: bought_part ): ‘standard vendor’ ).
has
Бинарный предикат has записывается как инфикс (между операндами), например Term1 has Term2, где Term2 имеет вид P:V.
Это означает, что сущность или домен Term1 имеет значение для свойства P, и это значение V. Отметим, что null означает отсутствие значения.
Например,
( production: part ): I has qty_on_hand: QOH,
( production: bought_part ): I has ‘standard vendor’: J,
и
qty_on_hand: 2000 has value: V
соответственно значит, что
экземпляр сущности production part I имеет значение для атрибута qty_on_hand и это значение QOH,
экземпляр сущности production bought_part I имеет значение участника ‘standard vendor’ и это значение J,
и
экземпляр домена qty_on_hand: 2000 имеет значение для свойства value и это значение - V.
Предикат has определен для конкретной модели набором правил. Так, C:I has P:V истина только для определенных значений C, I, P и V, только тех, которые принадлежат модели.
Предикат has предоставляет возможность ссылаться на экземпляр сущности или домена и на значения её свойств, независимо от относительной позиции свойства в предикате.
B.3.3.2 Предикаты, описанные IDEF1X
View Entities
Каждая сущность, у которой n атрибутов, добавляет (n+1)й предикатный символ к словарю.
В IDEF1X атрибуты сущности рассматриваются с определенной точки зрения. Каждое представление описывается графически диаграммой, которая отображает его сущности и атрибуты для каждой сущности. Это специфичная сущность. Набор диаграмм описывает методы, которые используются в предметной области.
Для каждого представления, v, в наборе представлений, и для каждой сущности e в v, где у e n атрибутов, добавляется (n+1)й предикатный символ
v_e
к словарю.
Выражение v_e( I, X1, X2, ..., Xn ) значит, что идентификатор I принадлежит классу v_e как член этого класса, может иметь значения для каждого его атрибута. Если Xk – null, тогда идентификатор I не имеет значения для атрибута k. Если Xk не null, тогда у него есть значение для атрибута k. Это значение – экземпляр домена и Xk часть домена.
Для сущности part в модели TcCo в результате добавляется 6й предикатный символ production_part к словарю метода IDEF1X.
Связи соединения
Каждая связь соединения добавляет бинарный предикатный символ к словарю.
В IDEF1X у каждой сущности есть связи только с конкретным представлением. Представление описывается графически диаграммой, которая отображает сущности и их связи. Для не специфичных сущностей, одна сущность рассматривается как родительская.
Для каждого представления v, в наборе представлений, и для каждой сущности e1 и сущности e2 (не обязательно уникальной) есть связь между e1 и e2, где
e1 сущность-предок
e2 сущность-потомок
n1 связь от e1 к e2
n2 связь от e2 к e1
добавляет бинарный предикат
v_e1_n1_n2_e2
к словарю. (Это не очень удобно, но гарантирует уникальность.)
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.