За пределами case-технологий, или О семантической стандартизации метаданных
АрхивCASE-технологии предлагают нам все более совершенные методологические и программные средства для построения моделей окружающего мира и разработки прикладного программного обеспечения (см. [1], [2], [3]). А можно ли пойти еще дальше в формализации отражения взаимодействия человека с окружающим миром? Можно ли создать некую методологию, которая в перспективе позволит обойтись без прикладного программирования в сегодняшнем понимании? Думается, такое предположение не лишено оснований.
Объекты и показатели
Наш мир может быть представлен как совокупность взаимосвязанных объектов, коими являются люди и все, что их окружает: природная среда, жилые и промышленные здания, коммуникационная и транспортная инфраструктура и многое другое. Сейчас каждый анализ любого объекта уникален и ограничивается рамками приложения или группы приложений. Интерфейс для работы с информацией об объекте также уникален (за исключением общих соглашений об интерфейсе ОС и особенностей применяемого средства разработки). В то же время многообразие предметной среды имеет свои пределы, и ресурсов типовых вычислительных средств порой достаточно для адекватного структурированного описания окружающей среды.
В контексте данной статьи, традиционно применяемые в технологиях моделирования понятия - атрибут, домен, свойство, метод, объект - нуждаются в доопределении. Каждый объект и выполняемая им функция могут быть характеризованы набором показателей, под которыми мы будем понимать существенную характеристику объекта. Таким образом, показатель есть произвольный стандартизованный информационный элемент, отражающий структуру или поведение интересующего нас объекта.
Показатель может быть:
- числом,
- формализованным текстом,
- текстом в свободной форме,
- графическим или аудиоэлементом,
- программным модулем,
- результатом работы некоторого программного модуля.
То есть показатель - комплексно и унифицировано описанный элемент данных или операция над данными некоторого объекта. Причем при представлении объекта в виде системы показателей различия между атрибутами и операциями (действиями) над ними не имеют принципиального значения. Операции - это тоже специфически представленные показатели.
Показатель имеет традиционные признаки атрибута: формат, маску для ввода и вывода, тип значения, значение по умолчанию и др., а также дополнительные признаки: унифицированный код, единицу измерения, периодичность возникновения или изменения значений, родительский (семантически) показатель, момент времени, в который показатель характеризует объект, момент возникновения значения показателя, источник значения показателя и историю значений показателя.
Дочерний показатель наследует семантические признаки (если нужно - доопределяемые) родительского. Например, показатели размер->длина->длина автомобиля.
Всегда должна быть некоторая совокупность показателей, однозначно идентифицирующая данный объект в рассматриваемом качестве среди других однотипных объектов.
Унификация показателя означает, что, однажды возникнув, он размещается в репозитарии, получает постоянный код и затем используется во всех случаях, когда семантика показателя соответствует требуемой (в границах доступности репозитария).
Каждый показатель для любого выбранного экземпляра объекта в каждый момент времени принимает некоторое значение.
Каждое значение показателя, которое сохраняется в системе, имеет некоторый момент (дату, время) возникновения. Можно говорить об истории значений показателя для данного объекта, если его значение меняется во времени. История значений показателя - одна из его характеристик.
Для получения системы показателей, характеризующих данный объект в интересующем контексте, может быть использована одна из методологий структурного или объектного моделирования. При этом объект представляется как некоторый структурированный (например, в виде иерархического дерева) набор показателей.
Другими словами, показатели - это унифицированные по семантике, формату, единице измерения и условиям получения элементы описания данных, для которых можно сохранить историю их значений в рамках, определяемых уровнем доступности репозитария.
В качестве расширения общепринятых CASE-нотаций возможно включение в них средств описания моделей, позволяющих отобразить интересующий объект в виде системы показателей. Конечным уровнем детализации модели должно быть построение взаимоувязанной системы характеризующих ее показателей.
При необходимости перестроить некоторое подмножество дерева показателей вследствие изменения представлений об объекте перестройка может быть формализована и выполнена автоматически - как для структур показателей, так и для их значений.
Для ввода в систему и для использования значений показателей в различных целях может быть разработан стандартизованный для данного типа объектов интерфейс.
Типология показателей
Хотя набор показателей специфичен для каждого вида объектов, можно выделить типологические группы показателей - для проведения поиска, упорядочивания и анализа информации.
Групповой и детальный показатели
Есть конкретные показатели, отражающие конкретное свойство и имеющие собственные значения, а есть - объединяющие несколько других показателей в группу (их мы будем называть групповыми). Групповые показатели наряду с конкретными могут включать в себя другие группы.
Конкретный показатель может быть преобразован в групповой, если возникает потребность в более подробном описании объекта. Значения показатели, если это имеет смысл, преобразуются в соответствующие осмысленные значения в новой группе. Например, показатель, имеющий в качестве значений некоторый текст, может быть преобразован в группу показателей с делением текста на фрагменты в соответствии с заданным алгоритмом.
Идентифицирующие и информационные показатели
Идентифицирующие показатели используются для того, чтобы различать экземпляры интересующих объектов. Они должны быть достаточны для однозначной идентификации объектов в рассматриваемой области применения.
К ним могут относиться унифицированный код показателя, дата и время ввода значения показателя, ссылка на источник значения показателя.
Система идентификации показателей должна быть глобальной для данного типа объектов и при необходимости иметь средства для преобразования существующих локальных систем идентификации в глобальные.
Статические и динамические (поведенческие) показатели
Показатели подразделяются на отражающие структуру объекта и характеризующие его изменение. Показатели, характеризующие изменение объекта, могут как принимать конкретное значение, так и быть алгоритмами, программная реализация которых является значением соответствующего показателя.
Мультимедиа-показатели
Значения показателей могут быть произвольными двоичными данными, в том числе содержащими аудио- и видеоинформацию. В случае более детального структурирования соответствующего значения они могут быть представлены в виде группы, содержащей более детальные значения.
Шаблоны показателей и показатели объекта
Одни и те же показатели и их группы могут и должны использоваться при описании различных объектов. При этом важно, чтобы однотипные показатели могли использоваться в различных типах и экземплярах объектов. А значит, важно и построение общедоступных репозитариев показателей и их устойчивых групп, которые бы обеспечивали совместимость данных, даже если это изначально не предусматривалось.
Если возникает новый показатель или их группа, они вносятся в репозитарий. Если новый показатель получен преобразованием из локальной системы, то в репозитарий помещается также алгоритм преобразования нового показателя в локальный показатель и обратно.
Шаблоны показателей являются основой для построения совместимых массивов данных. Совместимость может быть двух основных типов: на уровне кодов и семантическая. Если проблема совместимости кодов технически ясна - это хотя и сложная, но вполне разрешимая проблема, то обеспечение семантической совместимости требует дополнительного исследования.
История показателей
Значение показателя всегда возникает как характеристика некоторого конкретного объекта в данный момент времени. Как минимум два момента времени должны быть зафиксированы в базе данных значений показателей.
А - Момент времени, в который данное значение характеризует объект.
Б - Момент ввода значения показателя.
Другой важной характеристикой значения показателя является информация об источнике для данного значения показателя. Понятно, что для ряда объектов одно и то же значение для того же показателя может возникнуть в разное время и из различных источников. При этом подразумевается, что источник данных - такой же объект, как и другие, его структура и значения показателей описаны в базе данных значений показателей, соответственно ссылка на него -неотъемлемый признак значения показателя.
То есть, другими словами, в данной концепции предполагается, что каждое значение показателя в репозитарии значений показателей может иметь несколько значений, возникших в разное время и из различных источников.
Например, количество солдат в армии конкретной страны в конкретной войне в конкретном году может быть приведено с позиций различных конфликтовавших сторон, различных организаций внутри этих стран и может меняться с течением времени. При этом все значения (в том числе и устаревшие, замененные более новыми) имеют право на существование.
Особенности показателей
Основные отличия показателей от свойств и методов объектов, принятых в объектной технологии программирования:
- показатели имеют унифицированное и доступное заданному кругу лиц (в общем случае всем пользователям сети) описание;
- имеют историю значений;
- имеют историю структуры;
- в необходимых случаях история показателей может отчуждаться от источника сведений;
- могут применяться хранящиеся вместе с описанием показателей унифицированные интерфейсы для работы с ними и их группами, а именно для ввода и модификации значений показателей экземпляров объектов и анализа данных.
То есть значение показателя - это не просто некоторое число или строка, а значение, содержащее необходимую информацию о собственной семантике.
ЛИТЕРАТУРА
[1] UML в кратком изложении. Применение стандартного языка объектного моделирования: Пер. с англ. - М.: Мир, 1999. - 191 с., ил.
[2] Калянов Г. Н. Консалтинг при автоматизации предприятий: Научно-практическое издание. Серия "Информатизация России на пороге XXI века". - М.: Синтег, 1997. - 316 с.
[3] Маклаков С. В. BPwin и ERwin. CASE-средства разработки информационных систем. - М.: Диалог-МИФИ, 1999. - 295 с.
Продолжение следует
Леонид Рейнгольд - администратор базы данных Владимирского городского комитета по земельным ресурсам и землеустройству (СУБД Oracle), доцент кафедры физики и прикладной математики Владимирского государственного университета.