■ программные и аппаратные средствах
УДК 681.1.003
ВВЕДЕНИЕ В ПРОБЛЕМУ КОМПЬЮТЕРНОЙ ИНТЕРПРЕТАЦИИ ПРИКЛАДНЫХ ФОРМАЛИЗУЕМЫХ ТЕОРИЙ
Я. А. Ивакин,
канд. техн. наук, старший науч. сотрудник Санкт-Петербургский институт информатики и автоматизации РАН (СПИИРАН)
Изложена концепция компьютерной интерпретации прикладных аксиоматических теорий, показаны возможности и ограничения в ее применении при создании наукоемкого программного обеспечения для информационно-управляющих систем; разработана алгебраическая модель доказательства адекватности теории ее компьютерной интерпретации.
There is the concept of the computer interpretation of the applied axiomatic theories; opportunities and restrictions of its using when constructing the high-tech software for the info-managing system; the development of the algebra model of the adequacy evidence of the theory to its computer interpretation in this article.
Эволюция программных технологий в информационно-управляющих системах продолжается более 30 лет. Наиболее полное представление о ней можно получить, рассмотрев информационные системы, управляющие технологическими процессами (т. е. низший уровень в иерархии систем управления) различных поколений. При реализации функциональности этих систем происходит интеграция процедур управления и первичной обработки информации для принятия решения.
Таким образом, на разных уровнях иерархии управленческая деятельность носит различный характер. На низшем уровне она является информационной и обеспечивает сбор, обработку, хранение, поиск данных и их представление по запросу пользователей автоматизированных рабочих мест, как правило, в реальном масштабе времени. С этой целью информационно-управляющие системы взаимодействуют с системами мониторинга, распознавания ситуаций, комплексами технических средств, занятыми в управляемом технологическом процессе. При этом информационная деятельность реализует решение различных задач. Автоматизируется деятельность операторов технологических процессов.
На более высоких уровнях иерархии ( в отличие от уровня технологических процессов) в управленческую деятельность включаются оптимизационные задачи, связанные с принятием решений по управлению различными совокупностями процессов. Внедрение информационных технологий на этих уровнях означает создание подсистемы при-
нятия решений. Таким образом, информационные процессы сбора, передачи, обработки и выдачи потребителю информации в информационно-управляющих системах носят принципиально более сложный и разноплановый характер, чем в автоматизированных системах управления других классов. Это предъявляет повышенные требования к функциональности и качеству программного обеспечения указанных систем.
Устойчивой тенденцией «эволюции» программного обеспечения информационно-управляющих систем является его постоянное усложнение и повышение наукоемкости. Особенно четко эта тенденция видна при рассмотрении программных средств поддержки управленческих решений, что вызывает рост требований к проектируемым и создаваемым программным системам данного направления.
Возможность реализации прикладных задач на компьютере предопределяет прогресс в развитии практически любой сферы жизни общества. При этом возрастает необходимость сокращения времени между открытием, разработкой теоретических результатов и их внедрением в прикладное программное обеспечение. Не будет преувеличением считать, что при современном уровне автоматизации и информатизации общества прикладная теория ценна настолько, насколько она реализуема на компьютере.
Таким образом, наличие возможности скорейшего представления результатов любой прикладной формализуемой теории является определяю-
щим фактором ее практической применимости, а как следствие — и актуальности разработки самой теории. И наоборот: неотъемлемой частью технологического процесса создания любого вида программного обеспечения является формализация автоматизируемых задач, которая заключается в разработке и подборе математического аппарата из известных прикладных формализуемых теорий. За счет реализации такого подбора осуществляется переход от концептуальной модели предметной области прикладной задачи к модели ее решения. То есть для каждой прикладной задачи соответствующая прикладная теория играет роль базисной основы ее формализации и разработки математического аппарата. Следовательно, компьютерная интерпретируемость теорий как основа быстрого создания различных прикладных моделей программного обеспечения на современном этапе развития информационных технологий является важнейшим показателем наличия возможности эффективной автоматизации соответствующих этим теориям предметных областей.
Под прикладными формализуемыми теориями в данной работе понимаются теории, описывающие сущности, явления и зависимости соответствующих им предметных областей на количественном уровне (т. е. с введением количественной меры). Это означает, что в работе не рассматриваются сугубо алгебраические (не прикладные) теории (такие как, например, теория коммутативных колец с единицей, теория вещественно-замкнутых упорядоченных полей, теория полей характеристики нуль и др. [6]), а также гуманитарные, не формализуемые в принципе (теории философского, медицинского, психолого-педагогического плана). При этом под аксиоматической теорией понимается некоторое непустое множество вида [6]:
Т = {иА,Н), (1)
где /. — язык теории; А — аксиомы теории; Н — теоремы теории.
Совокупность теорем представляет собой описание задач, решаемых в теории и укладывающихся в рамки, сформулированные в виде системы аксиом, ограничений и допущений. Расширение (обобщение) теории возможно путем введения новых ограничений (аксиом).
Основная масса прикладных теорий переживает несколько этапов своего становления [3]:
1) разработка основ теории — этап обособления специфического научно-методического аппарата представления сущностей, явлений и зависимостей соответствующей предметной области;
2) эволюция теории — этап, характеризующийся бурным, зачастую не упорядоченным ростом теоретических результатов;
3) аксиоматизация теории — этап упорядоченного развития теории, с четким определением границ области применимости, ограничений и допущений.
Именно аксиоматическое представление теории является наиболее ценным для применения этой
теории как основы разработки формального аппарата представления соответствующей предметной области. Это вытекает из возможности быстрого и однозначного соотнесения абстракций, системы ограничений и допущений математического аппарата, предлагаемого аксиоматической теорией, с условиями предметной области. В силу этого в предлагаемой работе рассматриваются теории удовлетворяющие условию (1).
Типичным примером прикладной формализуемой теории является теория поиска подвижных объектов (ТППО), аксиоматическое представление которой дается в [1].
Необходимо конкретизировать понятие «компьютерная интерпретация». В широком смысле под интерпретацией принято понимать истолкование, объяснение, перевод на более понятный (в содержательном плане) язык [2]. В специальном смысле математической логики и теории моделей под термином «интерпретация» принято понимать построение моделей для абстрактных, формальных систем (исчислений) [2]. Опираясь на эти формулировки, представляется логичным определить компьютерную интерпретацию прикладной задачи как построение формальной модели задачи, которая может быть реализована на ЭВМ. Тогда, используя понимание прикладной формализуемой теории как основы моделирования соответствующих ей предметных областей, на основании понятия «модель» [2] можно дать следующее определение.
Компьютерная интерпретация прикладной формализуемой теории — совокупность программных реализаций основополагающих математических зависимостей и абстракций теории, позволяющих синтезировать заданное множество задач прикладной области.
Такое понимание компьютерной интерпретации теории определяет научно-методологический подход к решению рассматриваемой в данной работе задачи— таковым избран объектно-ориентирован-ный подход, получивший в последние годы всеобщее признание при решении сложных задач автоматизации, компьютерного моделирования и изложенный, например, в [4].
Из приведенного определения виден двоякий смысл термина «интерпретация»: интерпретация как процесс и интерпретация как результат. В силу такой неоднозначности далее в работе процесс компьютерной интерпретации теории получил название интерпретирование.
Практически интерпретирование прикладной теории, в рамках избранного подхода, представляет собой процессы декомпозиции ее логико-мате-матического аппарата по основаниям прикладная математическая функция, класс, объект и дальнейшего сопоставления этих абстракций и адекватных программных моделей. Так, для избранной в качестве примера ТППО и случая рассмотрения в качестве предметной области операции по поиску упавшего самолета, можно привести такие варианты частных значений декомпозиции по указанным основаниям:
ТПЩпртл. мат. функция) = {поисковый потенциал; время обследования района; ...);
7/7/70(класс) = (,наблюдатель; цель; район; поисковая операция)]
ТППО(0бъект) = (поисковый вертолет МИ-8\ упавший самолет ИЛ-62; Кадорское ущелье).
Такая декомпозиция логико-математического аппарата прикладных формализуемых теорий в совокупности с современными программными технологиями создания распределенных, кросс-плат-форменных приложений дает качественно новые технологические возможности эффективного синтеза прикладного программного обеспечения. Обобщенно суть этой технологии заключается в разработке компьютерных интерпретаций различных теорий как взаимосвязанных библиотек функций, классов, объектов и быстром синтезе программных продуктов на базе этих библиотек с помощью современных компьютерных технологий (рис. 1). Она позволяет:
— решать принципиально более сложные, наукоемкие задачи, по сравнению с возможностями структурного подхода к разработке программного обеспечения;
Прикладйые теории
_________________________________________________________________________________________________________________- ■-
Теория поиска подвижных объектов
Теория игр
Теория оптимального преследования
Прикладная Теория Прикладная 1 Прикладная
геодезия маневрирования метеорология I гидроакустика
Рис. 1. Структурно-функциональная схема объектно-ориентированной технологии разработки наукоемкого программного обеспечения
— отказаться от многократного процесса кодирования сложных функций для наукоемких задач;
— обеспечить высокий уровень верификации программных средств, при относительном снижении трудозатрат на их разработку;
— резко сократить время разработки отдельных прикладных моделей, при обеспечении их междисциплинарного (т. е. базирующегося на нескольких прикладных теориях) характера, при условии интерпретированности достаточного числа теорий;
— использовать все компоненты компьютерной интерпретации теории (функции, классы, объекты) как в комплексе, так и по отдельности, в различных программных реализациях (модули, ОЦ_, агенты и пр.).
Однако, широкое применение указанной технологии и, соответственно, методологии компьютерного интерпретирования на сегодняшний день, в научном плане, ограничено проблемой обоснования адекватности компьютерной интерпретации самой прикладной теории. Действительно, существуют принципиальные (теоретически значимые) ограничения в компьютерном (программном) представлении многих математических объектов. Наиболее характерными свойствами некоторых математических объектов, используемых в прикладных теориях, не имеющих прямой программной интерпретации или имеющих программную квазиинтерпретацию, являются:
— непрерывность отрезков вещественной прямой ([а, Ь] е 91) или областей комплексной плоскости;
— бесконечность в назначении границ областей определения и значений различных функций ((—°°; °°); (-°°. а], [Ь, «>));
— бесконечно малый характер шагов дифференцирования и численного интегрирования и др.
Очевидно, что, имея объективно существующие погрешности в компьютерном представлении основополагающих математических объектов, при интерпретации сложных математических структур, с помощью которых в прикладных теориях описывают предметные связи и закономерности, разработчики программного обеспече-
ния столкнутся с неконтролируемым ростом суперпозиции погрешности и несоответствия результатов программного и аналитического («расчетного») моделирования. Именно в этом заключается проблема адекватности компьютерной интерпретации теории логико-математическому аппарату самой теории. При этом не существует определенной количественной меры, позволяющей анализировать и контролировать указанную неадекватность в компьютерном моделировании и представлении закономерностей предметной области по отношению к представлению этих закономерностей в самой теории.
На сегодняшний день видимое решение проблемы адекватности компьютерной интерпретации /(7) соответствующей прикладной аксиоматической теории Т сводится к следующему:
1) необходимости теоретического доказательства принципиальной возможности обеспечения адекватности прикладных формализуемых теорий и их компьютерных интерпретаций;
2) определению необходимых и достаточных условий наличия адекватности между теорией Г и ее компьютерной интерпретацией /(Г);
3) разработке научно-методологического аппарата количественного анализа адекватности теории Г и ее компьютерной интерпретации /(Г).
Решение данных подзадач проблемы компьютерной интерпретации прикладных формализуемых теорий базируется на логико-алгебраическом рассмотрении сущности процесса компьютерного интерпретирования. При этом становится возможным применение ряда фундаментальных теоретических результатов формальной алгебры и математической логики, их междисциплинарных теорий (теории моделей, теории категорий и пр.) для математически строгого представления, количественного описания и системного анализа процесса компьютерного интерпретирования. Обобщенно логико-алгебраическое представление компьютерной интерпретации показано на рис. 2 и заключается в следующем.
■ Рис. 2. Логико-алгебраическое представление компьютерной интерпретации прикладных формализуемых теорий
I. Всякая прикладная теория вида (1) рассматривается как алгебраическая система вида
Т =>3\ Б = (Я, У, £2), (2)
где Я — класс всех логических утверждений, множеств определений и значений математических зависимостей теории, описываемых теоремами Н. Множества класса Я определяются на одном из фундаментальных множеств (91 — множество вещественных чисел, N — множество натуральных чисел и пр.). У — совокупность заданных операций на указанных множествах; П — множество отношений между множествами класса Я.
В определении элементов выражения (2) использовано слово «класс» вместо слова «множество» для того, чтобы избежать парадоксов теории множеств (класс не есть множество, так как множество осознается в алгебраическом смысле как нечно единое, а класс — нет). Вместе с тем, элемент а принадлежит некоторому классу А (а е А), если он удовлетворяет некоторому определению элементов этого класса [7]. Аналогично, в алгебраическом смысле, следует понимать термин «класс» ниже по тексту, не путая его с одноименной категорией объектно-ориентированного подхода.
Очевидно, что отношения £2 = (со-), оо2.Юр) есть алгебраическое
представление. В данном представлении рассматривается каждая зависимоть, доказываемая в теореме /7 теории Г, как отображение из соответствующего множества определений в соответствующее множество значений (логическое следствие одного утверждения из другого); система аксиом А определяет граничные условия указанных множеств и отношений (отображений) между ними; язык /. является средством предметно-прикладной интерпретации формальной (математической) модели (2). При этом необходимо оговорить, что под отображением некоторого множества С в множество В понимается задаваемое по какому-либо правилу соответствие, такое, что каждому элементу х е С соответствует элемент у е Б, причем только один.
II. Аналогично (2) рассмативается компьютерная интерпретация теории /(Г):
1{Т) => Б': Б' = <Я', У, О.'). (3)
Очевидно в силу перечисленных выше проблем программной интерпретации ряда свойств математических объектов справедливо:
Я ф Я'. (4)
III. Отношения со,- е О. и со/ е О.' рассматриваются как морфизмы, и тогда сами множества в и Б' рассматриваются как категория, опи-
Ф = [£2 = £У]=>ф(а)-| *ш2) = ф((о9°Ф(м2)
сывающая прикладную формализуемую категорию и категория, описывающая компьютерную интерпретацию, соответственно. Данное рассмотрение следует пояснить подробнее. В соответствии с определением категории из [7], считается, что категория S задана, если заданы:
1. Класс Ob(S), называемый классом объектов категории S (в нашем случае Ob(S) = Я), элементы которого называются объектами категории S и обозначаются буквами г', г", ...,г'.
2. Для каждой пары объектов (г', г") множество Mors(r', г") такое, что для различных пар объектов (г', г") ф [г1, rJ) верно:
Mors[r', г") n Mors{r‘, лу ) = 0, (5)
где 0 — пустое множество.
Элементы множества Mors(r', г") называются морфизмами из г' в г" и обозначаются буквами со-|, со2, •••. wp; в нашем случаеMors[r', г") = £2.
3. Для каждой тройки объектов (гг", г'") задано отображение:
Mors(r", г') X Mors{r', Г'") D ((сйк, щ) ык, ut) Е
G Mors(r", г'"), (6)
называемое умножением (или взятием композиции) морфизмов.
Для данного отображения:
а) выполняется закон ассоциативности: для всех
(мке Mors{r', г"), ще Mors(r", г'"),
copG Mors{r"', Г"")] (7)
б) существуют тождественные морфизмы: для каждого объекта ге Ob{S) существует морфизм 1ге е Mors{r', г'), называемый тождественным морфизмом для г', такой, что для всех ю е Mors(r', г") верно:
со1Г' = 1Г" со = со. (8)
Таким образом, представление теории (1) и ее компьютерной интерпретации, согласно выражениям (2) и (3), в категориальном виде является наиболее общим и позволяет рассмотреть любую аксиоматическую теорию или ее компьютерную интерпретацию как некоторый класс множеств или утверждений (в зависимости от предметной области теории) и установленных связей между ними. Элементы указанного класса являются объектами категории (Ob[S) = Я и Ob{S') = R'), а связи, установленные между ними (в виде отображений множеств, поэлементных соответствий, логических условий существования и пр.), есть морфизмы (Mors{r', г") = £2 и Mors\r', г") = £2').
В таком случае, компьютерное интерпретирование прикладной теории 7 можно рассмотреть как задание отображения Ф множества £2 в множество £2' при ранее определенном соответствии классов R и R'. Нетрудно заметить, что такое отображение будет инъективным (т. е. различные элементы из £2 оно отображает в различные элементы из £2': V (ш-j, га2 е £2 ш-| ф го2) —> Ф(ш-|) ф ф(та2)), а при отсут-
ствии специальных ограничений они могут быть и сюръективными (т. е. в каждый элемент £2' отображается хотя бы один элемент из £2: Vco'e£2' Зсо g £2 —> ф(со) = со'), а значит, биективными (т. е. взаимно однозначным отображением множества £2 на множество £2'):
£2 <-» £2': {ф(со1), ф(со2), ..., ф(сор)}. (9)
4. Согласно терминологии теории категорий и функторов [5], такое отображение Ф можно рассмотреть как задание связи между категориями S и S' в целом:
Ф= {ф(со1),ф(со2),..., ф(СОр)}. (10)
Связь между категориями, определенная как на уровне морфизмов, так и на уровне классов объектов категорий, получила наименование [5] функтор. Тогда компьютерное интерпретирование описывается алгебраически в виде функтора Ф:
ф; j Vr' EOb(S) ф(r')eOb(S')
[\/ш е Мог (г', г") ф(ш) еМогЩг'), ф(г")).
Таким образом, компьютерное интерпретирование теории 7 вида (1) на множественно-алгебраическом языке есть процесс задания функтора Ф, обеспечивающего эквивалентность в отображении:
Ф:£2<^£2'. (12)
При рассмотрении выражений (9) - (12), в силу того, что само отображение Ф = {ф,} задается на множестве морфизмов {со(хл)} и {со'(хп)}, эквивалентность в отображении (12) следует понимать как изоморфизм функтора Ф:
Ф = S = S7 => [£2 = £2'] => ф(со1 * со2) = ф(со/1) ° ф(со2), (13)
где {*, °> —сопоставленные операции в категориях S и S'.
Из приведенных рассуждений нетрудно заметить, что
7 —> /(71 => (£2 ^ £2'). (14)
Содержательно это позволяет рассматривать изоморфизм функтора Ф, задающего собой отображение (£2 £2'), как условие взаимной однознач-
ности свойств утверждений, алгебраических операций, отношений (морфизмов {со/}, {со/} категорий S и S') в теории 7 и компьютерной интерпретации /(7) соответственно, при изменении (сужении) численных областей из задания Я -> R' (т. е. сужении класса объектов Ob{S) до Ob(S')). Здесь необходимо напомнить, что отношения в 7, при рассмотрении ее в виде (2), задаются подмножеством теорем Н, т. е. можно записать:
[£2 = £2'] => (7<->/(7))- (15)
Таким образом, разрешение проблемы адекватности компьютерной интерпретации /(7) самой
прикладной аксиоматической теории Г заключается в разработке и доказательстве необходимых и достаточных условий изоморфности функтора Ф, в рамках выше приведенной алгебраической постановки. Исследование и разработка таких условий проводится в три этапа.
1. Обоснование категориальной модели прикладной аксиоматической теории Г.
2. Построение категориальной модели компьютерной интерпретации прикладной аксиоматической теории 1{Т).
3. Разработка и доказательство теоремы о необходимых и достаточных условиях изоморфности теорий и их компьютерных интерпретаций [в понимании выражения (10)], на базе моделей, полученных в рамках пп. 1 и 2.
При этом условия существования изоморфизма [Q = £2'] [изоморфности функтора Ф по условию (13)] рассматриваются как условия существования взаимно обратного гомоморфизма (гомоморфного отображения) между Q и Q':
3(00-,(г"', г'), сú2(r', r")EÜ); (сг'), со2{r\ r")EQ'):
. Г1)*ы2{г', г,,))->ф(с^(/'"/, г,))оф(со^(/'/, Г))
{ф(с^(г"', г')оа'2(г', г,,))-»ф(со1(г"/, г;))*ф(ш2(г', г")) ’
где (г', г", г"', г1) е Ob(S); (со-|, ю2) е Mors; (coi, со2) е е MorS’\ (*, °) — сопоставленные операции в категориях S и S'.
Подводя итог данной работе, необходимо указать, что теоретическое разрешение проблемы компьютерной интерпретации прикладных формали-
зуемых аксиоматических теорий позволит реализовать и развить объектно-ориентированный подход для сложноструктурируемых, наукоемких предметных областей. В конечном итоге это позволит обеспечить качественно новые возможности развития практических информационных технологий в наукоемких отраслях человеческой деятельности, и прежде всего в таких, как принятие управленческих решений в сложных предметных областях, информатизация общества, интеллектуализация ин-формационно-управляющих и других автоматизированных систем.
Литератур а./
1. Попович В. В. Моделирование, оценка эффективности и оптимизация систем наблюдения ВМФ (Теория поиска подвижных объектов). —СПб.: ВМАим. Н. Г. Кузнецова, 2000. — 424 с.
2. Большой энциклопедический словарь. — 2-е изд., пе-рераб. и доп. — М.: Большая российская энциклопедия, 1999. — 1456 с.
3. Клайн М. Математика. Утрата определенности. — М.: Мир, 1985. — 433 с.
4. Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на C++. — М.: Бином, СПб.: Невский диалект, 2000. — 560 с.
5. Голдблатт Р. Топосы: категорный анализ логики. — М.: Мир, 1983.—486с.
6. Кейслер Г., Чэн Ч. Ч. Теория моделей. — М.: Мир, 1977. — 614 с.
7. Каш Ф. Модули и кольца. — М.: Мир, 1981. — 286 с.
ИЗДАТЕЛЬСТВО «ПОЛИТЕХНИКА» ВЫПУСТИЛО В СВЕТ
Астапкович А. М. _
МИКРООПЕРАЦИОННЫЕ СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ
Книга посвящена проблеме разработки программного обеспечения для многоканальных систем управления реального времени, ориентированных на применение во встраиваемых приложениях. Отличительной особенностью этого класса систем управления является их закрытость от возможности изменения алгоритма управления в процессе эксплуатации системы и требование к возможности функционирования устройств в необслуживаемом режиме в течение длительных интервалов времени.
Монография содержит системный анализ ситуации, сложившейся в этой области, с целью выработки практически значимых рекомендаций для инженеров-разработчиков. Базовой направленностью монографии являлась разработка основ теории операционных систем реального времени, применительно к классу встраиваемых многоканальных систем программного управления реального времени, которые получили название микрооперационные системы. Анализ существующего положения дел проводится по нескольким направлениям, каждому из которых посвящена отдельная глава.
Книга адресована прикладным программистам и инженерам-разработчикам микропроцессорных систем программного управления, научным работникам соответствующего направления, а также менеджерам проектов в области электронного инжиниринга.