Главная > Книга


Основными механизмами структурированных спецификаций являются механизмы абстракций и объектно-ориентированные структуры данных. Они используются и в ряде других областей информатики, так как реализуются посредством современных абстрактных методов, известных под названием «концептуальное моделирование». Среди областей применения концептуального моделирования (представление знаний в системах ИИ, семантические модели данных, спецификации абстрактных типов данных в языках программирования) задача спецификации систем является наиболее близкой к концептуальным языкам, предложенным в контексте семантических моделей данных. БЗ прежде всего предусматривает концептуальное моделирование при разработках лексикона и логическое моделирование при автоматическом разрешении запросов.

Дальнейшее развитие структурированных методов спецификаций данных, программ и заданий обозначило необходимость использования т.н. «метасистем» спецификации или систем спецификации с «метауправлением». К системам с метауправлением в последнее время наблюдается сильное повышение интереса. Это происходит по двум причинам. Во-первых, существующие проблемно-ориентированные языки спецификаций (вместе с поддерживающим их программным обеспечением) эффективны только в достаточно ограниченных областях. Во-вторых, средства обработки спецификаций имеют в значительной мере сходную структуру и сходные основополагающие принципы. Это большое количество общих свойств обещает хорошую основу для разработки метасистем спецификации. Метасистемы будут обеспечивать все те же возможности, что и прежние узко специализированные методологии. Они, однако, независимы от языковых ограничений; пользователь сам вводит свой концептуальный мир и термины языка. При этом количество уровней метасистемы, соответствующее количеству используемых для описания объекта уровней абстракции, в принципе может быть произвольным. Однако установлено, что оптимальное их количество - не выше трех. И на практике различные существующие метасистемы имеют 2 либо 3 уровня. Для формализации процессов приобретения знаний также рассматриваются три метауровня: факты, утверждения о фактах и правила вывода новых фактов. Более глубокие уровни сводятся к указанным трем.

Поскольку ЯПП предусматривает ввод алгоритмического (и программного) знания, рассуждения о спецификации программ важно и для ИП. С точки зрения реализации наибольшая проблема состоит в построении языково-независимого набора программных средств (но зависимых от ЯПП). Этот набор должен быть построен на основе общей схемы, с которой впоследствии может быть связан любой потенциальный дескриптивный язык спецификации. Второй важный компонент метасистемы - метаинтерпретатор - обычно бывает более простым. Его главная функция состоит в генерации таблиц («метабазы данных»), которые управляют работой языково-независимой части во время обработки спецификаций. У него может быть несколько дополнительных возможностей, таких как генерация руководства пользователя, описывающего заданный на метауровне язык.

Спецификация является средством описания систем, которое относится к средствам высокого уровня и характеризуется следующими особенностями и даже преимуществами (если подвести итоги предварительного и достаточно краткого анализа понятия спецификации):

  • описание системы дается в понятиях задачи, а не средствами или методами ее решения;

  • спецификации обеспечивают верификацию и проверку реализации, сокращает циклы сопровождения и модификации системы;

  • спецификация облегчает построение системы и понимание задачи (она говорит о том, что надо делать и очень мало о том, как надо делать);

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

  • каждая спецификация характеризуется своими средствами и своим языком, зависящим от лексикона разработки и сложности системы;

  • спецификация является промежуточным средством описания системы между ее эскизом и готовой продукцией;

  • спецификация является заданием на разработку системы, соглашением между заказчиком и разработчиком.

Указанные особенности и преимущества полностью относятся и к спецификации заданий для Интеллсист.

1.5.4. Спецификация для ИП. С позиций инструментария ИП спецификацию можно охарактеризовать математически следующим образом. Поиск ответа на вопрос или решение проблемы для Интеллсист сводится к решению логического уравнения дискретного вида: &Ki => Q или &Ki & Q (где Ki - простое знание, &Ki - БЗ и Q - запрос). Теперь для окончательной характеристики понятия спецификации класса заданий или запроса для ИП можно привести классификацию спецификаций. Они бывают:

  • предметные спецификации для описания представления области знания через введения всех характеристик термандов (за исключением стандартных из СеГ),

  • функциональные спецификации для описания управления или взаимодействия через введение всех характеристик термаций (за исключением стандартных из СеГ),

  • концептуальные спецификации для моделирования адекватности системы и ее описания, для реализации моделирования понятий,

  • машинно-ориентированные спецификации для использования готовых программ,

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

  • эксплуатационные спецификации для выполнения задач сопровождения системы,

  • общесистемные спецификации для создания документации на БЗ (вручную или автоматически).

В соответствии с общепринятым определением метасистема (в нашем случае – это инструментарий для построения новых Интеллсист из имеющихся) предназначена для построения систем конкретного применения. Рассматривался один случай метасистемы, который был предназначен для создания системы автоматизированного формирования спецификаций (документов на программы) по совокупности определяемых в этой системе понятий. Метасистема разрабатывается как инструментарий программиста без знания программирования или ФЯ. Предлагаемая метасистема имеет более широкие возможности, чем те, которые вкладываются в конкретную ее реализацию. Использование метасистемы (для подробного ознакомления с подобными разработками читатель отсылается к работе [Деметрович89], как совершеннейшему аналогу) для генерации отчетов и программ представляет иллюстрацию для конечного пользователя, он может определить другое конкретное применение и рассмотреть проблему адаптации (путем определения новой или доопределения имеющейся БЗ) метасистемы под нужды пользователя. Такая возможность вытекает из свойств метасредств описывать только средства для спецификации, но не фиксировать сами средства.

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

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

Метасистемы в ИП опираются на метаязык, который имеет такие разделы: описание понятия (термина и его главного свойства) и наборы его значений, значений данного типа; каждое значение является объектом, которые связаны между собой отношениями. Таков же подход в разработках программ. Для получения подробной и формальной информации по вопросам разработки программ можно обратиться к фундаментальной книге [Деметрович89]. Для Интеллсист метаязыком является язык Лейбниц.

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

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

Общее определение объектов пользователя сводится к перечислению имеющихся или подразумевающихся его значений. Изредка для некоторых объектов имеются ссылки на типы данных, как на множество значений объектов. Это ограничение вызвано тем обстоятельством, что во времена появления систем спецификаций не существовало представления о новой деятельности, которую теперь называют инженерией знания. Теперь можно представить способы расширения понятия объекта так, как указано при анализе лексикона понятий (см. том 2). Число сортов, видов и типов «объектов» в ЯПП увеличено, что обеспечивает полный контроль всех данных и любых связей между ними.

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

В СеГ учтены не только все виды связей понятий, но также учтены всякие отношение объектов, в частности предписанные пользователем, атрибуты, существенно отличающиеся от объектов и, наконец, структуры также различной организации. Учет осуществлен в соответствии с накопленным знанием в ЕЯ.

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

Действительно, каждая наука определяется или характеризуется следующими атрибутами. Это:

  • сфера деятельности человека, функция которой состоит в выработке и теоретической систематизации объективных знаний о действительности;

  • средство для передачи знаний от человека к человеку, а также от человека к Интеллсист;

  • одна из форм общественного сознания, которая так или иначе отображается в БД и БЗ;

  • сумма знаний, лежащих в основе описания научной картины мира с точки зрения данной области;

  • цели, которые состоят в описании, объяснении и предсказании предметов, явлений или процессов деятельности на основе открываемых ею законов (в получении нового знания);

  • успешное применение знаний в любой деятельности, в частности в построении ответов на запросы пользователя Интеллсист;

  • деятельность по получению нового знания.

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

Со временем накопилось достаточное число (более 250) наук и научных отраслей знания (их тысячи), что составило основу для быстрого проникновения информатики почти во все эти науки и научные дисциплины. Можно с уверенностью говорить о том, что вместе с информатикой (как самостоятельной наукой) появились стыковые науки: информатика математики, информатика геологии, информатика химии, информатика лингвистики и т.п. Главная причина появления таких наук (исключая причину проникновения информатики в эту науку) использование ВМ и профессионального языка данной науки, со всеми особенностями представления (сжатия) и обобщения знаний.

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

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

1.6. Применение знания

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

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

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

Алгоритмы предназначены для применения знаний в различных сферах повседневной деятельности человека. Алгоритмы стали весьма актуальными после появления СВТ. Отлаженные программы ВМ являются формальными и точными представлениями алгоритмов. Если алгоритмы обычно записываются на языках профессиональной работы специалистов, то программы для ВМ пишутся на ФЯ. Содержательно понятие алгоритма определяется так: Алгоритм - это точное и общепонятное предписание для производства вычислений от варьируемых исходных данных до искомых результатов. Именно алгоритмы, развитие знаний о которых начиналось в недрах кибернетики, позволили выделить многие отрасли знания, постепенно образовывая самостоятельные (от кибернетики) дисциплины. Информатика является хорошим примером тому.

Алгоритмы после реализации (или их выполнения) формируют сообщения, которые представляют некоторое новое знание. Приведенные во введении три простых примера показывают, что повторное выполнение алгоритма также может поставлять новое знание о надежности ВМ или средств вычислений. Можно с уверенностью сказать, что алгоритмы - это источник нового знания. Сами по себе алгоритмы явились новым видом знания - алгоритмического. Важность этого вида знания сегодня трудно переоценить. Бурный рост из года в год спроса на алгоритмы (программы), не покрываемый ростом числа программистов, приводит нас к изобретению средств передачи знаний на ВМ без их алгоритмизации, к построению Интеллсист.

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

Любой алгоритм является результатом познания предмета, явления или процесса. Сами по себе алгоритмы сложны для понимания всеми так же, как сложно для освоения алгоритмическое знание, хотя на интуитивном уровне каждый человек прямо или косвенно соприкасается с алгоритмами (например, правилами поведения) и использует готовые программы. Познание алгоритмики (как технологии формирования алгоритмического знания) важно, но остается доступным только программистам - специалистам по подготовке программ на ФЯ. Интеллсист предназначена для автоматического построения алгоритмов по заданию пользователя, сформулированному на ЯПП. С помощью Интеллсист доступными становится и алгоритмы, и алгоритмическое знание. Доступность здесь понимается с позиции виртуальности. Алгоритм скрыт от пользователя, он выступает только своими внешними проявлениями в форме печати результатов работы. Подчас становятся неразличимыми ситуации прямого разрешения запроса пользователя и прогона программы по исходным данным пользователя.

Использование Интеллсист не исключает применение алгоритмов, программ и алгоритмического знания, представленного алгоритмами и программами. Более того, запрос или задание для Интеллсист может представлять собой программы на ЯПП или обращение к программам, написанным на ФЯ. Программист заинтересован в автоматическом синтезе программ, как и любой пользователь ВМ. Предполагается, что Интеллсист обеспечит комфортную работу и программисту. Итак, Интеллсист можно использовать как решатель заданий, как синтезатор программ и как инструмент программиста для создания программ сложной структуры. В последнем случае крайне необходимыми становятся БЗ Интерфейс для построения интерфейса программы с ее пользователем, БЗ Фундаментальные знания для учета различных констант, формул, правил аналитического преобразования фрагментов заданий и библиотека подпрограмм. Кроме этого программист должен пользоваться параметрами и режимами синтеза программ для построения эффективных программ.

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



Скачать документ

Похожие документы:

  1. Информатика в семи томах том 6 методы информатики

    Документ
    А.А. КрасиловИНФОРМАТИКА В СЕМИТОМАХТом 6. Методы информатики (Изобретание, проектирование, разработка и сопровождение) Москва 1997 - 2003 ИНФОРМАТИКАТом 1. Основыинформатики (Введение в информатику) Том 2. Информатика смысла (Машинная ...
  2. А а красилов информатика в семи томах том 1 основы информатики

    Книга
    ... КрасиловИНФОРМАТИКА В СЕМИТОМАХТом 1. Основыинформатики (Введение в информатику) Москва 1997 - 2003 ИНФОРМАТИКАТом 1. Основыинформатики (Введение в информатику) Том 2. Информатика смысла (Машинная лингвистика) Том 3. Концептуальная информатика ...
  3. Информатика в семи томах том 3 концептуальная информатика

    Документ
    А.А. КрасиловИНФОРМАТИКА В СЕМИТОМАХТом 3. Концептуальная информатика (Толковый словарь по информатике Москва 1997 - 2003 ИНФОРМАТИКАТом 1. Основыинформатики (Введение в информатику) Том 2. Информатика смысла (Машинная лингвистика ...
  4. Информатика в семи томах том 2 информатика смысла

    Документ
    А.А. КрасиловИНФОРМАТИКА В СЕМИТОМАХТом 2. Информатика смысла (Машинная лингвистика Москва 1997 - 2003 ИНФОРМАТИКАТом 1. Основыинформатики (Введение в информатику) Том 2. Информатика смысла (Машинная лингвистика) Том 3. Концептуальная ...
  5. А а красилов информатика в семи томах том 4 представление знаний

    Документ
    ... КрасиловИНФОРМАТИКА В СЕМИТОМАХТом 4. Представление знаний (Структуры данных) Москва 1997 - 2003 ИНФОРМАТИКАТом 1. Основыинформатики (Введение в информатику) Том 2. Информатика ... Настоящее описание “Информатика” в семитомах. 2. Языки ...

Другие похожие документы..