Автоматизация управления линейными предприятиями особенно важна, страница 23

{Pjmax1, Pjmax2, Pjmax3, ...}.

Для событий E состав определяет набор результатов R и вложенных событий. Для классов событий состав определяет классы вложенных событий, структуру и тип данных в результате R.

Обозначение объекта:

Состав может быть четырех типов.

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

·  Обычный – состав, принадлежащий одному субъекту и имеющий в качестве конкретного указателя составности указатель на другой субъект. Пример: есть первая колесная пара у электровоза ВЛ85. Ей соответствует реальная колесная пара №12345, установленная на реальном электровозе ВЛ85-008. При этом колесная пара № 12345 не может в это же время быть установленной где-либо еще.

·  Перечисляемый неупорядоченный – представляет собой набор элементов, не подлежащих индивидуальному учету. Примеры: песок и дизельное топливо на ТПС, гайки в блоке, медная лента в якоре двигателя и др.

·  Перечисляемый упорядоченный – соответствует  индивидуально учитываемому набору элементов, имеющих свой номер. Примеры: вагоны состава и пикеты километра, станции на перегоне, локомотивы в системе многих единиц.

6.3. Методы работы с объектами модели

6.3.1.          Метаклассы

Работа с метаклассами – это, прежде всего, работа с иерархией. Экранные формы и соответствующие методы должны позволять работать с иерархическими структурами в графическом виде (с деревом и его ветвями). При этом должны быть реализованы следующие методы работы с БД:

·  перемещение по дереву;

·  вставка метакласса в любом месте дерева;

·  создание подуровнего метакласса;

·  создание параллельного метакласса;

·  ввод и изменение имени метакласса;

·  объединение нескольких последовательных метаклассов в один;

·  объединение нескольких параллельных метаклассов в один;

·  разбиение метакласса на два последовательных;

·  разбиение метакласса на два параллельных;

·  копирование метакласса;

·  перемещение метакласса (смена предка);

·  удаление метакласса.

6.3.2.          Классы

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

·  создать класс у текущего метакласса;

·  переделать метакласс в класс;

·  переделать класс в метакласс;

·  копировать класс;

·  переместить класс;

·  переименовать класс;

·  удалить класс.

Наряду с работой с классами как с элементами иерархии, следует предусмотреть методы работы с составом классов. Работа с элементами состава должна предусматривать следующие методы:

·  создание элемента состава со своим именем и уникальным кодом;

·  переименование элемента состава;удаление элемента состава;

·  закрепление за элементом множества допустимых классов;

·  добавление класса к множеству закрепленных за элементом классов;

·  удаление класса из множества допустимых;

·  копирование состава класса;

·  объединение состава классов.

6.3.3.          Субъекты

Все субъекты базы данных равноправны и непосредственно не участвуют в иерархиях. Методы для работы с иерархиями, речь о которых шла выше, для субъектов не нужны. Однако, каждый субъект принадлежит хотя бы одному классу. В связи с этим необходимы следующие методы для работы с классами: