Реферат: Философские аспекты применения формальных методов в проектировании кибернетических систем
Название: Философские аспекты применения формальных методов в проектировании кибернетических систем Раздел: Остальные рефераты Тип: реферат | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Философские аспекты применения формальных методов в проектировании кибернетических систем. СодержаниеФилософские аспекты применения формальных методов в проектировании кибернетических систем. 1 Философские аспекты моделирования как метода познания окружающего мира. 6 Гносеологическая специфика модели и ее определение. 6 Классификация моделей и виды моделирования. 8 Моделирование как средство экспериментального исследования. 9 Моделирование и проблема истины. 11 Имитационное моделирование. 12 Кибернетическом моделирование. 12 Понятия "философия техники", "техника", "проектирование". 13 Фазы и операции системного проектирования. 17 Кооперация работ и специалистов в системотехнике. 19 С середины прошлого века кибернетические системы совершили огромный скачек в развитии от примитивных калькулятор и роботов до совершенных механизмов, разработка которых требует усилий многих специалистов. Это привело к появлению новой науки, которую можно назвать, по аналогии с английским термином software engineering, программной инженерией. Как и любая наука, программная инженерия имеет свою уникальную специфику, которую полезно осмыслить с точки зрения философии. Задачи программной инженерии условно можно разделить на две большие группы – реверс или обратная инженерия и форвард инженерия (reverse- and forward- engineering). Разные исследователи и практические разработчики программного обеспечения (ПО) уделяют этим группам разную долю внимания, однако сейчас уже ни одна промышленная разработка не может игнорировать проблемы каждой из этих групп. Форвард-инженерия необходима для того, чтобы поддерживать поступательное развитие ПО, реверс-инженерия необходима для поддержки преемственности функциональности и таких характеристик как надежность, управляемость, открытость к изменениям и др. В контексте индустриальной разработки и развития ПО важно объединение методов и технологий анализа и создания ПО. При недооценке важности такого объединения легко оказаться в ситуации, когда одни фазы жизненного цикла ПО получают гипертрофированно развитые средства поддержки, что, в частности, приводит к росту объемов ПО, а другие фазы, не имея адекватной поддержки, встречаются с непреодолимыми трудностями. Очевидным примером здесь служит развитие языков программирования, в частности, объектно-ориентированных (ОО) языков и соответствующих компиляторов и интегрированных средств поддержки. Это привело к появлению чрезвычайно громоздких программных комплексов, поддержка, изучение и модификация которых становятся невозможным без специальных методов и инструментов. В этой работе я рассмотрю только один, но, пожалуй, очень важный аспект – применение формальных методов. Дать точное определение «формальным методам», как они понимаются в программировании, достаточно затруднительно. Одна из причин этого состоит в том, что программы и методы их компиляции и интерпретации, несомненно, являются формальными, поэтому и все методы разработки программ легко объявить формальными. Вместе с тем, под термином «формальные методы» скрывается нечто, отличающее рутинное написание текстов на языке программирования от анализа этих текстов и анализа поведения программ, заданных этими текстами, причем анализа по духу близкого к математическим исследованиям, использующего математические нотации и способы рассуждений и доказательств, принятые в математике. В связи с этим многие авторы дают определение «формальных методов» просто как методов разработки программ, в которых используются математическая нотация (notation) и/или математические рассуждения (reasoning). Формальные методы в программировании, по-видимому, появились практически одновременно с самим программированием. Из результатов советской программистской школы наибольшую известность получили работы А.А.Маркова (алгоритмы Маркова) и работы А.А.Ляпунова и его учеников (например, схемы Янова). В более поздние годы много внимания формальным методам в СССР уделялось в работах киевских, новосибирских, ленинградских и московских ученых. Наиболее известной и распространенной формальной нотацией является нотация Бэкуса-Наура, использующаяся для описания синтаксиса формальных языков. Затем можно назвать машину Тьюринга, конечные автоматы (Finite State Machine – FSM or Finite Automata – FA), сети Петри, языки описания взаимодействующих процессов К.А.Хоара (C.A.Hoar) и Р.Милнера (R.Milner) и др. По естественным причинам практически все работы по формальным методам были нацелены на форвард-приложения. В качестве идеала рассматривалась следующая схема. На языке формальных спецификаций описываются функциональные требования к программной системе. Путем аналитического исследования устанавливается корректность спецификации – спецификация верифицируется. Затем при помощи некоторого инструмента на основе формальных спецификаций генерируется код программной реализации. Несколько более реалистичный сценарий дополнял описанную выше схему процессом постепенного уточнения спецификаций (refining). Каждый шаг уточнения проводится человеком, который направляет процесс уточнения. При этом соответствующие инструменты следят за тем, чтобы очередное уточнение спецификации не пришло в противоречие с исходными спецификациями. В обоих сценариях в качестве итогового результата должна появиться программная реализация, удовлетворяющая всем специфицированным требованиям и не содержащая ошибок. В 70-е годы появились языки формальных спецификаций, которые с одной стороны имели много общего с языками программирования, а с другой стороны предоставляли специальные средства, сближающие их с математической нотацией и облегчающие рассуждения о свойствах таких формальных текстов. Несмотря на это, большая часть исследований по формальным методам по-прежнему сохраняла так называемый «академический» характер. По-видимому, главным исключением служат работы по конечным автоматам (КА), которые нашли самое широкое применение в проектировании и тестировании средств автоматики, связи и вычислительной техники. Опыт использования КА в разработке аппаратуры применялся и в разработке ПО, хотя в существенно меньших масштабах по сравнению с разработкой аппаратуры. Весьма скромные результаты, продемонстрированные попытками применить формальные методы в реальных проектах, породили распространение скептического взгляда на возможность извлечь пользу из этих методов, соизмеримую с затратами, которые необходимо вложить в дополнительные работы, связанные с разработкой и анализом формальных спецификаций. Вместе с тем, на отдельных направлениях формальные методы и, в частности, языки формальных спецификаций достигли значимых успехов. Эти успехи, с одной стороны, были обусловлены удачным сочетанием потребностей предметной области и возможностей формальных методов (в первую очередь это проблемы описания телекоммуникационных протоколов; SDL, LOTOS – примеры языков спецификаций, использующихся в этих областях), и с другой стороны, приближением языков спецификации к формам, привычным в традиционном программировании (в первую очередь это Венский метод – Vienna Development Method – VDM и его развитие – языки Z и RAISE). Еще одним фактором, создавшим предпосылку для продвижения формальных методов в реальное программирование (software production), стал интерес к вопросам реверс-инженерии вообще и к задачам автоматизации тестирования на основе использования формальных спецификаций (тем самым, спустившись с небес на землю, специалисты по формальным методам отбросили мечту об порождении программ без ошибок, а решили использовать свои методы для поиска ошибок, которые неизбежно встречаются в ПО). Главное преимущество, которое дает использование формальных методов в процессе реверс-инженерии, – это возможность строгого описания интерфейсов и поведения программной системы. Эта возможность, во-первых, позволяет фиксировать знания о функциональности отдельных компонентов и подсистем, знания о правилах взаимодействия, об ограничениях на входные данные, временные характеристики и др. Тем самым, появляется предпосылка для решения самой главной проблемы современной реверс-инженерии. Она состоит в том, что на сегодняшний момент результатом работы по изучению программ (это и есть реверс-инженерия в узком смысле этого слова) является знание отдельного индивида. Это знание не отчуждается от индивида и легко теряется как самим индивидом (и группой, в которой он работает), так и заказчиком реверс-инженерии, как только данный исполнитель переключился на другую работу. Известно, что фирмы производители ПО затрачивают огромные средства на создание документации по ПО. Однако лишь немногие фирмы находят достаточно сил и времени, чтобы поддерживать документацию в актуальном состоянии. Эта ситуация каждый раз порождает необходимость в реверс-инженерии. Реальным выходом из этого бесконечного цикла является фиксация так называемых «программных контрактов» (software contract), которые можно рассматривать как материальное представление знаний о функциональности данного ПО. Программный контракт описывает синтаксис и семантику интерфейсов систем. Как правило, этот термин используется по отношению к так называемым «интерфейсам прикладных программ» (Aррlication Programming Interfaces – API). API – это интерфейс, который предоставляется сущностями, составляющими программу, например, процедурами, функциями, методами ОО классов и т.п. Помимо собственно фиксации программного контракта, формальная спецификация позволяет систематизировать функциональное тестирование (часто называемое тестированием по методу «черного ящика»). Поскольку формальные спецификации строго описывают требования как на входные данные, так и на ожидаемые результаты, функциональных спецификаций достаточно для того, чтобы провести тестирование внешнего поведения системы. Без строгих спецификаций такой систематизированный подход невозможен, поскольку нет данных ни об области допустимых воздействий на целевую систему, ни о критериях оценки полученных результатов – какие из результатов следует трактовать как правильные, какие как ложные. Это является одной из причин того, что большая часть исследований по тестированию посвящена тестированию на основе исходных текстов. Исходные тексты являются строгим описанием структуры реализации, поэтому они представляются подходящим материалом для извлечения тестов (тестовых воздействий) и для оценки полноты тестового покрытия. Однако, в отличие от функциональных спецификаций, на основании изучения исходных текстов нельзя вынести заключения о критериях проверки соответствия реализации ее функциональным требованиям, в частности, о полноте реализации. Еще одно обстоятельство является чрезвычайно важным. Если спецификации формальны, то они могут рассматриваться как «машинно-читаемые». Тем самым появляется предпосылка полностью автоматизировать как генерацию тестов, так и анализ результатов тестирования. Серьезным направлением в использовании формальных методов в последние десять лет стала «проверка моделей» (model checking). Этот подход демонстрирует компромисс между идеальной мечтой о верификации формальной системы и реальной практикой разработки ПО. Суть похода состоит в построении модели реальной системы и по возможности полной проверке корректности данной модели. Проверка, если возможно, проводится аналитическими методами. Если это невозможно, производится тестирование модели. При этом сложность модели, как правило, выбирается таким образом, чтобы была возможность провести «исчерпывающее» тестирование (exhaustive testing). Слабое место данного подхода – это проблемы построения модели и доказательство того, что модель достаточно содержательна, чтобы на основании модели можно было судить о свойствах реальной системы. Резюмируя данный краткий обзор позитивных сдвигов в использовании формальных методов в индустриальной разработке ПО, отметим, что сейчас наметилось достаточно четкое разделение методологий и поддерживающих их инструментов, ориентированных на академические исследования и на использование в промышленности ПО. Последние отличаются от первых не только более развитыми средствами поддержки программных проектов, но и средствами, позволяющими перекинуть мостик между спецификациями и собственно целевой системой. К таким средствам в первую очередь относятся компиляторы исполнимых подмножеств языков спецификаций в языки программирования, средства согласования спецификационных и реализационных сущностей, средства, упрощающие конфигурирование целевых и тестовых систем, в которых часть компонентов создается вручную, а часть является результатом генерации из формальных спецификаций. Разнообразие таких возможностей позволяет заключить, что некоторые формальные методологии и наборы их инструментов уже вышли на уровень программных продуктов, и в ближайшее время следует ожидать значительного расширения, как их функциональности, так и масштабов их использования. Основу применение формальных методов в тестировании программных систем составляет процесс тестирования, верификации супротив функциональных спецификаций, заданных потребителями. Большую сложность составляет процесс извлечения и формализации требований из словесных описаний в стройную систему требований, часто в математическом или ином строгом виде, однозначно описывающую желаемые свойства разрабатываемой системы. Этот процесс по своей сути является построением предварительной модели будущей системы для анализа ее свойств, выявления противоречий в требованиях, уточнения характеристик. В этом аспекте необходимо рассмотреть понятие моделирования. Однако моделирование как специфическое средство и форма научного познания не является изобретением 19 или 20 века. Достаточно указать на представления Демокрита и Эпикура об атомах, их форме, и способах соединения, об атомных вихрях и ливнях, объяснения физических свойств различных веществ с помощью представления о круглых и гладких или крючковатых частицах, сцепленных между собой. Эти представления являются прообразами современных моделей, отражающих ядерно-электронное строение атома вещества. 20 век принес методу моделирования новые успехи, но одновременно поставил его перед серьезными испытаниями. С одной стороны, кибернетика обнаружила новые возможности и перспективы этого метода в раскрытии общих закономерностей и структурных особенностей систем различной физической природы, принадлежащих к разным уровням организации материи, формам движения. С другой же стороны, теория относительности и в особенности, квантовая механика, указали на неабсолютный, относительный характер механических моделей, на трудности, связанные с моделированием. Многочисленные факты, свидетельствующие о широком применении метода моделирования в исследованиях, некоторые противоречия, которые при этом возникают, потребовали глубокого теоретического осмысления данного метода познания, поисков его места в теории познания. Этим можно объяснить большое внимание, которое уделяется философами различных стран этому вопросу в многочисленных работах. Философские аспекты моделирования как метода познания окружающего мира. Гносеологическая специфика модели и ее определение.Исследование гносеологического значения моделирования должно начинаться с определения понятия "модель". Слово "модель" произошло от латинского слова "modelium", означает : мера, образ, способ и т.д. Его первоначальное значение было связано со строительным искусством, и почти во всех европейских языках оно употреблялось для обозначения образа или прообраза, или вещи, сходной в каком-то отношении с другой вещью" [1]. По мнению многих авторов ([1],[2],[3]), модель использовалась первоначально как изоморфная теория (после создания Декартом и Ферма аналитической геометрии моделью стало понятие подразумевающее теорию, которая обладает структурным подобием по отношению к другой теории. Две такие теории называются изоморфными, если одна из них выступает как модель другой, и наоборот). С другой стороны, в таких науках о природе, как астрономия, механика, физика, химия, термин "модель" стал применяться для обозначения того, к чему даннная теория относится или может относиться, того, что она описывает. В.А. Штофф отмечает, что "здесь со словом "модель" связаны два близких, но несколько различных понятия". Подмоделью в широком смысле понимают мысленно или практически созданную структуру, воспроизводящую часть действительности в упрощенной и наглядной форме. Таковы, в частности представления Анаксимандра о Земле как плоском цилиндре, вокруг которого вращаются наполненные огнем полые трубки с отверстиями. Модель в этом смысле выступает как некоторая идеализация, упрощение действительности, хотя сам характер и степень упрощения, вносимые моделью, могут со временем меняться. В более узком смысле термин "модель" применяют тогда, когда хотят изобразить некоторую область явлений с помощью другой, более хорошо изученной, легче понимаемой. Так, физики 18 века пытались изобразить оптические и электрические явления посредством механических ("планетарная модель атома" - строение атома изображалось как строение солнечной системы). Таким образом, в этих двух случаях под моделью понимается либо конкретный образ изучаемого объекта, в котором отображаются реальные или предполагаемые свойства, строение и т.д., либо другой объект, реально существующий наряду с изучаемым и сходный с ним в отношении некоторых определенных свойств или структурных особенностей. В этом смысле модель - не теория, а то, что описывается данной теорией - своеобразный предмет данной теории. Во многих дискуссиях, посвященных гносеологической роли и методологическому значению моделирования, термин "моделирование" употреблялся как синоним познания,теории, гипотезы и т.п. Например, часто модель употребляется как синоним теории в случае, когда теория еще недостаточно разработана, в ней мало дедуктивных шагов, много упрощений, неясностей (физика: термин "модель" может здесь потребляться для обозначения предварительного наброска или варианта будущей теории при условии значительных упрощений, вводимых с целью обеспечения поиска путей, ведущих к построению более точной и совершенной теории. Иногда этот термин употребляют в качестве синонима любой количественной теории, математического описания. Несостоятельность такого употребления с гносеологической точки зрения, по мнению В.А.IIIтоффа, в том, "что такое словоупотребление не вызывает никаких новых гносеологических проблем, которые были бы специфичны для моделей". Существенным признаком, отличающим модель от теории (по словам И.Т. Фролова) [4] является не уровень упрощения, не степень абстракции, и следовательно, не количество этих достигнутых абстракций и отвлечений, а способ выражения этих абстракций, упрощений и отвлечений, характерный для модели. В философской литературе, посвященной вопросам моделирования, предлагаются различные определения модели. А.А. Зиновьев и И.И. Pевзин дают следующее определение: "Пусть X есть некоторое множество суждений, описывающих соотношение элементов некоторых сложных объектов А и В. Пусть Y есть некоторое множество суждений, получаемых путем изучения А и отличных от суждения Х. Пусть есть некоторое множество суждений, относящихся к В и также отличных от Х. Если выводится из конъюнкции Х и Y по правилам логики, то А есть модель В, а В есть оригинал модели."[5] Здесь модель - лишь средство получения знаний, а не сами знания, не гносеологический образ, следовательно, из рассмотрения выпадают идеальные модели (мысленные), т.к. их значение в качестве элементов знания реальных объектов отрицать нельзя. Определение И.Т. Фролова: "Моделирование означает материальное или мысленное имитирование реально существующей системы путем специального конструирования аналогов (моделей), в которых воспроизводятся принципы организации и функционирования этой системы".[4] Здесь в основе мысль, что модель - средство познания, главный ее признак - отображение. На наш взгляд, наиболее полное определение понятия "модель" дает В.А. IIIтофф в своей книге "Моделирование и философия": "Под моделью понимается такая мысленно представляемая или материально реализуемая система, которая, отображая или воспроизводя объект исследования, способна замещать его так, что ее изучение дает нам новую информацию об этом объекте".[1] При дальнейшем рассмотрении моделей и процесса моделирования будем исходить из того, что общим свойством всех моделей является их способность, так или иначе, отображать действительность. В зависимости от того, какими средствами, при каких условиях, по отношению к каким объектам познания это их общее свойство реализуется, возникает большое разнообразие моделей, а вместе с ним и проблема классификации моделей. Классификация моделей и виды моделирования.В литературе, посвященной философским аспектам моделирования, представлены различные классификационные признаки, по которым выделены различные типы моделей. Остановимся на некоторых из них. Так, в [1] называются такие признаки, как:
По способу построения модели бывают материальные и идеальные. Остановимся на группе материальных моделей. Несмотря на то, что эти модели созданы человеком, но они существуют объективно. Их назначение специфическое - воспроизведение структуры, характера, протекания, сущности изучаемого процесса:
Материальные модели неразрывно связаны с объектами отношением аналогии. В этом свете материальные модели делятся на:
Материальные модели неразрывно связаны с воображаемыми (даже, прежде, чем что-либо построить - сначала теоретическое представление, обоснование). эти модели остаются мысленными даже в том случае, если они воплощены в какой-либо материальной форме. Большинство этих моделей не претендует на материальное воплощение. По форме они могут быть:
Достоинства данной классификации в том, что она дает хорошую основу для анализа двух основных функций модели:
Другая классификация есть у Б.А. Глинского в его книге "Моделирование как метод научного исследования", где наряду с обычным делением моделей по способу их реализации, они делятся и по характеру воспроизведения сторон оригинала:
А.Н. Кочергин [3] предлагает рассматривать и такие классификационные признаки, как: природа моделируемых явлений, степень точности, объем отображаемых свойств и др. Теперь перейдем к рассмотрению вопросов, связанных непосредственно с самим моделированием. Философский энциклопедический словарь определяет его так: "Моделирование - метод исследования объектов познания на их моделях; построение и изучение моделей реально существующих предметов и явлений (органических и неорганических систем, инженерных устройств, разнообразных процессов - физических, химических, биологических, социальных) и конструируемых объектов для определения либо улучшения их характеристик, рационализации способов их построения, управления и т.п." Ниже, когда будет рассмотрено использование метода моделирования в конкретных областях, будут определены и виды моделирования. Теперь же остановимся на них в самом общем виде. Моделирование может быть:
Прежде чем переходить к вопросам применения моделирования, рассмотрим основные функции моделей. Основные функции моделей.Моделирование как средство экспериментального исследования.Выясним, в чем специфика модели в качестве средства экспериментального исследования в сравнении с другими экспериментальными средствами. Рассмотрение материальных моделей в качестве средств, орудий экспериментальной деятельности вызывает потребность выяснить, чем отличаются те эксперименты, в которых используются модели, от тех, где они не применяются. Возникает вопрос о той специфике, которую вносит в эксперимент применение в нем модели. Превращение эксперимента в одну из основных форм практики, происходившее параллельно с развитием науки, стало фактом с тех пор, как в производстве сделалось возможным широкое применение естествознания, что в свою очередь было результатом первой промышленной революции, открывшей эпоху машинного производства. "Специфика эксперимента как формы практической деятельности в том, что эксперимент выражает активное отношение человека к действительности. В силу этого, в марксистской гносеологии проводится четкое различие между экспериментом и научным познанием. Хотя всякий эксперимент включает и наблюдение как необходимую стадию исследования. Однако в эксперименте помимо наблюдения содержится и такой существенный для революционной практики признак как активное вмешательство в ход изучаемого процесса. Под экспериментом понимается вид деятельности, предпринимаемой в целях научного познания, открытия объективных закономерностей и состоящий в воздействии на изучаемый объект (процесс) посредством специальных инструментов и приборов."(20 с301) Существует особая форма эксперимента, для которой характерно использование действующих материальных моделей в качестве специальных средств экспериментального исследования. Такая форма называется модельным экспериментом. В отличие от обычного эксперимента, где средства эксперимента, так или иначе, взаимодействуют с объектом исследования, здесь взаимодействия нет, так как экспериментируют не с самим объектом, а с его заместителем. При этом объект-заместитель и экспериментальная установка объединяются, сливаются в действующей модели в одно целое. Таким образом, обнаруживается двоякая роль, которую модель выполняет в эксперименте: она одновременно является и объектом изучения и экспериментальным средством. Для модельного эксперимента, по мнению ряда авторов ([1],[5],[6]), характерны следующие основные операции:
Модель входит в эксперимент, не только замещая объект исследования, она может замещать и условия, в которых изучается некоторый объект обычного эксперимента. Обычный эксперимент предполагает наличие теоретического момента лишь в начальный момент исследования - выдвижение гипотезы, ее оценку и т.д., теоретические соображения, связанные с конструированием установки, а также на завершающей стадии - обсуждение и интерпретация полученных данных, их обобщение; в модельном эксперименте необходимо также обосновать отношение подобия между моделью и натуральным объектом и возможность экстраполировать на этот объект полученные данные. В.А.Штофф в своей книге "Моделирование и философия" говорит о том, что теоретической основой модельного эксперимента, главным образом в области физического моделирования, является теория подобия. Она ограничивается установлением между качественно однородными явлениями, между системами, относящимися к одной и той же форме движения материи. Она дает правила моделирования для случаев, когда модель и натура обладают одинаковой (или почти одинаковой) физической природой. Но в настоящее время практика моделирования вышла за пределы сравнительно ограниченного круга механических явлений и вообще, отношения системы в пределах одной формы движения материи. Возникающие математические модели, которые отличаются по своей физической природе от моделируемого объекта, позволили преодолеть ограниченные возможности физического моделирования. При математическом моделировании основой соотношения модель - натура является такое обобщение теории подобия, которое учитывает качественную разнородность модели и объекта, принадлежность их разным формам движения материи. Такое обобщение принимает форму более абстрактной теории изоморфизма систем. Особенно важно такое свойство для кибернетических систем, где модель описывает свойства объекта в декларативном порядке, в то время как система реализует описанные свойства и императивном порядке (набор инструкций для процессора и т.п.). Моделирование и проблема истины.Интересен вопрос о том, какую роль играет само моделирование, то есть построение моделей, их изучение и проверка в процессе доказательства истинности и поисков истинного знания. Что же следует понимать под истинностью модели? Если истинность вообще - "соотношение наших знаний объективной действительности"[1], то истинность модели означает соответствие модели объекту, а ложность модели - отсутствие такого соответствия. Такое определение является необходимым, но недостаточным. Требуются дальнейшие уточнения, основанные на принятие во внимание условий, на основе которых модель того или иного типа воспроизводит изучаемое явление. Например, условия сходства модели и объекта в математическом моделировании, основанном на физических аналогиях, предполагающих при различии физических процессов в модели и объекте тождество математической формы, в которой выражаются их общие закономерности, являются общими, более абстрактными. Таким образом, при построении тех или иных моделей всегда сознательно отвлекаются от некоторых сторон, свойств и даже отношений, в силу чего, заведомо допускается расхождение между моделью и оригиналом по ряду параметров, которые вообще не входят в формулирование условий сходства. Так планетарная модель атома Резерфорда оказалась истинной в рамках (и только в этих рамках) исследования электронной структуры атома, а модель Дж. Томпсона оказалась ложной, так как ее структура не совпадала с электронной структурой. Истинность - свойство знания, а объекты материального мира не истинны, не ложны, просто существуют. Можно ли говорить об истинности материальных моделей, если они - вещи, существующие объективно, материально? Это связано с другим вопросом: на каком основании можно считать материальную модель гносеологическим образом? В модели реализованы двоякого рода знания:
Имея в виду именно теоретические соображения и методы, лежащие в основе построения модели, можно ставить вопросы о том, на сколько верно данная модель отражает объект и насколько полно она его отражает. (В процессе моделирования выделяются специальные этапы - этап верификации модели и оценка ее адекватности). В таком случае возникает мысль о сравнимости любого созданного человеком предмета с аналогичными природными объектами и об истинности этого предмета. Но это имеет смысл лишь в том случае, если подобные предметы создаются со специальной целью изобразить, скопировать, воспроизвести определенные черты естественного предмета. Таким образом, можно говорить о том, истинность присуща материальным моделям:
"И в этом отношении материальная модель является гносеологически вторичной, выступает как элемент гносеологического отражения"[1]. Важнейший аспект, связанный с ролью моделирования в установлении истинности той или иной формы теоретического знания (аксиоматической теории, гипотезы и т.д.). Здесь модель можно рассматривать не только как орудие проверки того, действительно ли существуют такие связи, отношения, структуры, закономерности, которые формулируются в данной теории и выполняются в модели. Успешная работа модели есть практическое доказательство истинности теории, то есть это часть экспериментального доказательства истинности этой теории. Теперь, когда были рассмотрены основные теоретические аспекты моделей, моделирования, можно перейти к рассмотрению конкретных примеров широкого применения моделирования, как средства познания в области кибернетики. Имитационное моделированиеПо словам крупного ученого в этой области P.Шеннона, "идея имитационного моделирования проста и интуитивно привлекательна, позволяет экспериментировать с системами, когда на реальном объекте этого сделать нельзя."[6]. В основе этого метода - теория вычислительных систем, статистика, теория вероятностей, математика. Все имитационные модели построены по типу "черного ящика", т.е. сама система (ее элементы, структура) представлены в виде "черного ящика"; есть какой-то вход в него, который описывается экзогенными переменными (возникают вне системы, под воздействием внешних причин), и выход (описывается выходными переменными), который характеризует результат действия системы. В имитационном исследовании большое значение имеет этап оценки модели, который включает в себя следующие шаги:
Кибернетическом моделированиеВ современном научном знании весьма широко распространена тенденция построения кибернетических моделей объектов самых различных классов. "Кибернетический этап в исследовании сложных систем ознаменован существенным преобразованием "языка науки", характеризуется возможностью выражения основных особенностей этих систем в терминах теории информации и управления. Это сделало доступным их математический анализ." [5] Кибернетическое моделирование используется и как общее эвристическое средство, и как искусственный организм, и как система-заменитель, и в функции демонстрационной. Использование кибернетической теории связи и управления для построения моделей в соответствующих областях основывается на максимальной общности ее законов и принципов: для объектов живой природы, социальных систем и технических систем. Широкое использование кибернетического моделирования позволяет рассматривать этот "логико-методологический" феномен как неотъемлемый элемент интеллектуального климата" современной науки"[5]. В этой связи говорят об особом "кибернетическом стиле мышления", о "кибернетизации" научного знания. С кибернетическим моделированием связываются возможные направления роста процессов теоретизации различных наук, повышение уровня теоретических исследований. Рассмотрим некоторые примеры, характеризующие включение кибернетических идей в другие понятийные системы. Характеризуя процесс кибернетического моделирования[5], обращают внимание на следующие обстоятельства. Модель, будучи аналогом исследуемого явления, никогда не может достигнуть степени сложности последнего. При построении модели прибегают к известным упрощениям, цель которых - стремление отобразить не весь объект, а с максимальной полнотой охарактеризовать некоторый его "срез". Задача заключается в том, чтобы путем введения ряда упрощающих допущений выделить важные для исследования свойства. Создавая кибернетические модели, выделяют информационно-управленческие свойства. Все иные стороны этого объекта остаются вне рассмотрения. На чрезвычайную важность поисков путей исследования сложных систем методом наложения определенных упрощающих предположений указывает P.Эшби. "В прошлом, - отмечает он, - наблюдалось некоторое пренебрежение к упрощениям... Однако мы, занимающиеся исследованием сложных систем, не можем себе позволить такого пренебрежения. Исследователи сложных систем должны заниматься упрощенными формами, ибо всеобъемлющие исследования бывают зачастую совершенно невозможны". Анализируя процесс приложения кибернетического моделирования в различных областях знания, можно заметить расширение сферы применения кибернетических моделей: использование в науках о мозге, в социологии, в искусстве, в ряде технических наук. В частности, в современной измерительной технике нашли приложение информационные модели. Возникшая на их основе информационная теория измерения и измерительных устройств - это новый подраздел современной прикладной метрологии. Особенностью современных кибернетических моделей является описание поведения как системы моделирующей свойства существующих систем, так и поведение некоторой системы, никогда не существовавшей. И если в первом случае нас в первую очередь интересует качественное сходство с реальным объектом, то во втором случае модель является первичной и определяет поведение будущего объекта. В случае, когда модель является первичной, моделирование приобретает новый смысл, расширяющий исходный. В частности, моделирование используется для изучения свойств объекта, проверки полноты и непротиворечивости спецификации поведения. Модель может быть представлена как в виде словесного описания свойств объекта (что часто применяется на начальной стадии разработки объекта), так и выражена в виде некоторых символов, имеющих строгую семантику. Строгая семантика символов позволяет осуществить автоматизированный анализ спецификаций, и, в том числе, произвести тестирование конечного объекта на предмет соответствия модели или синтезировать объект. Собственно строгая семантика символов языка описания модели является основой применения формальных методов. Так как исходным материалом для разработки такой модели является идея о свойствах будущей системы, то становиться очевидным необходимость рассмотреть понятие проектирования. Понятия "философия техники", "техника", "проектирование". Техника в ХХ веке становится предметом изучения разнообразных дисциплин как технических, так естественных и общественных, как общих, так и частных. Все возрастающая специализация в технике стимулирует противоположный процесс развития общетехнических дисциплин. В силу проникновения техники во все сферы жизни современного общества многие общественные науки, прежде всего социология и психология, обращаются к специальному анализу технического развития. Т.е. техника стала предметом специального анализа и исследования, что привело к возникновению самостоятельной дисциплины философии техники. Впервые термин "философия техники" был введен в русский лексикон инженером – теоретиком Петром Клементьевичем Энгельмейером в 90-х годах XIX века[7]. Философия техники исследует:
Термином "техника" с объективной точки зрения обозначают совокупность материальных средств, создаваемых человеком для облегчения и повышения продуктивности человеческой деятельности. Т.е. техника представляет собой мир орудий, машин и автоматов, созданных человеком и человека обслуживающих. В данном случае под понятием "техника" понимаются "технические объекты", которые являются результатом материального производства и служат удовлетворению различных человеческих (общественных) потребностей, подчеркивая только объектные аспекты техники[8]. С субъективной стороны "техника" – совокупность знаний, опыта, способность создавать или организовывать некоторую деятельность, необходимую для создания технических объектов и способов их использования[8]. Субъективные аспекты техники связаны с рабочей деятельностью человека, для которой характерно, что ожидаемый результат этой деятельности создается, прежде всего, идеально, в виде представления, плана, проекта и затем в реальном виде. Из диалектического единства обеих сторон техники следует, что с помощью техники человек преобразовывает не только объективный мир для более эффективного использования, но и самого себя, расширяя свои способности, знания, повышая уровень своих знаний объективной реальности. Отсюда вытекает понятие "проектирования" как целенаправленной деятельности, целью которой является формулировка и моделирование представления:
Проектирование является необходимой составной частью технико-экономического и материального развития общества, т. к. оно заранее определяет цели достижения определенных результатов. Обособление проектирования и проникновение его в смежные области, связанные с решением социотехнических проблем, привело к развитию новых форм инженерной и проектной культуры, появлению новых форм инженерной и проектной культуры, появлению новых системных и методологических ориентаций. В соответствии с этим рассматриваются три основных раздела проектирования:
Инженерное проектированиеПроектирование как особый вид инженерной деятельности формируется в начале ХХ столетия и связано первоначально с деятельностью чертежников, необходимостью точного графического изображения замысла инженера для его передачи исполнителям на производстве. Однако постепенно эта деятельность связывается с научно-техническими расчетами на чертеже основных параметров будущей технической системы, ее предварительном исследованием. инженерном проектировании следует различать "внутреннее" и "внешнее" проектирование[8]. Первое связано с созданием рабочих чертежей (технического и рабочего проектов), которые служат основными документами для изготовления технической системы на производстве; второе – направлено на разработку общей идеи системы, ее исследование с помощью теоретических средств, разработанных в соответствующей технической науке. Проектирование следует отличать от конструирования. Для проектировочной деятельности исходным является социальный заказ, т.е. потребность в создании определенных объектов. Продукт проектировочной деятельности в отличии от конструкторской выражается в особой знаковой форме – в виде текстов, чертежей, таблиц и т.д. Результатом конструкторской деятельности является опытный образец, с помощью которого уточняются расчеты, проводимые в проекте и конструктивно-технические характеристики проектируемой технической системы[8]. Инженерной сфере процесс проектирования часто противопоставляется исследованиям и разработкам и сравнивается с ними, чтобы показать их сходства и различия. Другая тенденция развития проектирования включает анализ и моделирование практических видов деятельности человека, процессов управления и принятия решения[8]. Процесс принятия решения базируется на теории статистических решений, теории решений в конфликтных ситуациях, на анализе операций и методах исследования операций, методе оптимизации и т. д. Следующая тенденция тесно связана с проблемой инновации, с проблемами научных и технических изменений. В этой связи необходимо упомянуть куновское исследование структуры научных революций и анализ функций парадигмы в развитии научного мышления[9]. Данные тенденции не проявляются в процессе проектирования обособленно, а являются результатом деятельности междисциплинарной проектировочной группы. Деятельность такой группы выдвигает специальные требования к характеру синтеза различных научных и инженерных дисциплин, разных критериальных систем. Современной проектировочной деятельности характерны следующие тенденции:
Системное проектирование.Системное проектирование включает в себя 3 основных раздела:
Этапы разработки системы.Этапы разработки системы разделяются в соответствии с системотехнической деятельностью по объекту. В ходе проектирования представление о сложной технической системе изменяется. Происходит последовательная конкретизация моделей этой системы. Обычно при проектировании технических систем представлены общие процедурные правила создания систем на различной материальной основе[8]. Сначала рассматривается процесс синтеза функциональной модели системы, а затем ее преобразование в структурную модель (или ее реализация). Каждый этап связан с определенными средствами графического и символического представления системы. Здесь могут вводиться определенные промежуточные преобразования (операции, которые выполняет каждый элемент системы по отношению к течению процесса). Например, в качестве функциональных моделей могут быть использованы алгебраические модели. Структурные модели делятся на диаграммы протекания субстанции и блок-схемы. Диаграмма показывает последовательность операций (более детально, чем в функциональной модели, где не соблюдается строгая последовательность) и дает минимум информации о плане построения системы: идентификацию элементов и схем связей. В блок-схеме даны форма субстанции на входе одного и выходе другого элемента. Функциональные модели могут быть получены тремя способами[8].
Для создания системы недостаточно какого-либо единого описания, необходимо сочетание, например, блок-схемы, поточной диаграммы и функциональной модели. В процессе проектирования они постоянно корректируются за счет возвращения на предыдущие стадии. В результате получается целостное описание системы, составляющие которого, взаимно дополняют друг друга. При разделении системного проектирования в соответствии со структурой технической системы выделяются следующие этапы: макропроектирование (внешнее проектирование) и микропроектирование (внутреннее проектирование) и проектирование окружающей среды, которое связано с формулировкой целей системы. Микроуровень включает в себя системное представление различных видов деятельности, входящих в процесс проектирования. На данном уровне анализа они дифференцируются по-разному, например:
Разделение субъектов и типов деятельности, участвующих в процессе проектирования, может повысить адекватность и семантическую культуру тех макромоделей, которые наиболее часто применяются на этом уровне. Микроуровень анализирует отдельные виды деятельности, входящие в процесс проектирования. Для этого уровня важным является понятие "деятельность", а также различные возможности моделирования, входящего в процесс проектирования. Значит, возможности для моделирования различных типов деятельности представляются математическими и семантическими информационными теориями, развитыми в тесной связи с теориями принятия решений. Весьма прогрессивны средства анализа, которые базируются на экономических моделях. Они необходимы:
Следующий уровень анализа – анализ информационных процессов. Связь между отдельными блоками деятельности может быть эффективной с помощью определенных лингвистических средств, выражающих соответствующие первоначальные или выведенные данные, цели и требования, связанные с рассматриваемой проблемой и т. д. Формы данных должны обеспечивать не только многоцелевое использование, но и преобразование данных из одной формы в другую (например цифровую, графическую и т. д.). В анализе информационных процессов в проектировочной деятельности проявляется тенденция, которая характеризуется как информационный взрыв. Если мы понимаем информацию как такое свойство данных, которое может приводить к снижению первоначального уровня энтропии, то это явление означает рост поля данных, из которых только некоторые способны к осуществлению информационной функции. Т. о. при проектировании происходит сложный процесс превращения данных в информацию, который включает в себя селекцию существенных данных и пропуск несущественных. Фазы и операции системного проектирования.Данный способ описания системного проектирования заключается в выделении в нем последовательности фаз, а в самих этих фазах – цепи действий, или обобщенных операций. Обычно системотехническая деятельность делится на следующие пять фаз:
Иногда добавляется фаза "ликвидация" из-за возможных экологических последствий этого процесса. На каждой фазе системотехнической деятельности выполняется одна и та же последовательность обобщенных операций: анализ проблемной ситуации, синтез решений, оценка и выбор альтернатив, моделирование, корректировка и реализация решения. Системотехническое проектирование как последовательность фаз, шагов и задач может быть представлено в виде следующей таблицы:
|