Модель и моделирование, основные понятия и определения Во все времена зарождение естественной науки начиналось с экспериментов. Самые первые учёные и экспериментаторы заметили, что гораздо проще проводить опыты, если вместо реальных объектов изучать их модели. Моделью объекта называется любой другой объект, отдельные свойства которого полностью или частично совпадают со свойствами исходного. Модель заменяет объект, сохраняя лишь некоторые существенные свойства объекта. С точки зрения существенных свойств реальный объект и модель не должны различаться в рамках заданной точности. Модель (от лат. modellium -- мера, способ, сходство) -- описание объекта, системы для замещения одной системы-оригинала другой системой для лучшего изучения оригинала или воспроизведения каких-либо его свойств. Модели можно использовать для следующих целей: 1) познание; 2) предсказание; 3) обучение; 4) конструирование. 1) В процессе построения модели познаётся, как устроен исходный объект. Правильность представления проверяется с помощью натуральных экспериментов и результаты моделирования сопоставляются с реальными экспериментальными данными; 2) Модель позволяет предсказывать поведение объекта; знать заранее, какой будет реакция объекта на управляющее воздействие или другие факторы, узнать оптимальные режимы работы, а также находить значения параметров, при которых они реализуются, исследовать особые режимы работы, которые трудно или опасно изучать в реальном объекте; корректно построенная модель способна предсказать те явления, которые не были выявлены при первоначальных экспериментах, тем самым указав новое направление научных исследований; 3) Так как модель способна изображать реальный объект, она способна использоваться для обучения; 4) Модель может использоваться как прототип, что нарушает причинно-следственную связь: объект создаётся на основе модели. Необходимость модели может быть также обусловлена недоступность реального эксперимента. Модель -- лишь приближение к объекту, так как обладает лишь специально отобранными свойствами. Для одного объекта может существовать несколько различных моделей. Модели могут также отображать одни и те же свойства с различной степенью точности. Моделирование -- это проектирование, построение и изучение моделей реально существующих объектов, систем, процессов или явлений, интересующих исследователя. Моделирование базируется на математической теории подобия, согласно которой, абсолютное подобие может иметь место лишь при замене одного объекта точно таким же объектом. То есть при моделировании большинства систем абсолютное подобие невозможно, а основная цель моделирования -- то, что модель должна достаточно хорошо отображать функционирование моделируемой системы. Процесс моделирования состоит из трёх задач: 1) построение модели; 2) исследование модели; 3) использование модели. В силу многозначности понятия "модель" в науке и технике не существует единой классификации видов моделирования. Классификацию можно проводить по характеру моделей, моделируемых объектов, по сферам приложения моделирования. В настоящее время по технологии моделирования в области моделирования основными видами являются: 1) визуальное моделирование; 2) информационное моделирование; 3) компьютерное моделирование; 4) математическое моделирование; 5) имитационное моделирование; 6) эволюционное моделирование; 7) графическое и геометрическое моделирование; 8) натурное моделирование. Требования к моделям: любая технология моделирования всегда предполагает принятие допущения той или иной степени важности и точности; при этом должны удовлетворяться следующие требования к модели: 1) адекватность -- соответствие реальной системе с некоторой разумной степенью точности и учёт наиболее важных связей, качеств, характеристик, являющихся для данного исследования существенными; полная адекватность -- тождество между моделью и прототипом; 2) точность -- степень совпадения полученных в процессе моделирования результатов с заранее установленными и желаемыми; 3) универсальность -- применимость модели к анализу ряда однотипных систем в одном или нескольких режимах функционирования; соответствие модели этому требованию позволяет расширить область применения модели для решения большого круга задач; 4) экономичность -- точность получаемых результатов и общность решения задачи должны адекватно соотноситься с затратами моделирования; 6) обобщённость; 7) наглядность -- обозримость основных свойств и отношений; 8) информативность -- модель должна содержать достаточную информацию о системе; 9) полнота -- в модели должны быть учтены все основные связи и отношения, необходимые для обеспечения цели моделирования; 10) устойчивость -- модель должна описывать и обеспечивать устойчивое поведение системы, даже если оно вначале является неустойчивым, и возможность развития модели предыдущего уровня. На сегодняшний день по способу отображения действительности различают четыре основных вида моделей: 1) эвристические; 2) натурные; 3) математические; 4) визуальные. Эвристические модели относятся к области гипотез и догадок и строятся на основе активного поиска. Их описание ведётся словами естественного языка, например, вербально-информационная модель, и обычно неоднозначна и достаточно субъективна. Эвристические модели не описываются формально-логическими и математическими выражениями, хоть и рождаются на основе реальных процессов и явлений. Эвристическое моделирование применяется при необходимости экспертных решений и при решении специальных нетиповых задач. В основном оно реализуется при интерактивной обработке. Эвристическое моделирование используется на начальных этапах проектирования или других видов деятельности, когда информация о системе ещё неточная и неполная, и на последующих этапах заменяются на более точные. Натурная модель -- это реальный предмет в уменьшенном или увеличенном виде, который воспроизводит объект моделирования. По принадлежности к предметной области модели подразделяются на: 1) физические модели -- реальные изделия, образцы, экспериментальные и натуральные модели с одинаково физической природой реального объекта; выбор размера такой модели ведётся в соответствии с теорией подобия: объёмные или плоские тримплеты; 2) технические модели; 3) социальные модели; 4) экономические модели. Математические модели представляют собой совокупность взаимосвязанных математических и формально-логических выражений. Как правило, отражают реальные процессы и явления. По форме представления делятся на: 1) аналитические модели (их решение ищется в замкнутом виде, в виде функциональных зависимостей) -- удобно при анализе сущностей или процесса или использовании в других моделях, но поиск их решения бывает весьма трудоёмким; 2) численные модели -- дискретный ряд чисел, универсальный, но недостаточно наглядный и трудоёмкий; 3) формально-логические информационные модели -- модели, созданные на формальном языке. Результаты математического моделирования нуждаются в сопоставлении с физическим. Каждая формула не является абсолютной истиной, а этапом на пути к её познанию. Визуальные модели представляют собой средства для визуализации, описания, проектирования и документирования архитектуры системы или объекта. На сегодняшний день чаще всего используются для проектирования и разработки сложных информационных систем. Являются инструментом обмена информации между всеми заинтересованными сторонами и проектирования программного обеспечения, а также подготовки документации. Проблемы создания программного обеспечения следуют из его свойств. Ещё в 1965 году Фредерик Брукс, проанализировав свой уникальнейший в те времена опыт по разработке ОС, первым определил перечень неотъемлемых свойств программного обеспечения: сложность, согласованность, изменяемость, незримость -- сложность реальной предметной области, трудоёмкость управления процессом разработки, необходимость обеспечить достаточную гибкость программы, неудовлетворительными способами описания поведения больших дискретных систем. Основываясь на его опыте и на работах математиков, выделено пять основных признаков сложных систем: 1) сложные системы часто являются иерархическими и состоят из взаимозависимых подсистем, которые, в свою очередь, также могут быть разделены на подсистемы; тот факт, что многие сложные системы имеют почти разложимую иерархическую структуру, является главным фактором, позволяющим их описать; 2) выбор, какие компоненты в системе являются элементарными, относительно произволен и в большей степени оставляется на усмотрение исследователя: низший уровень для одного наблюдателя может оказаться достаточно высоким для другого; иерархические системы являются разложимыми, если могут быть чётко разделены на независимые части; 3) внутрикомпонентная связь обычно сильнее, чем связь между компонентами; это обстоятельство позволяет отделять "высокочастотные" взаимосвязи между компонентами от "низкочастотных" взаимосвязей динамики между компонентами; такое разделение между взаимодействиями обуславливает разделение функций и возможность изолированного изучения частей системы; 4) иерархические системы обычно состоят из немногих типов подсистем, по-разному скомбинированных и организованных; разные структурные системы содержат различные части, и в этих частях могут быть использованы ещё более мелкие компоненты; 5) любая работающая сложная система является результатом развития более простой системы; обнаружение общих абстракций и механизмов упрощает понимание сложной системы. Наиболее интересные сложные системы содержат много разных иерархий: "быть частью" (самолёт, состоящий из системы питания, системы управления полётом), is-a (у самолёта есть турбоактивный двигатель, являющийся типом двигателя). Применительно к ПО эти иерархии можно назвать структурой классов и структурой объектов. Сложные системы также включают в себя и другие типы иерархий. Основной частью является их модульная структура и иерархия процессов. Каждая иерархия является многоуровневой, причём в ней классы и объекты более высокого уровня построены из более простых. Объекты одного уровня имеют чётко выраженные связи, особенно это касается компонентов структуры объекта. Внутри любого рассматриваемого уровня находится следующий уровень сложности. Структуры классов и объектов не являются независимыми: каждый элемент структуры объектов представляет специфический экземпляр определённого класса. В сложной системе обычно объектов гораздо больше, чем классов. В общем случае процесс построения модели сводится к следующим шагам: 1) сбор информации о моделируемом объекте или системе, выдвижение гипотез, предварительный модельный анализ; 2) проектирование структуры и состава модели, построение спецификаций модели, разработка и отладка отдельных подмоделей, сборка модели в целом; 3) выбор метода исследования модели; 4) исследование адекватности и устойчивости модели; 5) анализ результатов моделирования; 6) разработка объекта или системы по спроектированной модели. Моделирование рассматривается как особая форма эксперимента, но не над самим оригиналом, а над копией. <...> Анализ -- метод исследования, который состоит в разбиении детального представления объекта, его элементов, отношений, свойств. Синтез (объединение, складывание) -- это метод изучения, создания объекта путём представления его в целостном виде, в единстве, взаимосвязи его элементов, отношений, свойств. |||p vvv xv1--->+---+--->yv1 xv2--->| F |--->yv2 xvk--->+---+--->yvk ||+-->zv1 |+--->zv2 +---->zv3 При работе с подобной системой, в зависимости от известных и неизвестных элементов, возможны следующие задачи: 1) пусть у нас неизвестны параметры p, исходные данные x и результаты y. Нужно сформировать функционал F. Это задача синтеза; 2) дано параметры p, варьирующие исходные данные x, функционал F. Нужно вычислить результат y. Это задача вычисления; 3) дано: алгоритм работы F, результат y. Нужно определить, какие значения входных параметров x привели к таким результатам и какие были параметры p при этом. Это задача анализа. Понятие "система". Основные свойства системы Три основные группы определений системы: 1) c ориентацией на внутреннюю структуру системы (система рассматривается как совокупность объектов и акцентируется внимание на описание внутренней структуры; 2) с ориентацию на внешнюю структуру системы (у системы есть окружение, в котором она работает, и в нём проявляется цель её существования). Есть несколько видов определения системы: 1) система -- множество связанных между собой компонент, связанных определёнными отношениями и обладающих определёнными свойствами; это множество характеризуется единством, которое выражается в интегральных свойствах системы и её функциях; 2) комплекс взаимодействующих элементов, находящихся в определённых отношениях друг с другом и с окружающей средой. Основные понятия, характеризующие строение и функционирование системы: 1) элемент -- простейшая неделимая часть системы; 2) подсистема -- совокупность элементов системы, обладающая некоторыми свойствами системы; 3) структура подсистемы -- отражает наиболее важные отношения между элементами и подсистемами; структура мало меняется и обеспечивает системе её существование, свойства, функции. Распространённым представлением структуры является иерархия. Единственно правильная иерархия -- строго древовидная, без замыканий и обратных связей. Если в древовидном описании структуры системы есть замыкание или обратная связь -- это не иерархия, а просто структура.