ок - деталь, об'єкт взаємодії - верстат, процес взаємодії - клас Виготовлення, визначальний об'єкт Робочий, який виготовляє деталь і програмні дії зміни даних).
3.Описание метауровня зберігання даних
Оскільки необхідна організація динамічної СУБД, в якій можуть змінюватися не тільки об'єкти, але і їх типи, що визначаються зміною класів і параметрів, то для опису класів об'єктів, параметрів об'єктів і зв'язків (відносин) класів та об'єктів використовується метауровень, який являє собою реляційну базу даних з набором таблиць, що містять в собі всі потрібні значення. При цьому вибір в якості платформи реляційної СУБД може бути зроблений пізніше на основі аналізу вдалості вибору тієї чи іншої платформи для метауровня. У таблицях метауровня ми як об'єкти будемо представляти інформацію про класи як об'єктах. Оскільки параметри кожного класу можуть змінюватися, то інформацію про параметри класів ми також будемо представляти в інших таблицях, пов'язуючи їх з таблицею класів реляційними зв'язками. Об'єкти кожного класу будемо тримати в окремих таблицях, пов'язуючи їх з класами таблиці класів. Подібним чином поступимо і зі значеннями параметрів об'єктів, поміщаючи їх в окремі таблиці, пов'язані з відповідними таблицями параметрів і об'єктів реляційними зв'язками. Відзначимо, що кожен клас, параметр, об'єкт має свій унікальний ідентифікатор (IdClass, IdParamter, IdObj) для встановлення згаданих зв'язків між таблицями, а також 2 атрибута Дата народження і Дата смерті, визначальними період життя відповідного даного (при зміні класу, параметра, об'єкта їх об'єктні ідентифікатори також змінюються).
На рис. 6 приведена схема організації метауровня DIM. Пояснимо її.
Головними в моделі є таблиця Class класів об'єктів, таблиця об'єктів відповідного класу Obj_IdClass, де IdClass - ідентифікатор класу, Parameters, визначальна параметри об'єктів, і значення кожного параметра об'єкта (через таблицю типу Val_IdParameter). При цьому кожен клас, об'єкт, параметр визначаються унікальним ідентифікатором відповідно IdClass, IdObject і IdParameter.
Таблиця Class класів об'єктів визначається для кожного класу:
• об'єктний ідентифікатор класу;
• ім'я класу, через поле NameClass;
• його батьківські та дочірні класи (через таблиці ClassInheritance спадкування - граф наследованя з дугами типу TypeGroup);
• класи, які включені, і класи, в які включений даний клас (через таблицю ClassIn-clusion - граф включення класів);
• класи взаємодії (через таблицю ClassInteraction);
• рівень класу в графі спадкування LevelInheritance;
• тип класу TypeClass;
• мітка списку помічених об'єктів класу; зберігається в полі MarkList;
• зв'язки даного класу, зберігаються в полі RelRef, що представляє собою об'єкт типу Map, в якому містяться ключ - ідентифікатор пов'язаного класу і значення - види зв'язків;
• параметри класу (через таблицю Parameter, так як всі імена параметрів унікальні і прикріплені до якогось класу і через таблицю GroupParam);
• об'єкти класу (через таблицю Obj_IdClass);
• історію класу (через таблицю ClassHistory).
Відзначимо, що зв'язки класу з іншими класами можна отримувати як через таблиці класів ClassInheri-tance, ClassInclusion, ClassInteraction, ClassHistory (основний спосіб зберігання інформації про зв'язки класу), так і чере...