Введение
Объектно-эволюционный анализ
Заключение
Список литературы

В работе изложен объектно-эволюционный анализ информационных систем и его использование при решении задач технологического типа. На этой основе вводится модель, отражающая эволюцию объектов информационной системы. Дается единое описание взаимодействия и поведения экземпляров объектов.

Обосновывается принцип рекапитуляции: взаимосвязанное рассмотрение объектной и эволюционной моделей.

Введение

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

При анализе вновь создаваемых информационных систем обычно формируют объектную модель. Для этого определяют объекты и взаимосвязи между ними. Затем находят общие свойства объектов для того, чтобы выделить объект - супертип и объекты - подтипы. Выделенные объекты организуются в виде иерархии типов "Общее-частное", в которой объекты - подтипы наследуют свойства объектов супертипов. После определения поведения активных объектов, объектная модель может уточняться, так, чтобы объект - супертип обладал общей линией поведения.

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

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

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

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

Кроме того, в некоторых случаях, может быть использована иерархия "Простое-сложное" вместо структурной иерархии "Целое-часть". Это позволяет на основе технологии определить отношения между объектами супертип-подтип, сформировать общую линию поведения объектов-подтипов, согласно определенным технологическим особенностям, а также разработать единую объектную модель информационной системы, использующую отношение наследования, при участии нескольких групп разработчиков.

Классическим примером из класса информационных систем, где предлагаемый анализ может быть использован, является сборочное производство.

Иерархия вида "Простое-сложное" отображает эволюцию объектов и реализуется в виде отношения наследования. Объекты имеют определенные свойства, описываемые в виде атрибутов. Взаимодействие между объектами порождает новые объекты, имеющие некоторые свойства предыдущих.

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

В качестве формального аппарата, применяемого в анализе, используется модель "Система взаимодействующих таблиц" (СВТ-модель) [1,2]. СВТ-модель является объектной по своей природе. В СВТ-модели объект на информационной модели интерпретируется как таблица, заголовок которой соответствует свойствам объекта. Каждому экземпляру объекта ставится в соответствие таблица, строка которой соответствует значениям атрибутов. Действия объекта отделены от таблиц (атрибутов объекта), но в совокупности таблицы и действия рассматриваются как единый объект (аналогично конструкциям объектно-ориентированного Лиспа и языка Смолтолк [3]). В дальнейшем изложении эти конструкции будут использоваться.

Объектно-эволюционный анализ

Объектно-эволюционный анализ информационных систем представляет собой взаимосвязанный процесс формирования моделей прецедентов [4], объектной, эволюционной, модели действий и поведений экземпляров объектов.

Рассмотрим формирование каждой модели на примере производства изделия. Изделие состоит из комплектующих, детали и упаковки.

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

Формирование модели прецедентов. Модель прецедентов описывает исследуемую информационную систему и внешний для нее мир. Внешнее окружение представляется в виде набора субъектов, а исследуемая система - в виде набора процессов, с помощью которых субъекты взаимодействуют с системой. Понятие "прецедент" представляет собой некоторый способ взаимодействия внешнего субъекта с системой, т.е. некоторый процесс. Модель прецедентов основывается на понятиях "субъекта" и "прецедента". Прецедент содержит множество сценариев, которые объясняют различные последовательности взаимодействий между парой "субъект-прецедент".

Для рассматриваемого примера субъекту требуется некоторое изделие - производственная ячейка, которая предоставляет ему возможность - Производство изделия. Производство изделия является прецедентом. Модель прецедента приведена на рис.1. Прецедент изображен черточкой. Взаимодействие между субъектом и прецедентом показано линией со стрелками.

Picture 1.

Рисунок 1.
Модель прецедента

Формирование объектной (информационной) модели. Формирование объектной модели рассмотрим в два этапа.

На первом этапе рассмотрим только те объекты, которые эволюционируют от простого к сложному. Представим процесс производства изделия в виде иерархии "Простое-сложное" следующим образом: "Заготовка", "Деталь", "Изделие" (рис.2.). В данном случае столбцы таблиц расположены по вертикали. Стрелка, связывающая объекты, показывает отношение наследования от супертипа к подтипу. Организованные таким образом объекты будем называть "стволом" информационной модели.

Picture 2.

Рисунок 2.
Иерархия вида "Простое-сложное"

На втором этапе сформируем объектную модель. Определим объекты, от которых зависят эволюционирующие объекты, определенные на первом этапе: "Станок", "Комплектующие", "Упаковка", "Оснастка для обработки", "Оснастка для сборки" (рис.3). Установим отношение использования между объектами и определим его вид: один-к-одному (1:1), многие-ко-многим (N:N), один-ко-многим (1:N) (отношение использования изображается отрезками линий со стрелками в оба направления).

Picture 3.

Рисунок 3.
Объектная модель

Свойства рассмотренных объектов описываются атрибутами. Например, для объекта "Заготовка" атрибутами являются: имя, цена.

Второй этап можно рассмотреть как этап присоединения к "стволу" объектов - лепестков информационной модели.

Формирование эволюционной модели. Эволюционная модель объектов является одной из особенностей объектно-эволюционного анализа. Ее цель - сформировать представление о развитии объектов в результате их взаимодействия. В качестве формального аппарата для описания эволюционной модели используется СВТ-модель.

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

В результате взаимодействия объектов "Заготовка", "Станок" и "Оснастка для обработки" создается объект "Деталь". Взаимодействие между объектами определим в виде объекта "Обработка".

В результате взаимодействия объектов "Деталь", "Комплектующие", "Упаковка" и "Оснастка для сборки" создается объект "Изделие". Взаимодействие между объектами определим в виде объекта "Сборка".

На рис. 4 приведена модель эволюции объектов ("Заготовка", "Деталь", "Изделие"). Объекты, участвующие во взаимодействии и имеющие циклическую линию поведения, связаны через взаимодействие двумя направленными дугами от объекта к взаимодействию и наоборот, например , объект "Станок" и взаимодействие "Обработка".

Picture 4.

Рисунок 4.
Модель эволюции объектов ("Заготовка", "Деталь", "Изделие") посредством взаимодействий: "Обработка", "Сборка"

Взаимосвязанное рассмотрение объектной и эволюционной моделей иллюстрирует принцип рекапитуляции: "ствол" объектной модели рекапитулирует (повторяет) "ствол" эволюционной модели.

Для рассматриваемого примера "стволом" объектной модели являются объекты "Заготовка", "Деталь", "Изделие". "Стволом" эволюционной модели выступают эти же самые объекты.

Таким образом, анализ информационной системы можно начать либо с формирования эволюционной модели, либо с объектной. Причем, "стволы" моделей могут быть получены один из другого.

Формирование модели действий и поведений экземпляров объектов. Каждое взаимодействие эволюционной модели раскрывается в виде модели действий и поведений объектов. В качестве формального аппарата используется СВТ-модель. Сформируем модели для взаимодействий "Обработка", "Сборка".

Модель действий и поведений экземпляров объектов формируется следующим образом. Объявляются объекты, участвующие во взаимодействии согласно сформированной эволюционной модели. Объекты обозначаются кружками и располагаются вдоль оси объектов. Объявляются экземпляры объектов (обозначаются метками, помещенными в кружки). Составляется сеть из изменяющихся состояний объектов и действий. Каждое новое состояние объекта соответствует кружку и помещенной в нем метке. Метке приписывается имя экземпляра объекта, например, экземпляр объекта "Станок" имеет имя Ст., "Оснастка для обработки" - 0о, "Заготовка" - 3. Каждое действие обозначается черточкой и связывается с экземплярами объектов направленными отрезками линий.

Picture 5.

Рисунок 5.
Модель действий и поведения экземпляров объектов "Заготовка" и "Деталь" для взаимодействия "Обработка"

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

На рис. 5. сеть для экземпляра объекта "Станок", изображенная в области объекта, соответствует модели поведения. Модель поведения является циклической, так как экземпляр объекта возвращается в исходное состояние "Cвободен".

Для взаимодействия "Сборка" модель действий и поведений экземпляров объектов приведена на рис. 6. Общее поведение активных объектов может быть сформировано на основе рассматриваемой модели действий и поведений экземпляров объектов.

Рисунок 6.
Модель действий и поведений экземпляров объектов "Деталь" и "Изделие" для взаимодействия "Сборка"

Кроме того, модель может быть использована в качестве сценария. Слева на рис.5 и 6 проведена ось событий, выполнение каждого действия связано с наступлением некоторого события. Сценарий отражает последовательность действий экземпляров объектов. Каждому объекту может соответствовать один или несколько экземпляров объектов.

Сценарий для каждого рассмотренного взаимодействия представляет собой технологический граф. Для каждого конкретного изделия может быть разработан свой сценарий. Ось событий соответствует последовательности выполнения действий в соответствии с технологическим процессом (технологическая карта детали или изделия).

Действия должны быть определены в виде модели действий и поведений, в которой действия представлены операторами. При этом для выполнения операторов могут быть введены вспомогательные атрибуты.

Имитационное моделирование. В общем случае проверка корректности разработанной модели может выполняться как вручную, так и в режиме имитационного моделирования.

Правило выполнения разработанной СВТ-модели заключается в проведении разрешенных действий. Действие разрешено, если экземпляры объектов, с которым связаны входные дуги действия, находятся в указанном состоянии. В общем случае действия могут выполняться одновременно. Перед началом имитационного моделирования экземплярам объектов присваиваются начальные значения.

Добавляется новое измененное состояние экземпляров объектов в соответствии с моделью действий и поведений. Каждому новому состоянию экземпляра объекта присваивается шаг выполнения модели.

На каждом шаге выполнения СВТ-модели могут делаться выборочные проверки. При обнаружении тупиковых ситуаций необходимо проверить корректность модели действий и поведений, а также правильность построения эволюционной модели для того, чтобы ликвидировать тупиковые ситуации. В свою очередь некорректность эволюционной модели отразится на правильности построения "ствола" объектной модели исходя из принципа рекапитуляции.

Таким образом, мы получаем взаимосвязанное описание информационной системы, которое может быть проверено на корректность.

Генерация кода на объектно-ориентированном языке программирования. Когда информационная система описана, а ее описание проверено на корректность, преобразование архитектуры объектов, их данных и действий в код четко определено и может быть выполнено автоматически.

Программы представляются в виде совокупности объектов, каждый из которых является реализацией определенного класса, а классы образуют иерархию на принципах наследования, согласно объектной модели. Экземпляры объектов преобразуются в экземпляры классов.

Заключение

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

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

Эволюционная модель дает возможность использовать имеющиеся наработки следующим образом: взаимодействиям ставятся в соответствие функциональные модули, а данным - информационные модули. Функциональные модули интерпретируются в виде моделей действий и поведения.

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


Список литературы

  1. Семенов А.C. Анализ информационных объектов на основе модели "Система взаимодействующих таблиц". - АИТ, 1996. # 9.
  2. Семенов А.C. Определение и свойства мoдели"Система взаимодействующих таблиц" . - Изв.РАН. Техн. кибеpнетика. # 5. 1996.
  3. Г. Буч. Объектно-Ориентированное Проектирование c примерами применения. Пер. c англ. М.: Конкорд, 1992.
  4. Е. Ойхман, Э.В. Попов. Реинжиниринг бизнеса: Реинжиниринг организаций и информационные технологии. - М.: Финансы и статистика, 1997.